UNPKG

@0xcert/ethereum-gateway-contracts

Version:

Smart contracts used by the gateway on the Ethereum blockchain.

1,321 lines (1,320 loc) 63.5 kB
{ "TokenDeployGateway": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_tokenDeployProxy", "type": "address" }, { "internalType": "address", "name": "_tokenTransferProxy", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "_maker", "type": "address" }, { "indexed": true, "internalType": "address", "name": "_taker", "type": "address" }, { "indexed": false, "internalType": "bytes32", "name": "_claim", "type": "bytes32" } ], "name": "Cancel", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "_maker", "type": "address" }, { "indexed": true, "internalType": "address", "name": "_taker", "type": "address" }, { "indexed": false, "internalType": "address", "name": "_createdContract", "type": "address" }, { "indexed": false, "internalType": "bytes32", "name": "_claim", "type": "bytes32" } ], "name": "Perform", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "_proxy", "type": "address" } ], "name": "ProxyChange", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "_target", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "_abilities", "type": "uint256" } ], "name": "SetAbilities", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "addressToAbility", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "address", "name": "maker", "type": "address" }, { "internalType": "address", "name": "taker", "type": "address" }, { "components": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "symbol", "type": "string" }, { "internalType": "uint256", "name": "supply", "type": "uint256" }, { "internalType": "uint8", "name": "decimals", "type": "uint8" }, { "internalType": "address", "name": "owner", "type": "address" } ], "internalType": "struct TokenDeployGateway.TokenData", "name": "tokenData", "type": "tuple" }, { "components": [ { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "internalType": "struct TokenDeployGateway.TransferData", "name": "transferData", "type": "tuple" }, { "internalType": "uint256", "name": "seed", "type": "uint256" }, { "internalType": "uint256", "name": "expiration", "type": "uint256" } ], "internalType": "struct TokenDeployGateway.DeployData", "name": "_data", "type": "tuple" } ], "name": "cancel", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "name": "deployCancelled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "name": "deployPerformed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "address", "name": "maker", "type": "address" }, { "internalType": "address", "name": "taker", "type": "address" }, { "components": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "symbol", "type": "string" }, { "internalType": "uint256", "name": "supply", "type": "uint256" }, { "internalType": "uint8", "name": "decimals", "type": "uint8" }, { "internalType": "address", "name": "owner", "type": "address" } ], "internalType": "struct TokenDeployGateway.TokenData", "name": "tokenData", "type": "tuple" }, { "components": [ { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "internalType": "struct TokenDeployGateway.TransferData", "name": "transferData", "type": "tuple" }, { "internalType": "uint256", "name": "seed", "type": "uint256" }, { "internalType": "uint256", "name": "expiration", "type": "uint256" } ], "internalType": "struct TokenDeployGateway.DeployData", "name": "_deployData", "type": "tuple" } ], "name": "getDeployDataClaim", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_target", "type": "address" }, { "internalType": "uint256", "name": "_abilities", "type": "uint256" } ], "name": "grantAbilities", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_target", "type": "address" }, { "internalType": "uint256", "name": "_abilities", "type": "uint256" } ], "name": "isAble", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_signer", "type": "address" }, { "internalType": "bytes32", "name": "_claim", "type": "bytes32" }, { "components": [ { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "enum TokenDeployGateway.SignatureKind", "name": "kind", "type": "uint8" } ], "internalType": "struct TokenDeployGateway.SignatureData", "name": "_signature", "type": "tuple" } ], "name": "isValidSignature", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "address", "name": "maker", "type": "address" }, { "internalType": "address", "name": "taker", "type": "address" }, { "components": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "symbol", "type": "string" }, { "internalType": "uint256", "name": "supply", "type": "uint256" }, { "internalType": "uint8", "name": "decimals", "type": "uint8" }, { "internalType": "address", "name": "owner", "type": "address" } ], "internalType": "struct TokenDeployGateway.TokenData", "name": "tokenData", "type": "tuple" }, { "components": [ { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "internalType": "struct TokenDeployGateway.TransferData", "name": "transferData", "type": "tuple" }, { "internalType": "uint256", "name": "seed", "type": "uint256" }, { "internalType": "uint256", "name": "expiration", "type": "uint256" } ], "internalType": "struct TokenDeployGateway.DeployData", "name": "_data", "type": "tuple" }, { "components": [ { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "enum TokenDeployGateway.SignatureKind", "name": "kind", "type": "uint8" } ], "internalType": "struct TokenDeployGateway.SignatureData", "name": "_signature", "type": "tuple" } ], "name": "perform", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "address", "name": "maker", "type": "address" }, { "internalType": "address", "name": "taker", "type": "address" }, { "components": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "symbol", "type": "string" }, { "internalType": "uint256", "name": "supply", "type": "uint256" }, { "internalType": "uint8", "name": "decimals", "type": "uint8" }, { "internalType": "address", "name": "owner", "type": "address" } ], "internalType": "struct TokenDeployGateway.TokenData", "name": "tokenData", "type": "tuple" }, { "components": [ { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "internalType": "struct TokenDeployGateway.TransferData", "name": "transferData", "type": "tuple" }, { "internalType": "uint256", "name": "seed", "type": "uint256" }, { "internalType": "uint256", "name": "expiration", "type": "uint256" } ], "internalType": "struct TokenDeployGateway.DeployData", "name": "_data", "type": "tuple" }, { "components": [ { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "enum TokenDeployGateway.SignatureKind", "name": "kind", "type": "uint8" } ], "internalType": "struct TokenDeployGateway.SignatureData", "name": "_signature", "type": "tuple" } ], "name": "performAnyTaker", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_target", "type": "address" }, { "internalType": "uint256", "name": "_abilities", "type": "uint256" } ], "name": "revokeAbilities", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_target", "type": "address" }, { "internalType": "uint256", "name": "_abilities", "type": "uint256" } ], "name": "setAbilities", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_tokenDeployProxy", "type": "address" } ], "name": "setDeployProxy", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "tokenDeployProxy", "outputs": [ { "internalType": "contract TokenDeployProxy", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokenTransferProxy", "outputs": [ { "internalType": "contract Proxy", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" } ], "evm": { "bytecode": { "object": "608060405234801561001057600080fd5b50604051620016ab380380620016ab83398101604081905261003191610091565b336000908152602081905260409020600f9055600180546001600160a01b039384166001600160a01b031991821617909155600280549290931691161790556100c3565b80516001600160a01b038116811461008c57600080fd5b919050565b600080604083850312156100a3578182fd5b6100ac83610075565b91506100ba60208401610075565b90509250929050565b6115d880620000d36000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80634e4631e711610097578063ba00a33011610066578063ba00a330146101e7578063c11e8b7a146101fa578063c9f600f71461020d578063f394b6df14610220576100f5565b80634e4631e71461019957806352af3ebd146101ac57806382901b7b146101cc5780638fa76d8d146101d4576100f5565b806315f0a1a6116100d357806315f0a1a61461014057806338d7d25c1461015357806341f343cd1461016657806345a32c8614610179576100f5565b80630ab319e8146100fa5780630eefdbad1461010f57806315ec3b8b1461012d575b600080fd5b61010d610108366004611230565b610233565b005b610117610301565b6040516101249190611459565b60405180910390f35b61010d61013b366004611230565b610310565b61010d61014e3660046112ae565b6103c5565b61010d6101613660046112ae565b6105df565b61010d6101743660046111ba565b610790565b61018c6101873660046111ba565b610854565b60405161012491906114bb565b61010d6101a7366004611273565b610866565b6101bf6101ba36600461125b565b61097d565b60405161012491906114b0565b610117610992565b6101bf6101e23660046111f2565b6109a1565b6101bf6101f5366004611230565b610b3f565b61018c610208366004611273565b610ba4565b6101bf61021b36600461125b565b610c76565b61010d61022e366004611230565b610c8b565b60408051808201909152600681526518189b98181960d11b6020820152600190610261565b60405180910390fd5b503360009081526020818152604091829020548251808401909352600683526530313730303160d01b91830191909152821682146102b25760405162461bcd60e51b815260040161025891906114e2565b506001600160a01b038316600081815260208190526040808220805486179081905590519092917fd1d59d2d212a435434e7a4a4676427610dfe2b6268b01e541d280d65bf3d6b9091a3505050565b6002546001600160a01b031681565b60408051808201825260068082526518189b98181960d11b6020928301523360009081528083528390205483518085019094529083526530313730303160d01b91830191909152600191908216821461037c5760405162461bcd60e51b815260040161025891906114e2565b506001600160a01b038316600081815260208190526040808220859055518492917fd1d59d2d212a435434e7a4a4676427610dfe2b6268b01e541d280d65bf3d6b9091a3505050565b336001600160a01b031682602001516001600160a01b0316146040518060400160405280600681526020016518189898181960d11b8152509061041b5760405162461bcd60e51b815260040161025891906114e2565b50428260a0015110156040518060400160405280600681526020016530313130303360d01b815250906104615760405162461bcd60e51b815260040161025891906114e2565b50600061046d83610ba4565b905061047e836000015182846109a1565b604051806040016040528060068152602001650c0c4c4c0c0d60d21b815250906104bb5760405162461bcd60e51b815260040161025891906114e2565b50600081815260036020908152604091829020548251808401909352600683526530313130303560d01b9183019190915260ff161561050d5760405162461bcd60e51b815260040161025891906114e2565b50600081815260046020908152604091829020548251808401909352600683526518189898181b60d11b9183019190915260ff161561055f5760405162461bcd60e51b815260040161025891906114e2565b506000818152600460205260408120805460ff1916600117905561058284610d47565b905083602001516001600160a01b031684600001516001600160a01b03167f492318801c2cec532d47019a0b69f83b8d5b499a022b7adb6100a766050644f283856040516105d1929190611497565b60405180910390a350505050565b428260a0015110156040518060400160405280600681526020016530313130303360d01b815250906106245760405162461bcd60e51b815260040161025891906114e2565b50600061063083610ba4565b9050610641836000015182846109a1565b604051806040016040528060068152602001650c0c4c4c0c0d60d21b8152509061067e5760405162461bcd60e51b815260040161025891906114e2565b50600081815260036020908152604091829020548251808401909352600683526530313130303560d01b9183019190915260ff16156106d05760405162461bcd60e51b815260040161025891906114e2565b50600081815260046020908152604091829020548251808401909352600683526518189898181b60d11b9183019190915260ff16156107225760405162461bcd60e51b815260040161025891906114e2565b506000818152600460205260408120805460ff1916600117905561074584610e6c565b9050336001600160a01b031684600001516001600160a01b03167f492318801c2cec532d47019a0b69f83b8d5b499a022b7adb6100a766050644f283856040516105d1929190611497565b60408051808201825260068082526518189b98181960d11b6020928301523360009081528083528390205483518085019094529083526530313730303160d01b9183019190915260109190821682146107fc5760405162461bcd60e51b815260040161025891906114e2565b50600180546001600160a01b0319166001600160a01b0384161790556040517f427ee0ec515416f6ef107d53338080aa8cdf1763bb545dfd1585d1d5a6f6872f90610848908490611459565b60405180910390a15050565b60006020819052908152604090205481565b805160408051808201909152600681526530313130303760d01b6020820152906001600160a01b031633146108ae5760405162461bcd60e51b815260040161025891906114e2565b5060006108ba82610ba4565b600081815260046020908152604091829020548251808401909352600683526518189898181b60d11b918301919091529192509060ff161561090f5760405162461bcd60e51b815260040161025891906114e2565b50600081815260036020908152604091829020805460ff19166001179055830151835191516001600160a01b0391821692909116907f421b43caf093b5e58d1ea89ca0d80151eda923342cf3cfddf5eb6b30d4947ba0906109719085906114bb565b60405180910390a35050565b60036020526000908152604090205460ff1681565b6001546001600160a01b031681565b600080826060015160028111156109c857634e487b7160e01b600052602160045260246000fd5b1415610a6a576001836040516020016109e191906113f7565b6040516020818303038152906040528051906020012083604001518460000151856020015160405160008152602001604052604051610a2394939291906114c4565b6020604051602081039080840390855afa158015610a45573d6000803e3d6000fd5b505050602060405103516001600160a01b0316846001600160a01b0316149050610b38565b600182606001516002811115610a9057634e487b7160e01b600052602160045260246000fd5b1415610aa9576001836040516020016109e19190611428565b600282606001516002811115610acf57634e487b7160e01b600052602160045260246000fd5b1415610b045760018383604001518460000151856020015160405160008152602001604052604051610a2394939291906114c4565b604080518082018252600681526530313130303160d01b6020820152905162461bcd60e51b815261025891906004016114e2565b9392505050565b60008082116040518060400160405280600681526020016518189b98181960d11b81525090610b815760405162461bcd60e51b815260040161025891906114e2565b50506001600160a01b039190911660009081526020819052604090205481161490565b604080820151805160208083015183850151606085015160809095015195516000968796610bd5969590920161139b565b60408051601f19818403018152828252805160209182012060608701518051818401519190940151919550600094610c11949391929101611372565b6040516020818303038152906040528051906020012090503084600001518560200151848488608001518960a00151604051602001610c569796959493929190611327565b60405160208183030381529060405280519060200120925050505b919050565b60046020526000908152604090205460ff1681565b60408051808201825260068082526518189b98181960d11b6020928301523360009081528083528390205483518085019094529083526530313730303160d01b918301919091526001919082168214610cf75760405162461bcd60e51b815260040161025891906114e2565b506001600160a01b03831660008181526020819052604080822080548619169081905590519092917fd1d59d2d212a435434e7a4a4676427610dfe2b6268b01e541d280d65bf3d6b9091a3505050565b600254606082015180518351602083015160409384015193516311cd770360e11b81526000956001600160a01b03169463239aee0694610d90949093909290919060040161146d565b600060405180830381600087803b158015610daa57600080fd5b505af1158015610dbe573d6000803e3d6000fd5b50506001546040808601518051602082015182840151606084015160809094015194516302b0cec960e11b81526001600160a01b0390961697506305619d929650610e14959294919390929091906004016114f5565b602060405180830381600087803b158015610e2e57600080fd5b505af1158015610e42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e6691906111d6565b92915050565b6060810151602001516000906001600160a01b0316610e92576060820151336020909101525b600254606083015180518451602083015160409384015193516311cd770360e11b81526001600160a01b039095169463239aee0694610d909493929160040161146d565b8035610c718161158a565b600082601f830112610ef1578081fd5b813567ffffffffffffffff80821115610f0c57610f0c611574565b604051601f8301601f191681016020018281118282101715610f3057610f30611574565b604052828152848301602001861015610f47578384fd5b82602086016020830137918201602001929092529392505050565b60006101008284031215610f74578081fd5b60405160c0810167ffffffffffffffff8282108183111715610f9857610f98611574565b81604052829350610fa885610ed6565b8352610fb660208601610ed6565b60208401526040850135915080821115610fcf57600080fd5b50610fdc85828601611089565b604083015250610fef846060850161113e565b606082015260c0830135608082015260e083013560a08201525092915050565b600060808284031215611020578081fd5b6040516080810181811067ffffffffffffffff8211171561104357611043611574565b80604052508091508235815260208301356020820152611065604084016111a9565b604082015260608301356003811061107c57600080fd5b6060919091015292915050565b600060a0828403121561109a578081fd5b60405160a0810167ffffffffffffffff82821081831117156110be576110be611574565b8160405282935084359150808211156110d657600080fd5b6110e286838701610ee1565b835260208501359150808211156110f857600080fd5b5061110585828601610ee1565b60208301525060408301356040820152611121606084016111a9565b606082015261113260808401610ed6565b60808201525092915050565b60006060828403121561114f578081fd5b6040516060810181811067ffffffffffffffff8211171561117257611172611574565b60405290508082356111838161158a565b815260208301356111938161158a565b6020820152604092830135920191909152919050565b803560ff81168114610c7157600080fd5b6000602082840312156111cb578081fd5b8135610b388161158a565b6000602082840312156111e7578081fd5b8151610b388161158a565b600080600060c08486031215611206578182fd5b83356112118161158a565b925060208401359150611227856040860161100f565b90509250925092565b60008060408385031215611242578182fd5b823561124d8161158a565b946020939093013593505050565b60006020828403121561126c578081fd5b5035919050565b600060208284031215611284578081fd5b813567ffffffffffffffff81111561129a578182fd5b6112a684828501610f62565b949350505050565b60008060a083850312156112c0578182fd5b823567ffffffffffffffff8111156112d6578283fd5b6112e285828601610f62565b9250506112f2846020850161100f565b90509250929050565b60008151808452611313816020860160208601611544565b601f01601f19169290920160200192915050565b6001600160601b0319606098891b8116825296881b871660148201529490961b9094166028840152603c830191909152605c820152607c810191909152609c81019190915260bc0190565b6001600160601b0319606094851b811682529290931b9091166014830152602882015260480190565b600086516113ad818460208b01611544565b8651908301906113c1818360208b01611544565b01948552505060f89190911b6001600160f81b031916602083015260601b6001600160601b031916602182015260350192915050565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c810191909152603c0190565b7f19457468657265756d205369676e6564204d6573736167653a0a2000000000008152601b810191909152603b0190565b6001600160a01b0391909116815260200190565b6001600160a01b039485168152928416602084015292166040820152606081019190915260800190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b90815260200190565b93845260ff9290921660208401526040830152606082015260800190565b600060208252610b3860208301846112fb565b600060a0825261150860a08301886112fb565b828103602084015261151a81886112fb565b6040840196909652505060ff9290921660608301526001600160a01b031660809091015292915050565b60005b8381101561155f578181015183820152602001611547565b8381111561156e576000848401525b50505050565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461159f57600080fd5b5056fea26469706673582212209794b096837006770e074cab14d5f09a06e9a45a553e900e226d6165a8a2716764736f6c63430008000033" }, "methodIdentifiers": { "addressToAbility(address)": "45a32c86", "cancel((address,address,(string,string,uint256,uint8,address),(address,address,uint256),uint256,uint256))": "4e4631e7", "deployCancelled(bytes32)": "52af3ebd", "deployPerformed(bytes32)": "c9f600f7", "getDeployDataClaim((address,address,(string,string,uint256,uint8,address),(address,address,uint256),uint256,uint256))": "c11e8b7a", "grantAbilities(address,uint256)": "0ab319e8", "isAble(address,uint256)": "ba00a330", "isValidSignature(address,bytes32,(bytes32,bytes32,uint8,uint8))": "8fa76d8d", "perform((address,address,(string,string,uint256,uint8,address),(address,address,uint256),uint256,uint256),(bytes32,bytes32,uint8,uint8))": "15f0a1a6", "performAnyTaker((address,address,(string,string,uint256,uint8,address),(address,address,uint256),uint256,uint256),(bytes32,bytes32,uint8,uint8))": "38d7d25c", "revokeAbilities(address,uint256)": "f394b6df", "setAbilities(address,uint256)": "15ec3b8b", "setDeployProxy(address)": "41f343cd", "tokenDeployProxy()": "82901b7b", "tokenTransferProxy()": "0eefdbad" } }, "metadata": { "compiler": { "version": "0.8.0+commit.c7dfd78e" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_tokenDeployProxy", "type": "address" }, { "internalType": "address", "name": "_tokenTransferProxy", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "_maker", "type": "address" }, { "indexed": true, "internalType": "address", "name": "_taker", "type": "address" }, { "indexed": false, "internalType": "bytes32", "name": "_claim", "type": "bytes32" } ], "name": "Cancel", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "_maker", "type": "address" }, { "indexed": true, "internalType": "address", "name": "_taker", "type": "address" }, { "indexed": false, "internalType": "address", "name": "_createdContract", "type": "address" }, { "indexed": false, "internalType": "bytes32", "name": "_claim", "type": "bytes32" } ], "name": "Perform", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "_proxy", "type": "address" } ], "name": "ProxyChange", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "_target", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "_abilities", "type": "uint256" } ], "name": "SetAbilities", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "addressToAbility", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "address", "name": "maker", "type": "address" }, { "internalType": "address", "name": "taker", "type": "address" }, { "components": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "symbol", "type": "string" }, { "internalType": "uint256", "name": "supply", "type": "uint256" }, { "internalType": "uint8", "name": "decimals", "type": "uint8" }, { "internalType": "address", "name": "owner", "type": "address" } ], "internalType": "struct TokenDeployGateway.TokenData", "name": "tokenData", "type": "tuple" }, { "components": [ { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "internalType": "struct TokenDeployGateway.TransferData", "name": "transferData", "type": "tuple" }, { "internalType": "uint256", "name": "seed", "type": "uint256" }, { "internalType": "uint256", "name": "expiration", "type": "uint256" } ], "internalType": "struct TokenDeployGateway.DeployData", "name": "_data", "type": "tuple" } ], "name": "cancel", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "name": "deployCancelled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "name": "deployPerformed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "address", "name": "maker", "type": "address" }, { "internalType": "address", "name": "taker", "type": "address" }, { "components": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "symbol", "type": "string" }, { "internalType": "uint256", "name": "supply", "type": "uint256" }, { "internalType": "uint8", "name": "decimals", "type": "uint8" }, { "internalType": "address", "name": "owner", "type": "address" } ], "internalType": "struct TokenDeployGateway.TokenData", "name": "tokenData", "type": "tuple" }, { "components": [ { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "internalType": "struct TokenDeployGateway.TransferData", "name": "transferData", "type": "tuple" }, { "internalType": "uint256", "name": "seed", "type": "uint256" }, { "internalType": "uint256", "name": "expiration", "type": "uint256" } ], "internalType": "struct TokenDeployGateway.DeployData", "name": "_deployData", "type": "tuple" } ], "name": "getDeployDataClaim", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_target", "type": "address" }, { "internalType": "uint256", "name": "_abilities", "type": "uint256" } ], "name": "grantAbilities", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_target", "type": "address" }, { "internalType": "uint256", "name": "_abilities", "type": "uint256" } ], "name": "isAble", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_signer", "type": "address" }, { "internalType": "bytes32", "name": "_claim", "type": "bytes32" }, { "components": [ { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "enum TokenDeployGateway.SignatureKind", "name": "kind", "type": "uint8" } ], "internalType": "struct TokenDeployGateway.SignatureData", "name": "_signature", "type": "tuple" } ], "name": "isValidSignature", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "address", "name": "maker", "type": "address" }, { "internalType": "address", "name": "taker", "type": "address" }, { "components": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "symbol", "type": "string" }, { "internalType": "uint256", "name": "supply", "type": "uint256" }, { "internalType": "uint8", "name": "decimals", "type": "uint8" }, { "internalType": "address", "name": "owner", "type": "address" } ], "internalType": "struct TokenDeployGateway.TokenData", "name": "tokenData", "type": "tuple" }, { "components": [ { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "internalType": "struct TokenDeployGateway.TransferData", "name": "transferData", "type": "tuple" }, { "internalType": "uint256", "name": "seed", "type": "uint256" }, { "internalType": "uint256", "name": "expiration", "type": "uint256" } ], "internalType": "struct TokenDeployGateway.DeployData", "name": "_data", "type": "tuple" }, { "components": [ { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "enum TokenDeployGateway.SignatureKind", "name": "kind", "type": "uint8"