Source Code
Overview
ETH Balance
0 ETH
More Info
ContractCreator
Multichain Info
N/A
Loading...
Loading
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0xFC948D48...86767aEB3 The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
GarageManager
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/** *Submitted for verification at sepolia.basescan.org on 2024-08-08 */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.17; /** * @title GarageManager * @dev Contract to manage a garage of cars for each user */ contract GarageManager { // Mapping to store the garage of cars for each user mapping(address => Car[]) private garages; // Struct to represent a car struct Car { string make; // Make of the car string model; // Model of the car string color; // Color of the car uint numberOfDoors; // Number of doors of the car } // Custom error for handling invalid car index error BadCarIndex(uint256 index); /** * @dev Adds a new car to the caller's garage * @param _make The make of the car * @param _model The model of the car * @param _color The color of the car * @param _numberOfDoors The number of doors of the car */ function addCar(string memory _make, string memory _model, string memory _color, uint _numberOfDoors) external { // Push a new car struct with the provided details to the caller's garage garages[msg.sender].push(Car(_make, _model, _color, _numberOfDoors)); } /** * @dev Retrieves the caller's array of cars * @return An array of `Car` structs */ function getMyCars() external view returns (Car[] memory) { // Return the array of cars stored in the caller's garage return garages[msg.sender]; } /** * @dev Retrieves a specific user's array of cars * @param _user The address of the user * @return An array of `Car` structs */ function getUserCars(address _user) external view returns (Car[] memory) { // Return the array of cars stored in the garage of the specified user return garages[_user]; } /** * @dev Updates a specific car in the caller's garage * @param _index The index of the car in the garage array * @param _make The new make of the car * @param _model The new model of the car * @param _color The new color of the car * @param _numberOfDoors The new number of doors of the car */ function updateCar(uint256 _index, string memory _make, string memory _model, string memory _color, uint _numberOfDoors) external { // Check if the provided index is valid if (_index >= garages[msg.sender].length) { revert BadCarIndex({index: _index}); // Revert with custom error if the index is invalid } // Update the specified car with the new details garages[msg.sender][_index] = Car(_make, _model, _color, _numberOfDoors); } /** * @dev Deletes all cars in the caller's garage */ function resetMyGarage() external { // Delete all cars from the caller's garage delete garages[msg.sender]; } }
Contract ABI
API[{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"BadCarIndex","type":"error"},{"inputs":[{"internalType":"string","name":"_make","type":"string"},{"internalType":"string","name":"_model","type":"string"},{"internalType":"string","name":"_color","type":"string"},{"internalType":"uint256","name":"_numberOfDoors","type":"uint256"}],"name":"addCar","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getMyCars","outputs":[{"components":[{"internalType":"string","name":"make","type":"string"},{"internalType":"string","name":"model","type":"string"},{"internalType":"string","name":"color","type":"string"},{"internalType":"uint256","name":"numberOfDoors","type":"uint256"}],"internalType":"struct GarageManager.Car[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"getUserCars","outputs":[{"components":[{"internalType":"string","name":"make","type":"string"},{"internalType":"string","name":"model","type":"string"},{"internalType":"string","name":"color","type":"string"},{"internalType":"uint256","name":"numberOfDoors","type":"uint256"}],"internalType":"struct GarageManager.Car[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"resetMyGarage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_index","type":"uint256"},{"internalType":"string","name":"_make","type":"string"},{"internalType":"string","name":"_model","type":"string"},{"internalType":"string","name":"_color","type":"string"},{"internalType":"uint256","name":"_numberOfDoors","type":"uint256"}],"name":"updateCar","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100575760003560e01c80632698286c1461005c578063341fa05d1461008c5780634cd1ed3d146100aa5780636dcb7896146100c6578063d2d50bd8146100d0575b600080fd5b61007660048036038101906100719190610968565b6100ec565b6040516100839190610b71565b60405180910390f35b610094610349565b6040516100a19190610b71565b60405180910390f35b6100c460048036038101906100bf9190610cf4565b6105a4565b005b6100ce6106fe565b005b6100ea60048036038101906100e59190610dc3565b61074a565b005b60606000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b8282101561033e578382906000526020600020906004020160405180608001604052908160008201805461017f90610ead565b80601f01602080910402602001604051908101604052809291908181526020018280546101ab90610ead565b80156101f85780601f106101cd576101008083540402835291602001916101f8565b820191906000526020600020905b8154815290600101906020018083116101db57829003601f168201915b5050505050815260200160018201805461021190610ead565b80601f016020809104026020016040519081016040528092919081815260200182805461023d90610ead565b801561028a5780601f1061025f5761010080835404028352916020019161028a565b820191906000526020600020905b81548152906001019060200180831161026d57829003601f168201915b505050505081526020016002820180546102a390610ead565b80601f01602080910402602001604051908101604052809291908181526020018280546102cf90610ead565b801561031c5780601f106102f15761010080835404028352916020019161031c565b820191906000526020600020905b8154815290600101906020018083116102ff57829003601f168201915b505050505081526020016003820154815250508152602001906001019061014c565b505050509050919050565b60606000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b8282101561059b57838290600052602060002090600402016040518060800160405290816000820180546103dc90610ead565b80601f016020809104026020016040519081016040528092919081815260200182805461040890610ead565b80156104555780601f1061042a57610100808354040283529160200191610455565b820191906000526020600020905b81548152906001019060200180831161043857829003601f168201915b5050505050815260200160018201805461046e90610ead565b80601f016020809104026020016040519081016040528092919081815260200182805461049a90610ead565b80156104e75780601f106104bc576101008083540402835291602001916104e7565b820191906000526020600020905b8154815290600101906020018083116104ca57829003601f168201915b5050505050815260200160028201805461050090610ead565b80601f016020809104026020016040519081016040528092919081815260200182805461052c90610ead565b80156105795780601f1061054e57610100808354040283529160200191610579565b820191906000526020600020905b81548152906001019060200180831161055c57829003601f168201915b50505050508152602001600382015481525050815260200190600101906103a9565b50505050905090565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050851061062957846040517f40c901ce0000000000000000000000000000000000000000000000000000000081526004016106209190610eed565b60405180910390fd5b6040518060800160405280858152602001848152602001838152602001828152506000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020868154811061069a57610699610f08565b5b906000526020600020906004020160008201518160000190816106bd91906110e3565b5060208201518160010190816106d391906110e3565b5060408201518160020190816106e991906110e3565b50606082015181600301559050505050505050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107489190610826565b565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020604051806080016040528086815260200185815260200184815260200183815250908060018154018082558091505060019003906000526020600020906004020160009091909190915060008201518160000190816107e791906110e3565b5060208201518160010190816107fd91906110e3565b50604082015181600201908161081391906110e3565b5060608201518160030155505050505050565b5080546000825560040290600052602060002090810190610847919061084a565b50565b5b8082111561089557600080820160006108649190610899565b6001820160006108749190610899565b6002820160006108849190610899565b60038201600090555060040161084b565b5090565b5080546108a590610ead565b6000825580601f106108b757506108d6565b601f0160209004906000526020600020908101906108d591906108d9565b5b50565b5b808211156108f25760008160009055506001016108da565b5090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006109358261090a565b9050919050565b6109458161092a565b811461095057600080fd5b50565b6000813590506109628161093c565b92915050565b60006020828403121561097e5761097d610900565b5b600061098c84828501610953565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60005b838110156109fb5780820151818401526020810190506109e0565b60008484015250505050565b6000601f19601f8301169050919050565b6000610a23826109c1565b610a2d81856109cc565b9350610a3d8185602086016109dd565b610a4681610a07565b840191505092915050565b6000819050919050565b610a6481610a51565b82525050565b60006080830160008301518482036000860152610a878282610a18565b91505060208301518482036020860152610aa18282610a18565b91505060408301518482036040860152610abb8282610a18565b9150506060830151610ad06060860182610a5b565b508091505092915050565b6000610ae78383610a6a565b905092915050565b6000602082019050919050565b6000610b0782610995565b610b1181856109a0565b935083602082028501610b23856109b1565b8060005b85811015610b5f5784840389528151610b408582610adb565b9450610b4b83610aef565b925060208a01995050600181019050610b27565b50829750879550505050505092915050565b60006020820190508181036000830152610b8b8184610afc565b905092915050565b610b9c81610a51565b8114610ba757600080fd5b50565b600081359050610bb981610b93565b92915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610c0182610a07565b810181811067ffffffffffffffff82111715610c2057610c1f610bc9565b5b80604052505050565b6000610c336108f6565b9050610c3f8282610bf8565b919050565b600067ffffffffffffffff821115610c5f57610c5e610bc9565b5b610c6882610a07565b9050602081019050919050565b82818337600083830152505050565b6000610c97610c9284610c44565b610c29565b905082815260208101848484011115610cb357610cb2610bc4565b5b610cbe848285610c75565b509392505050565b600082601f830112610cdb57610cda610bbf565b5b8135610ceb848260208601610c84565b91505092915050565b600080600080600060a08688031215610d1057610d0f610900565b5b6000610d1e88828901610baa565b955050602086013567ffffffffffffffff811115610d3f57610d3e610905565b5b610d4b88828901610cc6565b945050604086013567ffffffffffffffff811115610d6c57610d6b610905565b5b610d7888828901610cc6565b935050606086013567ffffffffffffffff811115610d9957610d98610905565b5b610da588828901610cc6565b9250506080610db688828901610baa565b9150509295509295909350565b60008060008060808587031215610ddd57610ddc610900565b5b600085013567ffffffffffffffff811115610dfb57610dfa610905565b5b610e0787828801610cc6565b945050602085013567ffffffffffffffff811115610e2857610e27610905565b5b610e3487828801610cc6565b935050604085013567ffffffffffffffff811115610e5557610e54610905565b5b610e6187828801610cc6565b9250506060610e7287828801610baa565b91505092959194509250565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610ec557607f821691505b602082108103610ed857610ed7610e7e565b5b50919050565b610ee781610a51565b82525050565b6000602082019050610f026000830184610ede565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302610f997fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610f5c565b610fa38683610f5c565b95508019841693508086168417925050509392505050565b6000819050919050565b6000610fe0610fdb610fd684610a51565b610fbb565b610a51565b9050919050565b6000819050919050565b610ffa83610fc5565b61100e61100682610fe7565b848454610f69565b825550505050565b600090565b611023611016565b61102e818484610ff1565b505050565b5b818110156110525761104760008261101b565b600181019050611034565b5050565b601f8211156110975761106881610f37565b61107184610f4c565b81016020851015611080578190505b61109461108c85610f4c565b830182611033565b50505b505050565b600082821c905092915050565b60006110ba6000198460080261109c565b1980831691505092915050565b60006110d383836110a9565b9150826002028217905092915050565b6110ec826109c1565b67ffffffffffffffff81111561110557611104610bc9565b5b61110f8254610ead565b61111a828285611056565b600060209050601f83116001811461114d576000841561113b578287015190505b61114585826110c7565b8655506111ad565b601f19841661115b86610f37565b60005b828110156111835784890151825560018201915060208501945060208101905061115e565b868310156111a0578489015161119c601f8916826110a9565b8355505b6001600288020188555050505b50505050505056fea26469706673582212207703d1529f415d058b0866eed9571d7031384c2fcbe0045713061f9750ac9d3d64736f6c63430008110033
Deployed Bytecode Sourcemap
155:2725:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1627:193;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1289:170;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2172:494;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2745:132;;;:::i;:::-;;890:281;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1627:193;1686:12;1798:7;:14;1806:5;1798:14;;;;;;;;;;;;;;;1791:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1627:193;;;:::o;1289:170::-;1333:12;1432:7;:19;1440:10;1432:19;;;;;;;;;;;;;;;1425:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1289:170;:::o;2172:494::-;2376:7;:19;2384:10;2376:19;;;;;;;;;;;;;;;:26;;;;2366:6;:36;2362:156;;2446:6;2426:28;;;;;;;;;;;:::i;:::-;;;;;;;;2362:156;2616:42;;;;;;;;2620:5;2616:42;;;;2627:6;2616:42;;;;2635:6;2616:42;;;;2643:14;2616:42;;;2586:7;:19;2594:10;2586:19;;;;;;;;;;;;;;;2606:6;2586:27;;;;;;;;:::i;:::-;;;;;;;;;;;;:72;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2172:494;;;;;:::o;2745:132::-;2850:7;:19;2858:10;2850:19;;;;;;;;;;;;;;;;2843:26;;;;:::i;:::-;2745:132::o;890:281::-;1095:7;:19;1103:10;1095:19;;;;;;;;;;;;;;;1120:42;;;;;;;;1124:5;1120:42;;;;1131:6;1120:42;;;;1139:6;1120:42;;;;1147:14;1120:42;;;1095:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;890:281;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:329::-;900:6;949:2;937:9;928:7;924:23;920:32;917:119;;;955:79;;:::i;:::-;917:119;1075:1;1100:53;1145:7;1136:6;1125:9;1121:22;1100:53;:::i;:::-;1090:63;;1046:117;841:329;;;;:::o;1176:133::-;1262:6;1296:5;1290:12;1280:22;;1176:133;;;:::o;1315:203::-;1433:11;1467:6;1462:3;1455:19;1507:4;1502:3;1498:14;1483:29;;1315:203;;;;:::o;1524:151::-;1610:4;1633:3;1625:11;;1663:4;1658:3;1654:14;1646:22;;1524:151;;;:::o;1681:99::-;1733:6;1767:5;1761:12;1751:22;;1681:99;;;:::o;1786:159::-;1860:11;1894:6;1889:3;1882:19;1934:4;1929:3;1925:14;1910:29;;1786:159;;;;:::o;1951:246::-;2032:1;2042:113;2056:6;2053:1;2050:13;2042:113;;;2141:1;2136:3;2132:11;2126:18;2122:1;2117:3;2113:11;2106:39;2078:2;2075:1;2071:10;2066:15;;2042:113;;;2189:1;2180:6;2175:3;2171:16;2164:27;2013:184;1951:246;;;:::o;2203:102::-;2244:6;2295:2;2291:7;2286:2;2279:5;2275:14;2271:28;2261:38;;2203:102;;;:::o;2311:357::-;2389:3;2417:39;2450:5;2417:39;:::i;:::-;2472:61;2526:6;2521:3;2472:61;:::i;:::-;2465:68;;2542:65;2600:6;2595:3;2588:4;2581:5;2577:16;2542:65;:::i;:::-;2632:29;2654:6;2632:29;:::i;:::-;2627:3;2623:39;2616:46;;2393:275;2311:357;;;;:::o;2674:77::-;2711:7;2740:5;2729:16;;2674:77;;;:::o;2757:108::-;2834:24;2852:5;2834:24;:::i;:::-;2829:3;2822:37;2757:108;;:::o;2931:1085::-;3028:3;3064:4;3059:3;3055:14;3151:4;3144:5;3140:16;3134:23;3204:3;3198:4;3194:14;3187:4;3182:3;3178:14;3171:38;3230:73;3298:4;3284:12;3230:73;:::i;:::-;3222:81;;3079:235;3397:4;3390:5;3386:16;3380:23;3450:3;3444:4;3440:14;3433:4;3428:3;3424:14;3417:38;3476:73;3544:4;3530:12;3476:73;:::i;:::-;3468:81;;3324:236;3643:4;3636:5;3632:16;3626:23;3696:3;3690:4;3686:14;3679:4;3674:3;3670:14;3663:38;3722:73;3790:4;3776:12;3722:73;:::i;:::-;3714:81;;3570:236;3897:4;3890:5;3886:16;3880:23;3916:63;3973:4;3968:3;3964:14;3950:12;3916:63;:::i;:::-;3816:173;4006:4;3999:11;;3033:983;2931:1085;;;;:::o;4022:232::-;4129:10;4164:84;4244:3;4236:6;4164:84;:::i;:::-;4150:98;;4022:232;;;;:::o;4260:132::-;4349:4;4381;4376:3;4372:14;4364:22;;4260:132;;;:::o;4462:1063::-;4619:3;4648:73;4715:5;4648:73;:::i;:::-;4737:105;4835:6;4830:3;4737:105;:::i;:::-;4730:112;;4868:3;4913:4;4905:6;4901:17;4896:3;4892:27;4943:75;5012:5;4943:75;:::i;:::-;5041:7;5072:1;5057:423;5082:6;5079:1;5076:13;5057:423;;;5153:9;5147:4;5143:20;5138:3;5131:33;5204:6;5198:13;5232:102;5329:4;5314:13;5232:102;:::i;:::-;5224:110;;5357:79;5429:6;5357:79;:::i;:::-;5347:89;;5465:4;5460:3;5456:14;5449:21;;5117:363;5104:1;5101;5097:9;5092:14;;5057:423;;;5061:14;5496:4;5489:11;;5516:3;5509:10;;4624:901;;;;;4462:1063;;;;:::o;5531:449::-;5712:4;5750:2;5739:9;5735:18;5727:26;;5799:9;5793:4;5789:20;5785:1;5774:9;5770:17;5763:47;5827:146;5968:4;5959:6;5827:146;:::i;:::-;5819:154;;5531:449;;;;:::o;5986:122::-;6059:24;6077:5;6059:24;:::i;:::-;6052:5;6049:35;6039:63;;6098:1;6095;6088:12;6039:63;5986:122;:::o;6114:139::-;6160:5;6198:6;6185:20;6176:29;;6214:33;6241:5;6214:33;:::i;:::-;6114:139;;;;:::o;6259:117::-;6368:1;6365;6358:12;6382:117;6491:1;6488;6481:12;6505:180;6553:77;6550:1;6543:88;6650:4;6647:1;6640:15;6674:4;6671:1;6664:15;6691:281;6774:27;6796:4;6774:27;:::i;:::-;6766:6;6762:40;6904:6;6892:10;6889:22;6868:18;6856:10;6853:34;6850:62;6847:88;;;6915:18;;:::i;:::-;6847:88;6955:10;6951:2;6944:22;6734:238;6691:281;;:::o;6978:129::-;7012:6;7039:20;;:::i;:::-;7029:30;;7068:33;7096:4;7088:6;7068:33;:::i;:::-;6978:129;;;:::o;7113:308::-;7175:4;7265:18;7257:6;7254:30;7251:56;;;7287:18;;:::i;:::-;7251:56;7325:29;7347:6;7325:29;:::i;:::-;7317:37;;7409:4;7403;7399:15;7391:23;;7113:308;;;:::o;7427:146::-;7524:6;7519:3;7514;7501:30;7565:1;7556:6;7551:3;7547:16;7540:27;7427:146;;;:::o;7579:425::-;7657:5;7682:66;7698:49;7740:6;7698:49;:::i;:::-;7682:66;:::i;:::-;7673:75;;7771:6;7764:5;7757:21;7809:4;7802:5;7798:16;7847:3;7838:6;7833:3;7829:16;7826:25;7823:112;;;7854:79;;:::i;:::-;7823:112;7944:54;7991:6;7986:3;7981;7944:54;:::i;:::-;7663:341;7579:425;;;;;:::o;8024:340::-;8080:5;8129:3;8122:4;8114:6;8110:17;8106:27;8096:122;;8137:79;;:::i;:::-;8096:122;8254:6;8241:20;8279:79;8354:3;8346:6;8339:4;8331:6;8327:17;8279:79;:::i;:::-;8270:88;;8086:278;8024:340;;;;:::o;8370:1451::-;8495:6;8503;8511;8519;8527;8576:3;8564:9;8555:7;8551:23;8547:33;8544:120;;;8583:79;;:::i;:::-;8544:120;8703:1;8728:53;8773:7;8764:6;8753:9;8749:22;8728:53;:::i;:::-;8718:63;;8674:117;8858:2;8847:9;8843:18;8830:32;8889:18;8881:6;8878:30;8875:117;;;8911:79;;:::i;:::-;8875:117;9016:63;9071:7;9062:6;9051:9;9047:22;9016:63;:::i;:::-;9006:73;;8801:288;9156:2;9145:9;9141:18;9128:32;9187:18;9179:6;9176:30;9173:117;;;9209:79;;:::i;:::-;9173:117;9314:63;9369:7;9360:6;9349:9;9345:22;9314:63;:::i;:::-;9304:73;;9099:288;9454:2;9443:9;9439:18;9426:32;9485:18;9477:6;9474:30;9471:117;;;9507:79;;:::i;:::-;9471:117;9612:63;9667:7;9658:6;9647:9;9643:22;9612:63;:::i;:::-;9602:73;;9397:288;9724:3;9751:53;9796:7;9787:6;9776:9;9772:22;9751:53;:::i;:::-;9741:63;;9695:119;8370:1451;;;;;;;;:::o;9827:1305::-;9943:6;9951;9959;9967;10016:3;10004:9;9995:7;9991:23;9987:33;9984:120;;;10023:79;;:::i;:::-;9984:120;10171:1;10160:9;10156:17;10143:31;10201:18;10193:6;10190:30;10187:117;;;10223:79;;:::i;:::-;10187:117;10328:63;10383:7;10374:6;10363:9;10359:22;10328:63;:::i;:::-;10318:73;;10114:287;10468:2;10457:9;10453:18;10440:32;10499:18;10491:6;10488:30;10485:117;;;10521:79;;:::i;:::-;10485:117;10626:63;10681:7;10672:6;10661:9;10657:22;10626:63;:::i;:::-;10616:73;;10411:288;10766:2;10755:9;10751:18;10738:32;10797:18;10789:6;10786:30;10783:117;;;10819:79;;:::i;:::-;10783:117;10924:63;10979:7;10970:6;10959:9;10955:22;10924:63;:::i;:::-;10914:73;;10709:288;11036:2;11062:53;11107:7;11098:6;11087:9;11083:22;11062:53;:::i;:::-;11052:63;;11007:118;9827:1305;;;;;;;:::o;11138:180::-;11186:77;11183:1;11176:88;11283:4;11280:1;11273:15;11307:4;11304:1;11297:15;11324:320;11368:6;11405:1;11399:4;11395:12;11385:22;;11452:1;11446:4;11442:12;11473:18;11463:81;;11529:4;11521:6;11517:17;11507:27;;11463:81;11591:2;11583:6;11580:14;11560:18;11557:38;11554:84;;11610:18;;:::i;:::-;11554:84;11375:269;11324:320;;;:::o;11650:118::-;11737:24;11755:5;11737:24;:::i;:::-;11732:3;11725:37;11650:118;;:::o;11774:222::-;11867:4;11905:2;11894:9;11890:18;11882:26;;11918:71;11986:1;11975:9;11971:17;11962:6;11918:71;:::i;:::-;11774:222;;;;:::o;12002:180::-;12050:77;12047:1;12040:88;12147:4;12144:1;12137:15;12171:4;12168:1;12161:15;12188:141;12237:4;12260:3;12252:11;;12283:3;12280:1;12273:14;12317:4;12314:1;12304:18;12296:26;;12188:141;;;:::o;12335:93::-;12372:6;12419:2;12414;12407:5;12403:14;12399:23;12389:33;;12335:93;;;:::o;12434:107::-;12478:8;12528:5;12522:4;12518:16;12497:37;;12434:107;;;;:::o;12547:393::-;12616:6;12666:1;12654:10;12650:18;12689:97;12719:66;12708:9;12689:97;:::i;:::-;12807:39;12837:8;12826:9;12807:39;:::i;:::-;12795:51;;12879:4;12875:9;12868:5;12864:21;12855:30;;12928:4;12918:8;12914:19;12907:5;12904:30;12894:40;;12623:317;;12547:393;;;;;:::o;12946:60::-;12974:3;12995:5;12988:12;;12946:60;;;:::o;13012:142::-;13062:9;13095:53;13113:34;13122:24;13140:5;13122:24;:::i;:::-;13113:34;:::i;:::-;13095:53;:::i;:::-;13082:66;;13012:142;;;:::o;13160:75::-;13203:3;13224:5;13217:12;;13160:75;;;:::o;13241:269::-;13351:39;13382:7;13351:39;:::i;:::-;13412:91;13461:41;13485:16;13461:41;:::i;:::-;13453:6;13446:4;13440:11;13412:91;:::i;:::-;13406:4;13399:105;13317:193;13241:269;;;:::o;13516:73::-;13561:3;13516:73;:::o;13595:189::-;13672:32;;:::i;:::-;13713:65;13771:6;13763;13757:4;13713:65;:::i;:::-;13648:136;13595:189;;:::o;13790:186::-;13850:120;13867:3;13860:5;13857:14;13850:120;;;13921:39;13958:1;13951:5;13921:39;:::i;:::-;13894:1;13887:5;13883:13;13874:22;;13850:120;;;13790:186;;:::o;13982:543::-;14083:2;14078:3;14075:11;14072:446;;;14117:38;14149:5;14117:38;:::i;:::-;14201:29;14219:10;14201:29;:::i;:::-;14191:8;14187:44;14384:2;14372:10;14369:18;14366:49;;;14405:8;14390:23;;14366:49;14428:80;14484:22;14502:3;14484:22;:::i;:::-;14474:8;14470:37;14457:11;14428:80;:::i;:::-;14087:431;;14072:446;13982:543;;;:::o;14531:117::-;14585:8;14635:5;14629:4;14625:16;14604:37;;14531:117;;;;:::o;14654:169::-;14698:6;14731:51;14779:1;14775:6;14767:5;14764:1;14760:13;14731:51;:::i;:::-;14727:56;14812:4;14806;14802:15;14792:25;;14705:118;14654:169;;;;:::o;14828:295::-;14904:4;15050:29;15075:3;15069:4;15050:29;:::i;:::-;15042:37;;15112:3;15109:1;15105:11;15099:4;15096:21;15088:29;;14828:295;;;;:::o;15128:1395::-;15245:37;15278:3;15245:37;:::i;:::-;15347:18;15339:6;15336:30;15333:56;;;15369:18;;:::i;:::-;15333:56;15413:38;15445:4;15439:11;15413:38;:::i;:::-;15498:67;15558:6;15550;15544:4;15498:67;:::i;:::-;15592:1;15616:4;15603:17;;15648:2;15640:6;15637:14;15665:1;15660:618;;;;16322:1;16339:6;16336:77;;;16388:9;16383:3;16379:19;16373:26;16364:35;;16336:77;16439:67;16499:6;16492:5;16439:67;:::i;:::-;16433:4;16426:81;16295:222;15630:887;;15660:618;15712:4;15708:9;15700:6;15696:22;15746:37;15778:4;15746:37;:::i;:::-;15805:1;15819:208;15833:7;15830:1;15827:14;15819:208;;;15912:9;15907:3;15903:19;15897:26;15889:6;15882:42;15963:1;15955:6;15951:14;15941:24;;16010:2;15999:9;15995:18;15982:31;;15856:4;15853:1;15849:12;15844:17;;15819:208;;;16055:6;16046:7;16043:19;16040:179;;;16113:9;16108:3;16104:19;16098:26;16156:48;16198:4;16190:6;16186:17;16175:9;16156:48;:::i;:::-;16148:6;16141:64;16063:156;16040:179;16265:1;16261;16253:6;16249:14;16245:22;16239:4;16232:36;15667:611;;;15630:887;;15220:1303;;;15128:1395;;:::o
Swarm Source
ipfs://7703d1529f415d058b0866eed9571d7031384c2fcbe0045713061f9750ac9d3d
Loading...
Loading
Loading...
Loading
Loading...
Loading
Loading...
Loading
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.