[ { "inputs": [ { "internalType": "address", "name": "_roleAddress", "type": "address" }, { "internalType": "address", "name": "_acceptedToken", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "ApprovalCallerNotOwnerNorApproved", "type": "error" }, { "inputs": [], "name": "ApprovalQueryForNonexistentToken", "type": "error" }, { "inputs": [], "name": "BalanceQueryForZeroAddress", "type": "error" }, { "inputs": [], "name": "MintERC2309QuantityExceedsLimit", "type": "error" }, { "inputs": [], "name": "MintToZeroAddress", "type": "error" }, { "inputs": [], "name": "MintZeroQuantity", "type": "error" }, { "inputs": [], "name": "NotCompatibleWithSpotMints", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" } ], "name": "OperatorNotAllowed", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "OwnableInvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "OwnableUnauthorizedAccount", "type": "error" }, { "inputs": [], "name": "OwnerQueryForNonexistentToken", "type": "error" }, { "inputs": [], "name": "OwnershipNotInitializedForExtraData", "type": "error" }, { "inputs": [], "name": "SequentialMintExceedsLimit", "type": "error" }, { "inputs": [], "name": "SequentialUpToTooSmall", "type": "error" }, { "inputs": [], "name": "SpotMintTokenIdTooSmall", "type": "error" }, { "inputs": [], "name": "TokenAlreadyExists", "type": "error" }, { "inputs": [], "name": "TransferCallerNotOwnerNorApproved", "type": "error" }, { "inputs": [], "name": "TransferFromIncorrectOwner", "type": "error" }, { "inputs": [], "name": "TransferToNonERC721ReceiverImplementer", "type": "error" }, { "inputs": [], "name": "TransferToZeroAddress", "type": "error" }, { "inputs": [], "name": "URIQueryForNonexistentToken", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "approved", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "ApprovalForAll", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "fromTokenId", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "toTokenId", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" } ], "name": "ConsecutiveTransfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "OPERATOR_FILTER_REGISTRY", "outputs": [ { "internalType": "contract IOperatorFilterRegistry", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "acceptedToken", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_newAcceptedToken", "type": "address" } ], "name": "changeAcceptedToken", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "string", "name": "_pcsId", "type": "string" }, { "internalType": "string", "name": "_linkToProject", "type": "string" }, { "internalType": "uint256", "name": "_maxSupply", "type": "uint256" }, { "internalType": "uint256", "name": "_costPerNft", "type": "uint256" }, { "internalType": "string", "name": "_uri", "type": "string" } ], "name": "createProject", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_categoryIndex", "type": "uint256" } ], "name": "getRemainingSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_categoryIndex", "type": "uint256" }, { "internalType": "uint256", "name": "_mintAmount", "type": "uint256" } ], "name": "investInClimate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "nftCategoryIndexes", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "nftsCreatedByCategoryIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "projectsCreated", "outputs": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "pcsId", "type": "string" }, { "internalType": "string", "name": "linkToProject", "type": "string" }, { "internalType": "uint256", "name": "maxSupply", "type": "uint256" }, { "internalType": "uint256", "name": "costPerNft", "type": "uint256" }, { "internalType": "string", "name": "uri", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "rootNumber", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "startingTokenId", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "result", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_categoryIndex", "type": "uint256" }, { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "string", "name": "_pcsId", "type": "string" }, { "internalType": "string", "name": "_linkToProject", "type": "string" }, { "internalType": "uint256", "name": "_maxSupply", "type": "uint256" }, { "internalType": "uint256", "name": "_costPerNft", "type": "uint256" }, { "internalType": "string", "name": "_uri", "type": "string" } ], "name": "updateProject", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_token", "type": "address" } ], "name": "withdrawERC20", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
608060405234610179576040612938803803809161001c82610191565b608039126101795761002c6101ea565b610034610200565b61008161003f610216565b7f496e76657374496e436c696d617465416374696f6e0000000000000000000000602082015261006d610229565b90634949434160e01b602083015233610251565b6daaeb6d7670e522a718067333cd4e803b6100fc575b506100cb6100ed926100a96001600b55565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6040516123b490816105848239f35b91823b1561017957604051633e9f1edf60e11b8152306004820152733cc6cdda760b79bafa08df41ecfa224f810dceb66024820152925f908490604490829084905af1908115610174576100ed936100cb9261015b575b509250610097565b8061016861016e926101bc565b8061023c565b5f610153565b610246565b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6080601f91909101601f19168101906001600160401b038211908210176101b757604052565b61017d565b6001600160401b0381116101b757604052565b604081019081106001600160401b038211176101b757604052565b608051906001600160a01b038216820361017957565b60a051906001600160a01b038216820361017957565b60405190610223826101cf565b60158252565b60405190610236826101cf565b60048252565b5f91031261017957565b6040513d5f823e3d90fd5b815191939290916001600160401b0381116101b75761027a81610275600254610386565b6103be565b602080601f83116001146102fa575090806102b0926102b89596975f926102ef575b50508160011b915f199060031b1c19161790565b60025561045e565b600b545f556001600160a01b038116156102d7576102d59061053b565b565b604051631e4fbdf760e01b81525f6004820152602490fd5b015190505f8061029c565b60025f52601f198316969091907f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace925f905b89821061036e575050908392916001946102b897989910610356575b505050811b0160025561045e565b01515f1960f88460031b161c191690555f8080610348565b8060018596829496860151815501950193019061032c565b90600182811c921680156103b4575b60208310146103a057565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610395565b601f81116103ca575050565b60025f5260205f20906020601f840160051c83019310610404575b601f0160051c01905b8181106103f9575050565b5f81556001016103ee565b90915081906103e5565b601f811161041a575050565b60035f5260205f20906020601f840160051c83019310610454575b601f0160051c01905b818110610449575050565b5f815560010161043e565b9091508190610435565b80519091906001600160401b0381116101b75761048581610480600354610386565b61040e565b602080601f83116001146104ba575081906104b593945f926102ef5750508160011b915f199060031b1c19161790565b600355565b60035f52601f198316949091907fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b925f905b87821061052357505083600195961061050b575b505050811b01600355565b01515f1960f88460031b161c191690555f8080610500565b806001859682949686015181550195019301906104ec565b600980546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a356fe60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146101f457806306fdde03146101ef578063081812fc146101ea578063095ea7b3146101e55780630c88bb12146101e057806310a0a2bf146101db57806318160ddd146101d65780631fb49712146101d157806323b872dd146101cc5780633db9b5fd146101c757806341f43434146101c257806342842e0e146101bd578063451c3d80146101b85780636352211e146101b35780636771b730146101ae5780636c879fde146101a957806370a08231146101a4578063715018a61461019f5780638c858a141461019a5780638da5cb5b1461019557806395d89b4114610190578063a22cb4651461018b578063b4f18d8d14610186578063b88d4fde14610181578063c87b56dd1461017c578063d389811814610177578063e985e9c514610172578063ed3274c61461016d578063f2fde38b146101685763f4f3b20014610163575f80fd5b611385565b6112f9565b6112dc565b611280565b6111d2565b6110c5565b611051565b611034565b610f9b565b610eec565b610ec4565b610ea6565b610e4b565b610df4565b610d5a565b610ccb565b610c9c565b610c74565b610a80565b610a58565b6108a6565b6106ed565b61062a565b61051e565b6104f4565b6104ca565b610410565b610395565b6102b5565b61020f565b6001600160e01b031981160361020b57565b5f80fd5b3461020b57602036600319011261020b57602060043561022e816101f9565b63ffffffff60e01b166301ffc9a760e01b811490811561026c575b811561025b575b506040519015158152f35b635b5e139f60e01b1490505f610250565b6380ac58cd60e01b81149150610249565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b9060206102b292818152019061027d565b90565b3461020b575f36600319011261020b576040515f6002546102d5816110f8565b8084529060209060019081811690811561036b5750600114610312575b61030e856103028187038261059b565b604051918291826102a1565b0390f35b60025f90815293507f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5b838510610358575050505081016020016103028261030e6102f2565b805486860184015293820193810161033c565b86955061030e9693506020925061030294915060ff191682840152151560051b82010192936102f2565b3461020b57602036600319011261020b576004356103b281611e99565b156103d5575f526006602052602060018060a01b0360405f205416604051908152f35b6333d1c03960e21b5f5260045ffd5b600435906001600160a01b038216820361020b57565b602435906001600160a01b038216820361020b57565b604036600319011261020b576104246103e4565b6024359061043181611f52565b6001600160a01b038061044384612145565b169182330361049b575b5f84815260066020526040902080546001600160a01b0319166001600160a01b03831617905516907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9255f80a4005b5f83815260076020908152604080832033845290915290205460ff1661044d576367d9dca160e11b5f5260045ffd5b3461020b57602036600319011261020b576004355f526010602052602060405f2054604051908152f35b3461020b57602036600319011261020b576004355f52600f602052602060405f2054604051908152f35b3461020b575f36600319011261020b5760206105425f546001549003600b54900390565b604051908152f35b634e487b7160e01b5f52604160045260245ffd5b60c0810190811067ffffffffffffffff82111761057a57604052565b61054a565b6020810190811067ffffffffffffffff82111761057a57604052565b90601f8019910116810190811067ffffffffffffffff82111761057a57604052565b67ffffffffffffffff811161057a57601f01601f191660200190565b9291926105e5826105bd565b916105f3604051938461059b565b82948184528183011161020b578281602093845f960137010152565b9080601f8301121561020b578160206102b2933591016105d9565b3461020b5760c036600319011261020b5767ffffffffffffffff60043581811161020b5761065c90369060040161060f565b60243582811161020b5761067490369060040161060f565b60443583811161020b5761068c90369060040161060f565b9160a43593841161020b576106a86106b694369060040161060f565b92608435926064359261152f565b005b606090600319011261020b576001600160a01b0390600435828116810361020b5791602435908116810361020b579060443590565b6106f6366106b8565b6001600160a01b03928316929091338403610898575b61071583612145565b8483821603610893575f848152600660205260409020805461074a6001600160a01b03881633908114908314171590565b1590565b610848575b61083f575b506001600160a01b0385165f90815260056020526040902080545f190190556001600160a01b0382165f908152600560205260409020805460010190556001600160a01b0382164260a01b17600160e11b176107b8855f52600460205260405f2090565b55600160e11b8116156107fa575b501680927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a4156107f557005b611f08565b60018401610810815f52600460205260405f2090565b541561081d575b506107c6565b5f54811461081757610837905f52600460205260405f2090565b555f80610817565b5f90555f610754565b6108886107466108813361086c8b60018060a01b03165f52600760205260405f2090565b9060018060a01b03165f5260205260405f2090565b5460ff1690565b1561074f575b611ef9565b611eeb565b6108a133611f52565b61070c565b3461020b57604036600319011261020b57600435602435906108cb600a5482106118e7565b6108d6821515611933565b6108f58260046108ee845f52600e60205260405f2090565b015461197f565b806109ba575b506109166109115f546001549003600b54900390565b611992565b9061092961092484846119a0565b6119ad565b9161096661094985610943855f52600f60205260405f2090565b546119a0565b600361095d855f52600e60205260405f2090565b015410156119c8565b610978825f52600f60205260405f2090565b6109838582546119a0565b90555b82811115610998576106b68433612005565b80826109af6109b5935f52601060205260405f2090565b556118d4565b610986565b6020610a155f926109e46109d86109d8600d5460018060a01b031690565b6001600160a01b031690565b6040516323b872dd60e01b815233600482015230602482015260448101929092529093849283919082906064820190565b03925af18015610a5357156108fb57610a459060203d602011610a4c575b610a3d818361059b565b8101906114ca565b505f6108fb565b503d610a33565b6114df565b3461020b575f36600319011261020b5760206040516daaeb6d7670e522a718067333cd4e8152f35b610a89366106b8565b9091906001600160a01b0380831633811415929183610c66575b60405193610ab08561057f565b805f8652610c58575b610c4a575b610ac783612145565b908281831603610893578391610ae8835f52600660205260405f2090815490565b610b016001600160a01b03871633908114908314171590565b610c19575b610c10575b506001600160a01b0384165f90815260056020526040902080545f190190556001600160a01b0388165f908152600560205260409020805460010190556001600160a01b0388164260a01b17600160e11b17610b6f845f52600460205260405f2090565b55600160e11b811615610bcb575b50861680927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a4156107f557833b610bb357005b610bc09361074693612356565b610bc657005b611f17565b60018301610be1815f52600460205260405f2090565b5415610bee575b50610b7d565b5f548114610be857610c08905f52600460205260405f2090565b555f80610be8565b5f90555f610b0b565b9350610c3f6107466108813361086c8960018060a01b03165f52600760205260405f2090565b61088e578593610b06565b610c5333611f52565b610abe565b610c6133611f52565b610ab9565b610c6f33611f52565b610aa3565b3461020b575f36600319011261020b57600d546040516001600160a01b039091168152602090f35b3461020b57602036600319011261020b5760206001600160a01b03610cc2600435612145565b16604051908152f35b3461020b5760e036600319011261020b5767ffffffffffffffff60243581811161020b57610cfd90369060040161060f565b60443582811161020b57610d1590369060040161060f565b60643583811161020b57610d2d90369060040161060f565b9160c43593841161020b57610d496106b694369060040161060f565b9260a4359260843592600435611a20565b3461020b57602036600319011261020b57610d736103e4565b600c546040516354a7d06f60e11b81523360048201526001600160a01b0392916020908290602490829087165afa8015610a5357610db8915f91610dd5575b506114ea565b166bffffffffffffffffffffffff60a01b600d541617600d555f80f35b610dee915060203d602011610a4c57610a3d818361059b565b5f610db2565b3461020b57602036600319011261020b576001600160a01b03610e156103e4565b168015610e3c575f526005602052602067ffffffffffffffff60405f205416604051908152f35b6323d3ad8160e21b5f5260045ffd5b3461020b575f36600319011261020b57610e636121b6565b600980546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461020b57602036600319011261020b576020610542600435611bb6565b3461020b575f36600319011261020b576009546040516001600160a01b039091168152602090f35b3461020b575f36600319011261020b576040515f600354610f0c816110f8565b8084529060209060019081811690811561036b5750600114610f385761030e856103028187038261059b565b60035f90815293507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b838510610f7e575050505081016020016103028261030e6102f2565b8054868601840152938201938101610f62565b8015150361020b57565b3461020b57604036600319011261020b57610fb46103e4565b60243590610fc182610f91565b610fca81611f52565b335f9081526007602090815260408083206001600160a01b038516845290915290209115159160ff1981541660ff841617905560405191825260018060a01b0316907f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a3005b3461020b575f36600319011261020b576020600b54604051908152f35b608036600319011261020b576110656103e4565b61106d6103fa565b9060443560643567ffffffffffffffff811161020b573660238201121561020b576110a29036906024816004013591016105d9565b906001600160a01b03838116903382141580610c5857610c4a57610ac783612145565b3461020b57602036600319011261020b5761030e6110e4600435611cf8565b60405191829160208352602083019061027d565b90600182811c92168015611126575b602083101461111257565b634e487b7160e01b5f52602260045260245ffd5b91607f1691611107565b9060405191825f8254611142816110f8565b908184526020946001916001811690815f146111b05750600114611172575b5050506111709250038361059b565b565b5f90815285812095935091905b81831061119857505061117093508201015f8080611161565b8554888401850152948501948794509183019161117f565b9250505061117094925060ff191682840152151560051b8201015f8080611161565b3461020b57602036600319011261020b576004355f52600e60205261124c60405f2061030e61120082611130565b9161120d60018201611130565b61121960028301611130565b9161126860038201549361125a611237600560048601549501611130565b94604051998a9960c08b5260c08b019061027d565b9089820360208b015261027d565b90878203604089015261027d565b926060860152608085015283820360a085015261027d565b3461020b57604036600319011261020b57602060ff6112d06112a06103e4565b6112a86103fa565b6001600160a01b039182165f9081526007865260408082209290931681526020919091522090565b54166040519015158152f35b3461020b575f36600319011261020b576020600a54604051908152f35b3461020b57602036600319011261020b576113126103e4565b61131a6121b6565b6001600160a01b0390811690811561136d57600954826bffffffffffffffffffffffff60a01b821617600955167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b604051631e4fbdf760e01b81525f6004820152602490fd5b3461020b5760208060031936011261020b5761139f6103e4565b600c546040516354a7d06f60e11b81523360048201526001600160a01b03929184908290602490829087165afa8015610a53576113e2915f916114b357506114ea565b6040516370a0823160e01b81523060048201529116908281602481855afa908115610a53575f92849261144c928591611486575b50611422811515611e01565b60405163a9059cbb60e01b8152336004820152602481019190915293849283919082906044820190565b03925af1908115610a53576106b6925f92611469575b5050611e4d565b61147f9250803d10610a4c57610a3d818361059b565b5f80611462565b6114a69150843d86116114ac575b61149e818361059b565b810190611df2565b5f611416565b503d611494565b610dee9150853d8711610a4c57610a3d818361059b565b9081602091031261020b57516102b281610f91565b6040513d5f823e3d90fd5b156114f157565b60405162461bcd60e51b815260206004820152601660248201527521b0b63632b91034b9903737ba1030b71030b236b4b760511b6044820152606490fd5b600c546040516354a7d06f60e11b8152336004820152919695949392916020918290829060249082906001600160a01b03165afa8015610a5357611579915f916116fd57506114ea565b61158587511515611714565b611590841515611757565b6040519661159d8861055e565b875280870191825260408701928352606087019384526080870194855260a08701958652600a545f52600e815260405f2096519081519167ffffffffffffffff831161057a576115f7836115f18b546110f8565b8b6117ad565b81601f84116001146116805750611662989795936116378461164e9560059a9895611644955f92611675575b50508160011b915f199060031b1c19161790565b89555b51600189016117fc565b51600287016117fc565b5160038501555160048401555191016117fc565b611170611670600a546118d4565b600a55565b015190505f80611623565b9190601f1984166116948b5f5260205f2090565b935f905b8282106116e5575050846005999794611644946116629d9c9a989461164e98600195106116cd575b505050811b01895561163a565b01515f1960f88460031b161c191690555f80806116c0565b80600186978294978701518155019601940190611698565b610dee9150833d8511610a4c57610a3d818361059b565b1561171b57565b60405162461bcd60e51b81526020600482015260146024820152734e616d652063616e6e6f7420626520656d70747960601b6044820152606490fd5b1561175e57565b60405162461bcd60e51b815260206004820152602160248201527f4d617820737570706c79206d7573742062652067726561746572207468616e206044820152600360fc1b6064820152608490fd5b601f82116117ba57505050565b5f5260205f20906020601f840160051c830193106117f2575b601f0160051c01905b8181106117e7575050565b5f81556001016117dc565b90915081906117d3565b919091825167ffffffffffffffff811161057a576118248161181e84546110f8565b846117ad565b602080601f8311600114611859575081906118559394955f926116755750508160011b915f199060031b1c19161790565b9055565b90601f1983169561186d855f5260205f2090565b925f905b8882106118a857505083600195969710611890575b505050811b019055565b01515f1960f88460031b161c191690555f8080611886565b80600185968294968601518155019501930190611871565b634e487b7160e01b5f52601160045260245ffd5b5f1981146118e25760010190565b6118c0565b156118ee57565b60405162461bcd60e51b815260206004820152601e60248201527f43617465676f7279206e756d62657220646f6573206e6f7420657869737400006044820152606490fd5b1561193a57565b60405162461bcd60e51b815260206004820152601b60248201527f4e65656420746f206d696e74206174206c656173742031204e465400000000006044820152606490fd5b818102929181159184041417156118e257565b90600182018092116118e257565b919082018092116118e257565b5f198101919082116118e257565b919082039182116118e257565b156119cf57565b60405162461bcd60e51b8152602060048201526024808201527f45786365656473206d617820737570706c7920666f7220746869732063617465604482015263676f727960e01b6064820152608490fd5b600c546040516354a7d06f60e11b81523360048201526020979695949392918890829060249082906001600160a01b03165afa8015610a5357611a69915f91611b9f57506114ea565b611a76600a5482106118e7565b611a8282511515611714565b611a8d851515611757565b5f52600e865260405f209581519167ffffffffffffffff831161057a57611abe83611ab88a546110f8565b8a6117ad565b81601f8411600114611b22575061117098979593611afd84611b129560059a9895611b09955f926116755750508160011b915f199060031b1c19161790565b87555b600187016117fc565b600285016117fc565b60038301556004820155016117fc565b9190601f198416611b368a5f5260205f2090565b935f905b828210611b87575050846005999794611b09946111709d9c9a9894611b129860019510611b6f575b505050811b018755611b00565b01515f1960f88460031b161c191690555f8080611b62565b80600186978294978701518155019601940190611b3a565b610dee9150893d8b11610a4c57610a3d818361059b565b611bc3600a5482106118e7565b805f52600e602052611c4160405f2091604051611bdf8161055e565b611be884611130565b8152611bf660018501611130565b6020820152611c0760028501611130565b604082015260a0611c306005600387015496606085019788526004810154608086015201611130565b9101525f52600f60205260405f2090565b5490519081811015611c56576102b2916119bb565b50505f90565b15611c6357565b60405162461bcd60e51b8152602060048201526016602482015275092dcecc2d8d2c840c6c2e8cacedee4f240d2dcc8caf60531b6044820152606490fd5b15611ca857565b60405162461bcd60e51b815260206004820152601660248201527513595d1859185d1848155492481b9bdd08199bdd5b9960521b6044820152606490fd5b805191908290602001825e015f815290565b611d0181611e99565b15611d9557611d0e611ff3565b805115611d4c576102b290611d3e611d28611d38946121e2565b6040519485936020850190611ce6565b90611ce6565b03601f19810183528261059b565b506005611d83611d67611d89935f52601060205260405f2090565b54611d75600a548210611c5c565b5f52600e60205260405f2090565b01611130565b6102b281511515611ca1565b60405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b6064820152608490fd5b9081602091031261020b575190565b15611e0857565b60405162461bcd60e51b815260206004820152601b60248201527f4e6f20455243323020746f6b656e7320746f20776974686472617700000000006044820152606490fd5b15611e5457565b60405162461bcd60e51b815260206004820152601d60248201527f455243323020746f6b656e207769746864726177616c206661696c65640000006044820152606490fd5b905f9180600b541115611ea95750565b5f548110611eb45750565b9091505b611eca815f52600460205260405f2090565b5480611edf575080156118e2575f1901611eb8565b600160e01b1615919050565b62a1148160e81b5f5260045ffd5b632ce44b5f60e11b5f5260045ffd5b633a954ecd60e21b5f5260045ffd5b6368d2bf6b60e11b5f5260045ffd5b63b562e8dd60e01b5f5260045ffd5b622e076360e81b5f5260045ffd5b636f96cda160e11b5f5260045ffd5b6daaeb6d7670e522a718067333cd4e803b611f6b575050565b604051633185c44d60e21b81523060048201526001600160a01b038316602482015290602090829060449082905afa908115610a53575f91611fd4575b5015611fb15750565b604051633b79c77360e21b81526001600160a01b03919091166004820152602490fd5b611fed915060203d602011610a4c57610a3d818361059b565b5f611fa8565b604051906120008261057f565b5f8252565b90604051906120138261057f565b5f82525f54928115612140576001916001600160a01b0382164260a01b82851460e11b171761204a865f52600460205260405f2090565b556001600160a01b0382165f8181526005602052604090208054680100000000000000018402019055801561213b5781860195908480805b6120ec575b50505050845f55813b61209c575b5050505050565b84039180805b6120bd575b50505050505f540361020b575f80808080612095565b156120df575b5f6120d56107468684870196866122be565b610bc657816120a2565b8483106120c357806120a7565b15612123575b505f8583835f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a49081612082565b9091019086821461213457846120f2565b8481612087565b611f35565b611f26565b80600b5411611f4357612160815f52600460205260405f2090565b549081156121775750600160e01b8116611f435790565b90505f548110156121b1575b5f19015f818152600460205260409020549081156121aa5750600160e01b8116611f435790565b9050612183565b611f43565b6009546001600160a01b031633036121ca57565b60405163118cdaa760e01b8152336004820152602490fd5b9060405160a0810160405260808101925f8452925b5f190192600a9060308282060185530492836121f757809350608091030191601f1901918252565b9081602091031261020b57516102b2816101f9565b6102b2939260809260018060a01b031682525f60208301526040820152816060820152019061027d565b6001600160a01b0391821681529116602082015260408101919091526080606082018190526102b29291019061027d565b3d156122b9573d906122a0826105bd565b916122ae604051938461059b565b82523d5f602084013e565b606090565b6122e66020915f9394604051948580948193630a85bd0160e11b998a84523360048501612234565b03926001600160a01b03165af15f9181612325575b506123175761230861228f565b805115611f1757805190602001fd5b6001600160e01b0319161490565b61234891925060203d60201161234f575b612340818361059b565b81019061221f565b905f6122fb565b503d612336565b926020916122e6935f604051809681958294630a85bd0160e11b9a8b8552336004860161225e56fea264697066735822122036a5567f1f8ac3086d0728d3662a8360abafa19f0f972f4a79c2ea4bb06683b764736f6c63430008190033000000000000000000000000dd02567a0831a2fb3949880dd8f11afd44179682000000000000000000000000a4d454d4c9e248a51eb31d34d23ddc11a0ef1874
0x000000000000000000000000dd02567a0831a2fb3949880dd8f11afd44179682000000000000000000000000a4d454d4c9e248a51eb31d34d23ddc11a0ef1874
----Decoded View------------Arg [0] : _roleAddress (address): 0xdD02567A0831A2fb3949880dD8f11afd44179682Arg [1] : _acceptedToken (address): 0xA4D454d4c9e248A51eB31D34D23dDc11A0Ef1874
----Encoded View------------Arg [0] : 0x000000000000000000000000dd02567a0831a2fb3949880dd8f11afd44179682Arg [1] : 0x000000000000000000000000a4d454d4c9e248a51eb31d34d23ddc11a0ef1874