[ { "inputs": [ { "internalType": "address[]", "name": "initialShareholders", "type": "address[]" }, { "internalType": "uint256[]", "name": "initialBalances", "type": "uint256[]" }, { "internalType": "address", "name": "_creatorsVault", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "allowance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientAllowance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "balance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientBalance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "approver", "type": "address" } ], "name": "ERC20InvalidApprover", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "ERC20InvalidReceiver", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "ERC20InvalidSender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" } ], "name": "ERC20InvalidSpender", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" } ]
60806040523480156200001157600080fd5b50604051620020a3380380620020a383398181016040528101906200003791906200094c565b6040518060400160405280600f81526020017f4e65746f637261637920546f6b656e00000000000000000000000000000000008152506040518060400160405280600481526020017f6e546b6e000000000000000000000000000000000000000000000000000000008152508160039081620000b4919062000c27565b508060049081620000c6919062000c27565b505050825182511462000110576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001079062000d6f565b60405180910390fd5b600083511162000157576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200014e9062000de1565b60405180910390fd5b60005b8351811015620001be57620001b08482815181106200017e576200017d62000e03565b5b60200260200101518483815181106200019c576200019b62000e03565b5b60200260200101516200020960201b60201c565b80806001019150506200015a565b5080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505062000f35565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200027e5760006040517fec442f0500000000000000000000000000000000000000000000000000000000815260040162000275919062000e43565b60405180910390fd5b62000292600083836200029660201b60201c565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614620003fd57600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633665d37f620003196200041560201b60201c565b6040518263ffffffff1660e01b815260040162000337919062000e43565b600060405180830381600087803b1580156200035257600080fd5b505af115801562000367573d6000803e3d6000fd5b50505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633665d37f836040518263ffffffff1660e01b8152600401620003c8919062000e43565b600060405180830381600087803b158015620003e357600080fd5b505af1158015620003f8573d6000803e3d6000fd5b505050505b620004108383836200041d60201b60201c565b505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036200047357806002600082825462000466919062000e8f565b9250508190555062000549565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101562000502578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401620004f99392919062000edb565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620005945780600260008282540392505081905550620005e1565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000640919062000f18565b60405180910390a3505050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620006b18262000666565b810181811067ffffffffffffffff82111715620006d357620006d262000677565b5b80604052505050565b6000620006e86200064d565b9050620006f68282620006a6565b919050565b600067ffffffffffffffff82111562000719576200071862000677565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200075c826200072f565b9050919050565b6200076e816200074f565b81146200077a57600080fd5b50565b6000815190506200078e8162000763565b92915050565b6000620007ab620007a584620006fb565b620006dc565b90508083825260208201905060208402830185811115620007d157620007d06200072a565b5b835b81811015620007fe5780620007e988826200077d565b845260208401935050602081019050620007d3565b5050509392505050565b600082601f83011262000820576200081f62000661565b5b81516200083284826020860162000794565b91505092915050565b600067ffffffffffffffff82111562000859576200085862000677565b5b602082029050602081019050919050565b6000819050919050565b6200087f816200086a565b81146200088b57600080fd5b50565b6000815190506200089f8162000874565b92915050565b6000620008bc620008b6846200083b565b620006dc565b90508083825260208201905060208402830185811115620008e257620008e16200072a565b5b835b818110156200090f5780620008fa88826200088e565b845260208401935050602081019050620008e4565b5050509392505050565b600082601f83011262000931576200093062000661565b5b815162000943848260208601620008a5565b91505092915050565b60008060006060848603121562000968576200096762000657565b5b600084015167ffffffffffffffff8111156200098957620009886200065c565b5b620009978682870162000808565b935050602084015167ffffffffffffffff811115620009bb57620009ba6200065c565b5b620009c98682870162000919565b9250506040620009dc868287016200077d565b9150509250925092565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000a3957607f821691505b60208210810362000a4f5762000a4e620009f1565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000ab97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000a7a565b62000ac5868362000a7a565b95508019841693508086168417925050509392505050565b6000819050919050565b600062000b0862000b0262000afc846200086a565b62000add565b6200086a565b9050919050565b6000819050919050565b62000b248362000ae7565b62000b3c62000b338262000b0f565b84845462000a87565b825550505050565b600090565b62000b5362000b44565b62000b6081848462000b19565b505050565b5b8181101562000b885762000b7c60008262000b49565b60018101905062000b66565b5050565b601f82111562000bd75762000ba18162000a55565b62000bac8462000a6a565b8101602085101562000bbc578190505b62000bd462000bcb8562000a6a565b83018262000b65565b50505b505050565b600082821c905092915050565b600062000bfc6000198460080262000bdc565b1980831691505092915050565b600062000c17838362000be9565b9150826002028217905092915050565b62000c3282620009e6565b67ffffffffffffffff81111562000c4e5762000c4d62000677565b5b62000c5a825462000a20565b62000c6782828562000b8c565b600060209050601f83116001811462000c9f576000841562000c8a578287015190505b62000c96858262000c09565b86555062000d06565b601f19841662000caf8662000a55565b60005b8281101562000cd95784890151825560018201915060208501945060208101905062000cb2565b8683101562000cf9578489015162000cf5601f89168262000be9565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f4e746f6b656e3a2077726f6e67207368617265686f6c6465727320696e707574600082015250565b600062000d5760208362000d0e565b915062000d648262000d1f565b602082019050919050565b6000602082019050818103600083015262000d8a8162000d48565b9050919050565b7f4e746f6b656e3a206e6f207368617265686f6c64657273000000000000000000600082015250565b600062000dc960178362000d0e565b915062000dd68262000d91565b602082019050919050565b6000602082019050818103600083015262000dfc8162000dba565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b62000e3d816200074f565b82525050565b600060208201905062000e5a600083018462000e32565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000e9c826200086a565b915062000ea9836200086a565b925082820190508082111562000ec45762000ec362000e60565b5b92915050565b62000ed5816200086a565b82525050565b600060608201905062000ef2600083018662000e32565b62000f01602083018562000eca565b62000f10604083018462000eca565b949350505050565b600060208201905062000f2f600083018462000eca565b92915050565b61115e8062000f456000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063313ce56711610066578063313ce5671461016f57806370a082311461018d57806395d89b41146101bd578063a9059cbb146101db578063dd62ed3e1461020b5761009e565b806301ffc9a7146100a357806306fdde03146100d3578063095ea7b3146100f157806318160ddd1461012157806323b872dd1461013f575b600080fd5b6100bd60048036038101906100b89190610cfa565b61023b565b6040516100ca9190610d42565b60405180910390f35b6100db61031e565b6040516100e89190610ded565b60405180910390f35b61010b60048036038101906101069190610ea3565b6103b0565b6040516101189190610d42565b60405180910390f35b6101296103d3565b6040516101369190610ef2565b60405180910390f35b61015960048036038101906101549190610f0d565b6103dd565b6040516101669190610d42565b60405180910390f35b61017761040c565b6040516101849190610f7c565b60405180910390f35b6101a760048036038101906101a29190610f97565b610415565b6040516101b49190610ef2565b60405180910390f35b6101c561045d565b6040516101d29190610ded565b60405180910390f35b6101f560048036038101906101f09190610ea3565b6104ef565b6040516102029190610d42565b60405180910390f35b61022560048036038101906102209190610fc4565b610512565b6040516102329190610ef2565b60405180910390f35b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061030657507f942e8b22000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b156103145760019050610319565b600090505b919050565b60606003805461032d90611033565b80601f016020809104026020016040519081016040528092919081815260200182805461035990611033565b80156103a65780601f1061037b576101008083540402835291602001916103a6565b820191906000526020600020905b81548152906001019060200180831161038957829003601f168201915b5050505050905090565b6000806103bb610599565b90506103c88185856105a1565b600191505092915050565b6000600254905090565b6000806103e8610599565b90506103f58582856105b3565b610400858585610647565b60019150509392505050565b60006012905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606004805461046c90611033565b80601f016020809104026020016040519081016040528092919081815260200182805461049890611033565b80156104e55780601f106104ba576101008083540402835291602001916104e5565b820191906000526020600020905b8154815290600101906020018083116104c857829003601f168201915b5050505050905090565b6000806104fa610599565b9050610507818585610647565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b6105ae838383600161073b565b505050565b60006105bf8484610512565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146106415781811015610631578281836040517ffb8f41b200000000000000000000000000000000000000000000000000000000815260040161062893929190611073565b60405180910390fd5b6106408484848403600061073b565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036106b95760006040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016106b091906110aa565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361072b5760006040517fec442f0500000000000000000000000000000000000000000000000000000000815260040161072291906110aa565b60405180910390fd5b610736838383610912565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036107ad5760006040517fe602df050000000000000000000000000000000000000000000000000000000081526004016107a491906110aa565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361081f5760006040517f94280d6200000000000000000000000000000000000000000000000000000000815260040161081691906110aa565b60405180910390fd5b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550801561090c578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516109039190610ef2565b60405180910390a35b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610a6857600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633665d37f61098c610599565b6040518263ffffffff1660e01b81526004016109a891906110aa565b600060405180830381600087803b1580156109c257600080fd5b505af11580156109d6573d6000803e3d6000fd5b50505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633665d37f836040518263ffffffff1660e01b8152600401610a3591906110aa565b600060405180830381600087803b158015610a4f57600080fd5b505af1158015610a63573d6000803e3d6000fd5b505050505b610a73838383610a78565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610aca578060026000828254610abe91906110f4565b92505081905550610b9d565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610b56578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401610b4d93929190611073565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610be65780600260008282540392505081905550610c33565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c909190610ef2565b60405180910390a3505050565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b610cd781610ca2565b8114610ce257600080fd5b50565b600081359050610cf481610cce565b92915050565b600060208284031215610d1057610d0f610c9d565b5b6000610d1e84828501610ce5565b91505092915050565b60008115159050919050565b610d3c81610d27565b82525050565b6000602082019050610d576000830184610d33565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d97578082015181840152602081019050610d7c565b60008484015250505050565b6000601f19601f8301169050919050565b6000610dbf82610d5d565b610dc98185610d68565b9350610dd9818560208601610d79565b610de281610da3565b840191505092915050565b60006020820190508181036000830152610e078184610db4565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610e3a82610e0f565b9050919050565b610e4a81610e2f565b8114610e5557600080fd5b50565b600081359050610e6781610e41565b92915050565b6000819050919050565b610e8081610e6d565b8114610e8b57600080fd5b50565b600081359050610e9d81610e77565b92915050565b60008060408385031215610eba57610eb9610c9d565b5b6000610ec885828601610e58565b9250506020610ed985828601610e8e565b9150509250929050565b610eec81610e6d565b82525050565b6000602082019050610f076000830184610ee3565b92915050565b600080600060608486031215610f2657610f25610c9d565b5b6000610f3486828701610e58565b9350506020610f4586828701610e58565b9250506040610f5686828701610e8e565b9150509250925092565b600060ff82169050919050565b610f7681610f60565b82525050565b6000602082019050610f916000830184610f6d565b92915050565b600060208284031215610fad57610fac610c9d565b5b6000610fbb84828501610e58565b91505092915050565b60008060408385031215610fdb57610fda610c9d565b5b6000610fe985828601610e58565b9250506020610ffa85828601610e58565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061104b57607f821691505b60208210810361105e5761105d611004565b5b50919050565b61106d81610e2f565b82525050565b60006060820190506110886000830186611064565b6110956020830185610ee3565b6110a26040830184610ee3565b949350505050565b60006020820190506110bf6000830184611064565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006110ff82610e6d565b915061110a83610e6d565b9250828201905080821115611122576111216110c5565b5b9291505056fea26469706673582212202e247103efb17484fd780f8680fcac6baaa81ccbab41aa3ed2defcb0bc10701064736f6c63430008180033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000041b6264ecefdf9a8103e8717d250562b386fb38c0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000778df9d70ed197d433f7a8011ca5314a52488038000000000000000000000000c97b13896803124b0d00789acf85eb2481e5077a00000000000000000000000081748a8800e196f3f675f719fcd50202e0e17042000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000000000000000000000000000000000000000012c00000000000000000000000000000000000000000000000000000000000000c8