[ { "inputs": [ { "internalType": "contract ISuperfluid", "name": "host", "type": "address" }, { "internalType": "contract IGeneralDistributionAgreementV1", "name": "gdaV1", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "POOL_MEMBER_NFT_HAS_UNITS", "type": "error" }, { "inputs": [], "name": "POOL_MEMBER_NFT_NO_UNITS", "type": "error" }, { "inputs": [], "name": "POOL_MEMBER_NFT_NO_ZERO_MEMBER", "type": "error" }, { "inputs": [], "name": "POOL_MEMBER_NFT_NO_ZERO_POOL", "type": "error" }, { "inputs": [], "name": "POOL_NFT_APPROVE_CALLER_NOT_OWNER_OR_APPROVED_FOR_ALL", "type": "error" }, { "inputs": [], "name": "POOL_NFT_APPROVE_TO_CALLER", "type": "error" }, { "inputs": [], "name": "POOL_NFT_APPROVE_TO_CURRENT_OWNER", "type": "error" }, { "inputs": [], "name": "POOL_NFT_INVALID_TOKEN_ID", "type": "error" }, { "inputs": [], "name": "POOL_NFT_NOT_REGISTERED_POOL", "type": "error" }, { "inputs": [], "name": "POOL_NFT_ONLY_SUPER_TOKEN_FACTORY", "type": "error" }, { "inputs": [], "name": "POOL_NFT_TRANSFER_CALLER_NOT_OWNER_OR_APPROVED_FOR_ALL", "type": "error" }, { "inputs": [], "name": "POOL_NFT_TRANSFER_NOT_ALLOWED", "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": false, "internalType": "bytes32", "name": "uuid", "type": "bytes32" }, { "indexed": false, "internalType": "address", "name": "codeAddress", "type": "address" } ], "name": "CodeUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint8", "name": "version", "type": "uint8" } ], "name": "Initialized", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "MetadataUpdate", "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": "DEFAULT_BASE_URI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "GENERAL_DISTRIBUTION_AGREEMENT_V1", "outputs": [ { "internalType": "contract IGeneralDistributionAgreementV1", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "HOST", "outputs": [ { "internalType": "contract ISuperfluid", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "balance", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "baseURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "castrate", "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": [], "name": "getCodeAddress", "outputs": [ { "internalType": "address", "name": "codeAddress", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pool", "type": "address" }, { "internalType": "address", "name": "member", "type": "address" } ], "name": "getTokenId", "outputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "nftName", "type": "string" }, { "internalType": "string", "name": "nftSymbol", "type": "string" } ], "name": "initialize", "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": "address", "name": "pool", "type": "address" }, { "internalType": "address", "name": "member", "type": "address" } ], "name": "onCreate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pool", "type": "address" }, { "internalType": "address", "name": "member", "type": "address" } ], "name": "onDelete", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pool", "type": "address" }, { "internalType": "address", "name": "member", "type": "address" } ], "name": "onUpdate", "outputs": [], "stateMutability": "nonpayable", "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": "tokenId", "type": "uint256" } ], "name": "poolMemberDataByTokenId", "outputs": [ { "components": [ { "internalType": "address", "name": "pool", "type": "address" }, { "internalType": "address", "name": "member", "type": "address" }, { "internalType": "uint128", "name": "units", "type": "uint128" } ], "internalType": "struct IPoolMemberNFT.PoolMemberNFTData", "name": "data", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "proxiableUUID", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "pure", "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": "nonpayable", "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": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "pure", "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": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "triggerMetadataUpdate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newAddress", "type": "address" } ], "name": "updateCode", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60c060405234801561001057600080fd5b50604051611b37380380611b3783398101604081905261002f9161005e565b6001600160a01b039182166080521660a052610098565b6001600160a01b038116811461005b57600080fd5b50565b6000806040838503121561007157600080fd5b825161007c81610046565b602084015190925061008d81610046565b809150509250929050565b60805160a051611a6c6100cb60003960008181610271015261121701526000818161037801526107890152611a6c6000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c806352d1902d116100f9578063a497325b11610097578063b943855e11610071578063b943855e14610465578063c87b56dd14610478578063e985e9c51461048b578063f1391f731461049e57600080fd5b8063a497325b14610437578063b62b36461461043f578063b88d4fde1461045257600080fd5b806370a08231116100d357806370a082311461040057806395d89b41146104145780639903ad381461041c578063a22cb4651461042457600080fd5b806352d1902d146103b55780636352211e146103e55780636c0360eb146103f857600080fd5b80632f388560116101665780634695195411610140578063469519541461036057806349f289dc146103735780634cd88b761461039a57806350d75d25146103ad57600080fd5b80632f388560146102935780633bda0594146102a657806342842e0e1461034d57600080fd5b8063081812fc116101a2578063081812fc1461021b578063095ea7b31461024657806323b872dd146102595780632925af7e1461026c57600080fd5b806301ffc9a7146101c95780630447a2cd146101f157806306fdde0314610206575b600080fd5b6101dc6101d7366004611485565b6104b1565b60405190151581526020015b60405180910390f35b6102046101ff3660046114c4565b610503565b005b61020e6105e7565b6040516101e89190611521565b61022e610229366004611554565b610679565b6040516001600160a01b0390911681526020016101e8565b61020461025436600461156d565b6106a0565b610204610267366004611599565b61072c565b61022e7f000000000000000000000000000000000000000000000000000000000000000081565b6102046102a1366004611554565b61075e565b6103146102b4366004611554565b60408051606080820183526000808352602080840182905292840181905293845260168252928290208251938401835280546001600160a01b03908116855260018201541691840191909152600201546001600160801b03169082015290565b6040805182516001600160a01b03908116825260208085015190911690820152918101516001600160801b0316908201526060016101e8565b61020461035b366004611599565b61076a565b61020461036e3660046115da565b610785565b61022e7f000000000000000000000000000000000000000000000000000000000000000081565b6102046103a83660046116a7565b610841565b61022e610927565b7f6f373bc57ad79a3d1860bb8cc8471063d3883c0ce9afa665d14337e5fb3966535b6040519081526020016101e8565b61022e6103f3366004611554565b610956565b61020e61098b565b6103d761040e3660046115da565b50600190565b61020e6109ab565b6102046109ba565b61020461043236600461171e565b610a7c565b61020e610a87565b61020461044d3660046114c4565b610aa3565b61020461046036600461174c565b610aba565b6103d76104733660046114c4565b610af3565b61020e610486366004611554565b610b06565b6101dc6104993660046114c4565b610b11565b6102046104ac3660046114c4565b610b3f565b60006301ffc9a760e01b6001600160e01b0319831614806104e257506380ac58cd60e01b6001600160e01b03198316145b806104fd5750635b5e139f60e01b6001600160e01b03198316145b92915050565b600061050f8383610b49565b9050600061051c82610bbf565b90506001600160a01b038116610534576105346117cc565b60008281526016602052604090819020805460018201549251630fefbc0960e01b81526001600160a01b03938416600482015291921690630fefbc0990602401602060405180830381865afa158015610591573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b591906117e2565b6002820180546001600160801b0319166001600160801b03929092169190911790556105e083610bdd565b5050505050565b6060600180546105f69061180b565b80601f01602080910402602001604051908101604052809291908181526020018280546106229061180b565b801561066f5780601f106106445761010080835404028352916020019161066f565b820191906000526020600020905b81548152906001019060200180831161065257829003601f168201915b5050505050905090565b600061068482610c0d565b506000908152600360205260409020546001600160a01b031690565b60006106ab82610956565b9050806001600160a01b0316836001600160a01b0316036106df5760405163020226d360e01b815260040160405180910390fd5b336001600160a01b038216148015906106ff57506106fd8133610b11565b155b1561071d57604051631e82f25560e01b815260040160405180910390fd5b6107278383610c33565b505050565b6107363382610ca1565b61075357604051632014770760e11b815260040160405180910390fd5b610727838383610d00565b61076781610bdd565b50565b61072783838360405180602001604052806000815250610aba565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663731aed6e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108099190611845565b9050336001600160a01b03821614610834576040516303fafc7b60e31b815260040160405180910390fd5b61083d82610d19565b5050565b600054610100900460ff16158080156108615750600054600160ff909116105b8061087b5750303b15801561087b575060005460ff166001145b6108a05760405162461bcd60e51b815260040161089790611862565b60405180910390fd5b6000805460ff1916600117905580156108c3576000805461ff0019166101001790555b60016108cf84826118f7565b5060026108dc83826118f7565b508015610727576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b60006109517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b60008061096283610bbf565b90506001600160a01b0381166104fd57604051630249d66560e21b815260040160405180910390fd5b60606040518060600160405280602e8152602001611a09602e9139905090565b6060600280546105f69061180b565b600054610100900460ff16158080156109da5750600054600160ff909116105b806109f45750303b1580156109f4575060005460ff166001145b610a105760405162461bcd60e51b815260040161089790611862565b6000805460ff191660011790558015610a33576000805461ff0019166101001790555b8015610767576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b61083d338383610f53565b6040518060600160405280602e8152602001611a09602e913981565b6000610aaf8383610b49565b905061072781610ff2565b610ac43383610ca1565b610ae157604051632014770760e11b815260040160405180910390fd5b610aed8484848461114e565b50505050565b6000610aff8383610b49565b9392505050565b60606104fd82611159565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b61083d8282611189565b6000468383604051602001610ba0939291906080808252600d908201526c141bdbdb13595b58995c939195609a1b60a082015260208101939093526001600160a01b03918216604084015216606082015260c00190565b60408051601f1981840301815291905280516020909101209392505050565b6000908152601660205260409020600101546001600160a01b031690565b6040518181527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce790602001610a71565b610c1681611468565b61076757604051630249d66560e21b815260040160405180910390fd5b600081815260036020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610c6882610bbf565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610cad83610956565b9050806001600160a01b0316846001600160a01b03161480610cd45750610cd48185610b11565b80610cf85750836001600160a01b0316610ced84610679565b6001600160a01b0316145b949350505050565b6040516302197d8b60e51b815260040160405180910390fd5b6000610d437f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031603610d995760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401610897565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dd7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dfb91906119b6565b7f6f373bc57ad79a3d1860bb8cc8471063d3883c0ce9afa665d14337e5fb39665314610e755760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401610897565b6001600160a01b0381163003610ecd5760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401610897565b610ef5817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f6f373bc57ad79a3d1860bb8cc8471063d3883c0ce9afa665d14337e5fb396653604080519182526001600160a01b038416602083015201610a71565b816001600160a01b0316836001600160a01b031603610f8557604051639212b33360e01b815260040160405180910390fd5b6001600160a01b03838116600081815260046020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b600081815260166020526040808220805460018201549251630fefbc0960e01b81526001600160a01b0393841660048201529193921690630fefbc0990602401602060405180830381865afa15801561104f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107391906117e2565b6001600160801b0316111561109b5760405163067aab1760e01b815260040160405180910390fd5b60006110a683610bbf565b90506001600160a01b0381166110be576110be6117cc565b600083815260036020526040902080546001600160a01b031916905560008381526016602052604080822080546001600160a01b03199081168255600182018054909116905560020180546001600160801b0319169055518491906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a4505050565b610aed848484610d00565b606061116361098b565b60405160200161117391906119cf565b6040516020818303038152906040529050919050565b6000826001600160a01b0316632b4116f76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ed9190611845565b604051633d96606d60e11b81526001600160a01b03808316600483015285811660248301529192507f000000000000000000000000000000000000000000000000000000000000000090911690637b2cc0da90604401602060405180830381865afa158015611260573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128491906119eb565b6112a157604051633210c89760e11b815260040160405180910390fd5b6001600160a01b0383166112b7576112b76117cc565b6001600160a01b0382166112cd576112cd6117cc565b816001600160a01b0316836001600160a01b0316036112ee576112ee6117cc565b60006112fa8484610b49565b905061130581611468565b15611312576113126117cc565b604051630fefbc0960e01b81526001600160a01b03848116600483015260009190861690630fefbc0990602401602060405180830381865afa15801561135c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061138091906117e2565b9050806001600160801b03166000036113ac57604051630750d46b60e51b815260040160405180910390fd5b604080516060810182526001600160a01b03808816825286811660208084018281526001600160801b0380881686880190815260008a81526016909452878420965187549087166001600160a01b03199182161788559251600188018054919097169316929092179094555160029094018054949093166001600160801b0319909416939093179091559151849291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050505050565b60008061147483610bbf565b6001600160a01b0316141592915050565b60006020828403121561149757600080fd5b81356001600160e01b031981168114610aff57600080fd5b6001600160a01b038116811461076757600080fd5b600080604083850312156114d757600080fd5b82356114e2816114af565b915060208301356114f2816114af565b809150509250929050565b60005b83811015611518578181015183820152602001611500565b50506000910152565b60208152600082518060208401526115408160408501602087016114fd565b601f01601f19169190910160400192915050565b60006020828403121561156657600080fd5b5035919050565b6000806040838503121561158057600080fd5b823561158b816114af565b946020939093013593505050565b6000806000606084860312156115ae57600080fd5b83356115b9816114af565b925060208401356115c9816114af565b929592945050506040919091013590565b6000602082840312156115ec57600080fd5b8135610aff816114af565b634e487b7160e01b600052604160045260246000fd5b60008067ffffffffffffffff841115611628576116286115f7565b50604051601f19601f85018116603f0116810181811067ffffffffffffffff82111715611657576116576115f7565b60405283815290508082840185101561166f57600080fd5b83836020830137600060208583010152509392505050565b600082601f83011261169857600080fd5b610aff8383356020850161160d565b600080604083850312156116ba57600080fd5b823567ffffffffffffffff8111156116d157600080fd5b6116dd85828601611687565b925050602083013567ffffffffffffffff8111156116fa57600080fd5b61170685828601611687565b9150509250929050565b801515811461076757600080fd5b6000806040838503121561173157600080fd5b823561173c816114af565b915060208301356114f281611710565b6000806000806080858703121561176257600080fd5b843561176d816114af565b9350602085013561177d816114af565b925060408501359150606085013567ffffffffffffffff8111156117a057600080fd5b8501601f810187136117b157600080fd5b6117c08782356020840161160d565b91505092959194509250565b634e487b7160e01b600052600160045260246000fd5b6000602082840312156117f457600080fd5b81516001600160801b0381168114610aff57600080fd5b600181811c9082168061181f57607f821691505b60208210810361183f57634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561185757600080fd5b8151610aff816114af565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b601f82111561072757806000526020600020601f840160051c810160208510156118d75750805b601f840160051c820191505b818110156105e057600081556001016118e3565b815167ffffffffffffffff811115611911576119116115f7565b6119258161191f845461180b565b846118b0565b6020601f82116001811461195957600083156119415750848201515b600019600385901b1c1916600184901b1784556105e0565b600084815260208120601f198516915b828110156119895787850151825560209485019460019092019101611969565b50848210156119a75786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b6000602082840312156119c857600080fd5b5051919050565b600082516119e18184602087016114fd565b9190910192915050565b6000602082840312156119fd57600080fd5b8151610aff8161171056fe68747470733a2f2f6e66742e7375706572666c7569642e66696e616e63652f706f6f6c2f76322f6765746d657461a2646970667358221220b09ffa350c3536e99c563135356e99908a761b024bc2c5eb1de6f4972a3bee3c64736f6c634300081a0033000000000000000000000000109412e3c84f0539b43d39db691b08c90f58dc7c0000000000000000000000009823364056bca85dc3c4a3b96801314d082c8eb9