[ { "inputs": [ { "internalType": "address", "name": "cfa_", "type": "address" }, { "internalType": "string", "name": "name_", "type": "string" }, { "internalType": "string", "name": "symbol_", "type": "string" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "ALREADY_MINTED", "type": "error" }, { "inputs": [], "name": "FLOW_ONGOING", "type": "error" }, { "inputs": [], "name": "NOT_AVAILABLE", "type": "error" }, { "inputs": [], "name": "NOT_EXISTS", "type": "error" }, { "inputs": [], "name": "ZERO_ADDRESS", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "baseUrl", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "burn", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "getTokenId", "outputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "mint", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "contract ISuperfluidToken", "name": "token", "type": "address" }, { "components": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "receiver", "type": "address" }, { "internalType": "address", "name": "flowOperator", "type": "address" }, { "internalType": "int96", "name": "flowRate", "type": "int96" } ], "internalType": "struct IConstantFlowAgreementHook.CFAHookParams", "name": "newFlowData", "type": "tuple" } ], "name": "onCreate", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "contract ISuperfluidToken", "name": "token", "type": "address" }, { "components": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "receiver", "type": "address" }, { "internalType": "address", "name": "flowOperator", "type": "address" }, { "internalType": "int96", "name": "flowRate", "type": "int96" } ], "internalType": "struct IConstantFlowAgreementHook.CFAHookParams", "name": "updatedFlowData", "type": "tuple" }, { "internalType": "int96", "name": "", "type": "int96" } ], "name": "onDelete", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "contract ISuperfluidToken", "name": "", "type": "address" }, { "components": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "receiver", "type": "address" }, { "internalType": "address", "name": "flowOperator", "type": "address" }, { "internalType": "int96", "name": "flowRate", "type": "int96" } ], "internalType": "struct IConstantFlowAgreementHook.CFAHookParams", "name": "", "type": "tuple" }, { "internalType": "int96", "name": "", "type": "int96" } ], "name": "onUpdate", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bool", "name": "", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "pure", "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": "tokenCnt", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "pure", "type": "function" } ]
60a06040523462000340576200175e803803806200001d8162000345565b9283398101606082820312620003405781516001600160a01b0381169190829003620003405760208381015190936001600160401b03918281116200034057836200006a9183016200036b565b92604082015183811162000340576200008492016200036b565b8251908282116200032a5760008054926001958685811c951680156200031f575b898610146200030b578190601f95868111620002b8575b5089908683116001146200025457849262000248575b5050600019600383901b1c191690861b1781555b8151938411620002345784548581811c9116801562000229575b888210146200021557838111620001cd575b508692841160011462000167578394959650926200015b575b5050600019600383901b1c191690821b1790555b6080526040516113809081620003de8239608051816112cf0152f35b0151905038806200012b565b9190601f1984169685845280842093905b888210620001b557505083859697106200019b575b505050811b0190556200013f565b015160001960f88460031b161c191690553880806200018d565b80878596829496860151815501950193019062000178565b8582528782208480870160051c8201928a88106200020b575b0160051c019086905b828110620001ff57505062000112565b838155018690620001ef565b92508192620001e6565b634e487b7160e01b82526022600452602482fd5b90607f169062000100565b634e487b7160e01b81526041600452602490fd5b015190503880620000d2565b8480528a85208994509190601f198416865b8d828210620002a1575050841162000287575b505050811b018155620000e6565b015160001960f88460031b161c1916905538808062000279565b8385015186558c9790950194938401930162000266565b9091508380528984208680850160051c8201928c861062000301575b918a91869594930160051c01915b828110620002f2575050620000bc565b8681558594508a9101620002e2565b92508192620002d4565b634e487b7160e01b83526022600452602483fd5b94607f1694620000a5565b634e487b7160e01b600052604160045260246000fd5b600080fd5b6040519190601f01601f191682016001600160401b038111838210176200032a57604052565b919080601f84011215620003405782516001600160401b0381116200032a57602090620003a1601f8201601f1916830162000345565b92818452828287010111620003405760005b818110620003c957508260009394955001015290565b8581018301518482018401528201620003b356fe60806040818152600480361015610016575b600080fd5b600092833560e01c90816301ffc9a714610b095750806306fdde0314610a4d578063095ea7b314610a2457806323b872dd146109c25780632742e95a146109ce57806342842e0e146109c257806345a11cec1461098b5780635bcabf041461096257806363185c42146109225780636352211e146108f15780636ac5bc31146108b857806370a082311461087757806389f71d2d1461083957806395d89b411461073e578063a22cb4651461070a578063a7c78437146106eb578063b88d4fde14610684578063c87b56dd146102705763e3d8fefe146100f557600080fd5b3461026c5760a036600319011261026c5761010e610c34565b9061011836610cc8565b9360018060a01b03809316918386511693806020809801511693841561025c57610143600254610ff0565b958660025587518981019061016c8161015e8a868887610f68565b03601f198101835282610bc3565b51902092838652848a528886205461024c5787865260038a528060028a882001541661024c5788519261019e84610b75565b8352898301918252600289840193888552606081019367ffffffffffffffff421685528a895260038d52838c8a209251166001600160601b0360a01b90818454161783558460018401925116908254161790550192511682549167ffffffffffffffff60a01b905160a01b169163ffffffff60e01b16171790558252855282848220557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a45160018152f35b885163dfa4c0d560e01b81528590fd5b865163538ba4f960e01b81528390fd5b8280fd5b50919034610680576020918260031936011261067d5783359081815260038452828120918351916102a083610b75565b60018060a01b039283855416815260028460018701541695888301968752015493808516878301526102e6606083019467ffffffffffffffff809760a01c168652610fcc565b95896102f0610d5b565b976102fa4661103c565b97610307858751166110fc565b9187868851168d51958680926395d89b4160e01b82525afa9384156106735788946105fb575b508d8d8d888a511690519283809263313ce56760e01b82525afa9081156105f15789916105b4575b5061039761039d9261037160ff6001600160601b03941661103c565b9761037e8a8251166110fc565b998061038b8185166110fc565b9c511691511690611295565b1661103c565b968189511615600014610584578b51908d820182811084821117610570578e9f508d9e9c9d528152975b51166103d29061103c565b978b519c8b8e82819e51938492019201916103ec92610be5565b8b018a8101693f636861696e5f69643d60b01b9052815191828c602a840192019161041692610be5565b01602a81016e26746f6b656e5f616464726573733d60881b9052815191828b6039840192019161044592610be5565b01603981016d26746f6b656e5f73796d626f6c3d60901b9052815191828a6047840192019161047392610be5565b01604781016f26746f6b656e5f646563696d616c733d60801b90528151918289605784019201916104a392610be5565b0160578101672673656e6465723d60c01b90528151918288605f84019201916104cb92610be5565b01605f8101692672656365697665723d60b01b90528151918287606984019201916104f592610be5565b01606981016926666c6f77526174653d60b01b905281519182866073840192019161051f92610be5565b0181519182856073840192019161053592610be5565b0190805180936073840192019161054b92610be5565b01036053810183526073016105609083610bc3565b5161056c819282610c08565b0390f35b8f826041602492634e487b7160e01b835252fd5b508b9c508a9b999a5161059681610ba7565b600c81526b2673746172745f646174653d60a01b8b820152976103c7565b90508d81813d83116105ea575b6105cb8183610bc3565b810103126105e6575160ff811681036105e657610397610355565b8880fd5b503d6105c1565b8d513d8b823e3d90fd5b9093503d8089833e61060d8183610bc3565b8101908d818303126105e65780519083821161066f57019080601f830112156105e657818e918e93519261064c61064385610d3f565b95519586610bc3565b838552838301011161066f5790610668918f8085019101610be5565b923861032d565b8980fd5b8c513d8a823e3d90fd5b80fd5b5080fd5b50913461067d57608036600319011261067d5761069f610c34565b506106a8610c4a565b5060643567ffffffffffffffff80821161026c573660238301121561026c578185013590811161026c573691016024011161067d575051630e5313df60e41b8152fd5b5050346106805781600319360112610680576020906002549051908152f35b50913461067d578160031936011261067d57610724610c34565b506024358015150361067d575051630e5313df60e41b8152fd5b50903461026c578260031936011261026c5780519183600180549182821c92828116801561082f575b602095868610821461081c57508488529081156107fa57506001146107a2575b61056c8686610798828b0383610bc3565b5191829182610c08565b9295508083527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b8284106107e7575050508261056c94610798928201019438610787565b80548685018801529286019281016107ca565b60ff191687860152505050151560051b83010192506107988261056c38610787565b634e487b7160e01b845260229052602483fd5b93607f1693610767565b5050346106805760603660031901126106805760209061087061085a610c34565b610862610c4a565b61086a610c60565b91610f98565b9051908152f35b50913461067d57602036600319011261067d57506001600160a01b0361089b610c34565b16156108ab576020905160018152f35b5163538ba4f960e01b8152fd5b5050346106805760c0366003190112610680576020906108d6610c34565b506108e036610cc8565b506108e9610cb8565b505160018152f35b50913461067d57602036600319011261067d575061091160209235610fcc565b90516001600160a01b039091168152f35b50503461068057606036600319011261068057602090610959610943610c34565b61094b610c4a565b610953610c60565b91610dbb565b90519015158152f35b50503461068057816003193601126106805761056c90610980610d5b565b905191829182610c08565b505034610680576060366003190112610680576020906109596109ac610c34565b6109b4610c4a565b6109bc610c60565b91610f28565b50505050610011610c76565b5050346106805760c036600319011261068057602090610a1d6109ef610c34565b6109f836610cc8565b610a00610cb8565b508051908501516001600160a01b0390811692918116911661120b565b5160018152f35b50913461067d578160031936011261067d5750610a3f610c34565b5051630e5313df60e41b8152fd5b50903461026c578260031936011261026c578051918380549060019082821c928281168015610aff575b602095868610821461081c57508488529081156107fa5750600114610aa75761056c8686610798828b0383610bc3565b8080949750527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b828410610aec575050508261056c94610798928201019438610787565b8054868501880152928601928101610acf565b93607f1693610a77565b9250503461026c57602036600319011261026c573563ffffffff60e01b811680910361026c57602092506301ffc9a760e01b8114908115610b64575b8115610b53575b5015158152f35b635b5e139f60e01b14905038610b4c565b6380ac58cd60e01b81149150610b45565b6080810190811067ffffffffffffffff821117610b9157604052565b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff821117610b9157604052565b90601f8019910116810190811067ffffffffffffffff821117610b9157604052565b60005b838110610bf85750506000910152565b8181015183820152602001610be8565b60409160208252610c288151809281602086015260208686019101610be5565b601f01601f1916010190565b600435906001600160a01b038216820361001157565b602435906001600160a01b038216820361001157565b604435906001600160a01b038216820361001157565b5034610011576060366003190112610011576001600160a01b0360043581811603610011576024359081160361001157604051630e5313df60e41b8152600490fd5b60a4359081600b0b820361001157565b608090602319011261001157604051906080820182811067ffffffffffffffff821117610b9157604052816001600160a01b036024358181168103610011578252604435818116810361001157602083015260643590811681036100115760408201526084359081600b0b82036100115760600152565b67ffffffffffffffff8111610b9157601f01601f191660200190565b604051906060820182811067ffffffffffffffff821117610b9157604052602d82526c66612f76312f6765746d65746160981b6040837f68747470733a2f2f6e66742e7375706572666c7569642e66696e616e63652f6360208201520152565b919060009081610dcc848387611295565b600b0b1315610f16576001600160a01b0383811693908415610f0457610df3600254610ff0565b9586600255604093845193602094610e148161015e88820194868887610f68565b519020928387526004855285872054610ef35788875260038552806002878920015416610ef3579160049391838796948b985193610e5185610b75565b16835280858401921682526002878401938b855260608101938b85528a8c5260038852838a8d209251166001600160601b0360a01b90818454161783558460018401925116908254161790550192511682549167ffffffffffffffff60a01b905160a01b169163ffffffff60e01b16171790558552528220557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600190565b855163dfa4c0d560e01b8152600490fd5b60405163538ba4f960e01b8152600490fd5b604051630dc182ef60e11b8152600490fd5b9190610f35828285610f98565b50610f41828285611295565b600b0b610f5657610f519261120b565b600190565b60405163b3cd61a560e01b8152600490fd5b6bffffffffffffffffffffffff19606092831b8116825292821b8316601482015292901b166028820152603c0190565b9190610fb29061015e604051938492602084019687610f68565b5190206000526004602052604060002054908115610f1657565b6000908152600360205260409020600201546001600160a01b0316908115610f1657565b6000198114610fff5760010190565b634e487b7160e01b600052601160045260246000fd5b908151811015611026570160200190565b634e487b7160e01b600052603260045260246000fd5b80156110de5780816000925b6110c8575061105682610d3f565b916110646040519384610bc3565b80835281601f1961107483610d3f565b013660208601375b61108557505090565b6000198101908111610fff578091600a9160308383068101809111610fff5760f81b6001600160f81b03191660001a906110bf9086611015565b5304908161107c565b90916110d5600a91610ff0565b92910480611048565b506040516110eb81610ba7565b60018152600360fc1b602082015290565b604051906060820182811067ffffffffffffffff821117610b9157604052602a82526020820160403682378251156110265760309053815160019081101561102657607860218401536029905b80821161119d5750506111595790565b606460405162461bcd60e51b815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f811660108110156111f6576f181899199a1a9b1b9c1cb0b131b232b360811b901a6111cc8486611015565b5360041c9180156111e1576000190190611149565b60246000634e487b7160e01b81526011600452fd5b60246000634e487b7160e01b81526032600452fd5b90611225839161015e604051938492602084019687610f68565b5190209060009082825260046020526040822054928315610f165783835260036020528260026040822082815582600182015501558252600460205281604081205560018060a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b604051631cd43d1160e31b81526001600160a01b0391821660048201529181166024830152918216604482015290608090829060649082907f0000000000000000000000000000000000000000000000000000000000000000165afa90811561133e57600091611303575090565b6080813d8211611336575b8161131b60809383610bc3565b8101031261068057602001519081600b0b820361067d575090565b3d915061130e565b6040513d6000823e3d90fdfea26469706673582212201f0734b88c406b255b6020252879916b9e918af92806385b29b960ffa940505f64736f6c634300081100330000000000000000000000006946c5b38ffea373b0a2340b4aef0de8f6782e58000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000115375706572666c7569642053747265616d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035346530000000000000000000000000000000000000000000000000000000000