package consts

// contracts: https://github.com/ChainSafe/sygma-solidity/tree/v2.1.4
// compiler: 0.8.11, optimization-runs: 200
const ERC721HandlerABI = `[{"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":"depositor","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 ERC721HandlerBin = "0x60a060405234801561001057600080fd5b50604051610f1c380380610f1c83398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051610e8a6100926000396000818161011601526105860152610e8a6000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c80637f79bea8116100665780637f79bea81461016b578063b07e54bb1461018e578063b8fa3736146101ae578063c8ba6c87146101c1578063e248cff2146101ef57600080fd5b806307b7ed99146100a35780630968f264146100b85780630a6d55d8146100cb578063318c136e146101115780636a70d08114610138575b600080fd5b6100b66100b13660046109a6565b610202565b005b6100b66100c6366004610a39565b610216565b6100f46100d9366004610ab9565b6000602081905290815260409020546001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100f47f000000000000000000000000000000000000000000000000000000000000000081565b61015b6101463660046109a6565b60036020526000908152604090205460ff1681565b6040519015158152602001610108565b61015b6101793660046109a6565b60026020526000908152604090205460ff1681565b6101a161019c366004610b1b565b610250565b6040516101089190610bcf565b6100b66101bc366004610be2565b610392565b6101e16101cf3660046109a6565b60016020526000908152604090205481565b604051908152602001610108565b6100b66101fd366004610c12565b6103e7565b61020a61057b565b610213816105f5565b50565b61021e61057b565b6000806000838060200190518101906102379190610c5e565b9194509250905061024a8330848461068d565b50505050565b606061025a61057b565b600061026883850185610ab9565b600087815260208181526040808320546001600160a01b03168084526002909252909120549192509060ff166102b95760405162461bcd60e51b81526004016102b090610ca1565b60405180910390fd5b6102d36001600160a01b038216635b5e139f60e01b610702565b1561034b5760405163c87b56dd60e01b81526004810183905281906001600160a01b0382169063c87b56dd90602401600060405180830381865afa15801561031f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103479190810190610ce9565b9350505b6001600160a01b03811660009081526003602052604090205460ff161561037c57610377818784610727565b610388565b6103888187308561068d565b5050949350505050565b61039a61057b565b60008281526020818152604080832080546001600160a01b0319166001600160a01b039590951694851790559282526001808252838320949094556002905220805460ff19169091179055565b6103ef61057b565b600080606081808261040387890189610d60565b9096509450610413856040610d82565b9250610422836040898b610da8565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509296506104689250899150859050818b610da8565b8101906104759190610ab9565b91508787610484856020610d82565b9084610491876020610d82565b61049b9190610d82565b926104a893929190610da8565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506020898101518f83528282526040808420546001600160a01b0316808552600290935290922054959650909490935060ff16915061052a90505760405162461bcd60e51b81526004016102b090610ca1565b6001600160a01b03811660009081526003602052604090205460ff161561055f5761055a818360601c8a86610843565b61056e565b61056e81308460601c8b61068d565b5050505050505050505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105f35760405162461bcd60e51b815260206004820152601e60248201527f73656e646572206d7573742062652062726964676520636f6e7472616374000060448201526064016102b0565b565b6001600160a01b03811660009081526002602052604090205460ff166106695760405162461bcd60e51b8152602060048201526024808201527f70726f766964656420636f6e7472616374206973206e6f742077686974656c696044820152631cdd195960e21b60648201526084016102b0565b6001600160a01b03166000908152600360205260409020805460ff19166001179055565b6040516323b872dd60e01b81526001600160a01b0384811660048301528381166024830152604482018390528591908216906323b872dd906064015b600060405180830381600087803b1580156106e357600080fd5b505af11580156106f7573d6000803e3d6000fd5b505050505050505050565b600061070d83610875565b801561071e575061071e83836108a8565b90505b92915050565b6040516331a9108f60e11b81526004810182905283906001600160a01b038481169190831690636352211e90602401602060405180830381865afa158015610773573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107979190610dd2565b6001600160a01b0316146107e35760405162461bcd60e51b8152602060048201526013602482015272213ab937103737ba10333937b69037bbb732b960691b60448201526064016102b0565b604051630852cd8d60e31b8152600481018390526001600160a01b038216906342966c6890602401600060405180830381600087803b15801561082557600080fd5b505af1158015610839573d6000803e3d6000fd5b5050505050505050565b6040516334ff261960e21b815284906001600160a01b0382169063d3fc9864906106c990879087908790600401610def565b6000610888826301ffc9a760e01b6108a8565b801561072157506108a1826001600160e01b03196108a8565b1592915050565b604080516001600160e01b0319831660248083019190915282518083039091018152604490910182526020810180516001600160e01b03166301ffc9a760e01b179052905160009190829081906001600160a01b038716906175309061090f908690610e16565b6000604051808303818686fa925050503d806000811461094b576040519150601f19603f3d011682016040523d82523d6000602084013e610950565b606091505b509150915060208151101561096b5760009350505050610721565b8180156109875750808060200190518101906109879190610e32565b9695505050505050565b6001600160a01b038116811461021357600080fd5b6000602082840312156109b857600080fd5b81356109c381610991565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610a0957610a096109ca565b604052919050565b600067ffffffffffffffff821115610a2b57610a2b6109ca565b50601f01601f191660200190565b600060208284031215610a4b57600080fd5b813567ffffffffffffffff811115610a6257600080fd5b8201601f81018413610a7357600080fd5b8035610a86610a8182610a11565b6109e0565b818152856020838501011115610a9b57600080fd5b81602084016020830137600091810160200191909152949350505050565b600060208284031215610acb57600080fd5b5035919050565b60008083601f840112610ae457600080fd5b50813567ffffffffffffffff811115610afc57600080fd5b602083019150836020828501011115610b1457600080fd5b9250929050565b60008060008060608587031215610b3157600080fd5b843593506020850135610b4381610991565b9250604085013567ffffffffffffffff811115610b5f57600080fd5b610b6b87828801610ad2565b95989497509550505050565b60005b83811015610b92578181015183820152602001610b7a565b8381111561024a5750506000910152565b60008151808452610bbb816020860160208601610b77565b601f01601f19169290920160200192915050565b60208152600061071e6020830184610ba3565b60008060408385031215610bf557600080fd5b823591506020830135610c0781610991565b809150509250929050565b600080600060408486031215610c2757600080fd5b83359250602084013567ffffffffffffffff811115610c4557600080fd5b610c5186828701610ad2565b9497909650939450505050565b600080600060608486031215610c7357600080fd5b8351610c7e81610991565b6020850151909350610c8f81610991565b80925050604084015190509250925092565b60208082526028908201527f70726f766964656420746f6b656e41646472657373206973206e6f74207768696040820152671d195b1a5cdd195960c21b606082015260800190565b600060208284031215610cfb57600080fd5b815167ffffffffffffffff811115610d1257600080fd5b8201601f81018413610d2357600080fd5b8051610d31610a8182610a11565b818152856020838501011115610d4657600080fd5b610d57826020830160208601610b77565b95945050505050565b60008060408385031215610d7357600080fd5b50508035926020909101359150565b60008219821115610da357634e487b7160e01b600052601160045260246000fd5b500190565b60008085851115610db857600080fd5b83861115610dc557600080fd5b5050820193919092039150565b600060208284031215610de457600080fd5b81516109c381610991565b60018060a01b0384168152826020820152606060408201526000610d576060830184610ba3565b60008251610e28818460208701610b77565b9190910192915050565b600060208284031215610e4457600080fd5b815180151581146109c357600080fdfea264697066735822122044d066d185b2d49206e012db937a35a5befb4c501d07f2e6275d4b89d423660b64736f6c634300080b0033"
