package consts

// contracts: https://github.com/ChainSafe/sygma-solidity/tree/v2.1.3
// compiler: 0.8.11, optimization-runs: 200
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 = "0x60a060405234801561001057600080fd5b50604051610cb6380380610cb683398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051610c246100926000396000818161011601526104670152610c246000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c80637f79bea8116100665780637f79bea81461016b578063b07e54bb1461018e578063b8fa3736146101ae578063c8ba6c87146101c1578063e248cff2146101ef57600080fd5b806307b7ed99146100a35780630968f264146100b85780630a6d55d8146100cb578063318c136e146101115780636a70d08114610138575b600080fd5b6100b66100b136600461082f565b610202565b005b6100b66100c6366004610869565b610216565b6100f46100d936600461091a565b6000602081905290815260409020546001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100f47f000000000000000000000000000000000000000000000000000000000000000081565b61015b61014636600461082f565b60036020526000908152604090205460ff1681565b6040519015158152602001610108565b61015b61017936600461082f565b60026020526000908152604090205460ff1681565b6101a161019c36600461097c565b61024f565b6040516101089190610a04565b6100b66101bc366004610a37565b6102ff565b6101e16101cf36600461082f565b60016020526000908152604090205481565b604051908152602001610108565b6100b66101fd366004610a67565b610354565b61020a61045c565b610213816104d6565b50565b61021e61045c565b6000806000838060200190518101906102379190610ab3565b9194509250905061024983838361056e565b50505050565b606061025961045c565b60006102678385018561091a565b600087815260208181526040808320546001600160a01b03168084526002909252909120549192509060ff166102b85760405162461bcd60e51b81526004016102af90610af6565b60405180910390fd5b6001600160a01b03811660009081526003602052604090205460ff16156102e9576102e481878461057a565b6102f5565b6102f5818730856105dc565b5050949350505050565b61030761045c565b60008281526020818152604080832080546001600160a01b0319166001600160a01b039590951694851790559282526001808252838320949094556002905220805460ff19169091179055565b61035c61045c565b600080606061036d84860186610b3e565b9093509150846040856103808583610b60565b9261038d93929190610b86565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052508a81526020818152604080832054828801516001600160a01b039091168085526002909352922054959650909490935060ff16915061041090505760405162461bcd60e51b81526004016102af90610af6565b6001600160a01b03811660009081526003602052604090205460ff16156104445761043f818360601c876105f0565b610452565b610452818360601c8761056e565b5050505050505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152601e60248201527f73656e646572206d7573742062652062726964676520636f6e7472616374000060448201526064016102af565b565b6001600160a01b03811660009081526002602052604090205460ff1661054a5760405162461bcd60e51b8152602060048201526024808201527f70726f766964656420636f6e7472616374206973206e6f742077686974656c696044820152631cdd195960e21b60648201526084016102af565b6001600160a01b03166000908152600360205260409020805460ff19166001179055565b82610249818484610628565b60405163079cc67960e41b81526001600160a01b038381166004830152602482018390528491908216906379cc6790906044015b600060405180830381600087803b1580156105c857600080fd5b505af1158015610452573d6000803e3d6000fd5b836105e981858585610690565b5050505050565b6040516340c10f1960e01b81526001600160a01b038381166004830152602482018390528491908216906340c10f19906044016105ae565b6040516001600160a01b03831660248201526044810182905261068b90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526106c8565b505050565b6040516001600160a01b03808516602483015283166044820152606481018290526102499085906323b872dd60e01b90608401610654565b813b8061070f5760405162461bcd60e51b8152602060048201526015602482015274115490cc8c0e881b9bdd08184818dbdb9d1c9858dd605a1b60448201526064016102af565b600080846001600160a01b03168460405161072a9190610bb0565b6000604051808303816000865af19150503d8060008114610767576040519150601f19603f3d011682016040523d82523d6000602084013e61076c565b606091505b5091509150816107b35760405162461bcd60e51b8152602060048201526012602482015271115490cc8c0e8818d85b1b0819985a5b195960721b60448201526064016102af565b8051156105e957808060200190518101906107ce9190610bcc565b6105e95760405162461bcd60e51b815260206004820181905260248201527f45524332303a206f7065726174696f6e20646964206e6f74207375636365656460448201526064016102af565b6001600160a01b038116811461021357600080fd5b60006020828403121561084157600080fd5b813561084c8161081a565b9392505050565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561087b57600080fd5b813567ffffffffffffffff8082111561089357600080fd5b818401915084601f8301126108a757600080fd5b8135818111156108b9576108b9610853565b604051601f8201601f19908116603f011681019083821181831017156108e1576108e1610853565b816040528281528760208487010111156108fa57600080fd5b826020860160208301376000928101602001929092525095945050505050565b60006020828403121561092c57600080fd5b5035919050565b60008083601f84011261094557600080fd5b50813567ffffffffffffffff81111561095d57600080fd5b60208301915083602082850101111561097557600080fd5b9250929050565b6000806000806060858703121561099257600080fd5b8435935060208501356109a48161081a565b9250604085013567ffffffffffffffff8111156109c057600080fd5b6109cc87828801610933565b95989497509550505050565b60005b838110156109f35781810151838201526020016109db565b838111156102495750506000910152565b6020815260008251806020840152610a238160408501602087016109d8565b601f01601f19169190910160400192915050565b60008060408385031215610a4a57600080fd5b823591506020830135610a5c8161081a565b809150509250929050565b600080600060408486031215610a7c57600080fd5b83359250602084013567ffffffffffffffff811115610a9a57600080fd5b610aa686828701610933565b9497909650939450505050565b600080600060608486031215610ac857600080fd5b8351610ad38161081a565b6020850151909350610ae48161081a565b80925050604084015190509250925092565b60208082526028908201527f70726f766964656420746f6b656e41646472657373206973206e6f74207768696040820152671d195b1a5cdd195960c21b606082015260800190565b60008060408385031215610b5157600080fd5b50508035926020909101359150565b60008219821115610b8157634e487b7160e01b600052601160045260246000fd5b500190565b60008085851115610b9657600080fd5b83861115610ba357600080fd5b5050820193919092039150565b60008251610bc28184602087016109d8565b9190910192915050565b600060208284031215610bde57600080fd5b8151801515811461084c57600080fdfea2646970667358221220fc9db7b9b0e755940cc336d885a45dac2acdd25d8d97cac2c03237eb505ad99f64736f6c634300080b0033"
