package consts

const ERC20HandlerABI = "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"bridgeAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"_bridgeAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"_burnList\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"_contractWhitelist\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"_resourceIDToTokenContractAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"_tokenContractAddressToResourceID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"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\":\"bytes32\",\"name\":\"resourceID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"depositer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"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 ERC20HandlerBin = "60a060405234801561001057600080fd5b50604051610c7e380380610c7e83398101604081905261002f91610044565b60601b6001600160601b031916608052610072565b600060208284031215610055578081fd5b81516001600160a01b038116811461006b578182fd5b9392505050565b60805160601c610bea610094600039806101ff528061042b5250610bea6000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c80637f79bea8116100665780637f79bea81461011c578063b07e54bb1461012f578063b8fa37361461014f578063c8ba6c8714610162578063e248cff2146101825761009e565b806307b7ed99146100a35780630968f264146100b85780630a6d55d8146100cb578063318c136e146100f45780636a70d081146100fc575b600080fd5b6100b66100b136600461073b565b610195565b005b6100b66100c63660046108ab565b6101a9565b6100de6100d93660046107c0565b6101e2565b6040516100eb9190610983565b60405180910390f35b6100de6101fd565b61010f61010a36600461073b565b610221565b6040516100eb91906109d4565b61010f61012a36600461073b565b610236565b61014261013d366004610807565b61024b565b6040516100eb91906109e8565b6100b661015d3660046107d8565b6102fb565b61017561017036600461073b565b610311565b6040516100eb91906109df565b6100b6610190366004610861565b610323565b61019d610420565b6101a68161046a565b50565b6101b1610420565b6000806000838060200190518101906101ca919061075e565b919450925090506101dc8383836104c6565b50505050565b6000602081905290815260409020546001600160a01b031681565b7f000000000000000000000000000000000000000000000000000000000000000081565b60036020526000908152604090205460ff1681565b60026020526000908152604090205460ff1681565b6060610255610420565b6000610263838501856107c0565b600087815260208181526040808320546001600160a01b03168084526002909252909120549192509060ff166102b45760405162461bcd60e51b81526004016102ab90610af7565b60405180910390fd5b6001600160a01b03811660009081526003602052604090205460ff16156102e5576102e08187846104d2565b6102f1565b6102f181873085610530565b5050949350505050565b610303610420565b61030d8282610544565b5050565b60016020526000908152604090205481565b61032b610420565b600080606061033c84860186610946565b90935091506103516040808401908688610b3f565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052508a81526020818152604080832054828801516001600160a01b039091168085526002909352922054959650909490935060ff1691506103d490505760405162461bcd60e51b81526004016102ab90610af7565b6001600160a01b03811660009081526003602052604090205460ff161561040857610403818360601c87610591565b610416565b610416818360601c876104c6565b5050505050505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104685760405162461bcd60e51b81526004016102ab90610a50565b565b6001600160a01b03811660009081526002602052604090205460ff166104a25760405162461bcd60e51b81526004016102ab90610a87565b6001600160a01b03166000908152600360205260409020805460ff19166001179055565b826101dc8184846105c1565b60405163079cc67960e41b815283906001600160a01b038216906379cc67909061050290869086906004016109bb565b600060405180830381600087803b15801561051c57600080fd5b505af1158015610416573d6000803e3d6000fd5b8361053d8185858561061c565b5050505050565b60008281526020818152604080832080546001600160a01b039095166001600160a01b0319909516851790559282526001808252838320949094556002905220805460ff19169091179055565b6040516340c10f1960e01b815283906001600160a01b038216906340c10f199061050290869086906004016109bb565b6106178363a9059cbb60e01b84846040516024016105e09291906109bb565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261063d565b505050565b6101dc846323b872dd60e01b8585856040516024016105e093929190610997565b60006060836001600160a01b0316836040516106599190610967565b6000604051808303816000865af19150503d8060008114610696576040519150601f19603f3d011682016040523d82523d6000602084013e61069b565b606091505b5091509150816106bd5760405162461bcd60e51b81526004016102ab90610acb565b8051156101dc57808060200190518101906106d891906107a0565b6101dc5760405162461bcd60e51b81526004016102ab90610a1b565b60008083601f840112610705578182fd5b50813567ffffffffffffffff81111561071c578182fd5b60208301915083602082850101111561073457600080fd5b9250929050565b60006020828403121561074c578081fd5b813561075781610b9f565b9392505050565b600080600060608486031215610772578182fd5b835161077d81610b9f565b602085015190935061078e81610b9f565b80925050604084015190509250925092565b6000602082840312156107b1578081fd5b81518015158114610757578182fd5b6000602082840312156107d1578081fd5b5035919050565b600080604083850312156107ea578182fd5b8235915060208301356107fc81610b9f565b809150509250929050565b6000806000806060858703121561081c578081fd5b84359350602085013561082e81610b9f565b9250604085013567ffffffffffffffff811115610849578182fd5b610855878288016106f4565b95989497509550505050565b600080600060408486031215610875578283fd5b83359250602084013567ffffffffffffffff811115610892578283fd5b61089e868287016106f4565b9497909650939450505050565b6000602082840312156108bc578081fd5b813567ffffffffffffffff808211156108d3578283fd5b818401915084601f8301126108e6578283fd5b8135818111156108f4578384fd5b604051601f8201601f191681016020018381118282101715610914578586fd5b60405281815283820160200187101561092b578485fd5b61093c826020830160208701610b67565b9695505050505050565b60008060408385031215610958578182fd5b50508035926020909101359150565b60008251610979818460208701610b73565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b90815260200190565b6000602082528251806020840152610a07816040850160208701610b73565b601f01601f19169190910160400192915050565b6020808252818101527f45524332303a206f7065726174696f6e20646964206e6f742073756363656564604082015260600190565b6020808252601e908201527f73656e646572206d7573742062652062726964676520636f6e74726163740000604082015260600190565b60208082526024908201527f70726f766964656420636f6e7472616374206973206e6f742077686974656c696040820152631cdd195960e21b606082015260800190565b602080825260129082015271115490cc8c0e8818d85b1b0819985a5b195960721b604082015260600190565b60208082526028908201527f70726f766964656420746f6b656e41646472657373206973206e6f74207768696040820152671d195b1a5cdd195960c21b606082015260800190565b60008085851115610b4e578182fd5b83861115610b5a578182fd5b5050820193919092039150565b82818337506000910152565b60005b83811015610b8e578181015183820152602001610b76565b838111156101dc5750506000910152565b6001600160a01b03811681146101a657600080fdfea26469706673582212200b7f9f3bf4e068dd7906bce4598f87c4ddf114962e3bd7f10759f026d816c38a64736f6c634300060c0033"
