UNPKG

bnpl

Version:

The smart contracts for bnpl

390 lines (389 loc) 23 kB
{ "_format": "hh-sol-artifact-1", "contractName": "Conduit", "sourceName": "contracts/conduit/Conduit.sol", "abi": [ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "BadReturnValueFromERC20OnTransfer", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "channel", "type": "address" } ], "name": "ChannelClosed", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "channel", "type": "address" }, { "internalType": "bool", "name": "isOpen", "type": "bool" } ], "name": "ChannelStatusAlreadySet", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256[]", "name": "identifiers", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" } ], "name": "ERC1155BatchTransferGenericFailure", "type": "error" }, { "inputs": [], "name": "Invalid1155BatchTransferEncoding", "type": "error" }, { "inputs": [], "name": "InvalidController", "type": "error" }, { "inputs": [], "name": "InvalidERC721TransferAmount", "type": "error" }, { "inputs": [], "name": "InvalidItemType", "type": "error" }, { "inputs": [], "name": "MissingItemAmount", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "NoContract", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "identifier", "type": "uint256" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "TokenTransferGenericFailure", "type": "error" }, { "inputs": [], "name": "UnusedItemParameters", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "channel", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "open", "type": "bool" } ], "name": "ChannelUpdated", "type": "event" }, { "inputs": [ { "components": [ { "internalType": "enum ConduitItemType", "name": "itemType", "type": "uint8" }, { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "identifier", "type": "uint256" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "internalType": "struct ConduitTransfer[]", "name": "transfers", "type": "tuple[]" } ], "name": "execute", "outputs": [ { "internalType": "bytes4", "name": "magicValue", "type": "bytes4" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256[]", "name": "ids", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" } ], "internalType": "struct ConduitBatch1155Transfer[]", "name": "batchTransfers", "type": "tuple[]" } ], "name": "executeBatch1155", "outputs": [ { "internalType": "bytes4", "name": "magicValue", "type": "bytes4" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "enum ConduitItemType", "name": "itemType", "type": "uint8" }, { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "identifier", "type": "uint256" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "internalType": "struct ConduitTransfer[]", "name": "standardTransfers", "type": "tuple[]" }, { "components": [ { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256[]", "name": "ids", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" } ], "internalType": "struct ConduitBatch1155Transfer[]", "name": "batchTransfers", "type": "tuple[]" } ], "name": "executeWithBatch1155", "outputs": [ { "internalType": "bytes4", "name": "magicValue", "type": "bytes4" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "channel", "type": "address" }, { "internalType": "bool", "name": "isOpen", "type": "bool" } ], "name": "updateChannel", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "bytecode": "0x60a060405234801561001057600080fd5b5033608052608051610db461003060003960006102a40152610db46000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80634ce34aa214610051578063899e104c146100995780638df25d92146100ac578063c4e8fcb5146100bf575b600080fd5b61006461005f366004610b4f565b6100d4565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200160405180910390f35b6100646100a7366004610bd6565b610175565b6100646100ba366004610c42565b610217565b6100d26100cd366004610ca1565b61028c565b005b6000336000526000602052604060002054610117577f93daadf2000000000000000000000000000000000000000000000000000000006000523360045260246000fd5b8160005b8181101561014b5761014385858381811061013857610138610cdd565b905060c0020161040e565b60010161011b565b507f4ce34aa200000000000000000000000000000000000000000000000000000000949350505050565b60003360005260006020526040600020546101b8577f93daadf2000000000000000000000000000000000000000000000000000000006000523360045260246000fd5b8360005b818110156101e1576101d987878381811061013857610138610cdd565b6001016101bc565b506101ec84846105ac565b507f899e104c0000000000000000000000000000000000000000000000000000000095945050505050565b600033600052600060205260406000205461025a577f93daadf2000000000000000000000000000000000000000000000000000000006000523360045260246000fd5b61026483836105ac565b507f8df25d920000000000000000000000000000000000000000000000000000000092915050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146102fb576040517f6d5769be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205481151560ff909116151503610386576040517f924e341e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152811515602482015260440160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166000818152602081815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001685151590811790915591519182527fae63067d43ac07563b7eb8db6595635fc77f1578a2a5ea06ba91b63e2afa37e2910160405180910390a25050565b600161041d6020830183610d3b565b600381111561042e5761042e610d0c565b03610473576104706104466040830160208401610d63565b6104566060840160408501610d63565b6104666080850160608601610d63565b8460a00135610755565b50565b60026104826020830183610d3b565b600381111561049357610493610d0c565b03610513578060a001356001146104d6576040517fefcc00b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6104706104e96040830160208401610d63565b6104f96060840160408501610d63565b6105096080850160608601610d63565b84608001356108c2565b60036105226020830183610d3b565b600381111561053357610533610d0c565b0361057a5761047061054b6040830160208401610d63565b61055b6060840160408501610d63565b61056b6080850160608601610d63565b84608001358560a001356109d1565b6040517f7932f1fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8082807f2eb2c2d60000000000000000000000000000000000000000000000000000000060205260005b8381101561074857823582018035803b610618577f5f15d672000000000000000000000000000000000000000000000000000000006000528060045260246000fd5b60a08201356020810260c0018060808501351460a06060860135141681850135831416159050801561066e577feba2084c0000000000000000000000000000000000000000000000000000000060005260046000fd5b506020860195506080602084016024376040810260400190508060a00160a45260008160c401528060c4018160a0850160c4376000808260206000875af1935083610739573d156106fe576020601f3d010491506020810482600302818411156106e657818403600302610200838002868002030401015b5a6020820110156106fb573d6000803e3d6000fd5b50505b7fafc445e2000000000000000000000000000000000000000000000000000000006000528260045260c0606452608451602001608452806000fd5b505050506001810190506105d6565b5050505060806040525050565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000600052836004528260245281604452602060006064600080895af1803d15601f3d116001600051141617163d151581166108b25780873b1515166108b25780610884578161084a573d1561080b576020601f3d01046020840481600302818311156107f257818303600302610200838002858002030401015b5a602082011015610807573d6000803e3d6000fd5b5050505b7ff486bc870000000000000000000000000000000000000000000000000000000060005286600452856024528460445260006064528360845260a46000fd5b7f98891923000000000000000000000000000000000000000000000000000000006000528660045285602452846044528360645260846000fd5b7f5f15d672000000000000000000000000000000000000000000000000000000006000528660045260246000fd5b5050604052505060006060525050565b833b6108f6577f5f15d672000000000000000000000000000000000000000000000000000000006000528360045260246000fd5b6040517f23b872dd000000000000000000000000000000000000000000000000000000006000528360045282602452816044526000806064600080895af1806109c2573d15610983576020601f3d010460208304816003028183111561096a57818303600302610200838002858002030401015b5a60208201101561097f573d6000803e3d6000fd5b5050505b7ff486bc870000000000000000000000000000000000000000000000000000000060005285600452846024528360445282606452600160845260a46000fd5b50604052505060006060525050565b843b610a05577f5f15d672000000000000000000000000000000000000000000000000000000006000528460045260246000fd5b60405160805160a05160c0517ff242432a000000000000000000000000000000000000000000000000000000006000528760045286602452856044528460645260a0608452600060a45260008060c46000808d5af180610ae7573d15610aa9576020601f3d0104602086048160030281831115610a9057818303600302610200838002858002030401015b5a602082011015610aa5573d6000803e3d6000fd5b5050505b7ff486bc8700000000000000000000000000000000000000000000000000000000600052896004528860245287604452866064528560845260a46000fd5b5060809290925260a05260c05260405250506000606052505050565b60008083601f840112610b1557600080fd5b50813567ffffffffffffffff811115610b2d57600080fd5b60208301915083602060c083028501011115610b4857600080fd5b9250929050565b60008060208385031215610b6257600080fd5b823567ffffffffffffffff811115610b7957600080fd5b610b8585828601610b03565b90969095509350505050565b60008083601f840112610ba357600080fd5b50813567ffffffffffffffff811115610bbb57600080fd5b6020830191508360208260051b8501011115610b4857600080fd5b60008060008060408587031215610bec57600080fd5b843567ffffffffffffffff80821115610c0457600080fd5b610c1088838901610b03565b90965094506020870135915080821115610c2957600080fd5b50610c3687828801610b91565b95989497509550505050565b60008060208385031215610c5557600080fd5b823567ffffffffffffffff811115610c6c57600080fd5b610b8585828601610b91565b803573ffffffffffffffffffffffffffffffffffffffff81168114610c9c57600080fd5b919050565b60008060408385031215610cb457600080fd5b610cbd83610c78565b915060208301358015158114610cd257600080fd5b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600060208284031215610d4d57600080fd5b813560048110610d5c57600080fd5b9392505050565b600060208284031215610d7557600080fd5b610d5c82610c7856fea26469706673582212209cadd638170dc51bd1bcdf7a749c70a4b43d82a57f073a9e1a087a48e2f0ad0164736f6c634300080e0033", "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80634ce34aa214610051578063899e104c146100995780638df25d92146100ac578063c4e8fcb5146100bf575b600080fd5b61006461005f366004610b4f565b6100d4565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200160405180910390f35b6100646100a7366004610bd6565b610175565b6100646100ba366004610c42565b610217565b6100d26100cd366004610ca1565b61028c565b005b6000336000526000602052604060002054610117577f93daadf2000000000000000000000000000000000000000000000000000000006000523360045260246000fd5b8160005b8181101561014b5761014385858381811061013857610138610cdd565b905060c0020161040e565b60010161011b565b507f4ce34aa200000000000000000000000000000000000000000000000000000000949350505050565b60003360005260006020526040600020546101b8577f93daadf2000000000000000000000000000000000000000000000000000000006000523360045260246000fd5b8360005b818110156101e1576101d987878381811061013857610138610cdd565b6001016101bc565b506101ec84846105ac565b507f899e104c0000000000000000000000000000000000000000000000000000000095945050505050565b600033600052600060205260406000205461025a577f93daadf2000000000000000000000000000000000000000000000000000000006000523360045260246000fd5b61026483836105ac565b507f8df25d920000000000000000000000000000000000000000000000000000000092915050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146102fb576040517f6d5769be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205481151560ff909116151503610386576040517f924e341e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152811515602482015260440160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166000818152602081815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001685151590811790915591519182527fae63067d43ac07563b7eb8db6595635fc77f1578a2a5ea06ba91b63e2afa37e2910160405180910390a25050565b600161041d6020830183610d3b565b600381111561042e5761042e610d0c565b03610473576104706104466040830160208401610d63565b6104566060840160408501610d63565b6104666080850160608601610d63565b8460a00135610755565b50565b60026104826020830183610d3b565b600381111561049357610493610d0c565b03610513578060a001356001146104d6576040517fefcc00b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6104706104e96040830160208401610d63565b6104f96060840160408501610d63565b6105096080850160608601610d63565b84608001356108c2565b60036105226020830183610d3b565b600381111561053357610533610d0c565b0361057a5761047061054b6040830160208401610d63565b61055b6060840160408501610d63565b61056b6080850160608601610d63565b84608001358560a001356109d1565b6040517f7932f1fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8082807f2eb2c2d60000000000000000000000000000000000000000000000000000000060205260005b8381101561074857823582018035803b610618577f5f15d672000000000000000000000000000000000000000000000000000000006000528060045260246000fd5b60a08201356020810260c0018060808501351460a06060860135141681850135831416159050801561066e577feba2084c0000000000000000000000000000000000000000000000000000000060005260046000fd5b506020860195506080602084016024376040810260400190508060a00160a45260008160c401528060c4018160a0850160c4376000808260206000875af1935083610739573d156106fe576020601f3d010491506020810482600302818411156106e657818403600302610200838002868002030401015b5a6020820110156106fb573d6000803e3d6000fd5b50505b7fafc445e2000000000000000000000000000000000000000000000000000000006000528260045260c0606452608451602001608452806000fd5b505050506001810190506105d6565b5050505060806040525050565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000600052836004528260245281604452602060006064600080895af1803d15601f3d116001600051141617163d151581166108b25780873b1515166108b25780610884578161084a573d1561080b576020601f3d01046020840481600302818311156107f257818303600302610200838002858002030401015b5a602082011015610807573d6000803e3d6000fd5b5050505b7ff486bc870000000000000000000000000000000000000000000000000000000060005286600452856024528460445260006064528360845260a46000fd5b7f98891923000000000000000000000000000000000000000000000000000000006000528660045285602452846044528360645260846000fd5b7f5f15d672000000000000000000000000000000000000000000000000000000006000528660045260246000fd5b5050604052505060006060525050565b833b6108f6577f5f15d672000000000000000000000000000000000000000000000000000000006000528360045260246000fd5b6040517f23b872dd000000000000000000000000000000000000000000000000000000006000528360045282602452816044526000806064600080895af1806109c2573d15610983576020601f3d010460208304816003028183111561096a57818303600302610200838002858002030401015b5a60208201101561097f573d6000803e3d6000fd5b5050505b7ff486bc870000000000000000000000000000000000000000000000000000000060005285600452846024528360445282606452600160845260a46000fd5b50604052505060006060525050565b843b610a05577f5f15d672000000000000000000000000000000000000000000000000000000006000528460045260246000fd5b60405160805160a05160c0517ff242432a000000000000000000000000000000000000000000000000000000006000528760045286602452856044528460645260a0608452600060a45260008060c46000808d5af180610ae7573d15610aa9576020601f3d0104602086048160030281831115610a9057818303600302610200838002858002030401015b5a602082011015610aa5573d6000803e3d6000fd5b5050505b7ff486bc8700000000000000000000000000000000000000000000000000000000600052896004528860245287604452866064528560845260a46000fd5b5060809290925260a05260c05260405250506000606052505050565b60008083601f840112610b1557600080fd5b50813567ffffffffffffffff811115610b2d57600080fd5b60208301915083602060c083028501011115610b4857600080fd5b9250929050565b60008060208385031215610b6257600080fd5b823567ffffffffffffffff811115610b7957600080fd5b610b8585828601610b03565b90969095509350505050565b60008083601f840112610ba357600080fd5b50813567ffffffffffffffff811115610bbb57600080fd5b6020830191508360208260051b8501011115610b4857600080fd5b60008060008060408587031215610bec57600080fd5b843567ffffffffffffffff80821115610c0457600080fd5b610c1088838901610b03565b90965094506020870135915080821115610c2957600080fd5b50610c3687828801610b91565b95989497509550505050565b60008060208385031215610c5557600080fd5b823567ffffffffffffffff811115610c6c57600080fd5b610b8585828601610b91565b803573ffffffffffffffffffffffffffffffffffffffff81168114610c9c57600080fd5b919050565b60008060408385031215610cb457600080fd5b610cbd83610c78565b915060208301358015158114610cd257600080fd5b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600060208284031215610d4d57600080fd5b813560048110610d5c57600080fd5b9392505050565b600060208284031215610d7557600080fd5b610d5c82610c7856fea26469706673582212209cadd638170dc51bd1bcdf7a749c70a4b43d82a57f073a9e1a087a48e2f0ad0164736f6c634300080e0033", "linkReferences": {}, "deployedLinkReferences": {} }