Skip to content
This repository has been archived by the owner on May 9, 2024. It is now read-only.

Add ERC1155 support #289

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions chains/evm/calls/consts/erc1155Hand.er.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
package consts

const ERC1155HandlerABI = "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"bridgeAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"_bridgeAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"constant\":true},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"_burnList\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"constant\":true},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"_contractWhitelist\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"constant\":true},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"_resourceIDToTokenContractAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"constant\":true},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"_tokenContractAddressToResourceID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"constant\":true},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"}],\"name\":\"setBurnable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"resourceID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"}],\"name\":\"setResource\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"constant\":true},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"resourceID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"depositer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"metaData\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"resourceID\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"executeProposal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]"
const ERC1155HandlerBin = "0x60a060405234801561001057600080fd5b5060405161110938038061110983398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b6080516110776100926000396000818161016a01526105cb01526110776000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80637f79bea81161008c578063bc197c8111610066578063bc197c8114610205578063c8ba6c871461023d578063e248cff21461026b578063f23a6e611461027e57600080fd5b80637f79bea8146101af578063b07e54bb146101d2578063b8fa3736146101f257600080fd5b806301ffc9a7146100d457806307b7ed99146100fc5780630968f264146101115780630a6d55d814610124578063318c136e146101655780636a70d0811461018c575b600080fd5b6100e76100e23660046108cf565b61029d565b60405190151581526020015b60405180910390f35b61010f61010a366004610915565b6102d4565b005b61010f61011f3660046109f7565b6102e8565b61014d610132366004610a34565b6000602081905290815260409020546001600160a01b031681565b6040516001600160a01b0390911681526020016100f3565b61014d7f000000000000000000000000000000000000000000000000000000000000000081565b6100e761019a366004610915565b60036020526000908152604090205460ff1681565b6100e76101bd366004610915565b60026020526000908152604090205460ff1681565b6101e56101e0366004610a96565b61032e565b6040516100f39190610b4e565b61010f610200366004610b61565b61041b565b610224610213366004610c1b565b63bc197c8160e01b95945050505050565b6040516001600160e01b031990911681526020016100f3565b61025d61024b366004610915565b60016020526000908152604090205481565b6040519081526020016100f3565b61010f610279366004610cc9565b610470565b61022461028c366004610d15565b63f23a6e6160e01b95945050505050565b60006001600160e01b03198216630271189760e51b14806102ce57506301ffc9a760e01b6001600160e01b03198316145b92915050565b6102dc6105c0565b6102e58161063a565b50565b6102f06105c0565b60008060608060608580602001905181019061030c9190610dd9565b9398509196509450925090506103268530868686866106d2565b505050505050565b60606103386105c0565b60008061034784860186610ec5565b60008981526020819052604090205491935091506001600160a01b0316806103c15760405162461bcd60e51b815260206004820152602260248201527f70726f7669646564207265736f75726365494420646f6573206e6f74206578696044820152611cdd60f21b60648201526084015b60405180910390fd5b6001600160a01b03811660009081526003602052604090205460ff16156103f3576103ee81888585610743565b610410565b6104108188308686604051806020016040528060008152506107ac565b505050949350505050565b6104236105c0565b60008281526020818152604080832080546001600160a01b0319166001600160a01b039590951694851790559282526001808252838320949094556002905220805460ff19169091179055565b6104786105c0565b60008080606061048a85870187610ee7565b919550935091508560608661049f8583610f13565b926104ac93929190610f39565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052508b81526020818152604080832054828801516001600160a01b039091168085526002909352922054959650909490935060ff16915061057090505760405162461bcd60e51b815260206004820152602860248201527f70726f766964656420746f6b656e41646472657373206973206e6f74207768696044820152671d195b1a5cdd195960c21b60648201526084016103b8565b6001600160a01b03811660009081526003602052604090205460ff16156105a5576105a0818360601c88886107e2565b6105b5565b6105b581308460601c898961083a565b505050505050505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106385760405162461bcd60e51b815260206004820152601e60248201527f73656e646572206d7573742062652062726964676520636f6e7472616374000060448201526064016103b8565b565b6001600160a01b03811660009081526002602052604090205460ff166106ae5760405162461bcd60e51b8152602060048201526024808201527f70726f766964656420636f6e7472616374206973206e6f742077686974656c696044820152631cdd195960e21b60648201526084016103b8565b6001600160a01b03166000908152600360205260409020805460ff19166001179055565b604051631759616b60e11b815286906001600160a01b03821690632eb2c2d6906107089089908990899089908990600401610f9e565b600060405180830381600087803b15801561072257600080fd5b505af1158015610736573d6000803e3d6000fd5b5050505050505050505050565b604051637a94c56560e11b81526001600160a01b038481166004830152602482018490526044820183905285919082169063f5298aca906064015b600060405180830381600087803b15801561079857600080fd5b505af11580156105b5573d6000803e3d6000fd5b604051637921219560e11b815286906001600160a01b0382169063f242432a906107089089908990899089908990600401610ffc565b60405163731133e960e01b81526001600160a01b0384811660048301526024820184905260448201839052608060648301526002608483015261060f60f31b60a483015285919082169063731133e99060c40161077e565b604051637921219560e11b81526001600160a01b0385811660048301528481166024830152604482018490526064820183905260a06084830152600260a483015261060f60f31b60c483015286919082169063f242432a9060e401600060405180830381600087803b1580156108af57600080fd5b505af11580156108c3573d6000803e3d6000fd5b50505050505050505050565b6000602082840312156108e157600080fd5b81356001600160e01b0319811681146108f957600080fd5b9392505050565b6001600160a01b03811681146102e557600080fd5b60006020828403121561092757600080fd5b81356108f981610900565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561097157610971610932565b604052919050565b600067ffffffffffffffff82111561099357610993610932565b50601f01601f191660200190565b600082601f8301126109b257600080fd5b81356109c56109c082610979565b610948565b8181528460208386010111156109da57600080fd5b816020850160208301376000918101602001919091529392505050565b600060208284031215610a0957600080fd5b813567ffffffffffffffff811115610a2057600080fd5b610a2c848285016109a1565b949350505050565b600060208284031215610a4657600080fd5b5035919050565b60008083601f840112610a5f57600080fd5b50813567ffffffffffffffff811115610a7757600080fd5b602083019150836020828501011115610a8f57600080fd5b9250929050565b60008060008060608587031215610aac57600080fd5b843593506020850135610abe81610900565b9250604085013567ffffffffffffffff811115610ada57600080fd5b610ae687828801610a4d565b95989497509550505050565b60005b83811015610b0d578181015183820152602001610af5565b83811115610b1c576000848401525b50505050565b60008151808452610b3a816020860160208601610af2565b601f01601f19169290920160200192915050565b6020815260006108f96020830184610b22565b60008060408385031215610b7457600080fd5b823591506020830135610b8681610900565b809150509250929050565b600067ffffffffffffffff821115610bab57610bab610932565b5060051b60200190565b600082601f830112610bc657600080fd5b81356020610bd66109c083610b91565b82815260059290921b84018101918181019086841115610bf557600080fd5b8286015b84811015610c105780358352918301918301610bf9565b509695505050505050565b600080600080600060a08688031215610c3357600080fd5b8535610c3e81610900565b94506020860135610c4e81610900565b9350604086013567ffffffffffffffff80821115610c6b57600080fd5b610c7789838a01610bb5565b94506060880135915080821115610c8d57600080fd5b610c9989838a01610bb5565b93506080880135915080821115610caf57600080fd5b50610cbc888289016109a1565b9150509295509295909350565b600080600060408486031215610cde57600080fd5b83359250602084013567ffffffffffffffff811115610cfc57600080fd5b610d0886828701610a4d565b9497909650939450505050565b600080600080600060a08688031215610d2d57600080fd5b8535610d3881610900565b94506020860135610d4881610900565b93506040860135925060608601359150608086013567ffffffffffffffff811115610d7257600080fd5b610cbc888289016109a1565b600082601f830112610d8f57600080fd5b81516020610d9f6109c083610b91565b82815260059290921b84018101918181019086841115610dbe57600080fd5b8286015b84811015610c105780518352918301918301610dc2565b600080600080600060a08688031215610df157600080fd5b8551610dfc81610900565b6020870151909550610e0d81610900565b604087015190945067ffffffffffffffff80821115610e2b57600080fd5b610e3789838a01610d7e565b94506060880151915080821115610e4d57600080fd5b610e5989838a01610d7e565b93506080880151915080821115610e6f57600080fd5b508601601f81018813610e8157600080fd5b8051610e8f6109c082610979565b818152896020838501011115610ea457600080fd5b610eb5826020830160208601610af2565b8093505050509295509295909350565b60008060408385031215610ed857600080fd5b50508035926020909101359150565b600080600060608486031215610efc57600080fd5b505081359360208301359350604090920135919050565b60008219821115610f3457634e487b7160e01b600052601160045260246000fd5b500190565b60008085851115610f4957600080fd5b83861115610f5657600080fd5b5050820193919092039150565b600081518084526020808501945080840160005b83811015610f9357815187529582019590820190600101610f77565b509495945050505050565b6001600160a01b0386811682528516602082015260a060408201819052600090610fca90830186610f63565b8281036060840152610fdc8186610f63565b90508281036080840152610ff08185610b22565b98975050505050505050565b6001600160a01b03868116825285166020820152604081018490526060810183905260a06080820181905260009061103690830184610b22565b97965050505050505056fea26469706673582212203b1cf38ce674c76153c842e5c4fc04e03d0910f91d0c8e67aa6b8fab5d9c0bb964736f6c634300080b0033"
Loading