diff --git a/abi-bindings/go/CrossChainApplications/examples/ERC20Bridge/ERC20Bridge/ERC20Bridge.go b/abi-bindings/go/CrossChainApplications/examples/ERC20Bridge/ERC20Bridge/ERC20Bridge.go index 4d7334e00..b8f3a34cf 100644 --- a/abi-bindings/go/CrossChainApplications/examples/ERC20Bridge/ERC20Bridge/ERC20Bridge.go +++ b/abi-bindings/go/CrossChainApplications/examples/ERC20Bridge/ERC20Bridge/ERC20Bridge.go @@ -32,7 +32,7 @@ var ( // ERC20BridgeMetaData contains all meta data concerning the ERC20Bridge contract. var ERC20BridgeMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"teleporterRegistryAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"tokenContractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"destinationBlockchainID\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"teleporterMessageID\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"destinationBridgeAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"BridgeTokens\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"nativeBlockchainID\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nativeBridgeAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nativeContractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"bridgeTokenAddress\",\"type\":\"address\"}],\"name\":\"CreateBridgeToken\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"oldMinTeleporterVersion\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"newMinTeleporterVersion\",\"type\":\"uint256\"}],\"name\":\"MinTeleporterVersionUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"MintBridgeTokens\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"destinationBlockchainID\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"destinationBridgeAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nativeContractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"teleporterMessageID\",\"type\":\"bytes32\"}],\"name\":\"SubmitCreateBridgeToken\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"teleporterAddress\",\"type\":\"address\"}],\"name\":\"TeleporterAddressPaused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"teleporterAddress\",\"type\":\"address\"}],\"name\":\"TeleporterAddressUnpaused\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CREATE_BRIDGE_TOKENS_REQUIRED_GAS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINT_BRIDGE_TOKENS_REQUIRED_GAS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TRANSFER_BRIDGE_TOKENS_REQUIRED_GAS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"WARP_PRECOMPILE_ADDRESS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"destinationBlockchainID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"destinationBridgeAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenContractAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"totalAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"primaryFeeAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"secondaryFeeAmount\",\"type\":\"uint256\"}],\"name\":\"bridgeTokens\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"destinationBlockchainID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"destinationBridgeAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"nativeTokenContract\",\"type\":\"address\"}],\"name\":\"bridgedBalances\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentBlockchainID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nativeContractAddress\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"nativeName\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"nativeSymbol\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"nativeDecimals\",\"type\":\"uint8\"}],\"name\":\"encodeCreateBridgeTokenData\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nativeContractAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"bridgeAmount\",\"type\":\"uint256\"}],\"name\":\"encodeMintBridgeTokensData\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"destinationBlockchainID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"destinationBridgeAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"nativeContractAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"feeAmount\",\"type\":\"uint256\"}],\"name\":\"encodeTransferBridgeTokensData\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMinTeleporterVersion\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"teleporterAddress\",\"type\":\"address\"}],\"name\":\"isTeleporterAddressPaused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"nativeBlockchainID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"nativeBridgeAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"nativeTokenAddress\",\"type\":\"address\"}],\"name\":\"nativeToWrappedTokens\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"bridgeTokenAddress\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"teleporterAddress\",\"type\":\"address\"}],\"name\":\"pauseTeleporterAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"originBlockchainID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"originSenderAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"}],\"name\":\"receiveTeleporterMessage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"destinationBlockchainID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"destinationBridgeAddress\",\"type\":\"address\"},{\"internalType\":\"contractERC20\",\"name\":\"nativeToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"messageFeeAsset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"messageFeeAmount\",\"type\":\"uint256\"}],\"name\":\"submitCreateBridgeToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"destinationBlockchainID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"destinationBridgeAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"nativeTokenContract\",\"type\":\"address\"}],\"name\":\"submittedBridgeTokenCreations\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"tokenCreationSubmitted\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"teleporterRegistry\",\"outputs\":[{\"internalType\":\"contractTeleporterRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"teleporterAddress\",\"type\":\"address\"}],\"name\":\"unpauseTeleporterAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"version\",\"type\":\"uint256\"}],\"name\":\"updateMinTeleporterVersion\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"bridgeToken\",\"type\":\"address\"}],\"name\":\"wrappedTokenContracts\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"bridgeTokenExists\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", - Bin: "0x60c06040523480156200001157600080fd5b50604051620044ff380380620044ff833981016040819052620000349162000212565b600160005580806001600160a01b038116620000bc5760405162461bcd60e51b815260206004820152603760248201527f54656c65706f727465725570677261646561626c653a207a65726f2074656c6560448201527f706f727465722072656769737472792061646472657373000000000000000000606482015260840160405180910390fd5b6001600160a01b03811660808190526040805163301fd1f560e21b8152905163c07f47d4916004808201926020929091908290030181865afa15801562000107573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200012d919062000244565b600255506200013c33620001c0565b507302000000000000000000000000000000000000056001600160a01b0316634213cf786040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000190573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b6919062000244565b60a052506200025e565b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000602082840312156200022557600080fd5b81516001600160a01b03811681146200023d57600080fd5b9392505050565b6000602082840312156200025757600080fd5b5051919050565b60805160a051614251620002ae6000396000818161021b01528181610b0c01528181611a6b015261233601526000818161018001528181610dcc01528181610ff101526111f401526142516000f3fe60806040523480156200001157600080fd5b5060043610620001755760003560e01c80637a465fd911620000d3578063b9e55da11162000086578063b9e55da1146200039f578063c60da61214620003d3578063c63d220714620003ea578063c868efaa1462000401578063d2cc7a701462000418578063f2fde38b146200042157600080fd5b80637a465fd914620002e65780638343f66114620002f15780638c56fcf014620003395780638da5cb5b14620003505780639731429714620003625780639bd9abc0146200037957600080fd5b80635f217bcc116200012c5780635f217bcc146200026357806365435568146200026e5780636b47cd9a14620002ab5780636c7e40d114620002b6578063715018a614620002cd5780637497185614620002d757600080fd5b80631a7f5bec146200017a5780632b0d8f1814620001bf578063367e958414620001d85780634511243e14620001fe5780634950d2d014620002155780635eb99514146200024c575b600080fd5b620001a27f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b620001d6620001d0366004620025bc565b62000438565b005b620001ef620001e9366004620026bd565b62000533565b604051620001b69190620027a5565b620001d66200020f366004620025bc565b62000592565b6200023d7f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001620001b6565b620001d66200025d366004620027ba565b62000685565b6200023d621e848081565b620001a26200027f366004620027d4565b60076020908152600093845260408085208252928452828420905282529020546001600160a01b031681565b6200023d620493e081565b620001d6620002c73660046200281b565b6200069d565b620001d6620009ee565b620001a26005600160991b0181565b6200023d62030d4081565b6200032862000302366004620027d4565b600460209081526000938452604080852082529284528284209052825290205460ff1681565b6040519015158152602001620001b6565b620001ef6200034a3660046200287d565b62000a06565b6003546001600160a01b0316620001a2565b6200032862000373366004620025bc565b62000a62565b620003286200038a366004620025bc565b60066020526000908152604090205460ff1681565b6200023d620003b0366004620027d4565b600560209081526000938452604080852082529284528284209052825290205481565b620001ef620003e4366004620028c3565b62000a80565b620001d6620003fb3660046200292f565b62000b00565b620001d662000412366004620029a4565b62000db4565b6002546200023d565b620001d662000432366004620025bc565b62000f67565b6200044262000fe3565b6001600160a01b038116620004745760405162461bcd60e51b81526004016200046b9062002a34565b60405180910390fd5b6200047f8162000a62565b15620004e45760405162461bcd60e51b815260206004820152602d60248201527f54656c65706f727465725570677261646561626c653a2061646472657373206160448201526c1b1c9958591e481c185d5cd959609a1b60648201526084016200046b565b6001600160a01b0381166000818152600160208190526040808320805460ff1916909217909155517f933f93e57a222e6330362af8b376d0a8725b6901e9a2fb86d00f169702b28a4c9190a250565b606060008585858560405160200162000550949392919062002a82565b60405160208183030381529060405290506000816040516020016200057792919062002ae7565b6040516020818303038152906040529150505b949350505050565b6200059c62000fe3565b6001600160a01b038116620005c55760405162461bcd60e51b81526004016200046b9062002a34565b620005d08162000a62565b620006305760405162461bcd60e51b815260206004820152602960248201527f54656c65706f727465725570677261646561626c653a2061646472657373206e6044820152681bdd081c185d5cd95960ba1b60648201526084016200046b565b6040516001600160a01b038216907f844e2f3154214672229235858fd029d1dfd543901c6d05931f0bc2480a2d72c390600090a26001600160a01b03166000908152600160205260409020805460ff19169055565b6200068f62000fe3565b6200069a8162000fed565b50565b620006a762001194565b6001600160a01b038416620006d05760405162461bcd60e51b81526004016200046b9062002b21565b6000620006dc620011ef565b9050600082156200070b57620006f38484620012f1565b90506200070b6001600160a01b038516838362001467565b60006200084986876001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa15801562000751573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200077b919081019062002bc6565b886001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa158015620007ba573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620007e4919081019062002bc6565b896001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000823573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e9919062002bff565b90506000836001600160a01b031663624488506040518060c001604052808c81526020018b6001600160a01b0316815260200160405180604001604052808b6001600160a01b03168152602001888152508152602001621e84808152602001600067ffffffffffffffff811115620008c557620008c5620025dc565b604051908082528060200260200182016040528015620008ef578160200160208202803683370190505b508152602001858152506040518263ffffffff1660e01b815260040162000917919062002c65565b6020604051808303816000875af115801562000937573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200095d919062002ce7565b60008a81526004602090815260408083206001600160a01b03808e16808652918452828520908d16808652935292819020805460ff1916600117905551929350918b907f3800d3f6af9e0e73fee531cb134766d3dae314dd340599073c396d9e5e8736bd90620009d09086815260200190565b60405180910390a450505050620009e76001600055565b5050505050565b620009f862001553565b62000a046000620015af565b565b6060600084848460405160200162000a219392919062002d01565b604051602081830303815290604052905060018160405160200162000a4892919062002ae7565b6040516020818303038152906040529150505b9392505050565b6001600160a01b031660009081526001602052604090205460ff1690565b60408051602081018890526001600160a01b0387811682840152868116606080840191909152908616608083015260a0820185905260c08083018590528351808403909101815260e08301909352919062000ae49060029083906101000162002ae7565b6040516020818303038152906040529150509695505050505050565b62000b0a62001194565b7f0000000000000000000000000000000000000000000000000000000000000000870362000b4c5760405162461bcd60e51b81526004016200046b9062002d25565b6001600160a01b03841662000b755760405162461bcd60e51b81526004016200046b9062002d6d565b6001600160a01b03861662000b9e5760405162461bcd60e51b81526004016200046b9062002b21565b6001600160a01b03851660009081526006602052604090205460ff161562000c895762000bcc818362002dc6565b831162000c2b5760405162461bcd60e51b815260206004820152602660248201527f45524332304272696467653a20696e73756666696369656e7420746f74616c20604482015265185b5bdd5b9d60d21b60648201526084016200046b565b62000c836040518060e00160405280898152602001886001600160a01b03168152602001876001600160a01b03168152602001866001600160a01b031681526020018581526020018481526020018381525062001601565b62000da0565b60008781526004602090815260408083206001600160a01b03808b168552908352818420908916845290915290205460ff1662000d1b5760405162461bcd60e51b815260206004820152602960248201527f45524332304272696467653a20696e76616c69642062726964676520746f6b656044820152686e206164647265737360b81b60648201526084016200046b565b600062000d298685620012f1565b905082811162000d8e5760405162461bcd60e51b815260206004820152602960248201527f45524332304272696467653a20696e73756666696369656e742061646a757374604482015268195908185b5bdd5b9d60ba1b60648201526084016200046b565b62000d9e888888888588620019ed565b505b62000dab6001600055565b50505050505050565b60025460405163260f846760e11b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634c1f08ce90602401602060405180830381865afa15801562000e1c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000e42919062002ce7565b101562000eab5760405162461bcd60e51b815260206004820152603060248201527f54656c65706f727465725570677261646561626c653a20696e76616c6964205460448201526f32b632b837b93a32b91039b2b73232b960811b60648201526084016200046b565b62000eb63362000a62565b1562000f1e5760405162461bcd60e51b815260206004820152603060248201527f54656c65706f727465725570677261646561626c653a2054656c65706f72746560448201526f1c881859191c995cdcc81c185d5cd95960821b60648201526084016200046b565b62000f61848484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525062001ca992505050565b50505050565b62000f7162001553565b6001600160a01b03811662000fd85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016200046b565b6200069a81620015af565b62000a0462001553565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c07f47d46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200104e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001074919062002ce7565b60025490915081831115620010e65760405162461bcd60e51b815260206004820152603160248201527f54656c65706f727465725570677261646561626c653a20696e76616c6964205460448201527032b632b837b93a32b9103b32b939b4b7b760791b60648201526084016200046b565b8083116200115d5760405162461bcd60e51b815260206004820152603f60248201527f54656c65706f727465725570677261646561626c653a206e6f7420677265617460448201527f6572207468616e2063757272656e74206d696e696d756d2076657273696f6e0060648201526084016200046b565b6002839055604051839082907fa9a7ef57e41f05b4c15480842f5f0c27edfcbb553fed281f7c4068452cc1c02d90600090a3505050565b600260005403620011e85760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016200046b565b6002600055565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d820e64f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001251573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001277919062002ddc565b9050620012848162000a62565b15620012ec5760405162461bcd60e51b815260206004820152603060248201527f54656c65706f727465725570677261646561626c653a2054656c65706f72746560448201526f1c881cd95b991a5b99c81c185d5cd95960821b60648201526084016200046b565b919050565b6040516370a0823160e01b815230600482015260009081906001600160a01b038516906370a0823190602401602060405180830381865afa1580156200133b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001361919062002ce7565b90506200137a6001600160a01b03851633308662001e27565b6040516370a0823160e01b81523060048201526000906001600160a01b038616906370a0823190602401602060405180830381865afa158015620013c2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620013e8919062002ce7565b9050818111620014505760405162461bcd60e51b815260206004820152602c60248201527f5361666545524332305472616e7366657246726f6d3a2062616c616e6365206e60448201526b1bdd081a5b98dc99585cd95960a21b60648201526084016200046b565b6200145c828262002dfc565b925050505b92915050565b604051636eb1769f60e11b81523060048201526001600160a01b038381166024830152600091839186169063dd62ed3e90604401602060405180830381865afa158015620014b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620014df919062002ce7565b620014eb919062002dc6565b6040516001600160a01b03851660248201526044810182905290915062000f6190859063095ea7b360e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915262001e4b565b6003546001600160a01b0316331462000a045760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200046b565b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60006200160d620011ef565b90506000808360a00151111562001650576200163283604001518460a00151620012f1565b604084015190915062001650906001600160a01b0316838362001467565b60008360a00151846080015162001668919062002dfc565b604085810151905163079cc67960e41b815233600482015260248101839052919250906001600160a01b038216906379cc679090604401600060405180830381600087803b158015620016ba57600080fd5b505af1158015620016cf573d6000803e3d6000fd5b505050506000816001600160a01b031663f72539686040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001714573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200173a919062002ce7565b90506000826001600160a01b0316631a0b79bf6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200177d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620017a3919062002ddc565b905081876000015103620017e957806001600160a01b031687602001516001600160a01b031614620017e95760405162461bcd60e51b81526004016200046b9062002e12565b60006200186f88600001518960200151866001600160a01b03166374d32ad46040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001838573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200185e919062002ddc565b8b60600151898d60c0015162000a80565b90506000876001600160a01b031663624488506040518060c00160405280878152602001866001600160a01b0316815260200160405180604001604052808e604001516001600160a01b031681526020018c8152508152602001620493e08152602001600067ffffffffffffffff811115620018ef57620018ef620025dc565b60405190808252806020026020018201604052801562001919578160200160208202803683370190505b508152602001858152506040518263ffffffff1660e01b815260040162001941919062002c65565b6020604051808303816000875af115801562001961573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001987919062002ce7565b90508089600001518a604001516001600160a01b03167f217c87a6d6d3d58781939a048638f7802a91151cc9eb573762b268bf8ec9c2578c602001518d606001518b604051620019da9392919062002d01565b60405180910390a4505050505050505050565b6001600160a01b03841660009081526006602052604090205460ff161562001a695760405162461bcd60e51b815260206004820152602860248201527f45524332304272696467653a2063616e6e6f742062726964676520777261707060448201526732b2103a37b5b2b760c11b60648201526084016200046b565b7f0000000000000000000000000000000000000000000000000000000000000000860362001aab5760405162461bcd60e51b81526004016200046b9062002d25565b600062001ab7620011ef565b9050811562001ad65762001ad66001600160a01b038616828462001467565b600062001ae4838562002dfc565b60008981526005602090815260408083206001600160a01b03808d168552908352818420908b16845290915281208054929350839290919062001b2990849062002dc6565b909155506000905062001b3e87878462000a06565b90506000836001600160a01b031663624488506040518060c001604052808d81526020018c6001600160a01b0316815260200160405180604001604052808d6001600160a01b031681526020018a815250815260200162030d408152602001600067ffffffffffffffff81111562001bba5762001bba620025dc565b60405190808252806020026020018201604052801562001be4578160200160208202803683370190505b508152602001858152506040518263ffffffff1660e01b815260040162001c0c919062002c65565b6020604051808303816000875af115801562001c2c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001c52919062002ce7565b9050808a896001600160a01b03167f217c87a6d6d3d58781939a048638f7802a91151cc9eb573762b268bf8ec9c2578c8b8860405162001c959392919062002d01565b60405180910390a450505050505050505050565b6000808280602001905181019062001cc2919062002e61565b9092509050600082600281111562001cde5762001cde62002ad1565b0362001d22576000806000808480602001905181019062001d00919062002ed0565b935093509350935062001d1889898686868662001f29565b50505050620009e7565b600182600281111562001d395762001d3962002ad1565b0362001d785760008060008380602001905181019062001d5a919062002f5a565b92509250925062001d6f888885858562002098565b505050620009e7565b600282600281111562001d8f5762001d8f62002ad1565b0362001dde576000806000806000808680602001905181019062001db4919062002fa2565b95509550955095509550955062001dd28b8b88888888888862002212565b505050505050620009e7565b60405162461bcd60e51b815260206004820152601b60248201527f45524332304272696467653a20696e76616c696420616374696f6e000000000060448201526064016200046b565b62000f61846323b872dd60e01b8585856040516024016200151b9392919062002d01565b600062001ea2826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316620023cb9092919063ffffffff16565b80519091501562001f24578080602001905181019062001ec3919062003012565b62001f245760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016200046b565b505050565b60008681526007602090815260408083206001600160a01b038981168552908352818420888216855290925290912054161562001fba5760405162461bcd60e51b815260206004820152602860248201527f45524332304272696467653a2062726964676520746f6b656e20616c72656164604482015267792065786973747360c01b60648201526084016200046b565b600086868686868660405162001fd09062002598565b62001fe19695949392919062003036565b604051809103906000f08015801562001ffe573d6000803e3d6000fd5b506001600160a01b038181166000818152600660209081526040808320805460ff191660011790558c8352600782528083208c8616808552908352818420958c168085529583529281902080546001600160a01b031916851790555192835293945091928a917fe1c61a845f79534e11924517ddbedc668d0c20e467eafb4d3bd2858e2815f3b5910160405180910390a450505050505050565b620020a262001194565b6001600160a01b038216620020cb5760405162461bcd60e51b81526004016200046b9062002d6d565b60008581526007602090815260408083206001600160a01b03808916855290835281842087821685529092529091205416806200215c5760405162461bcd60e51b815260206004820152602860248201527f45524332304272696467653a2062726964676520746f6b656e20646f6573206e6044820152671bdd08195e1a5cdd60c21b60648201526084016200046b565b6040516340c10f1960e01b81526001600160a01b038481166004830152602482018490528216906340c10f1990604401600060405180830381600087803b158015620021a757600080fd5b505af1158015620021bc573d6000803e3d6000fd5b5050604080516001600160a01b03878116825260208201879052851693507fc0767f158f0d5394b598489a51ed607cd55a8be2dcef113ba1626efcf4c6395492500160405180910390a250620009e76001600055565b6200221c62001194565b6001600160a01b038316620022455760405162461bcd60e51b81526004016200046b9062002d6d565b6001600160a01b0385166200226e5760405162461bcd60e51b81526004016200046b9062002b21565b60008881526005602090815260408083206001600160a01b03808c168552908352818420908816845290915290205482811015620022f95760405162461bcd60e51b815260206004820152602160248201527f45524332304272696467653a20696e73756666696369656e742062616c616e636044820152606560f81b60648201526084016200046b565b62002305838262002dfc565b60008a81526005602090815260408083206001600160a01b03808e168552908352818420908a1684529091529020557f00000000000000000000000000000000000000000000000000000000000000008703620023a4576001600160a01b0386163014620023875760405162461bcd60e51b81526004016200046b9062002e12565b6200239d6001600160a01b0386168585620023dc565b50620023b6565b620023b4878787878787620019ed565b505b620023c16001600055565b5050505050505050565b60606200058a84846000856200240e565b6040516001600160a01b03831660248201526044810182905262001f2490849063a9059cbb60e01b906064016200151b565b606082471015620024715760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016200046b565b600080866001600160a01b031685876040516200248f919062003095565b60006040518083038185875af1925050503d8060008114620024ce576040519150601f19603f3d011682016040523d82523d6000602084013e620024d3565b606091505b5091509150620024e687838387620024f1565b979650505050505050565b60608315620025655782516000036200255d576001600160a01b0385163b6200255d5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016200046b565b50816200058a565b6200058a83838151156200257c5781518083602001fd5b8060405162461bcd60e51b81526004016200046b9190620027a5565b61116880620030b483390190565b6001600160a01b03811681146200069a57600080fd5b600060208284031215620025cf57600080fd5b813562000a5b81620025a6565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156200261e576200261e620025dc565b604052919050565b600067ffffffffffffffff821115620026435762002643620025dc565b50601f01601f191660200190565b600082601f8301126200266357600080fd5b81356200267a620026748262002626565b620025f2565b8181528460208386010111156200269057600080fd5b816020850160208301376000918101602001919091529392505050565b60ff811681146200069a57600080fd5b60008060008060808587031215620026d457600080fd5b8435620026e181620025a6565b9350602085013567ffffffffffffffff80821115620026ff57600080fd5b6200270d8883890162002651565b945060408701359150808211156200272457600080fd5b50620027338782880162002651565b92505060608501356200274681620026ad565b939692955090935050565b60005b838110156200276e57818101518382015260200162002754565b50506000910152565b600081518084526200279181602086016020860162002751565b601f01601f19169290920160200192915050565b60208152600062000a5b602083018462002777565b600060208284031215620027cd57600080fd5b5035919050565b600080600060608486031215620027ea57600080fd5b833592506020840135620027fe81620025a6565b915060408401356200281081620025a6565b809150509250925092565b600080600080600060a086880312156200283457600080fd5b8535945060208601356200284881620025a6565b935060408601356200285a81620025a6565b925060608601356200286c81620025a6565b949793965091946080013592915050565b6000806000606084860312156200289357600080fd5b8335620028a081620025a6565b92506020840135620028b281620025a6565b929592945050506040919091013590565b60008060008060008060c08789031215620028dd57600080fd5b863595506020870135620028f181620025a6565b945060408701356200290381620025a6565b935060608701356200291581620025a6565b9598949750929560808101359460a0909101359350915050565b600080600080600080600060e0888a0312156200294b57600080fd5b8735965060208801356200295f81620025a6565b955060408801356200297181620025a6565b945060608801356200298381620025a6565b9699959850939660808101359560a0820135955060c0909101359350915050565b60008060008060608587031215620029bb57600080fd5b843593506020850135620029cf81620025a6565b9250604085013567ffffffffffffffff80821115620029ed57600080fd5b818701915087601f83011262002a0257600080fd5b81358181111562002a1257600080fd5b88602082850101111562002a2557600080fd5b95989497505060200194505050565b6020808252602e908201527f54656c65706f727465725570677261646561626c653a207a65726f2054656c6560408201526d706f72746572206164647265737360901b606082015260800190565b6001600160a01b038516815260806020820181905260009062002aa89083018662002777565b828103604084015262002abc818662002777565b91505060ff8316606083015295945050505050565b634e487b7160e01b600052602160045260246000fd5b60006003841062002b0857634e487b7160e01b600052602160045260246000fd5b838252604060208301526200058a604083018462002777565b6020808252602c908201527f45524332304272696467653a207a65726f2064657374696e6174696f6e20627260408201526b69646765206164647265737360a01b606082015260800190565b600062002b7e620026748462002626565b905082815283838301111562002b9357600080fd5b62000a5b83602083018462002751565b600082601f83011262002bb557600080fd5b62000a5b8383516020850162002b6d565b60006020828403121562002bd957600080fd5b815167ffffffffffffffff81111562002bf157600080fd5b6200058a8482850162002ba3565b60006020828403121562002c1257600080fd5b815162000a5b81620026ad565b600081518084526020808501945080840160005b8381101562002c5a5781516001600160a01b03168752958201959082019060010162002c33565b509495945050505050565b60208152815160208201526000602083015160018060a01b03808216604085015260408501519150808251166060850152506020810151608084015250606083015160a0830152608083015160e060c084015262002cc861010084018262002c1f565b905060a0840151601f198483030160e08501526200145c828262002777565b60006020828403121562002cfa57600080fd5b5051919050565b6001600160a01b039384168152919092166020820152604081019190915260600190565b60208082526028908201527f45524332304272696467653a2063616e6e6f742062726964676520746f20736160408201526736b29031b430b4b760c11b606082015260800190565b60208082526023908201527f45524332304272696467653a207a65726f20726563697069656e74206164647260408201526265737360e81b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b8082018082111562001461576200146162002db0565b60006020828403121562002def57600080fd5b815162000a5b81620025a6565b8181038181111562001461576200146162002db0565b6020808252602f908201527f45524332304272696467653a20696e76616c69642064657374696e6174696f6e60408201526e20627269646765206164647265737360881b606082015260800190565b6000806040838503121562002e7557600080fd5b82516003811062002e8557600080fd5b602084015190925067ffffffffffffffff81111562002ea357600080fd5b8301601f8101851362002eb557600080fd5b62002ec68582516020840162002b6d565b9150509250929050565b6000806000806080858703121562002ee757600080fd5b845162002ef481620025a6565b602086015190945067ffffffffffffffff8082111562002f1357600080fd5b62002f218883890162002ba3565b9450604087015191508082111562002f3857600080fd5b5062002f478782880162002ba3565b92505060608501516200274681620026ad565b60008060006060848603121562002f7057600080fd5b835162002f7d81620025a6565b602085015190935062002f9081620025a6565b80925050604084015190509250925092565b60008060008060008060c0878903121562002fbc57600080fd5b86519550602087015162002fd081620025a6565b604088015190955062002fe381620025a6565b606088015190945062002ff681620025a6565b809350506080870151915060a087015190509295509295509295565b6000602082840312156200302557600080fd5b8151801515811462000a5b57600080fd5b8681526001600160a01b0386811660208301528516604082015260c0606082018190526000906200306a9083018662002777565b82810360808401526200307e818662002777565b91505060ff831660a0830152979650505050505050565b60008251620030a981846020870162002751565b919091019291505056fe6101206040523480156200001257600080fd5b506040516200116838038062001168833981016040819052620000359162000292565b82826003620000458382620003d5565b506004620000548282620003d5565b50879150620000b690505760405162461bcd60e51b815260206004820152602160248201527f427269646765546f6b656e3a207a65726f20736f7572636520636861696e20696044820152601960fa1b60648201526084015b60405180910390fd5b6001600160a01b0385166200011e5760405162461bcd60e51b815260206004820152602760248201527f427269646765546f6b656e3a207a65726f20736f7572636520627269646765206044820152666164647265737360c81b6064820152608401620000ad565b6001600160a01b038416620001855760405162461bcd60e51b815260206004820152602660248201527f427269646765546f6b656e3a207a65726f20736f75726365206173736574206160448201526564647265737360d01b6064820152608401620000ad565b3360805260a09590955250506001600160a01b0391821660c0521660e05260ff1661010052620004a1565b80516001600160a01b0381168114620001c857600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620001f557600080fd5b81516001600160401b0380821115620002125762000212620001cd565b604051601f8301601f19908116603f011681019082821181831017156200023d576200023d620001cd565b816040528381526020925086838588010111156200025a57600080fd5b600091505b838210156200027e57858201830151818301840152908201906200025f565b600093810190920192909252949350505050565b60008060008060008060c08789031215620002ac57600080fd5b86519550620002be60208801620001b0565b9450620002ce60408801620001b0565b60608801519094506001600160401b0380821115620002ec57600080fd5b620002fa8a838b01620001e3565b945060808901519150808211156200031157600080fd5b506200032089828a01620001e3565b92505060a087015160ff811681146200033857600080fd5b809150509295509295509295565b600181811c908216806200035b57607f821691505b6020821081036200037c57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620003d057600081815260208120601f850160051c81016020861015620003ab5750805b601f850160051c820191505b81811015620003cc57828155600101620003b7565b5050505b505050565b81516001600160401b03811115620003f157620003f1620001cd565b620004098162000402845462000346565b8462000382565b602080601f831160018114620004415760008415620004285750858301515b600019600386901b1c1916600185901b178555620003cc565b600085815260208120601f198616915b82811015620004725788860151825594840194600190910190840162000451565b5085821015620004915787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a05160c05160e05161010051610c7b620004ed60003960006101c70152600061025a01526000610173015260006102fc0152600081816102c2015261041b0152610c7b6000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c806370a08231116100a2578063a457c2d711610071578063a457c2d714610297578063a9059cbb146102aa578063cd596583146102bd578063dd62ed3e146102e4578063f7253968146102f757600080fd5b806370a082311461022c57806374d32ad41461025557806379cc67901461027c57806395d89b411461028f57600080fd5b806323b872dd116100e957806323b872dd146101ad578063313ce567146101c057806339509351146101f157806340c10f191461020457806342966c681461021957600080fd5b806306fdde031461011b578063095ea7b31461013957806318160ddd1461015c5780631a0b79bf1461016e575b600080fd5b61012361031e565b6040516101309190610aac565b60405180910390f35b61014c610147366004610b16565b6103b0565b6040519015158152602001610130565b6002545b604051908152602001610130565b6101957f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610130565b61014c6101bb366004610b40565b6103ca565b60405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610130565b61014c6101ff366004610b16565b6103ee565b610217610212366004610b16565b610410565b005b610217610227366004610b7c565b61049b565b61016061023a366004610b95565b6001600160a01b031660009081526020819052604090205490565b6101957f000000000000000000000000000000000000000000000000000000000000000081565b61021761028a366004610b16565b6104a8565b6101236104bd565b61014c6102a5366004610b16565b6104cc565b61014c6102b8366004610b16565b610547565b6101957f000000000000000000000000000000000000000000000000000000000000000081565b6101606102f2366004610bb7565b610555565b6101607f000000000000000000000000000000000000000000000000000000000000000081565b60606003805461032d90610bea565b80601f016020809104026020016040519081016040528092919081815260200182805461035990610bea565b80156103a65780601f1061037b576101008083540402835291602001916103a6565b820191906000526020600020905b81548152906001019060200180831161038957829003601f168201915b5050505050905090565b6000336103be818585610580565b60019150505b92915050565b6000336103d88582856106a5565b6103e385858561071f565b506001949350505050565b6000336103be8185856104018383610555565b61040b9190610c24565b610580565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461048d5760405162461bcd60e51b815260206004820152601960248201527f427269646765546f6b656e3a20756e617574686f72697a65640000000000000060448201526064015b60405180910390fd5b61049782826108c3565b5050565b6104a53382610982565b50565b6104b38233836106a5565b6104978282610982565b60606004805461032d90610bea565b600033816104da8286610555565b90508381101561053a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610484565b6103e38286868403610580565b6000336103be81858561071f565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166105e25760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610484565b6001600160a01b0382166106435760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610484565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60006106b18484610555565b90506000198114610719578181101561070c5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610484565b6107198484848403610580565b50505050565b6001600160a01b0383166107835760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610484565b6001600160a01b0382166107e55760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610484565b6001600160a01b0383166000908152602081905260409020548181101561085d5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610484565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610719565b6001600160a01b0382166109195760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610484565b806002600082825461092b9190610c24565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6001600160a01b0382166109e25760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610484565b6001600160a01b03821660009081526020819052604090205481811015610a565760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610484565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610698565b600060208083528351808285015260005b81811015610ad957858101830151858201604001528201610abd565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610b1157600080fd5b919050565b60008060408385031215610b2957600080fd5b610b3283610afa565b946020939093013593505050565b600080600060608486031215610b5557600080fd5b610b5e84610afa565b9250610b6c60208501610afa565b9150604084013590509250925092565b600060208284031215610b8e57600080fd5b5035919050565b600060208284031215610ba757600080fd5b610bb082610afa565b9392505050565b60008060408385031215610bca57600080fd5b610bd383610afa565b9150610be160208401610afa565b90509250929050565b600181811c90821680610bfe57607f821691505b602082108103610c1e57634e487b7160e01b600052602260045260246000fd5b50919050565b808201808211156103c457634e487b7160e01b600052601160045260246000fdfea2646970667358221220fbb944f7f95047b4299f75db28938d3bcf2b5c0c912d7ac944940616ebf3988e64736f6c63430008120033a264697066735822122086d601e9f10aca9caadae4a5271959648a41f4ebdda721821304d1d8b0af708364736f6c63430008120033", + Bin: "0x60c06040523480156200001157600080fd5b50604051620044ff380380620044ff833981016040819052620000349162000212565b600160005580806001600160a01b038116620000bc5760405162461bcd60e51b815260206004820152603760248201527f54656c65706f727465725570677261646561626c653a207a65726f2074656c6560448201527f706f727465722072656769737472792061646472657373000000000000000000606482015260840160405180910390fd5b6001600160a01b03811660808190526040805163301fd1f560e21b8152905163c07f47d4916004808201926020929091908290030181865afa15801562000107573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200012d919062000244565b600255506200013c33620001c0565b507302000000000000000000000000000000000000056001600160a01b0316634213cf786040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000190573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b6919062000244565b60a052506200025e565b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000602082840312156200022557600080fd5b81516001600160a01b03811681146200023d57600080fd5b9392505050565b6000602082840312156200025757600080fd5b5051919050565b60805160a051614251620002ae6000396000818161021b01528181610b0c01528181611a6b015261233601526000818161018001528181610dcc01528181610ff101526111f401526142516000f3fe60806040523480156200001157600080fd5b5060043610620001755760003560e01c80637a465fd911620000d3578063b9e55da11162000086578063b9e55da1146200039f578063c60da61214620003d3578063c63d220714620003ea578063c868efaa1462000401578063d2cc7a701462000418578063f2fde38b146200042157600080fd5b80637a465fd914620002e65780638343f66114620002f15780638c56fcf014620003395780638da5cb5b14620003505780639731429714620003625780639bd9abc0146200037957600080fd5b80635f217bcc116200012c5780635f217bcc146200026357806365435568146200026e5780636b47cd9a14620002ab5780636c7e40d114620002b6578063715018a614620002cd5780637497185614620002d757600080fd5b80631a7f5bec146200017a5780632b0d8f1814620001bf578063367e958414620001d85780634511243e14620001fe5780634950d2d014620002155780635eb99514146200024c575b600080fd5b620001a27f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b620001d6620001d0366004620025bc565b62000438565b005b620001ef620001e9366004620026bd565b62000533565b604051620001b69190620027a5565b620001d66200020f366004620025bc565b62000592565b6200023d7f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001620001b6565b620001d66200025d366004620027ba565b62000685565b6200023d621e848081565b620001a26200027f366004620027d4565b60076020908152600093845260408085208252928452828420905282529020546001600160a01b031681565b6200023d620493e081565b620001d6620002c73660046200281b565b6200069d565b620001d6620009ee565b620001a26005600160991b0181565b6200023d62030d4081565b6200032862000302366004620027d4565b600460209081526000938452604080852082529284528284209052825290205460ff1681565b6040519015158152602001620001b6565b620001ef6200034a3660046200287d565b62000a06565b6003546001600160a01b0316620001a2565b6200032862000373366004620025bc565b62000a62565b620003286200038a366004620025bc565b60066020526000908152604090205460ff1681565b6200023d620003b0366004620027d4565b600560209081526000938452604080852082529284528284209052825290205481565b620001ef620003e4366004620028c3565b62000a80565b620001d6620003fb3660046200292f565b62000b00565b620001d662000412366004620029a4565b62000db4565b6002546200023d565b620001d662000432366004620025bc565b62000f67565b6200044262000fe3565b6001600160a01b038116620004745760405162461bcd60e51b81526004016200046b9062002a34565b60405180910390fd5b6200047f8162000a62565b15620004e45760405162461bcd60e51b815260206004820152602d60248201527f54656c65706f727465725570677261646561626c653a2061646472657373206160448201526c1b1c9958591e481c185d5cd959609a1b60648201526084016200046b565b6001600160a01b0381166000818152600160208190526040808320805460ff1916909217909155517f933f93e57a222e6330362af8b376d0a8725b6901e9a2fb86d00f169702b28a4c9190a250565b606060008585858560405160200162000550949392919062002a82565b60405160208183030381529060405290506000816040516020016200057792919062002ae7565b6040516020818303038152906040529150505b949350505050565b6200059c62000fe3565b6001600160a01b038116620005c55760405162461bcd60e51b81526004016200046b9062002a34565b620005d08162000a62565b620006305760405162461bcd60e51b815260206004820152602960248201527f54656c65706f727465725570677261646561626c653a2061646472657373206e6044820152681bdd081c185d5cd95960ba1b60648201526084016200046b565b6040516001600160a01b038216907f844e2f3154214672229235858fd029d1dfd543901c6d05931f0bc2480a2d72c390600090a26001600160a01b03166000908152600160205260409020805460ff19169055565b6200068f62000fe3565b6200069a8162000fed565b50565b620006a762001194565b6001600160a01b038416620006d05760405162461bcd60e51b81526004016200046b9062002b21565b6000620006dc620011ef565b9050600082156200070b57620006f38484620012f1565b90506200070b6001600160a01b038516838362001467565b60006200084986876001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa15801562000751573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200077b919081019062002bc6565b886001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa158015620007ba573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620007e4919081019062002bc6565b896001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000823573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e9919062002bff565b90506000836001600160a01b031663624488506040518060c001604052808c81526020018b6001600160a01b0316815260200160405180604001604052808b6001600160a01b03168152602001888152508152602001621e84808152602001600067ffffffffffffffff811115620008c557620008c5620025dc565b604051908082528060200260200182016040528015620008ef578160200160208202803683370190505b508152602001858152506040518263ffffffff1660e01b815260040162000917919062002c65565b6020604051808303816000875af115801562000937573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200095d919062002ce7565b60008a81526004602090815260408083206001600160a01b03808e16808652918452828520908d16808652935292819020805460ff1916600117905551929350918b907f3800d3f6af9e0e73fee531cb134766d3dae314dd340599073c396d9e5e8736bd90620009d09086815260200190565b60405180910390a450505050620009e76001600055565b5050505050565b620009f862001553565b62000a046000620015af565b565b6060600084848460405160200162000a219392919062002d01565b604051602081830303815290604052905060018160405160200162000a4892919062002ae7565b6040516020818303038152906040529150505b9392505050565b6001600160a01b031660009081526001602052604090205460ff1690565b60408051602081018890526001600160a01b0387811682840152868116606080840191909152908616608083015260a0820185905260c08083018590528351808403909101815260e08301909352919062000ae49060029083906101000162002ae7565b6040516020818303038152906040529150509695505050505050565b62000b0a62001194565b7f0000000000000000000000000000000000000000000000000000000000000000870362000b4c5760405162461bcd60e51b81526004016200046b9062002d25565b6001600160a01b03841662000b755760405162461bcd60e51b81526004016200046b9062002d6d565b6001600160a01b03861662000b9e5760405162461bcd60e51b81526004016200046b9062002b21565b6001600160a01b03851660009081526006602052604090205460ff161562000c895762000bcc818362002dc6565b831162000c2b5760405162461bcd60e51b815260206004820152602660248201527f45524332304272696467653a20696e73756666696369656e7420746f74616c20604482015265185b5bdd5b9d60d21b60648201526084016200046b565b62000c836040518060e00160405280898152602001886001600160a01b03168152602001876001600160a01b03168152602001866001600160a01b031681526020018581526020018481526020018381525062001601565b62000da0565b60008781526004602090815260408083206001600160a01b03808b168552908352818420908916845290915290205460ff1662000d1b5760405162461bcd60e51b815260206004820152602960248201527f45524332304272696467653a20696e76616c69642062726964676520746f6b656044820152686e206164647265737360b81b60648201526084016200046b565b600062000d298685620012f1565b905082811162000d8e5760405162461bcd60e51b815260206004820152602960248201527f45524332304272696467653a20696e73756666696369656e742061646a757374604482015268195908185b5bdd5b9d60ba1b60648201526084016200046b565b62000d9e888888888588620019ed565b505b62000dab6001600055565b50505050505050565b60025460405163260f846760e11b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634c1f08ce90602401602060405180830381865afa15801562000e1c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000e42919062002ce7565b101562000eab5760405162461bcd60e51b815260206004820152603060248201527f54656c65706f727465725570677261646561626c653a20696e76616c6964205460448201526f32b632b837b93a32b91039b2b73232b960811b60648201526084016200046b565b62000eb63362000a62565b1562000f1e5760405162461bcd60e51b815260206004820152603060248201527f54656c65706f727465725570677261646561626c653a2054656c65706f72746560448201526f1c881859191c995cdcc81c185d5cd95960821b60648201526084016200046b565b62000f61848484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525062001ca992505050565b50505050565b62000f7162001553565b6001600160a01b03811662000fd85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016200046b565b6200069a81620015af565b62000a0462001553565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c07f47d46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200104e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001074919062002ce7565b60025490915081831115620010e65760405162461bcd60e51b815260206004820152603160248201527f54656c65706f727465725570677261646561626c653a20696e76616c6964205460448201527032b632b837b93a32b9103b32b939b4b7b760791b60648201526084016200046b565b8083116200115d5760405162461bcd60e51b815260206004820152603f60248201527f54656c65706f727465725570677261646561626c653a206e6f7420677265617460448201527f6572207468616e2063757272656e74206d696e696d756d2076657273696f6e0060648201526084016200046b565b6002839055604051839082907fa9a7ef57e41f05b4c15480842f5f0c27edfcbb553fed281f7c4068452cc1c02d90600090a3505050565b600260005403620011e85760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016200046b565b6002600055565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d820e64f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001251573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001277919062002ddc565b9050620012848162000a62565b15620012ec5760405162461bcd60e51b815260206004820152603060248201527f54656c65706f727465725570677261646561626c653a2054656c65706f72746560448201526f1c881cd95b991a5b99c81c185d5cd95960821b60648201526084016200046b565b919050565b6040516370a0823160e01b815230600482015260009081906001600160a01b038516906370a0823190602401602060405180830381865afa1580156200133b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001361919062002ce7565b90506200137a6001600160a01b03851633308662001e27565b6040516370a0823160e01b81523060048201526000906001600160a01b038616906370a0823190602401602060405180830381865afa158015620013c2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620013e8919062002ce7565b9050818111620014505760405162461bcd60e51b815260206004820152602c60248201527f5361666545524332305472616e7366657246726f6d3a2062616c616e6365206e60448201526b1bdd081a5b98dc99585cd95960a21b60648201526084016200046b565b6200145c828262002dfc565b925050505b92915050565b604051636eb1769f60e11b81523060048201526001600160a01b038381166024830152600091839186169063dd62ed3e90604401602060405180830381865afa158015620014b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620014df919062002ce7565b620014eb919062002dc6565b6040516001600160a01b03851660248201526044810182905290915062000f6190859063095ea7b360e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915262001e4b565b6003546001600160a01b0316331462000a045760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200046b565b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60006200160d620011ef565b90506000808360a00151111562001650576200163283604001518460a00151620012f1565b604084015190915062001650906001600160a01b0316838362001467565b60008360a00151846080015162001668919062002dfc565b604085810151905163079cc67960e41b815233600482015260248101839052919250906001600160a01b038216906379cc679090604401600060405180830381600087803b158015620016ba57600080fd5b505af1158015620016cf573d6000803e3d6000fd5b505050506000816001600160a01b031663f72539686040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001714573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200173a919062002ce7565b90506000826001600160a01b0316631a0b79bf6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200177d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620017a3919062002ddc565b905081876000015103620017e957806001600160a01b031687602001516001600160a01b031614620017e95760405162461bcd60e51b81526004016200046b9062002e12565b60006200186f88600001518960200151866001600160a01b03166374d32ad46040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001838573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200185e919062002ddc565b8b60600151898d60c0015162000a80565b90506000876001600160a01b031663624488506040518060c00160405280878152602001866001600160a01b0316815260200160405180604001604052808e604001516001600160a01b031681526020018c8152508152602001620493e08152602001600067ffffffffffffffff811115620018ef57620018ef620025dc565b60405190808252806020026020018201604052801562001919578160200160208202803683370190505b508152602001858152506040518263ffffffff1660e01b815260040162001941919062002c65565b6020604051808303816000875af115801562001961573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001987919062002ce7565b90508089600001518a604001516001600160a01b03167f217c87a6d6d3d58781939a048638f7802a91151cc9eb573762b268bf8ec9c2578c602001518d606001518b604051620019da9392919062002d01565b60405180910390a4505050505050505050565b6001600160a01b03841660009081526006602052604090205460ff161562001a695760405162461bcd60e51b815260206004820152602860248201527f45524332304272696467653a2063616e6e6f742062726964676520777261707060448201526732b2103a37b5b2b760c11b60648201526084016200046b565b7f0000000000000000000000000000000000000000000000000000000000000000860362001aab5760405162461bcd60e51b81526004016200046b9062002d25565b600062001ab7620011ef565b9050811562001ad65762001ad66001600160a01b038616828462001467565b600062001ae4838562002dfc565b60008981526005602090815260408083206001600160a01b03808d168552908352818420908b16845290915281208054929350839290919062001b2990849062002dc6565b909155506000905062001b3e87878462000a06565b90506000836001600160a01b031663624488506040518060c001604052808d81526020018c6001600160a01b0316815260200160405180604001604052808d6001600160a01b031681526020018a815250815260200162030d408152602001600067ffffffffffffffff81111562001bba5762001bba620025dc565b60405190808252806020026020018201604052801562001be4578160200160208202803683370190505b508152602001858152506040518263ffffffff1660e01b815260040162001c0c919062002c65565b6020604051808303816000875af115801562001c2c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001c52919062002ce7565b9050808a896001600160a01b03167f217c87a6d6d3d58781939a048638f7802a91151cc9eb573762b268bf8ec9c2578c8b8860405162001c959392919062002d01565b60405180910390a450505050505050505050565b6000808280602001905181019062001cc2919062002e61565b9092509050600082600281111562001cde5762001cde62002ad1565b0362001d22576000806000808480602001905181019062001d00919062002ed0565b935093509350935062001d1889898686868662001f29565b50505050620009e7565b600182600281111562001d395762001d3962002ad1565b0362001d785760008060008380602001905181019062001d5a919062002f5a565b92509250925062001d6f888885858562002098565b505050620009e7565b600282600281111562001d8f5762001d8f62002ad1565b0362001dde576000806000806000808680602001905181019062001db4919062002fa2565b95509550955095509550955062001dd28b8b88888888888862002212565b505050505050620009e7565b60405162461bcd60e51b815260206004820152601b60248201527f45524332304272696467653a20696e76616c696420616374696f6e000000000060448201526064016200046b565b62000f61846323b872dd60e01b8585856040516024016200151b9392919062002d01565b600062001ea2826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316620023cb9092919063ffffffff16565b80519091501562001f24578080602001905181019062001ec3919062003012565b62001f245760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016200046b565b505050565b60008681526007602090815260408083206001600160a01b038981168552908352818420888216855290925290912054161562001fba5760405162461bcd60e51b815260206004820152602860248201527f45524332304272696467653a2062726964676520746f6b656e20616c72656164604482015267792065786973747360c01b60648201526084016200046b565b600086868686868660405162001fd09062002598565b62001fe19695949392919062003036565b604051809103906000f08015801562001ffe573d6000803e3d6000fd5b506001600160a01b038181166000818152600660209081526040808320805460ff191660011790558c8352600782528083208c8616808552908352818420958c168085529583529281902080546001600160a01b031916851790555192835293945091928a917fe1c61a845f79534e11924517ddbedc668d0c20e467eafb4d3bd2858e2815f3b5910160405180910390a450505050505050565b620020a262001194565b6001600160a01b038216620020cb5760405162461bcd60e51b81526004016200046b9062002d6d565b60008581526007602090815260408083206001600160a01b03808916855290835281842087821685529092529091205416806200215c5760405162461bcd60e51b815260206004820152602860248201527f45524332304272696467653a2062726964676520746f6b656e20646f6573206e6044820152671bdd08195e1a5cdd60c21b60648201526084016200046b565b6040516340c10f1960e01b81526001600160a01b038481166004830152602482018490528216906340c10f1990604401600060405180830381600087803b158015620021a757600080fd5b505af1158015620021bc573d6000803e3d6000fd5b5050604080516001600160a01b03878116825260208201879052851693507fc0767f158f0d5394b598489a51ed607cd55a8be2dcef113ba1626efcf4c6395492500160405180910390a250620009e76001600055565b6200221c62001194565b6001600160a01b038316620022455760405162461bcd60e51b81526004016200046b9062002d6d565b6001600160a01b0385166200226e5760405162461bcd60e51b81526004016200046b9062002b21565b60008881526005602090815260408083206001600160a01b03808c168552908352818420908816845290915290205482811015620022f95760405162461bcd60e51b815260206004820152602160248201527f45524332304272696467653a20696e73756666696369656e742062616c616e636044820152606560f81b60648201526084016200046b565b62002305838262002dfc565b60008a81526005602090815260408083206001600160a01b03808e168552908352818420908a1684529091529020557f00000000000000000000000000000000000000000000000000000000000000008703620023a4576001600160a01b0386163014620023875760405162461bcd60e51b81526004016200046b9062002e12565b6200239d6001600160a01b0386168585620023dc565b50620023b6565b620023b4878787878787620019ed565b505b620023c16001600055565b5050505050505050565b60606200058a84846000856200240e565b6040516001600160a01b03831660248201526044810182905262001f2490849063a9059cbb60e01b906064016200151b565b606082471015620024715760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016200046b565b600080866001600160a01b031685876040516200248f919062003095565b60006040518083038185875af1925050503d8060008114620024ce576040519150601f19603f3d011682016040523d82523d6000602084013e620024d3565b606091505b5091509150620024e687838387620024f1565b979650505050505050565b60608315620025655782516000036200255d576001600160a01b0385163b6200255d5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016200046b565b50816200058a565b6200058a83838151156200257c5781518083602001fd5b8060405162461bcd60e51b81526004016200046b9190620027a5565b61116880620030b483390190565b6001600160a01b03811681146200069a57600080fd5b600060208284031215620025cf57600080fd5b813562000a5b81620025a6565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156200261e576200261e620025dc565b604052919050565b600067ffffffffffffffff821115620026435762002643620025dc565b50601f01601f191660200190565b600082601f8301126200266357600080fd5b81356200267a620026748262002626565b620025f2565b8181528460208386010111156200269057600080fd5b816020850160208301376000918101602001919091529392505050565b60ff811681146200069a57600080fd5b60008060008060808587031215620026d457600080fd5b8435620026e181620025a6565b9350602085013567ffffffffffffffff80821115620026ff57600080fd5b6200270d8883890162002651565b945060408701359150808211156200272457600080fd5b50620027338782880162002651565b92505060608501356200274681620026ad565b939692955090935050565b60005b838110156200276e57818101518382015260200162002754565b50506000910152565b600081518084526200279181602086016020860162002751565b601f01601f19169290920160200192915050565b60208152600062000a5b602083018462002777565b600060208284031215620027cd57600080fd5b5035919050565b600080600060608486031215620027ea57600080fd5b833592506020840135620027fe81620025a6565b915060408401356200281081620025a6565b809150509250925092565b600080600080600060a086880312156200283457600080fd5b8535945060208601356200284881620025a6565b935060408601356200285a81620025a6565b925060608601356200286c81620025a6565b949793965091946080013592915050565b6000806000606084860312156200289357600080fd5b8335620028a081620025a6565b92506020840135620028b281620025a6565b929592945050506040919091013590565b60008060008060008060c08789031215620028dd57600080fd5b863595506020870135620028f181620025a6565b945060408701356200290381620025a6565b935060608701356200291581620025a6565b9598949750929560808101359460a0909101359350915050565b600080600080600080600060e0888a0312156200294b57600080fd5b8735965060208801356200295f81620025a6565b955060408801356200297181620025a6565b945060608801356200298381620025a6565b9699959850939660808101359560a0820135955060c0909101359350915050565b60008060008060608587031215620029bb57600080fd5b843593506020850135620029cf81620025a6565b9250604085013567ffffffffffffffff80821115620029ed57600080fd5b818701915087601f83011262002a0257600080fd5b81358181111562002a1257600080fd5b88602082850101111562002a2557600080fd5b95989497505060200194505050565b6020808252602e908201527f54656c65706f727465725570677261646561626c653a207a65726f2054656c6560408201526d706f72746572206164647265737360901b606082015260800190565b6001600160a01b038516815260806020820181905260009062002aa89083018662002777565b828103604084015262002abc818662002777565b91505060ff8316606083015295945050505050565b634e487b7160e01b600052602160045260246000fd5b60006003841062002b0857634e487b7160e01b600052602160045260246000fd5b838252604060208301526200058a604083018462002777565b6020808252602c908201527f45524332304272696467653a207a65726f2064657374696e6174696f6e20627260408201526b69646765206164647265737360a01b606082015260800190565b600062002b7e620026748462002626565b905082815283838301111562002b9357600080fd5b62000a5b83602083018462002751565b600082601f83011262002bb557600080fd5b62000a5b8383516020850162002b6d565b60006020828403121562002bd957600080fd5b815167ffffffffffffffff81111562002bf157600080fd5b6200058a8482850162002ba3565b60006020828403121562002c1257600080fd5b815162000a5b81620026ad565b600081518084526020808501945080840160005b8381101562002c5a5781516001600160a01b03168752958201959082019060010162002c33565b509495945050505050565b60208152815160208201526000602083015160018060a01b03808216604085015260408501519150808251166060850152506020810151608084015250606083015160a0830152608083015160e060c084015262002cc861010084018262002c1f565b905060a0840151601f198483030160e08501526200145c828262002777565b60006020828403121562002cfa57600080fd5b5051919050565b6001600160a01b039384168152919092166020820152604081019190915260600190565b60208082526028908201527f45524332304272696467653a2063616e6e6f742062726964676520746f20736160408201526736b29031b430b4b760c11b606082015260800190565b60208082526023908201527f45524332304272696467653a207a65726f20726563697069656e74206164647260408201526265737360e81b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b8082018082111562001461576200146162002db0565b60006020828403121562002def57600080fd5b815162000a5b81620025a6565b8181038181111562001461576200146162002db0565b6020808252602f908201527f45524332304272696467653a20696e76616c69642064657374696e6174696f6e60408201526e20627269646765206164647265737360881b606082015260800190565b6000806040838503121562002e7557600080fd5b82516003811062002e8557600080fd5b602084015190925067ffffffffffffffff81111562002ea357600080fd5b8301601f8101851362002eb557600080fd5b62002ec68582516020840162002b6d565b9150509250929050565b6000806000806080858703121562002ee757600080fd5b845162002ef481620025a6565b602086015190945067ffffffffffffffff8082111562002f1357600080fd5b62002f218883890162002ba3565b9450604087015191508082111562002f3857600080fd5b5062002f478782880162002ba3565b92505060608501516200274681620026ad565b60008060006060848603121562002f7057600080fd5b835162002f7d81620025a6565b602085015190935062002f9081620025a6565b80925050604084015190509250925092565b60008060008060008060c0878903121562002fbc57600080fd5b86519550602087015162002fd081620025a6565b604088015190955062002fe381620025a6565b606088015190945062002ff681620025a6565b809350506080870151915060a087015190509295509295509295565b6000602082840312156200302557600080fd5b8151801515811462000a5b57600080fd5b8681526001600160a01b0386811660208301528516604082015260c0606082018190526000906200306a9083018662002777565b82810360808401526200307e818662002777565b91505060ff831660a0830152979650505050505050565b60008251620030a981846020870162002751565b919091019291505056fe6101206040523480156200001257600080fd5b506040516200116838038062001168833981016040819052620000359162000292565b82826003620000458382620003d5565b506004620000548282620003d5565b50879150620000b690505760405162461bcd60e51b815260206004820152602160248201527f427269646765546f6b656e3a207a65726f20736f7572636520636861696e20696044820152601960fa1b60648201526084015b60405180910390fd5b6001600160a01b0385166200011e5760405162461bcd60e51b815260206004820152602760248201527f427269646765546f6b656e3a207a65726f20736f7572636520627269646765206044820152666164647265737360c81b6064820152608401620000ad565b6001600160a01b038416620001855760405162461bcd60e51b815260206004820152602660248201527f427269646765546f6b656e3a207a65726f20736f75726365206173736574206160448201526564647265737360d01b6064820152608401620000ad565b3360805260a09590955250506001600160a01b0391821660c0521660e05260ff1661010052620004a1565b80516001600160a01b0381168114620001c857600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620001f557600080fd5b81516001600160401b0380821115620002125762000212620001cd565b604051601f8301601f19908116603f011681019082821181831017156200023d576200023d620001cd565b816040528381526020925086838588010111156200025a57600080fd5b600091505b838210156200027e57858201830151818301840152908201906200025f565b600093810190920192909252949350505050565b60008060008060008060c08789031215620002ac57600080fd5b86519550620002be60208801620001b0565b9450620002ce60408801620001b0565b60608801519094506001600160401b0380821115620002ec57600080fd5b620002fa8a838b01620001e3565b945060808901519150808211156200031157600080fd5b506200032089828a01620001e3565b92505060a087015160ff811681146200033857600080fd5b809150509295509295509295565b600181811c908216806200035b57607f821691505b6020821081036200037c57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620003d057600081815260208120601f850160051c81016020861015620003ab5750805b601f850160051c820191505b81811015620003cc57828155600101620003b7565b5050505b505050565b81516001600160401b03811115620003f157620003f1620001cd565b620004098162000402845462000346565b8462000382565b602080601f831160018114620004415760008415620004285750858301515b600019600386901b1c1916600185901b178555620003cc565b600085815260208120601f198616915b82811015620004725788860151825594840194600190910190840162000451565b5085821015620004915787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a05160c05160e05161010051610c7b620004ed60003960006101c70152600061025a01526000610173015260006102fc0152600081816102c2015261041b0152610c7b6000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c806370a08231116100a2578063a457c2d711610071578063a457c2d714610297578063a9059cbb146102aa578063cd596583146102bd578063dd62ed3e146102e4578063f7253968146102f757600080fd5b806370a082311461022c57806374d32ad41461025557806379cc67901461027c57806395d89b411461028f57600080fd5b806323b872dd116100e957806323b872dd146101ad578063313ce567146101c057806339509351146101f157806340c10f191461020457806342966c681461021957600080fd5b806306fdde031461011b578063095ea7b31461013957806318160ddd1461015c5780631a0b79bf1461016e575b600080fd5b61012361031e565b6040516101309190610aac565b60405180910390f35b61014c610147366004610b16565b6103b0565b6040519015158152602001610130565b6002545b604051908152602001610130565b6101957f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610130565b61014c6101bb366004610b40565b6103ca565b60405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610130565b61014c6101ff366004610b16565b6103ee565b610217610212366004610b16565b610410565b005b610217610227366004610b7c565b61049b565b61016061023a366004610b95565b6001600160a01b031660009081526020819052604090205490565b6101957f000000000000000000000000000000000000000000000000000000000000000081565b61021761028a366004610b16565b6104a8565b6101236104bd565b61014c6102a5366004610b16565b6104cc565b61014c6102b8366004610b16565b610547565b6101957f000000000000000000000000000000000000000000000000000000000000000081565b6101606102f2366004610bb7565b610555565b6101607f000000000000000000000000000000000000000000000000000000000000000081565b60606003805461032d90610bea565b80601f016020809104026020016040519081016040528092919081815260200182805461035990610bea565b80156103a65780601f1061037b576101008083540402835291602001916103a6565b820191906000526020600020905b81548152906001019060200180831161038957829003601f168201915b5050505050905090565b6000336103be818585610580565b60019150505b92915050565b6000336103d88582856106a5565b6103e385858561071f565b506001949350505050565b6000336103be8185856104018383610555565b61040b9190610c24565b610580565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461048d5760405162461bcd60e51b815260206004820152601960248201527f427269646765546f6b656e3a20756e617574686f72697a65640000000000000060448201526064015b60405180910390fd5b61049782826108c3565b5050565b6104a53382610982565b50565b6104b38233836106a5565b6104978282610982565b60606004805461032d90610bea565b600033816104da8286610555565b90508381101561053a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610484565b6103e38286868403610580565b6000336103be81858561071f565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166105e25760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610484565b6001600160a01b0382166106435760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610484565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60006106b18484610555565b90506000198114610719578181101561070c5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610484565b6107198484848403610580565b50505050565b6001600160a01b0383166107835760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610484565b6001600160a01b0382166107e55760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610484565b6001600160a01b0383166000908152602081905260409020548181101561085d5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610484565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610719565b6001600160a01b0382166109195760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610484565b806002600082825461092b9190610c24565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6001600160a01b0382166109e25760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610484565b6001600160a01b03821660009081526020819052604090205481811015610a565760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610484565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610698565b600060208083528351808285015260005b81811015610ad957858101830151858201604001528201610abd565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610b1157600080fd5b919050565b60008060408385031215610b2957600080fd5b610b3283610afa565b946020939093013593505050565b600080600060608486031215610b5557600080fd5b610b5e84610afa565b9250610b6c60208501610afa565b9150604084013590509250925092565b600060208284031215610b8e57600080fd5b5035919050565b600060208284031215610ba757600080fd5b610bb082610afa565b9392505050565b60008060408385031215610bca57600080fd5b610bd383610afa565b9150610be160208401610afa565b90509250929050565b600181811c90821680610bfe57607f821691505b602082108103610c1e57634e487b7160e01b600052602260045260246000fd5b50919050565b808201808211156103c457634e487b7160e01b600052601160045260246000fdfea2646970667358221220fbb944f7f95047b4299f75db28938d3bcf2b5c0c912d7ac944940616ebf3988e64736f6c63430008120033a2646970667358221220ba4b90ea3d1eb54e5c67017b81df40d8165aaacdf80856db6b03b964f779e3e664736f6c63430008120033", } // ERC20BridgeABI is the input ABI used to generate the binding from. diff --git a/abi-bindings/go/CrossChainApplications/examples/ExampleMessenger/ExampleCrossChainMessenger/ExampleCrossChainMessenger.go b/abi-bindings/go/CrossChainApplications/examples/ExampleMessenger/ExampleCrossChainMessenger/ExampleCrossChainMessenger.go index 2fbc3b25b..2bb008709 100644 --- a/abi-bindings/go/CrossChainApplications/examples/ExampleMessenger/ExampleCrossChainMessenger/ExampleCrossChainMessenger.go +++ b/abi-bindings/go/CrossChainApplications/examples/ExampleMessenger/ExampleCrossChainMessenger/ExampleCrossChainMessenger.go @@ -32,7 +32,7 @@ var ( // ExampleCrossChainMessengerMetaData contains all meta data concerning the ExampleCrossChainMessenger contract. var ExampleCrossChainMessengerMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"teleporterRegistryAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"oldMinTeleporterVersion\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"newMinTeleporterVersion\",\"type\":\"uint256\"}],\"name\":\"MinTeleporterVersionUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"originBlockchainID\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"originSenderAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"message\",\"type\":\"string\"}],\"name\":\"ReceiveMessage\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"destinationBlockchainID\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"destinationAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"feeTokenAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"feeAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"requiredGasLimit\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"message\",\"type\":\"string\"}],\"name\":\"SendMessage\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"teleporterAddress\",\"type\":\"address\"}],\"name\":\"TeleporterAddressPaused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"teleporterAddress\",\"type\":\"address\"}],\"name\":\"TeleporterAddressUnpaused\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"originBlockchainID\",\"type\":\"bytes32\"}],\"name\":\"getCurrentMessage\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMinTeleporterVersion\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"teleporterAddress\",\"type\":\"address\"}],\"name\":\"isTeleporterAddressPaused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"teleporterAddress\",\"type\":\"address\"}],\"name\":\"pauseTeleporterAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"originBlockchainID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"originSenderAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"}],\"name\":\"receiveTeleporterMessage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"destinationBlockchainID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"destinationAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"feeTokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"feeAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"requiredGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"message\",\"type\":\"string\"}],\"name\":\"sendMessage\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"teleporterRegistry\",\"outputs\":[{\"internalType\":\"contractTeleporterRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"teleporterAddress\",\"type\":\"address\"}],\"name\":\"unpauseTeleporterAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"version\",\"type\":\"uint256\"}],\"name\":\"updateMinTeleporterVersion\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", - Bin: "0x60a06040523480156200001157600080fd5b5060405162001a7338038062001a73833981016040819052620000349162000196565b600160005580806001600160a01b038116620000bc5760405162461bcd60e51b815260206004820152603760248201527f54656c65706f727465725570677261646561626c653a207a65726f2074656c6560448201527f706f727465722072656769737472792061646472657373000000000000000000606482015260840160405180910390fd5b6001600160a01b03811660808190526040805163301fd1f560e21b8152905163c07f47d4916004808201926020929091908290030181865afa15801562000107573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200012d9190620001c8565b600255506200013c3362000144565b5050620001e2565b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600060208284031215620001a957600080fd5b81516001600160a01b0381168114620001c157600080fd5b9392505050565b600060208284031215620001db57600080fd5b5051919050565b608051611861620002126000396000818160be015281816104f2015281816108ca0152610c2801526118616000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806397314297116100715780639731429714610151578063b33fead414610174578063c868efaa14610195578063d2cc7a70146101a8578063f2fde38b146101ba578063f63d09d7146101cd57600080fd5b80631a7f5bec146100b95780632b0d8f18146100fd5780634511243e146101125780635eb9951414610125578063715018a6146101385780638da5cb5b14610140575b600080fd5b6100e07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61011061010b366004611211565b6101e0565b005b610110610120366004611211565b6102d2565b610110610133366004611235565b6103bc565b6101106103d0565b6003546001600160a01b03166100e0565b61016461015f366004611211565b6103e4565b60405190151581526020016100f4565b610187610182366004611235565b610402565b6040516100f492919061129e565b6101106101a336600461130b565b6104da565b6002545b6040519081526020016100f4565b6101106101c8366004611211565b610682565b6101ac6101db366004611367565b6106f8565b6101e86108be565b6001600160a01b0381166102175760405162461bcd60e51b815260040161020e906113ed565b60405180910390fd5b610220816103e4565b156102835760405162461bcd60e51b815260206004820152602d60248201527f54656c65706f727465725570677261646561626c653a2061646472657373206160448201526c1b1c9958591e481c185d5cd959609a1b606482015260840161020e565b6001600160a01b0381166000818152600160208190526040808320805460ff1916909217909155517f933f93e57a222e6330362af8b376d0a8725b6901e9a2fb86d00f169702b28a4c9190a250565b6102da6108be565b6001600160a01b0381166103005760405162461bcd60e51b815260040161020e906113ed565b610309816103e4565b6103675760405162461bcd60e51b815260206004820152602960248201527f54656c65706f727465725570677261646561626c653a2061646472657373206e6044820152681bdd081c185d5cd95960ba1b606482015260840161020e565b6040516001600160a01b038216907f844e2f3154214672229235858fd029d1dfd543901c6d05931f0bc2480a2d72c390600090a26001600160a01b03166000908152600160205260409020805460ff19169055565b6103c46108be565b6103cd816108c6565b50565b6103d8610a66565b6103e26000610ac0565b565b6001600160a01b031660009081526001602052604090205460ff1690565b6000818152600460209081526040808320815180830190925280546001600160a01b0316825260018101805460609486949392908401916104429061143b565b80601f016020809104026020016040519081016040528092919081815260200182805461046e9061143b565b80156104bb5780601f10610490576101008083540402835291602001916104bb565b820191906000526020600020905b81548152906001019060200180831161049e57829003601f168201915b5050505050815250509050806000015181602001519250925050915091565b60025460405163260f846760e11b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634c1f08ce90602401602060405180830381865afa158015610541573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105659190611475565b10156105cc5760405162461bcd60e51b815260206004820152603060248201527f54656c65706f727465725570677261646561626c653a20696e76616c6964205460448201526f32b632b837b93a32b91039b2b73232b960811b606482015260840161020e565b6105d5336103e4565b1561063b5760405162461bcd60e51b815260206004820152603060248201527f54656c65706f727465725570677261646561626c653a2054656c65706f72746560448201526f1c881859191c995cdcc81c185d5cd95960821b606482015260840161020e565b61067c848484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610b1292505050565b50505050565b61068a610a66565b6001600160a01b0381166106ef5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161020e565b6103cd81610ac0565b6000610702610bca565b600061070c610c23565b905060008615610736576107208888610d1e565b90506107366001600160a01b0389168383610e88565b886001600160a01b03168a7fa06eff1edd0c66b8dc96d086dda7ba263edf88d7417e6cb15073b5e7bff8a8ca8a848a8a8a6040516107789594939291906114b7565b60405180910390a3816001600160a01b031663624488506040518060c001604052808d81526020018c6001600160a01b0316815260200160405180604001604052808d6001600160a01b03168152602001868152508152602001898152602001600067ffffffffffffffff8111156107f2576107f26114e5565b60405190808252806020026020018201604052801561081b578160200160208202803683370190505b50815260200188886040516020016108349291906114fb565b6040516020818303038152906040528152506040518263ffffffff1660e01b81526004016108629190611553565b6020604051808303816000875af1158015610881573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a59190611475565b925050506108b36001600055565b979650505050505050565b6103e2610a66565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c07f47d46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610926573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094a9190611475565b600254909150818311156109ba5760405162461bcd60e51b815260206004820152603160248201527f54656c65706f727465725570677261646561626c653a20696e76616c6964205460448201527032b632b837b93a32b9103b32b939b4b7b760791b606482015260840161020e565b808311610a2f5760405162461bcd60e51b815260206004820152603f60248201527f54656c65706f727465725570677261646561626c653a206e6f7420677265617460448201527f6572207468616e2063757272656e74206d696e696d756d2076657273696f6e00606482015260840161020e565b6002839055604051839082907fa9a7ef57e41f05b4c15480842f5f0c27edfcbb553fed281f7c4068452cc1c02d90600090a3505050565b6003546001600160a01b031633146103e25760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161020e565b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600081806020019051810190610b2891906115d1565b6040805180820182526001600160a01b038681168252602080830185815260008a81526004909252939020825181546001600160a01b03191692169190911781559151929350916001820190610b7e90826116c1565b50905050826001600160a01b0316847f1f5c800b5f2b573929a7948f82a199c2a212851b53a6c5bd703ece23999d24aa83604051610bbc9190611781565b60405180910390a350505050565b600260005403610c1c5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161020e565b6002600055565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d820e64f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca89190611794565b9050610cb3816103e4565b15610d195760405162461bcd60e51b815260206004820152603060248201527f54656c65706f727465725570677261646561626c653a2054656c65706f72746560448201526f1c881cd95b991a5b99c81c185d5cd95960821b606482015260840161020e565b919050565b6040516370a0823160e01b815230600482015260009081906001600160a01b038516906370a0823190602401602060405180830381865afa158015610d67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8b9190611475565b9050610da26001600160a01b038516333086610f6d565b6040516370a0823160e01b81523060048201526000906001600160a01b038616906370a0823190602401602060405180830381865afa158015610de9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0d9190611475565b9050818111610e735760405162461bcd60e51b815260206004820152602c60248201527f5361666545524332305472616e7366657246726f6d3a2062616c616e6365206e60448201526b1bdd081a5b98dc99585cd95960a21b606482015260840161020e565b610e7d82826117c7565b925050505b92915050565b604051636eb1769f60e11b81523060048201526001600160a01b038381166024830152600091839186169063dd62ed3e90604401602060405180830381865afa158015610ed9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efd9190611475565b610f0791906117da565b6040516001600160a01b03851660248201526044810182905290915061067c90859063095ea7b360e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610fa5565b6040516001600160a01b038085166024830152831660448201526064810182905261067c9085906323b872dd60e01b90608401610f36565b6000610ffa826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661107c9092919063ffffffff16565b805190915015611077578080602001905181019061101891906117ed565b6110775760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161020e565b505050565b606061108b8484600085611093565b949350505050565b6060824710156110f45760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161020e565b600080866001600160a01b03168587604051611110919061180f565b60006040518083038185875af1925050503d806000811461114d576040519150601f19603f3d011682016040523d82523d6000602084013e611152565b606091505b50915091506108b387838387606083156111cd5782516000036111c6576001600160a01b0385163b6111c65760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161020e565b508161108b565b61108b83838151156111e25781518083602001fd5b8060405162461bcd60e51b815260040161020e9190611781565b6001600160a01b03811681146103cd57600080fd5b60006020828403121561122357600080fd5b813561122e816111fc565b9392505050565b60006020828403121561124757600080fd5b5035919050565b60005b83811015611269578181015183820152602001611251565b50506000910152565b6000815180845261128a81602086016020860161124e565b601f01601f19169290920160200192915050565b6001600160a01b038316815260406020820181905260009061108b90830184611272565b60008083601f8401126112d457600080fd5b50813567ffffffffffffffff8111156112ec57600080fd5b60208301915083602082850101111561130457600080fd5b9250929050565b6000806000806060858703121561132157600080fd5b843593506020850135611333816111fc565b9250604085013567ffffffffffffffff81111561134f57600080fd5b61135b878288016112c2565b95989497509550505050565b600080600080600080600060c0888a03121561138257600080fd5b873596506020880135611394816111fc565b955060408801356113a4816111fc565b9450606088013593506080880135925060a088013567ffffffffffffffff8111156113ce57600080fd5b6113da8a828b016112c2565b989b979a50959850939692959293505050565b6020808252602e908201527f54656c65706f727465725570677261646561626c653a207a65726f2054656c6560408201526d706f72746572206164647265737360901b606082015260800190565b600181811c9082168061144f57607f821691505b60208210810361146f57634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561148757600080fd5b5051919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60018060a01b03861681528460208201528360408201526080606082015260006108b360808301848661148e565b634e487b7160e01b600052604160045260246000fd5b60208152600061108b60208301848661148e565b600081518084526020808501945080840160005b838110156115485781516001600160a01b031687529582019590820190600101611523565b509495945050505050565b60208152815160208201526000602083015160018060a01b03808216604085015260408501519150808251166060850152506020810151608084015250606083015160a0830152608083015160e060c08401526115b461010084018261150f565b905060a0840151601f198483030160e0850152610e7d8282611272565b6000602082840312156115e357600080fd5b815167ffffffffffffffff808211156115fb57600080fd5b818401915084601f83011261160f57600080fd5b815181811115611621576116216114e5565b604051601f8201601f19908116603f01168101908382118183101715611649576116496114e5565b8160405282815287602084870101111561166257600080fd5b6108b383602083016020880161124e565b601f82111561107757600081815260208120601f850160051c8101602086101561169a5750805b601f850160051c820191505b818110156116b9578281556001016116a6565b505050505050565b815167ffffffffffffffff8111156116db576116db6114e5565b6116ef816116e9845461143b565b84611673565b602080601f831160018114611724576000841561170c5750858301515b600019600386901b1c1916600185901b1785556116b9565b600085815260208120601f198616915b8281101561175357888601518255948401946001909101908401611734565b50858210156117715787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208152600061122e6020830184611272565b6000602082840312156117a657600080fd5b815161122e816111fc565b634e487b7160e01b600052601160045260246000fd5b81810381811115610e8257610e826117b1565b80820180821115610e8257610e826117b1565b6000602082840312156117ff57600080fd5b8151801515811461122e57600080fd5b6000825161182181846020870161124e565b919091019291505056fea264697066735822122019ff290147f6eb4b44f991259f098f9373f790facbf4fca22df37904efca68e264736f6c63430008120033", + Bin: "0x60a06040523480156200001157600080fd5b5060405162001a7338038062001a73833981016040819052620000349162000196565b600160005580806001600160a01b038116620000bc5760405162461bcd60e51b815260206004820152603760248201527f54656c65706f727465725570677261646561626c653a207a65726f2074656c6560448201527f706f727465722072656769737472792061646472657373000000000000000000606482015260840160405180910390fd5b6001600160a01b03811660808190526040805163301fd1f560e21b8152905163c07f47d4916004808201926020929091908290030181865afa15801562000107573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200012d9190620001c8565b600255506200013c3362000144565b5050620001e2565b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600060208284031215620001a957600080fd5b81516001600160a01b0381168114620001c157600080fd5b9392505050565b600060208284031215620001db57600080fd5b5051919050565b608051611861620002126000396000818160be015281816104f2015281816108ca0152610c2801526118616000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806397314297116100715780639731429714610151578063b33fead414610174578063c868efaa14610195578063d2cc7a70146101a8578063f2fde38b146101ba578063f63d09d7146101cd57600080fd5b80631a7f5bec146100b95780632b0d8f18146100fd5780634511243e146101125780635eb9951414610125578063715018a6146101385780638da5cb5b14610140575b600080fd5b6100e07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61011061010b366004611211565b6101e0565b005b610110610120366004611211565b6102d2565b610110610133366004611235565b6103bc565b6101106103d0565b6003546001600160a01b03166100e0565b61016461015f366004611211565b6103e4565b60405190151581526020016100f4565b610187610182366004611235565b610402565b6040516100f492919061129e565b6101106101a336600461130b565b6104da565b6002545b6040519081526020016100f4565b6101106101c8366004611211565b610682565b6101ac6101db366004611367565b6106f8565b6101e86108be565b6001600160a01b0381166102175760405162461bcd60e51b815260040161020e906113ed565b60405180910390fd5b610220816103e4565b156102835760405162461bcd60e51b815260206004820152602d60248201527f54656c65706f727465725570677261646561626c653a2061646472657373206160448201526c1b1c9958591e481c185d5cd959609a1b606482015260840161020e565b6001600160a01b0381166000818152600160208190526040808320805460ff1916909217909155517f933f93e57a222e6330362af8b376d0a8725b6901e9a2fb86d00f169702b28a4c9190a250565b6102da6108be565b6001600160a01b0381166103005760405162461bcd60e51b815260040161020e906113ed565b610309816103e4565b6103675760405162461bcd60e51b815260206004820152602960248201527f54656c65706f727465725570677261646561626c653a2061646472657373206e6044820152681bdd081c185d5cd95960ba1b606482015260840161020e565b6040516001600160a01b038216907f844e2f3154214672229235858fd029d1dfd543901c6d05931f0bc2480a2d72c390600090a26001600160a01b03166000908152600160205260409020805460ff19169055565b6103c46108be565b6103cd816108c6565b50565b6103d8610a66565b6103e26000610ac0565b565b6001600160a01b031660009081526001602052604090205460ff1690565b6000818152600460209081526040808320815180830190925280546001600160a01b0316825260018101805460609486949392908401916104429061143b565b80601f016020809104026020016040519081016040528092919081815260200182805461046e9061143b565b80156104bb5780601f10610490576101008083540402835291602001916104bb565b820191906000526020600020905b81548152906001019060200180831161049e57829003601f168201915b5050505050815250509050806000015181602001519250925050915091565b60025460405163260f846760e11b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634c1f08ce90602401602060405180830381865afa158015610541573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105659190611475565b10156105cc5760405162461bcd60e51b815260206004820152603060248201527f54656c65706f727465725570677261646561626c653a20696e76616c6964205460448201526f32b632b837b93a32b91039b2b73232b960811b606482015260840161020e565b6105d5336103e4565b1561063b5760405162461bcd60e51b815260206004820152603060248201527f54656c65706f727465725570677261646561626c653a2054656c65706f72746560448201526f1c881859191c995cdcc81c185d5cd95960821b606482015260840161020e565b61067c848484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610b1292505050565b50505050565b61068a610a66565b6001600160a01b0381166106ef5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161020e565b6103cd81610ac0565b6000610702610bca565b600061070c610c23565b905060008615610736576107208888610d1e565b90506107366001600160a01b0389168383610e88565b886001600160a01b03168a7fa06eff1edd0c66b8dc96d086dda7ba263edf88d7417e6cb15073b5e7bff8a8ca8a848a8a8a6040516107789594939291906114b7565b60405180910390a3816001600160a01b031663624488506040518060c001604052808d81526020018c6001600160a01b0316815260200160405180604001604052808d6001600160a01b03168152602001868152508152602001898152602001600067ffffffffffffffff8111156107f2576107f26114e5565b60405190808252806020026020018201604052801561081b578160200160208202803683370190505b50815260200188886040516020016108349291906114fb565b6040516020818303038152906040528152506040518263ffffffff1660e01b81526004016108629190611553565b6020604051808303816000875af1158015610881573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a59190611475565b925050506108b36001600055565b979650505050505050565b6103e2610a66565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c07f47d46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610926573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094a9190611475565b600254909150818311156109ba5760405162461bcd60e51b815260206004820152603160248201527f54656c65706f727465725570677261646561626c653a20696e76616c6964205460448201527032b632b837b93a32b9103b32b939b4b7b760791b606482015260840161020e565b808311610a2f5760405162461bcd60e51b815260206004820152603f60248201527f54656c65706f727465725570677261646561626c653a206e6f7420677265617460448201527f6572207468616e2063757272656e74206d696e696d756d2076657273696f6e00606482015260840161020e565b6002839055604051839082907fa9a7ef57e41f05b4c15480842f5f0c27edfcbb553fed281f7c4068452cc1c02d90600090a3505050565b6003546001600160a01b031633146103e25760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161020e565b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600081806020019051810190610b2891906115d1565b6040805180820182526001600160a01b038681168252602080830185815260008a81526004909252939020825181546001600160a01b03191692169190911781559151929350916001820190610b7e90826116c1565b50905050826001600160a01b0316847f1f5c800b5f2b573929a7948f82a199c2a212851b53a6c5bd703ece23999d24aa83604051610bbc9190611781565b60405180910390a350505050565b600260005403610c1c5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161020e565b6002600055565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d820e64f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca89190611794565b9050610cb3816103e4565b15610d195760405162461bcd60e51b815260206004820152603060248201527f54656c65706f727465725570677261646561626c653a2054656c65706f72746560448201526f1c881cd95b991a5b99c81c185d5cd95960821b606482015260840161020e565b919050565b6040516370a0823160e01b815230600482015260009081906001600160a01b038516906370a0823190602401602060405180830381865afa158015610d67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8b9190611475565b9050610da26001600160a01b038516333086610f6d565b6040516370a0823160e01b81523060048201526000906001600160a01b038616906370a0823190602401602060405180830381865afa158015610de9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0d9190611475565b9050818111610e735760405162461bcd60e51b815260206004820152602c60248201527f5361666545524332305472616e7366657246726f6d3a2062616c616e6365206e60448201526b1bdd081a5b98dc99585cd95960a21b606482015260840161020e565b610e7d82826117c7565b925050505b92915050565b604051636eb1769f60e11b81523060048201526001600160a01b038381166024830152600091839186169063dd62ed3e90604401602060405180830381865afa158015610ed9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efd9190611475565b610f0791906117da565b6040516001600160a01b03851660248201526044810182905290915061067c90859063095ea7b360e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610fa5565b6040516001600160a01b038085166024830152831660448201526064810182905261067c9085906323b872dd60e01b90608401610f36565b6000610ffa826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661107c9092919063ffffffff16565b805190915015611077578080602001905181019061101891906117ed565b6110775760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161020e565b505050565b606061108b8484600085611093565b949350505050565b6060824710156110f45760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161020e565b600080866001600160a01b03168587604051611110919061180f565b60006040518083038185875af1925050503d806000811461114d576040519150601f19603f3d011682016040523d82523d6000602084013e611152565b606091505b50915091506108b387838387606083156111cd5782516000036111c6576001600160a01b0385163b6111c65760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161020e565b508161108b565b61108b83838151156111e25781518083602001fd5b8060405162461bcd60e51b815260040161020e9190611781565b6001600160a01b03811681146103cd57600080fd5b60006020828403121561122357600080fd5b813561122e816111fc565b9392505050565b60006020828403121561124757600080fd5b5035919050565b60005b83811015611269578181015183820152602001611251565b50506000910152565b6000815180845261128a81602086016020860161124e565b601f01601f19169290920160200192915050565b6001600160a01b038316815260406020820181905260009061108b90830184611272565b60008083601f8401126112d457600080fd5b50813567ffffffffffffffff8111156112ec57600080fd5b60208301915083602082850101111561130457600080fd5b9250929050565b6000806000806060858703121561132157600080fd5b843593506020850135611333816111fc565b9250604085013567ffffffffffffffff81111561134f57600080fd5b61135b878288016112c2565b95989497509550505050565b600080600080600080600060c0888a03121561138257600080fd5b873596506020880135611394816111fc565b955060408801356113a4816111fc565b9450606088013593506080880135925060a088013567ffffffffffffffff8111156113ce57600080fd5b6113da8a828b016112c2565b989b979a50959850939692959293505050565b6020808252602e908201527f54656c65706f727465725570677261646561626c653a207a65726f2054656c6560408201526d706f72746572206164647265737360901b606082015260800190565b600181811c9082168061144f57607f821691505b60208210810361146f57634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561148757600080fd5b5051919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60018060a01b03861681528460208201528360408201526080606082015260006108b360808301848661148e565b634e487b7160e01b600052604160045260246000fd5b60208152600061108b60208301848661148e565b600081518084526020808501945080840160005b838110156115485781516001600160a01b031687529582019590820190600101611523565b509495945050505050565b60208152815160208201526000602083015160018060a01b03808216604085015260408501519150808251166060850152506020810151608084015250606083015160a0830152608083015160e060c08401526115b461010084018261150f565b905060a0840151601f198483030160e0850152610e7d8282611272565b6000602082840312156115e357600080fd5b815167ffffffffffffffff808211156115fb57600080fd5b818401915084601f83011261160f57600080fd5b815181811115611621576116216114e5565b604051601f8201601f19908116603f01168101908382118183101715611649576116496114e5565b8160405282815287602084870101111561166257600080fd5b6108b383602083016020880161124e565b601f82111561107757600081815260208120601f850160051c8101602086101561169a5750805b601f850160051c820191505b818110156116b9578281556001016116a6565b505050505050565b815167ffffffffffffffff8111156116db576116db6114e5565b6116ef816116e9845461143b565b84611673565b602080601f831160018114611724576000841561170c5750858301515b600019600386901b1c1916600185901b1785556116b9565b600085815260208120601f198616915b8281101561175357888601518255948401946001909101908401611734565b50858210156117715787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208152600061122e6020830184611272565b6000602082840312156117a657600080fd5b815161122e816111fc565b634e487b7160e01b600052601160045260246000fd5b81810381811115610e8257610e826117b1565b80820180821115610e8257610e826117b1565b6000602082840312156117ff57600080fd5b8151801515811461122e57600080fd5b6000825161182181846020870161124e565b919091019291505056fea264697066735822122019d0aafe6f3639a7056c2bb44e02b26aa41923af7c7a2c9a4ac15325e4cd945164736f6c63430008120033", } // ExampleCrossChainMessengerABI is the input ABI used to generate the binding from. diff --git a/abi-bindings/go/CrossChainApplications/examples/NativeTokenBridge/ERC20TokenSource/ERC20TokenSource.go b/abi-bindings/go/CrossChainApplications/examples/NativeTokenBridge/ERC20TokenSource/ERC20TokenSource.go index 93e05bd81..974099ea1 100644 --- a/abi-bindings/go/CrossChainApplications/examples/NativeTokenBridge/ERC20TokenSource/ERC20TokenSource.go +++ b/abi-bindings/go/CrossChainApplications/examples/NativeTokenBridge/ERC20TokenSource/ERC20TokenSource.go @@ -32,7 +32,7 @@ var ( // ERC20TokenSourceMetaData contains all meta data concerning the ERC20TokenSource contract. var ERC20TokenSourceMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"teleporterRegistryAddress\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"destinationBlockchainID_\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"nativeTokenDestinationAddress_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"erc20ContractAddress_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"BurnTokens\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"oldMinTeleporterVersion\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"newMinTeleporterVersion\",\"type\":\"uint256\"}],\"name\":\"MinTeleporterVersionUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"teleporterAddress\",\"type\":\"address\"}],\"name\":\"TeleporterAddressPaused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"teleporterAddress\",\"type\":\"address\"}],\"name\":\"TeleporterAddressUnpaused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"teleporterMessageID\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TransferToDestination\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"UnlockTokens\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BURNED_TX_FEES_ADDRESS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINT_NATIVE_TOKENS_REQUIRED_GAS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"destinationBlockchainID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"destinationBurnedTotal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"erc20ContractAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMinTeleporterVersion\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"teleporterAddress\",\"type\":\"address\"}],\"name\":\"isTeleporterAddressPaused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nativeTokenDestinationAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"teleporterAddress\",\"type\":\"address\"}],\"name\":\"pauseTeleporterAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"originBlockchainID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"originSenderAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"}],\"name\":\"receiveTeleporterMessage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"teleporterRegistry\",\"outputs\":[{\"internalType\":\"contractTeleporterRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"totalAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"feeAmount\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"allowedRelayerAddresses\",\"type\":\"address[]\"}],\"name\":\"transferToDestination\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"teleporterAddress\",\"type\":\"address\"}],\"name\":\"unpauseTeleporterAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"version\",\"type\":\"uint256\"}],\"name\":\"updateMinTeleporterVersion\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", - Bin: "0x6101006040523480156200001257600080fd5b506040516200200a3803806200200a8339810160408190526200003591620003f0565b83806001600160a01b038116620000b95760405162461bcd60e51b815260206004820152603760248201527f54656c65706f727465725570677261646561626c653a207a65726f2074656c6560448201527f706f72746572207265676973747279206164647265737300000000000000000060648201526084015b60405180910390fd5b6001600160a01b03811660808190526040805163301fd1f560e21b8152905163c07f47d4916004808201926020929091908290030181865afa15801562000104573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200012a919062000444565b60015550620001393362000381565b50600160035582620001965760405162461bcd60e51b8152602060048201526030602482015260008051602062001fea83398151915260448201526f1bdb88189b1bd8dad8da185a5b88125160821b6064820152608401620000b0565b7302000000000000000000000000000000000000056001600160a01b0316634213cf786040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001e9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200020f919062000444565b8303620002855760405162461bcd60e51b815260206004820152603460248201527f4552433230546f6b656e536f757263653a2063616e6e6f74206272696467652060448201527f776974682073616d6520626c6f636b636861696e0000000000000000000000006064820152608401620000b0565b60a08390526001600160a01b038216620002f75760405162461bcd60e51b8152602060048201526033602482015260008051602062001fea83398151915260448201527f6f6e20636f6e74726163742061646472657373000000000000000000000000006064820152608401620000b0565b6001600160a01b0380831660c05281166200036b5760405162461bcd60e51b815260206004820152602d60248201527f4552433230546f6b656e536f757263653a207a65726f20455243323020636f6e60448201526c7472616374206164647265737360981b6064820152608401620000b0565b6001600160a01b031660e052506200045e915050565b600280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b0381168114620003eb57600080fd5b919050565b600080600080608085870312156200040757600080fd5b6200041285620003d3565b9350602085015192506200042960408601620003d3565b91506200043960608601620003d3565b905092959194509250565b6000602082840312156200045757600080fd5b5051919050565b60805160a05160c05160e051611afe620004ec60003960008181610278015281816104ef015281816105870152818161063901528181611351015261142501526000818161022b015281816105ff015261105f01526000818161016e015281816105d90152610fdc015260008181610115015281816107dd015281816109ef0152610c950152611afe6000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c80638da5cb5b116100a2578063c452165e11610071578063c452165e1461024d578063c868efaa14610258578063d2cc7a701461026b578063e486df1514610273578063f2fde38b1461029a57600080fd5b80638da5cb5b146101e857806397314297146101f9578063b6171f731461021c578063b8c9091a1461022657600080fd5b806355db3e9e116100de57806355db3e9e146101b15780635eb99514146101ba578063715018a6146101cd57806387a2edba146101d557600080fd5b80631a7f5bec146101105780632b0d8f181461015457806341d3014d146101695780634511243e1461019e575b600080fd5b6101377f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6101676101623660046115dd565b6102ad565b005b6101907f000000000000000000000000000000000000000000000000000000000000000081565b60405190815260200161014b565b6101676101ac3660046115dd565b61039c565b61019060045481565b6101676101c8366004611601565b610486565b61016761049a565b6101676101e336600461161a565b6104ae565b6002546001600160a01b0316610137565b61020c6102073660046115dd565b6107a7565b604051901515815260200161014b565b610190620186a081565b6101377f000000000000000000000000000000000000000000000000000000000000000081565b610137600160981b81565b6101676102663660046116b3565b6107c5565b600154610190565b6101377f000000000000000000000000000000000000000000000000000000000000000081565b6101676102a83660046115dd565b61096d565b6102b56109e3565b6001600160a01b0381166102e45760405162461bcd60e51b81526004016102db9061173c565b60405180910390fd5b6102ed816107a7565b156103505760405162461bcd60e51b815260206004820152602d60248201527f54656c65706f727465725570677261646561626c653a2061646472657373206160448201526c1b1c9958591e481c185d5cd959609a1b60648201526084016102db565b6001600160a01b038116600081815260208190526040808220805460ff19166001179055517f933f93e57a222e6330362af8b376d0a8725b6901e9a2fb86d00f169702b28a4c9190a250565b6103a46109e3565b6001600160a01b0381166103ca5760405162461bcd60e51b81526004016102db9061173c565b6103d3816107a7565b6104315760405162461bcd60e51b815260206004820152602960248201527f54656c65706f727465725570677261646561626c653a2061646472657373206e6044820152681bdd081c185d5cd95960ba1b60648201526084016102db565b6040516001600160a01b038216907f844e2f3154214672229235858fd029d1dfd543901c6d05931f0bc2480a2d72c390600090a26001600160a01b03166000908152602081905260409020805460ff19169055565b61048e6109e3565b610497816109eb565b50565b6104a2610b8b565b6104ac6000610be5565b565b6104b6610c37565b60006104c0610c90565b90506001600160a01b0386166104e85760405162461bcd60e51b81526004016102db9061178a565b60006105147f000000000000000000000000000000000000000000000000000000000000000087610d8b565b905084811161057c5760405162461bcd60e51b815260206004820152602e60248201527f4552433230546f6b656e536f757263653a20696e73756666696369656e74206160448201526d191a9d5cdd195908185b5bdd5b9d60921b60648201526084016102db565b84156105ad576105ad7f00000000000000000000000000000000000000000000000000000000000000008387610ef5565b60006105b986836117e8565b90506000836001600160a01b031663624488506040518060c001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316815260200160405180604001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020018c8152508152602001620186a08152602001898980806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250505090825250604080516001600160a01b038f166020808301919091529181018890529101906060016040516020818303038152906040528152506040518263ffffffff1660e01b81526004016106ff919061188f565b6020604051808303816000875af115801561071e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610742919061190d565b905080896001600160a01b0316336001600160a01b03167f6cf14fdf618c440df3de7de7dcacf59541a464e55f360cbe73724c12e0c4cf998560405161078a91815260200190565b60405180910390a4505050506107a06001600355565b5050505050565b6001600160a01b031660009081526020819052604090205460ff1690565b60015460405163260f846760e11b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634c1f08ce90602401602060405180830381865afa15801561082c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610850919061190d565b10156108b75760405162461bcd60e51b815260206004820152603060248201527f54656c65706f727465725570677261646561626c653a20696e76616c6964205460448201526f32b632b837b93a32b91039b2b73232b960811b60648201526084016102db565b6108c0336107a7565b156109265760405162461bcd60e51b815260206004820152603060248201527f54656c65706f727465725570677261646561626c653a2054656c65706f72746560448201526f1c881859191c995cdcc81c185d5cd95960821b60648201526084016102db565b610967848484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610fda92505050565b50505050565b610975610b8b565b6001600160a01b0381166109da5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102db565b61049781610be5565b6104ac610b8b565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c07f47d46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6f919061190d565b60015490915081831115610adf5760405162461bcd60e51b815260206004820152603160248201527f54656c65706f727465725570677261646561626c653a20696e76616c6964205460448201527032b632b837b93a32b9103b32b939b4b7b760791b60648201526084016102db565b808311610b545760405162461bcd60e51b815260206004820152603f60248201527f54656c65706f727465725570677261646561626c653a206e6f7420677265617460448201527f6572207468616e2063757272656e74206d696e696d756d2076657273696f6e0060648201526084016102db565b6001839055604051839082907fa9a7ef57e41f05b4c15480842f5f0c27edfcbb553fed281f7c4068452cc1c02d90600090a3505050565b6002546001600160a01b031633146104ac5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102db565b600280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600260035403610c895760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016102db565b6002600355565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d820e64f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cf1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d159190611926565b9050610d20816107a7565b15610d865760405162461bcd60e51b815260206004820152603060248201527f54656c65706f727465725570677261646561626c653a2054656c65706f72746560448201526f1c881cd95b991a5b99c81c185d5cd95960821b60648201526084016102db565b919050565b6040516370a0823160e01b815230600482015260009081906001600160a01b038516906370a0823190602401602060405180830381865afa158015610dd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df8919061190d565b9050610e0f6001600160a01b0385163330866111d5565b6040516370a0823160e01b81523060048201526000906001600160a01b038616906370a0823190602401602060405180830381865afa158015610e56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e7a919061190d565b9050818111610ee05760405162461bcd60e51b815260206004820152602c60248201527f5361666545524332305472616e7366657246726f6d3a2062616c616e6365206e60448201526b1bdd081a5b98dc99585cd95960a21b60648201526084016102db565b610eea82826117e8565b925050505b92915050565b604051636eb1769f60e11b81523060048201526001600160a01b038381166024830152600091839186169063dd62ed3e90604401602060405180830381865afa158015610f46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6a919061190d565b610f749190611943565b6040516001600160a01b03851660248201526044810182905290915061096790859063095ea7b360e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261120d565b7f0000000000000000000000000000000000000000000000000000000000000000831461105d5760405162461bcd60e51b815260206004820152602b60248201527f4552433230546f6b656e536f757263653a20696e76616c69642064657374696e60448201526a30ba34b7b71031b430b4b760a91b60648201526084016102db565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316146110ec5760405162461bcd60e51b815260206004820152602560248201527f4552433230546f6b656e536f757263653a20756e617574686f72697a6564207360448201526432b73232b960d91b60648201526084016102db565b60008082806020019051810190611103919061196c565b9092509050600082600181111561111c5761111c611a33565b0361114d57600080828060200190518101906111389190611a49565b9150915061114682826112e4565b50506107a0565b600182600181111561116157611161611a33565b0361118d5760008180602001905181019061117c919061190d565b90506111878161137b565b506107a0565b60405162461bcd60e51b815260206004820181905260248201527f4552433230546f6b656e536f757263653a20696e76616c696420616374696f6e60448201526064016102db565b6040516001600160a01b03808516602483015283166044820152606481018290526109679085906323b872dd60e01b90608401610fa3565b6000611262826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166113a69092919063ffffffff16565b8051909150156112df57808060200190518101906112809190611a77565b6112df5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016102db565b505050565b6001600160a01b03821661130a5760405162461bcd60e51b81526004016102db9061178a565b604080516001600160a01b0384168152602081018390527f55aaef8fd8c07238c3618a93c8a1627194187d3b0952908e58f2ab0f944fb407910160405180910390a16113777f000000000000000000000000000000000000000000000000000000000000000083836113bd565b5050565b6004548111156104975760006004548261139591906117e8565b90506113a0816113ed565b50600455565b60606113b5848460008561144f565b949350505050565b6040516001600160a01b0383166024820152604481018290526112df90849063a9059cbb60e01b90606401610fa3565b6040518181527f2cd3fd70cd5a5d6d805e90d22741aa1a84590ace7cf01b244719558d266143829060200160405180910390a16104977f0000000000000000000000000000000000000000000000000000000000000000600160981b836113bd565b6060824710156114b05760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016102db565b600080866001600160a01b031685876040516114cc9190611a99565b60006040518083038185875af1925050503d8060008114611509576040519150601f19603f3d011682016040523d82523d6000602084013e61150e565b606091505b509150915061151f8783838761152a565b979650505050505050565b60608315611599578251600003611592576001600160a01b0385163b6115925760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102db565b50816113b5565b6113b583838151156115ae5781518083602001fd5b8060405162461bcd60e51b81526004016102db9190611ab5565b6001600160a01b038116811461049757600080fd5b6000602082840312156115ef57600080fd5b81356115fa816115c8565b9392505050565b60006020828403121561161357600080fd5b5035919050565b60008060008060006080868803121561163257600080fd5b853561163d816115c8565b94506020860135935060408601359250606086013567ffffffffffffffff8082111561166857600080fd5b818801915088601f83011261167c57600080fd5b81358181111561168b57600080fd5b8960208260051b85010111156116a057600080fd5b9699959850939650602001949392505050565b600080600080606085870312156116c957600080fd5b8435935060208501356116db816115c8565b9250604085013567ffffffffffffffff808211156116f857600080fd5b818701915087601f83011261170c57600080fd5b81358181111561171b57600080fd5b88602082850101111561172d57600080fd5b95989497505060200194505050565b6020808252602e908201527f54656c65706f727465725570677261646561626c653a207a65726f2054656c6560408201526d706f72746572206164647265737360901b606082015260800190565b60208082526028908201527f4552433230546f6b656e536f757263653a207a65726f20726563697069656e74604082015267206164647265737360c01b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b81810381811115610eef57610eef6117d2565b600081518084526020808501945080840160005b838110156118345781516001600160a01b03168752958201959082019060010161180f565b509495945050505050565b60005b8381101561185a578181015183820152602001611842565b50506000910152565b6000815180845261187b81602086016020860161183f565b601f01601f19169290920160200192915050565b60208152815160208201526000602083015160018060a01b03808216604085015260408501519150808251166060850152506020810151608084015250606083015160a0830152608083015160e060c08401526118f06101008401826117fb565b905060a0840151601f198483030160e0850152610eea8282611863565b60006020828403121561191f57600080fd5b5051919050565b60006020828403121561193857600080fd5b81516115fa816115c8565b80820180821115610eef57610eef6117d2565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561197f57600080fd5b82516002811061198e57600080fd5b602084015190925067ffffffffffffffff808211156119ac57600080fd5b818501915085601f8301126119c057600080fd5b8151818111156119d2576119d2611956565b604051601f8201601f19908116603f011681019083821181831017156119fa576119fa611956565b81604052828152886020848701011115611a1357600080fd5b611a2483602083016020880161183f565b80955050505050509250929050565b634e487b7160e01b600052602160045260246000fd5b60008060408385031215611a5c57600080fd5b8251611a67816115c8565b6020939093015192949293505050565b600060208284031215611a8957600080fd5b815180151581146115fa57600080fd5b60008251611aab81846020870161183f565b9190910192915050565b6020815260006115fa602083018461186356fea2646970667358221220fcc9ab5c394ea83bd65c537e3d1caaa1028b7bedf0dd800714a1c04dff26d4d564736f6c634300081200334552433230546f6b656e536f757263653a207a65726f2064657374696e617469", + Bin: "0x6101006040523480156200001257600080fd5b506040516200200a3803806200200a8339810160408190526200003591620003f0565b83806001600160a01b038116620000b95760405162461bcd60e51b815260206004820152603760248201527f54656c65706f727465725570677261646561626c653a207a65726f2074656c6560448201527f706f72746572207265676973747279206164647265737300000000000000000060648201526084015b60405180910390fd5b6001600160a01b03811660808190526040805163301fd1f560e21b8152905163c07f47d4916004808201926020929091908290030181865afa15801562000104573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200012a919062000444565b60015550620001393362000381565b50600160035582620001965760405162461bcd60e51b8152602060048201526030602482015260008051602062001fea83398151915260448201526f1bdb88189b1bd8dad8da185a5b88125160821b6064820152608401620000b0565b7302000000000000000000000000000000000000056001600160a01b0316634213cf786040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001e9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200020f919062000444565b8303620002855760405162461bcd60e51b815260206004820152603460248201527f4552433230546f6b656e536f757263653a2063616e6e6f74206272696467652060448201527f776974682073616d6520626c6f636b636861696e0000000000000000000000006064820152608401620000b0565b60a08390526001600160a01b038216620002f75760405162461bcd60e51b8152602060048201526033602482015260008051602062001fea83398151915260448201527f6f6e20636f6e74726163742061646472657373000000000000000000000000006064820152608401620000b0565b6001600160a01b0380831660c05281166200036b5760405162461bcd60e51b815260206004820152602d60248201527f4552433230546f6b656e536f757263653a207a65726f20455243323020636f6e60448201526c7472616374206164647265737360981b6064820152608401620000b0565b6001600160a01b031660e052506200045e915050565b600280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b0381168114620003eb57600080fd5b919050565b600080600080608085870312156200040757600080fd5b6200041285620003d3565b9350602085015192506200042960408601620003d3565b91506200043960608601620003d3565b905092959194509250565b6000602082840312156200045757600080fd5b5051919050565b60805160a05160c05160e051611afe620004ec60003960008181610278015281816104ef015281816105870152818161063901528181611351015261142501526000818161022b015281816105ff015261105f01526000818161016e015281816105d90152610fdc015260008181610115015281816107dd015281816109ef0152610c950152611afe6000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c80638da5cb5b116100a2578063c452165e11610071578063c452165e1461024d578063c868efaa14610258578063d2cc7a701461026b578063e486df1514610273578063f2fde38b1461029a57600080fd5b80638da5cb5b146101e857806397314297146101f9578063b6171f731461021c578063b8c9091a1461022657600080fd5b806355db3e9e116100de57806355db3e9e146101b15780635eb99514146101ba578063715018a6146101cd57806387a2edba146101d557600080fd5b80631a7f5bec146101105780632b0d8f181461015457806341d3014d146101695780634511243e1461019e575b600080fd5b6101377f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6101676101623660046115dd565b6102ad565b005b6101907f000000000000000000000000000000000000000000000000000000000000000081565b60405190815260200161014b565b6101676101ac3660046115dd565b61039c565b61019060045481565b6101676101c8366004611601565b610486565b61016761049a565b6101676101e336600461161a565b6104ae565b6002546001600160a01b0316610137565b61020c6102073660046115dd565b6107a7565b604051901515815260200161014b565b610190620186a081565b6101377f000000000000000000000000000000000000000000000000000000000000000081565b610137600160981b81565b6101676102663660046116b3565b6107c5565b600154610190565b6101377f000000000000000000000000000000000000000000000000000000000000000081565b6101676102a83660046115dd565b61096d565b6102b56109e3565b6001600160a01b0381166102e45760405162461bcd60e51b81526004016102db9061173c565b60405180910390fd5b6102ed816107a7565b156103505760405162461bcd60e51b815260206004820152602d60248201527f54656c65706f727465725570677261646561626c653a2061646472657373206160448201526c1b1c9958591e481c185d5cd959609a1b60648201526084016102db565b6001600160a01b038116600081815260208190526040808220805460ff19166001179055517f933f93e57a222e6330362af8b376d0a8725b6901e9a2fb86d00f169702b28a4c9190a250565b6103a46109e3565b6001600160a01b0381166103ca5760405162461bcd60e51b81526004016102db9061173c565b6103d3816107a7565b6104315760405162461bcd60e51b815260206004820152602960248201527f54656c65706f727465725570677261646561626c653a2061646472657373206e6044820152681bdd081c185d5cd95960ba1b60648201526084016102db565b6040516001600160a01b038216907f844e2f3154214672229235858fd029d1dfd543901c6d05931f0bc2480a2d72c390600090a26001600160a01b03166000908152602081905260409020805460ff19169055565b61048e6109e3565b610497816109eb565b50565b6104a2610b8b565b6104ac6000610be5565b565b6104b6610c37565b60006104c0610c90565b90506001600160a01b0386166104e85760405162461bcd60e51b81526004016102db9061178a565b60006105147f000000000000000000000000000000000000000000000000000000000000000087610d8b565b905084811161057c5760405162461bcd60e51b815260206004820152602e60248201527f4552433230546f6b656e536f757263653a20696e73756666696369656e74206160448201526d191a9d5cdd195908185b5bdd5b9d60921b60648201526084016102db565b84156105ad576105ad7f00000000000000000000000000000000000000000000000000000000000000008387610ef5565b60006105b986836117e8565b90506000836001600160a01b031663624488506040518060c001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316815260200160405180604001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020018c8152508152602001620186a08152602001898980806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250505090825250604080516001600160a01b038f166020808301919091529181018890529101906060016040516020818303038152906040528152506040518263ffffffff1660e01b81526004016106ff919061188f565b6020604051808303816000875af115801561071e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610742919061190d565b905080896001600160a01b0316336001600160a01b03167f6cf14fdf618c440df3de7de7dcacf59541a464e55f360cbe73724c12e0c4cf998560405161078a91815260200190565b60405180910390a4505050506107a06001600355565b5050505050565b6001600160a01b031660009081526020819052604090205460ff1690565b60015460405163260f846760e11b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634c1f08ce90602401602060405180830381865afa15801561082c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610850919061190d565b10156108b75760405162461bcd60e51b815260206004820152603060248201527f54656c65706f727465725570677261646561626c653a20696e76616c6964205460448201526f32b632b837b93a32b91039b2b73232b960811b60648201526084016102db565b6108c0336107a7565b156109265760405162461bcd60e51b815260206004820152603060248201527f54656c65706f727465725570677261646561626c653a2054656c65706f72746560448201526f1c881859191c995cdcc81c185d5cd95960821b60648201526084016102db565b610967848484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610fda92505050565b50505050565b610975610b8b565b6001600160a01b0381166109da5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102db565b61049781610be5565b6104ac610b8b565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c07f47d46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6f919061190d565b60015490915081831115610adf5760405162461bcd60e51b815260206004820152603160248201527f54656c65706f727465725570677261646561626c653a20696e76616c6964205460448201527032b632b837b93a32b9103b32b939b4b7b760791b60648201526084016102db565b808311610b545760405162461bcd60e51b815260206004820152603f60248201527f54656c65706f727465725570677261646561626c653a206e6f7420677265617460448201527f6572207468616e2063757272656e74206d696e696d756d2076657273696f6e0060648201526084016102db565b6001839055604051839082907fa9a7ef57e41f05b4c15480842f5f0c27edfcbb553fed281f7c4068452cc1c02d90600090a3505050565b6002546001600160a01b031633146104ac5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102db565b600280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600260035403610c895760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016102db565b6002600355565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d820e64f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cf1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d159190611926565b9050610d20816107a7565b15610d865760405162461bcd60e51b815260206004820152603060248201527f54656c65706f727465725570677261646561626c653a2054656c65706f72746560448201526f1c881cd95b991a5b99c81c185d5cd95960821b60648201526084016102db565b919050565b6040516370a0823160e01b815230600482015260009081906001600160a01b038516906370a0823190602401602060405180830381865afa158015610dd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df8919061190d565b9050610e0f6001600160a01b0385163330866111d5565b6040516370a0823160e01b81523060048201526000906001600160a01b038616906370a0823190602401602060405180830381865afa158015610e56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e7a919061190d565b9050818111610ee05760405162461bcd60e51b815260206004820152602c60248201527f5361666545524332305472616e7366657246726f6d3a2062616c616e6365206e60448201526b1bdd081a5b98dc99585cd95960a21b60648201526084016102db565b610eea82826117e8565b925050505b92915050565b604051636eb1769f60e11b81523060048201526001600160a01b038381166024830152600091839186169063dd62ed3e90604401602060405180830381865afa158015610f46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6a919061190d565b610f749190611943565b6040516001600160a01b03851660248201526044810182905290915061096790859063095ea7b360e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261120d565b7f0000000000000000000000000000000000000000000000000000000000000000831461105d5760405162461bcd60e51b815260206004820152602b60248201527f4552433230546f6b656e536f757263653a20696e76616c69642064657374696e60448201526a30ba34b7b71031b430b4b760a91b60648201526084016102db565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316146110ec5760405162461bcd60e51b815260206004820152602560248201527f4552433230546f6b656e536f757263653a20756e617574686f72697a6564207360448201526432b73232b960d91b60648201526084016102db565b60008082806020019051810190611103919061196c565b9092509050600082600181111561111c5761111c611a33565b0361114d57600080828060200190518101906111389190611a49565b9150915061114682826112e4565b50506107a0565b600182600181111561116157611161611a33565b0361118d5760008180602001905181019061117c919061190d565b90506111878161137b565b506107a0565b60405162461bcd60e51b815260206004820181905260248201527f4552433230546f6b656e536f757263653a20696e76616c696420616374696f6e60448201526064016102db565b6040516001600160a01b03808516602483015283166044820152606481018290526109679085906323b872dd60e01b90608401610fa3565b6000611262826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166113a69092919063ffffffff16565b8051909150156112df57808060200190518101906112809190611a77565b6112df5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016102db565b505050565b6001600160a01b03821661130a5760405162461bcd60e51b81526004016102db9061178a565b604080516001600160a01b0384168152602081018390527f55aaef8fd8c07238c3618a93c8a1627194187d3b0952908e58f2ab0f944fb407910160405180910390a16113777f000000000000000000000000000000000000000000000000000000000000000083836113bd565b5050565b6004548111156104975760006004548261139591906117e8565b90506113a0816113ed565b50600455565b60606113b5848460008561144f565b949350505050565b6040516001600160a01b0383166024820152604481018290526112df90849063a9059cbb60e01b90606401610fa3565b6040518181527f2cd3fd70cd5a5d6d805e90d22741aa1a84590ace7cf01b244719558d266143829060200160405180910390a16104977f0000000000000000000000000000000000000000000000000000000000000000600160981b836113bd565b6060824710156114b05760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016102db565b600080866001600160a01b031685876040516114cc9190611a99565b60006040518083038185875af1925050503d8060008114611509576040519150601f19603f3d011682016040523d82523d6000602084013e61150e565b606091505b509150915061151f8783838761152a565b979650505050505050565b60608315611599578251600003611592576001600160a01b0385163b6115925760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102db565b50816113b5565b6113b583838151156115ae5781518083602001fd5b8060405162461bcd60e51b81526004016102db9190611ab5565b6001600160a01b038116811461049757600080fd5b6000602082840312156115ef57600080fd5b81356115fa816115c8565b9392505050565b60006020828403121561161357600080fd5b5035919050565b60008060008060006080868803121561163257600080fd5b853561163d816115c8565b94506020860135935060408601359250606086013567ffffffffffffffff8082111561166857600080fd5b818801915088601f83011261167c57600080fd5b81358181111561168b57600080fd5b8960208260051b85010111156116a057600080fd5b9699959850939650602001949392505050565b600080600080606085870312156116c957600080fd5b8435935060208501356116db816115c8565b9250604085013567ffffffffffffffff808211156116f857600080fd5b818701915087601f83011261170c57600080fd5b81358181111561171b57600080fd5b88602082850101111561172d57600080fd5b95989497505060200194505050565b6020808252602e908201527f54656c65706f727465725570677261646561626c653a207a65726f2054656c6560408201526d706f72746572206164647265737360901b606082015260800190565b60208082526028908201527f4552433230546f6b656e536f757263653a207a65726f20726563697069656e74604082015267206164647265737360c01b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b81810381811115610eef57610eef6117d2565b600081518084526020808501945080840160005b838110156118345781516001600160a01b03168752958201959082019060010161180f565b509495945050505050565b60005b8381101561185a578181015183820152602001611842565b50506000910152565b6000815180845261187b81602086016020860161183f565b601f01601f19169290920160200192915050565b60208152815160208201526000602083015160018060a01b03808216604085015260408501519150808251166060850152506020810151608084015250606083015160a0830152608083015160e060c08401526118f06101008401826117fb565b905060a0840151601f198483030160e0850152610eea8282611863565b60006020828403121561191f57600080fd5b5051919050565b60006020828403121561193857600080fd5b81516115fa816115c8565b80820180821115610eef57610eef6117d2565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561197f57600080fd5b82516002811061198e57600080fd5b602084015190925067ffffffffffffffff808211156119ac57600080fd5b818501915085601f8301126119c057600080fd5b8151818111156119d2576119d2611956565b604051601f8201601f19908116603f011681019083821181831017156119fa576119fa611956565b81604052828152886020848701011115611a1357600080fd5b611a2483602083016020880161183f565b80955050505050509250929050565b634e487b7160e01b600052602160045260246000fd5b60008060408385031215611a5c57600080fd5b8251611a67816115c8565b6020939093015192949293505050565b600060208284031215611a8957600080fd5b815180151581146115fa57600080fd5b60008251611aab81846020870161183f565b9190910192915050565b6020815260006115fa602083018461186356fea26469706673582212208a24f377019f08ecb346e76193fac7b78602b061e95e1d5da4281122106b2a1064736f6c634300081200334552433230546f6b656e536f757263653a207a65726f2064657374696e617469", } // ERC20TokenSourceABI is the input ABI used to generate the binding from. diff --git a/abi-bindings/go/CrossChainApplications/examples/NativeTokenBridge/NativeTokenDestination/NativeTokenDestination.go b/abi-bindings/go/CrossChainApplications/examples/NativeTokenBridge/NativeTokenDestination/NativeTokenDestination.go index fa9981e22..f5118617a 100644 --- a/abi-bindings/go/CrossChainApplications/examples/NativeTokenBridge/NativeTokenDestination/NativeTokenDestination.go +++ b/abi-bindings/go/CrossChainApplications/examples/NativeTokenBridge/NativeTokenDestination/NativeTokenDestination.go @@ -38,7 +38,7 @@ type TeleporterFeeInfo struct { // NativeTokenDestinationMetaData contains all meta data concerning the NativeTokenDestination contract. var NativeTokenDestinationMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"teleporterRegistryAddress\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"sourceBlockchainID_\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"nativeTokenSourceAddress_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"initialReserveImbalance_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"remaining\",\"type\":\"uint256\"}],\"name\":\"CollateralAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"oldMinTeleporterVersion\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"newMinTeleporterVersion\",\"type\":\"uint256\"}],\"name\":\"MinTeleporterVersionUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"NativeTokensMinted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"teleporterMessageID\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"burnAddressBalance\",\"type\":\"uint256\"}],\"name\":\"ReportTotalBurnedTxFees\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"teleporterAddress\",\"type\":\"address\"}],\"name\":\"TeleporterAddressPaused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"teleporterAddress\",\"type\":\"address\"}],\"name\":\"TeleporterAddressUnpaused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"teleporterMessageID\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TransferToSource\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BURNED_TX_FEES_ADDRESS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"BURN_FOR_TRANSFER_ADDRESS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REPORT_BURNED_TOKENS_REQUIRED_GAS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TRANSFER_NATIVE_TOKENS_REQUIRED_GAS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentReserveImbalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMinTeleporterVersion\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initialReserveImbalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isCollateralized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"teleporterAddress\",\"type\":\"address\"}],\"name\":\"isTeleporterAddressPaused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nativeTokenSourceAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"teleporterAddress\",\"type\":\"address\"}],\"name\":\"pauseTeleporterAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"originBlockchainID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"originSenderAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"}],\"name\":\"receiveTeleporterMessage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"feeTokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"internalType\":\"structTeleporterFeeInfo\",\"name\":\"feeInfo\",\"type\":\"tuple\"},{\"internalType\":\"address[]\",\"name\":\"allowedRelayerAddresses\",\"type\":\"address[]\"}],\"name\":\"reportTotalBurnedTxFees\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sourceBlockchainID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"teleporterRegistry\",\"outputs\":[{\"internalType\":\"contractTeleporterRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalMinted\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"feeTokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"internalType\":\"structTeleporterFeeInfo\",\"name\":\"feeInfo\",\"type\":\"tuple\"},{\"internalType\":\"address[]\",\"name\":\"allowedRelayerAddresses\",\"type\":\"address[]\"}],\"name\":\"transferToSource\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"teleporterAddress\",\"type\":\"address\"}],\"name\":\"unpauseTeleporterAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"version\",\"type\":\"uint256\"}],\"name\":\"updateMinTeleporterVersion\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", - Bin: "0x61012060405273020000000000000000000000000000000000000160a0523480156200002a57600080fd5b5060405162002582380380620025828339810160408190526200004d9162000418565b83806001600160a01b038116620000d15760405162461bcd60e51b815260206004820152603760248201527f54656c65706f727465725570677261646561626c653a207a65726f2074656c6560448201527f706f72746572207265676973747279206164647265737300000000000000000060648201526084015b60405180910390fd5b6001600160a01b03811660808190526040805163301fd1f560e21b8152905163c07f47d4916004808201926020929091908290030181865afa1580156200011c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000142919062000461565b600155506200015133620003a9565b50600160035582620001af5760405162461bcd60e51b81526020600482015260316024820152600080516020620025628339815191526044820152701c98d948189b1bd8dad8da185a5b881251607a1b6064820152608401620000c8565b7302000000000000000000000000000000000000056001600160a01b0316634213cf786040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000202573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000228919062000461565b83036200029e5760405162461bcd60e51b815260206004820152603a60248201527f4e6174697665546f6b656e44657374696e6174696f6e3a2063616e6e6f74206260448201527f726964676520776974682073616d6520626c6f636b636861696e0000000000006064820152608401620000c8565b60c08390526001600160a01b038216620003105760405162461bcd60e51b815260206004820152603460248201526000805160206200256283398151915260448201527f72636520636f6e747261637420616464726573730000000000000000000000006064820152608401620000c8565b6001600160a01b03821660e0526000819003620003965760405162461bcd60e51b815260206004820152603660248201527f4e6174697665546f6b656e44657374696e6174696f6e3a207a65726f20696e6960448201527f7469616c207265736572766520696d62616c616e6365000000000000000000006064820152608401620000c8565b610100819052600455506200047b915050565b600280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b03811681146200041357600080fd5b919050565b600080600080608085870312156200042f57600080fd5b6200043a85620003fb565b9350602085015192506200045160408601620003fb565b6060959095015193969295505050565b6000602082840312156200047457600080fd5b5051919050565b60805160a05160c05160e051610100516120556200050d600039600081816103140152610449015260008181610298015281816105da01528181610a0601526115750152600081816101e0015281816105b4015281816109e001526114f1015260006117ee0152600081816101940152818161085d01528181610bda01528181610de70152610ee101526120556000f3fe60806040526004361061013f5760003560e01c806375846562116100b6578063ab2852301161006f578063ab285230146103a5578063c452165e146103bc578063c868efaa146103d4578063d2cc7a70146103f4578063d3095126146103a5578063f2fde38b1461040957600080fd5b806375846562146102ef5780638ac7dd20146103025780638da5cb5b146103365780639731429714610354578063a2309ff814610374578063a2a950171461038a57600080fd5b80633a94fe51116101085780633a94fe51146102245780634511243e1461024457806349e3284e146102645780635d93f9af146102865780635eb99514146102ba578063715018a6146102da57600080fd5b8062d872ae1461014457806318160ddd1461016d5780631a7f5bec1461018257806329b7b3fd146101ce5780632b0d8f1814610202575b600080fd5b34801561015057600080fd5b5061015a60045481565b6040519081526020015b60405180910390f35b34801561017957600080fd5b5061015a610429565b34801561018e57600080fd5b506101b67f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610164565b3480156101da57600080fd5b5061015a7f000000000000000000000000000000000000000000000000000000000000000081565b34801561020e57600080fd5b5061022261021d366004611b01565b610488565b005b34801561023057600080fd5b5061022261023f366004611b89565b610577565b34801561025057600080fd5b5061022261025f366004611b01565b61073f565b34801561027057600080fd5b50600454155b6040519015158152602001610164565b34801561029257600080fd5b506101b67f000000000000000000000000000000000000000000000000000000000000000081565b3480156102c657600080fd5b506102226102d5366004611bdd565b610829565b3480156102e657600080fd5b5061022261083d565b6102226102fd366004611bf6565b610851565b34801561030e57600080fd5b5061015a7f000000000000000000000000000000000000000000000000000000000000000081565b34801561034257600080fd5b506002546001600160a01b03166101b6565b34801561036057600080fd5b5061027661036f366004611b01565b610ba4565b34801561038057600080fd5b5061015a60055481565b34801561039657600080fd5b506101b66001600160981b0181565b3480156103b157600080fd5b5061015a620186a081565b3480156103c857600080fd5b506101b6600160981b81565b3480156103e057600080fd5b506102226103ef366004611c5a565b610bc2565b34801561040057600080fd5b5060015461015a565b34801561041557600080fd5b50610222610424366004611b01565b610d64565b6000806104436001600160981b0131600160981b31611cf9565b905060007f00000000000000000000000000000000000000000000000000000000000000006005546104759190611cf9565b90506104818282611d0c565b9250505090565b610490610dda565b6001600160a01b0381166104bf5760405162461bcd60e51b81526004016104b690611d1f565b60405180910390fd5b6104c881610ba4565b1561052b5760405162461bcd60e51b815260206004820152602d60248201527f54656c65706f727465725570677261646561626c653a2061646472657373206160448201526c1b1c9958591e481c185d5cd959609a1b60648201526084016104b6565b6001600160a01b038116600081815260208190526040808220805460ff19166001179055517f933f93e57a222e6330362af8b376d0a8725b6901e9a2fb86d00f169702b28a4c9190a250565b6000610581610de2565b90506000600160981b6001600160a01b03163190506000826001600160a01b031663624488506040518060c001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001898036038101906106189190611d6d565b8152602001620186a081526020018888808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152505050908252506040805160208082018990528251808303820181528284019093529092019161068a91600191606001611e23565b6040516020818303038152906040528152506040518263ffffffff1660e01b81526004016106b89190611e9e565b6020604051808303816000875af11580156106d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106fb9190611f1c565b9050807f4c37b521cdeedd09975d7697ea18c95dc3c46dea1ca09dfcdd2e17f1061915098360405161072f91815260200190565b60405180910390a2505050505050565b610747610dda565b6001600160a01b03811661076d5760405162461bcd60e51b81526004016104b690611d1f565b61077681610ba4565b6107d45760405162461bcd60e51b815260206004820152602960248201527f54656c65706f727465725570677261646561626c653a2061646472657373206e6044820152681bdd081c185d5cd95960ba1b60648201526084016104b6565b6040516001600160a01b038216907f844e2f3154214672229235858fd029d1dfd543901c6d05931f0bc2480a2d72c390600090a26001600160a01b03166000908152602081905260409020805460ff19169055565b610831610dda565b61083a81610edd565b50565b61084561107d565b61084f60006110d7565b565b610859611129565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d820e64f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108dd9190611f35565b90506001600160a01b0385166109055760405162461bcd60e51b81526004016104b690611f52565b600454156109725760405162461bcd60e51b815260206004820152603460248201527f4e6174697665546f6b656e44657374696e6174696f6e3a20636f6e7472616374604482015273081d5b99195c98dbdb1b185d195c985b1a5e995960621b60648201526084016104b6565b60006020850135156109b15761099861098e6020870187611b01565b8660200135611182565b90506109b16109aa6020870187611b01565b83836112ec565b6109c26001600160981b01346113d1565b6000826001600160a01b031663624488506040518060c001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316815260200189803603810190610a449190611d6d565b8152602001620186a0815260200188888080602002602001604051908101604052809392919081815260200183836020028082843760009201829052509385525050604051602093840193610ab292508e913491016001600160a01b03929092168252602082015260400190565b60408051601f1981840301815290829052610ad09291602001611e23565b6040516020818303038152906040528152506040518263ffffffff1660e01b8152600401610afe9190611e9e565b6020604051808303816000875af1158015610b1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b419190611f1c565b905080876001600160a01b0316336001600160a01b03167f8adc7b22fb27c91bbad9f38633adae809888623a9aee14c1adec44ee7e7cf2c034604051610b8991815260200190565b60405180910390a4505050610b9e6001600355565b50505050565b6001600160a01b031660009081526020819052604090205460ff1690565b60015460405163260f846760e11b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634c1f08ce90602401602060405180830381865afa158015610c29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4d9190611f1c565b1015610cb45760405162461bcd60e51b815260206004820152603060248201527f54656c65706f727465725570677261646561626c653a20696e76616c6964205460448201526f32b632b837b93a32b91039b2b73232b960811b60648201526084016104b6565b610cbd33610ba4565b15610d235760405162461bcd60e51b815260206004820152603060248201527f54656c65706f727465725570677261646561626c653a2054656c65706f72746560448201526f1c881859191c995cdcc81c185d5cd95960821b60648201526084016104b6565b610b9e848484848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506114ef92505050565b610d6c61107d565b6001600160a01b038116610dd15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104b6565b61083a816110d7565b61084f61107d565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d820e64f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e679190611f35565b9050610e7281610ba4565b15610ed85760405162461bcd60e51b815260206004820152603060248201527f54656c65706f727465725570677261646561626c653a2054656c65706f72746560448201526f1c881cd95b991a5b99c81c185d5cd95960821b60648201526084016104b6565b919050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c07f47d46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f619190611f1c565b60015490915081831115610fd15760405162461bcd60e51b815260206004820152603160248201527f54656c65706f727465725570677261646561626c653a20696e76616c6964205460448201527032b632b837b93a32b9103b32b939b4b7b760791b60648201526084016104b6565b8083116110465760405162461bcd60e51b815260206004820152603f60248201527f54656c65706f727465725570677261646561626c653a206e6f7420677265617460448201527f6572207468616e2063757272656e74206d696e696d756d2076657273696f6e0060648201526084016104b6565b6001839055604051839082907fa9a7ef57e41f05b4c15480842f5f0c27edfcbb553fed281f7c4068452cc1c02d90600090a3505050565b6002546001600160a01b0316331461084f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104b6565b600280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60026003540361117b5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016104b6565b6002600355565b6040516370a0823160e01b815230600482015260009081906001600160a01b038516906370a0823190602401602060405180830381865afa1580156111cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ef9190611f1c565b90506112066001600160a01b038516333086611852565b6040516370a0823160e01b81523060048201526000906001600160a01b038616906370a0823190602401602060405180830381865afa15801561124d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112719190611f1c565b90508181116112d75760405162461bcd60e51b815260206004820152602c60248201527f5361666545524332305472616e7366657246726f6d3a2062616c616e6365206e60448201526b1bdd081a5b98dc99585cd95960a21b60648201526084016104b6565b6112e18282611d0c565b925050505b92915050565b604051636eb1769f60e11b81523060048201526001600160a01b038381166024830152600091839186169063dd62ed3e90604401602060405180830381865afa15801561133d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113619190611f1c565b61136b9190611cf9565b6040516001600160a01b038516602482015260448101829052909150610b9e90859063095ea7b360e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261188a565b804710156114215760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016104b6565b6000826001600160a01b03168260405160006040518083038185875af1925050503d806000811461146e576040519150601f19603f3d011682016040523d82523d6000602084013e611473565b606091505b50509050806114ea5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016104b6565b505050565b7f000000000000000000000000000000000000000000000000000000000000000083146115735760405162461bcd60e51b815260206004820152602c60248201527f4e6174697665546f6b656e44657374696e6174696f6e3a20696e76616c69642060448201526b39b7bab931b29031b430b4b760a11b60648201526084016104b6565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316146116085760405162461bcd60e51b815260206004820152602b60248201527f4e6174697665546f6b656e44657374696e6174696f6e3a20756e617574686f7260448201526a34bd32b21039b2b73232b960a91b60648201526084016104b6565b6000808280602001905181019061161f9190611fa0565b90925090506001600160a01b03821661164a5760405162461bcd60e51b81526004016104b690611f52565b806000036116ae5760405162461bcd60e51b815260206004820152602b60248201527f4e6174697665546f6b656e44657374696e6174696f6e3a207a65726f2074726160448201526a6e736665722076616c756560a81b60648201526084016104b6565b600454819015611773576004548211156117175760045460408051918252600060208301527f244160b15e69cc411f041d94ae7fab6f6bba85dade8403216c05ff4b920d5449910160405180910390a160045461170b9083611d0c565b60006004559050611773565b81600460008282546117299190611d0c565b90915550506004546040805184815260208101929092527f244160b15e69cc411f041d94ae7fab6f6bba85dade8403216c05ff4b920d5449910160405180910390a1505050505050565b80600560008282546117859190611cf9565b90915550506040518181526001600160a01b038416907fd949ea0e9d5db53492d77f28fd5467fb2f6c4f5b88e3350e3c36729b76e99cf29060200160405180910390a26040516327ad555d60e11b81526001600160a01b038481166004830152602482018390527f00000000000000000000000000000000000000000000000000000000000000001690634f5aaaba90604401600060405180830381600087803b15801561183257600080fd5b505af1158015611846573d6000803e3d6000fd5b50505050505050505050565b6040516001600160a01b0380851660248301528316604482015260648101829052610b9e9085906323b872dd60e01b9060840161139a565b60006118df826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661195c9092919063ffffffff16565b8051909150156114ea57808060200190518101906118fd9190611fce565b6114ea5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016104b6565b606061196b8484600085611973565b949350505050565b6060824710156119d45760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016104b6565b600080866001600160a01b031685876040516119f09190611ff0565b60006040518083038185875af1925050503d8060008114611a2d576040519150601f19603f3d011682016040523d82523d6000602084013e611a32565b606091505b5091509150611a4387838387611a4e565b979650505050505050565b60608315611abd578251600003611ab6576001600160a01b0385163b611ab65760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104b6565b508161196b565b61196b8383815115611ad25781518083602001fd5b8060405162461bcd60e51b81526004016104b6919061200c565b6001600160a01b038116811461083a57600080fd5b600060208284031215611b1357600080fd5b8135611b1e81611aec565b9392505050565b600060408284031215611b3757600080fd5b50919050565b60008083601f840112611b4f57600080fd5b50813567ffffffffffffffff811115611b6757600080fd5b6020830191508360208260051b8501011115611b8257600080fd5b9250929050565b600080600060608486031215611b9e57600080fd5b611ba88585611b25565b9250604084013567ffffffffffffffff811115611bc457600080fd5b611bd086828701611b3d565b9497909650939450505050565b600060208284031215611bef57600080fd5b5035919050565b60008060008060808587031215611c0c57600080fd5b8435611c1781611aec565b9350611c268660208701611b25565b9250606085013567ffffffffffffffff811115611c4257600080fd5b611c4e87828801611b3d565b95989497509550505050565b60008060008060608587031215611c7057600080fd5b843593506020850135611c8281611aec565b9250604085013567ffffffffffffffff80821115611c9f57600080fd5b818701915087601f830112611cb357600080fd5b813581811115611cc257600080fd5b886020828501011115611cd457600080fd5b95989497505060200194505050565b634e487b7160e01b600052601160045260246000fd5b808201808211156112e6576112e6611ce3565b818103818111156112e6576112e6611ce3565b6020808252602e908201527f54656c65706f727465725570677261646561626c653a207a65726f2054656c6560408201526d706f72746572206164647265737360901b606082015260800190565b600060408284031215611d7f57600080fd5b6040516040810181811067ffffffffffffffff82111715611db057634e487b7160e01b600052604160045260246000fd5b6040528235611dbe81611aec565b81526020928301359281019290925250919050565b60005b83811015611dee578181015183820152602001611dd6565b50506000910152565b60008151808452611e0f816020860160208601611dd3565b601f01601f19169290920160200192915050565b600060028410611e4357634e487b7160e01b600052602160045260246000fd5b8382526040602083015261196b6040830184611df7565b600081518084526020808501945080840160005b83811015611e935781516001600160a01b031687529582019590820190600101611e6e565b509495945050505050565b60208152815160208201526000602083015160018060a01b03808216604085015260408501519150808251166060850152506020810151608084015250606083015160a0830152608083015160e060c0840152611eff610100840182611e5a565b905060a0840151601f198483030160e08501526112e18282611df7565b600060208284031215611f2e57600080fd5b5051919050565b600060208284031215611f4757600080fd5b8151611b1e81611aec565b6020808252602e908201527f4e6174697665546f6b656e44657374696e6174696f6e3a207a65726f2072656360408201526d697069656e74206164647265737360901b606082015260800190565b60008060408385031215611fb357600080fd5b8251611fbe81611aec565b6020939093015192949293505050565b600060208284031215611fe057600080fd5b81518015158114611b1e57600080fd5b60008251612002818460208701611dd3565b9190910192915050565b602081526000611b1e6020830184611df756fea26469706673582212205fe1c85c9a86c3206b5e4514a0443ffe5b24bdcb747e8414c1eab66690944ef164736f6c634300081200334e6174697665546f6b656e44657374696e6174696f6e3a207a65726f20736f75", + Bin: "0x61012060405273020000000000000000000000000000000000000160a0523480156200002a57600080fd5b5060405162002582380380620025828339810160408190526200004d9162000418565b83806001600160a01b038116620000d15760405162461bcd60e51b815260206004820152603760248201527f54656c65706f727465725570677261646561626c653a207a65726f2074656c6560448201527f706f72746572207265676973747279206164647265737300000000000000000060648201526084015b60405180910390fd5b6001600160a01b03811660808190526040805163301fd1f560e21b8152905163c07f47d4916004808201926020929091908290030181865afa1580156200011c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000142919062000461565b600155506200015133620003a9565b50600160035582620001af5760405162461bcd60e51b81526020600482015260316024820152600080516020620025628339815191526044820152701c98d948189b1bd8dad8da185a5b881251607a1b6064820152608401620000c8565b7302000000000000000000000000000000000000056001600160a01b0316634213cf786040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000202573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000228919062000461565b83036200029e5760405162461bcd60e51b815260206004820152603a60248201527f4e6174697665546f6b656e44657374696e6174696f6e3a2063616e6e6f74206260448201527f726964676520776974682073616d6520626c6f636b636861696e0000000000006064820152608401620000c8565b60c08390526001600160a01b038216620003105760405162461bcd60e51b815260206004820152603460248201526000805160206200256283398151915260448201527f72636520636f6e747261637420616464726573730000000000000000000000006064820152608401620000c8565b6001600160a01b03821660e0526000819003620003965760405162461bcd60e51b815260206004820152603660248201527f4e6174697665546f6b656e44657374696e6174696f6e3a207a65726f20696e6960448201527f7469616c207265736572766520696d62616c616e6365000000000000000000006064820152608401620000c8565b610100819052600455506200047b915050565b600280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b03811681146200041357600080fd5b919050565b600080600080608085870312156200042f57600080fd5b6200043a85620003fb565b9350602085015192506200045160408601620003fb565b6060959095015193969295505050565b6000602082840312156200047457600080fd5b5051919050565b60805160a05160c05160e051610100516120556200050d600039600081816103140152610449015260008181610298015281816105da01528181610a0601526115750152600081816101e0015281816105b4015281816109e001526114f1015260006117ee0152600081816101940152818161085d01528181610bda01528181610de70152610ee101526120556000f3fe60806040526004361061013f5760003560e01c806375846562116100b6578063ab2852301161006f578063ab285230146103a5578063c452165e146103bc578063c868efaa146103d4578063d2cc7a70146103f4578063d3095126146103a5578063f2fde38b1461040957600080fd5b806375846562146102ef5780638ac7dd20146103025780638da5cb5b146103365780639731429714610354578063a2309ff814610374578063a2a950171461038a57600080fd5b80633a94fe51116101085780633a94fe51146102245780634511243e1461024457806349e3284e146102645780635d93f9af146102865780635eb99514146102ba578063715018a6146102da57600080fd5b8062d872ae1461014457806318160ddd1461016d5780631a7f5bec1461018257806329b7b3fd146101ce5780632b0d8f1814610202575b600080fd5b34801561015057600080fd5b5061015a60045481565b6040519081526020015b60405180910390f35b34801561017957600080fd5b5061015a610429565b34801561018e57600080fd5b506101b67f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610164565b3480156101da57600080fd5b5061015a7f000000000000000000000000000000000000000000000000000000000000000081565b34801561020e57600080fd5b5061022261021d366004611b01565b610488565b005b34801561023057600080fd5b5061022261023f366004611b89565b610577565b34801561025057600080fd5b5061022261025f366004611b01565b61073f565b34801561027057600080fd5b50600454155b6040519015158152602001610164565b34801561029257600080fd5b506101b67f000000000000000000000000000000000000000000000000000000000000000081565b3480156102c657600080fd5b506102226102d5366004611bdd565b610829565b3480156102e657600080fd5b5061022261083d565b6102226102fd366004611bf6565b610851565b34801561030e57600080fd5b5061015a7f000000000000000000000000000000000000000000000000000000000000000081565b34801561034257600080fd5b506002546001600160a01b03166101b6565b34801561036057600080fd5b5061027661036f366004611b01565b610ba4565b34801561038057600080fd5b5061015a60055481565b34801561039657600080fd5b506101b66001600160981b0181565b3480156103b157600080fd5b5061015a620186a081565b3480156103c857600080fd5b506101b6600160981b81565b3480156103e057600080fd5b506102226103ef366004611c5a565b610bc2565b34801561040057600080fd5b5060015461015a565b34801561041557600080fd5b50610222610424366004611b01565b610d64565b6000806104436001600160981b0131600160981b31611cf9565b905060007f00000000000000000000000000000000000000000000000000000000000000006005546104759190611cf9565b90506104818282611d0c565b9250505090565b610490610dda565b6001600160a01b0381166104bf5760405162461bcd60e51b81526004016104b690611d1f565b60405180910390fd5b6104c881610ba4565b1561052b5760405162461bcd60e51b815260206004820152602d60248201527f54656c65706f727465725570677261646561626c653a2061646472657373206160448201526c1b1c9958591e481c185d5cd959609a1b60648201526084016104b6565b6001600160a01b038116600081815260208190526040808220805460ff19166001179055517f933f93e57a222e6330362af8b376d0a8725b6901e9a2fb86d00f169702b28a4c9190a250565b6000610581610de2565b90506000600160981b6001600160a01b03163190506000826001600160a01b031663624488506040518060c001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001898036038101906106189190611d6d565b8152602001620186a081526020018888808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152505050908252506040805160208082018990528251808303820181528284019093529092019161068a91600191606001611e23565b6040516020818303038152906040528152506040518263ffffffff1660e01b81526004016106b89190611e9e565b6020604051808303816000875af11580156106d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106fb9190611f1c565b9050807f4c37b521cdeedd09975d7697ea18c95dc3c46dea1ca09dfcdd2e17f1061915098360405161072f91815260200190565b60405180910390a2505050505050565b610747610dda565b6001600160a01b03811661076d5760405162461bcd60e51b81526004016104b690611d1f565b61077681610ba4565b6107d45760405162461bcd60e51b815260206004820152602960248201527f54656c65706f727465725570677261646561626c653a2061646472657373206e6044820152681bdd081c185d5cd95960ba1b60648201526084016104b6565b6040516001600160a01b038216907f844e2f3154214672229235858fd029d1dfd543901c6d05931f0bc2480a2d72c390600090a26001600160a01b03166000908152602081905260409020805460ff19169055565b610831610dda565b61083a81610edd565b50565b61084561107d565b61084f60006110d7565b565b610859611129565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d820e64f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108dd9190611f35565b90506001600160a01b0385166109055760405162461bcd60e51b81526004016104b690611f52565b600454156109725760405162461bcd60e51b815260206004820152603460248201527f4e6174697665546f6b656e44657374696e6174696f6e3a20636f6e7472616374604482015273081d5b99195c98dbdb1b185d195c985b1a5e995960621b60648201526084016104b6565b60006020850135156109b15761099861098e6020870187611b01565b8660200135611182565b90506109b16109aa6020870187611b01565b83836112ec565b6109c26001600160981b01346113d1565b6000826001600160a01b031663624488506040518060c001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316815260200189803603810190610a449190611d6d565b8152602001620186a0815260200188888080602002602001604051908101604052809392919081815260200183836020028082843760009201829052509385525050604051602093840193610ab292508e913491016001600160a01b03929092168252602082015260400190565b60408051601f1981840301815290829052610ad09291602001611e23565b6040516020818303038152906040528152506040518263ffffffff1660e01b8152600401610afe9190611e9e565b6020604051808303816000875af1158015610b1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b419190611f1c565b905080876001600160a01b0316336001600160a01b03167f8adc7b22fb27c91bbad9f38633adae809888623a9aee14c1adec44ee7e7cf2c034604051610b8991815260200190565b60405180910390a4505050610b9e6001600355565b50505050565b6001600160a01b031660009081526020819052604090205460ff1690565b60015460405163260f846760e11b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634c1f08ce90602401602060405180830381865afa158015610c29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4d9190611f1c565b1015610cb45760405162461bcd60e51b815260206004820152603060248201527f54656c65706f727465725570677261646561626c653a20696e76616c6964205460448201526f32b632b837b93a32b91039b2b73232b960811b60648201526084016104b6565b610cbd33610ba4565b15610d235760405162461bcd60e51b815260206004820152603060248201527f54656c65706f727465725570677261646561626c653a2054656c65706f72746560448201526f1c881859191c995cdcc81c185d5cd95960821b60648201526084016104b6565b610b9e848484848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506114ef92505050565b610d6c61107d565b6001600160a01b038116610dd15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104b6565b61083a816110d7565b61084f61107d565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d820e64f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e679190611f35565b9050610e7281610ba4565b15610ed85760405162461bcd60e51b815260206004820152603060248201527f54656c65706f727465725570677261646561626c653a2054656c65706f72746560448201526f1c881cd95b991a5b99c81c185d5cd95960821b60648201526084016104b6565b919050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c07f47d46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f619190611f1c565b60015490915081831115610fd15760405162461bcd60e51b815260206004820152603160248201527f54656c65706f727465725570677261646561626c653a20696e76616c6964205460448201527032b632b837b93a32b9103b32b939b4b7b760791b60648201526084016104b6565b8083116110465760405162461bcd60e51b815260206004820152603f60248201527f54656c65706f727465725570677261646561626c653a206e6f7420677265617460448201527f6572207468616e2063757272656e74206d696e696d756d2076657273696f6e0060648201526084016104b6565b6001839055604051839082907fa9a7ef57e41f05b4c15480842f5f0c27edfcbb553fed281f7c4068452cc1c02d90600090a3505050565b6002546001600160a01b0316331461084f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104b6565b600280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60026003540361117b5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016104b6565b6002600355565b6040516370a0823160e01b815230600482015260009081906001600160a01b038516906370a0823190602401602060405180830381865afa1580156111cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ef9190611f1c565b90506112066001600160a01b038516333086611852565b6040516370a0823160e01b81523060048201526000906001600160a01b038616906370a0823190602401602060405180830381865afa15801561124d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112719190611f1c565b90508181116112d75760405162461bcd60e51b815260206004820152602c60248201527f5361666545524332305472616e7366657246726f6d3a2062616c616e6365206e60448201526b1bdd081a5b98dc99585cd95960a21b60648201526084016104b6565b6112e18282611d0c565b925050505b92915050565b604051636eb1769f60e11b81523060048201526001600160a01b038381166024830152600091839186169063dd62ed3e90604401602060405180830381865afa15801561133d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113619190611f1c565b61136b9190611cf9565b6040516001600160a01b038516602482015260448101829052909150610b9e90859063095ea7b360e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261188a565b804710156114215760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016104b6565b6000826001600160a01b03168260405160006040518083038185875af1925050503d806000811461146e576040519150601f19603f3d011682016040523d82523d6000602084013e611473565b606091505b50509050806114ea5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016104b6565b505050565b7f000000000000000000000000000000000000000000000000000000000000000083146115735760405162461bcd60e51b815260206004820152602c60248201527f4e6174697665546f6b656e44657374696e6174696f6e3a20696e76616c69642060448201526b39b7bab931b29031b430b4b760a11b60648201526084016104b6565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316146116085760405162461bcd60e51b815260206004820152602b60248201527f4e6174697665546f6b656e44657374696e6174696f6e3a20756e617574686f7260448201526a34bd32b21039b2b73232b960a91b60648201526084016104b6565b6000808280602001905181019061161f9190611fa0565b90925090506001600160a01b03821661164a5760405162461bcd60e51b81526004016104b690611f52565b806000036116ae5760405162461bcd60e51b815260206004820152602b60248201527f4e6174697665546f6b656e44657374696e6174696f6e3a207a65726f2074726160448201526a6e736665722076616c756560a81b60648201526084016104b6565b600454819015611773576004548211156117175760045460408051918252600060208301527f244160b15e69cc411f041d94ae7fab6f6bba85dade8403216c05ff4b920d5449910160405180910390a160045461170b9083611d0c565b60006004559050611773565b81600460008282546117299190611d0c565b90915550506004546040805184815260208101929092527f244160b15e69cc411f041d94ae7fab6f6bba85dade8403216c05ff4b920d5449910160405180910390a1505050505050565b80600560008282546117859190611cf9565b90915550506040518181526001600160a01b038416907fd949ea0e9d5db53492d77f28fd5467fb2f6c4f5b88e3350e3c36729b76e99cf29060200160405180910390a26040516327ad555d60e11b81526001600160a01b038481166004830152602482018390527f00000000000000000000000000000000000000000000000000000000000000001690634f5aaaba90604401600060405180830381600087803b15801561183257600080fd5b505af1158015611846573d6000803e3d6000fd5b50505050505050505050565b6040516001600160a01b0380851660248301528316604482015260648101829052610b9e9085906323b872dd60e01b9060840161139a565b60006118df826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661195c9092919063ffffffff16565b8051909150156114ea57808060200190518101906118fd9190611fce565b6114ea5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016104b6565b606061196b8484600085611973565b949350505050565b6060824710156119d45760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016104b6565b600080866001600160a01b031685876040516119f09190611ff0565b60006040518083038185875af1925050503d8060008114611a2d576040519150601f19603f3d011682016040523d82523d6000602084013e611a32565b606091505b5091509150611a4387838387611a4e565b979650505050505050565b60608315611abd578251600003611ab6576001600160a01b0385163b611ab65760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104b6565b508161196b565b61196b8383815115611ad25781518083602001fd5b8060405162461bcd60e51b81526004016104b6919061200c565b6001600160a01b038116811461083a57600080fd5b600060208284031215611b1357600080fd5b8135611b1e81611aec565b9392505050565b600060408284031215611b3757600080fd5b50919050565b60008083601f840112611b4f57600080fd5b50813567ffffffffffffffff811115611b6757600080fd5b6020830191508360208260051b8501011115611b8257600080fd5b9250929050565b600080600060608486031215611b9e57600080fd5b611ba88585611b25565b9250604084013567ffffffffffffffff811115611bc457600080fd5b611bd086828701611b3d565b9497909650939450505050565b600060208284031215611bef57600080fd5b5035919050565b60008060008060808587031215611c0c57600080fd5b8435611c1781611aec565b9350611c268660208701611b25565b9250606085013567ffffffffffffffff811115611c4257600080fd5b611c4e87828801611b3d565b95989497509550505050565b60008060008060608587031215611c7057600080fd5b843593506020850135611c8281611aec565b9250604085013567ffffffffffffffff80821115611c9f57600080fd5b818701915087601f830112611cb357600080fd5b813581811115611cc257600080fd5b886020828501011115611cd457600080fd5b95989497505060200194505050565b634e487b7160e01b600052601160045260246000fd5b808201808211156112e6576112e6611ce3565b818103818111156112e6576112e6611ce3565b6020808252602e908201527f54656c65706f727465725570677261646561626c653a207a65726f2054656c6560408201526d706f72746572206164647265737360901b606082015260800190565b600060408284031215611d7f57600080fd5b6040516040810181811067ffffffffffffffff82111715611db057634e487b7160e01b600052604160045260246000fd5b6040528235611dbe81611aec565b81526020928301359281019290925250919050565b60005b83811015611dee578181015183820152602001611dd6565b50506000910152565b60008151808452611e0f816020860160208601611dd3565b601f01601f19169290920160200192915050565b600060028410611e4357634e487b7160e01b600052602160045260246000fd5b8382526040602083015261196b6040830184611df7565b600081518084526020808501945080840160005b83811015611e935781516001600160a01b031687529582019590820190600101611e6e565b509495945050505050565b60208152815160208201526000602083015160018060a01b03808216604085015260408501519150808251166060850152506020810151608084015250606083015160a0830152608083015160e060c0840152611eff610100840182611e5a565b905060a0840151601f198483030160e08501526112e18282611df7565b600060208284031215611f2e57600080fd5b5051919050565b600060208284031215611f4757600080fd5b8151611b1e81611aec565b6020808252602e908201527f4e6174697665546f6b656e44657374696e6174696f6e3a207a65726f2072656360408201526d697069656e74206164647265737360901b606082015260800190565b60008060408385031215611fb357600080fd5b8251611fbe81611aec565b6020939093015192949293505050565b600060208284031215611fe057600080fd5b81518015158114611b1e57600080fd5b60008251612002818460208701611dd3565b9190910192915050565b602081526000611b1e6020830184611df756fea2646970667358221220a7c4601da90ddd06526f93b8ea4fec25b6fc25485fb39a19c2cd37aad0f1c5fe64736f6c634300081200334e6174697665546f6b656e44657374696e6174696f6e3a207a65726f20736f75", } // NativeTokenDestinationABI is the input ABI used to generate the binding from. diff --git a/abi-bindings/go/CrossChainApplications/examples/NativeTokenBridge/NativeTokenSource/NativeTokenSource.go b/abi-bindings/go/CrossChainApplications/examples/NativeTokenBridge/NativeTokenSource/NativeTokenSource.go index f45efdd5e..ee017b66f 100644 --- a/abi-bindings/go/CrossChainApplications/examples/NativeTokenBridge/NativeTokenSource/NativeTokenSource.go +++ b/abi-bindings/go/CrossChainApplications/examples/NativeTokenBridge/NativeTokenSource/NativeTokenSource.go @@ -38,7 +38,7 @@ type TeleporterFeeInfo struct { // NativeTokenSourceMetaData contains all meta data concerning the NativeTokenSource contract. var NativeTokenSourceMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"teleporterRegistryAddress\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"destinationBlockchainID_\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"nativeTokenDestinationAddress_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"BurnTokens\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"oldMinTeleporterVersion\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"newMinTeleporterVersion\",\"type\":\"uint256\"}],\"name\":\"MinTeleporterVersionUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"teleporterAddress\",\"type\":\"address\"}],\"name\":\"TeleporterAddressPaused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"teleporterAddress\",\"type\":\"address\"}],\"name\":\"TeleporterAddressUnpaused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"teleporterMessageID\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TransferToDestination\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"UnlockTokens\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BURNED_TX_FEES_ADDRESS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINT_NATIVE_TOKENS_REQUIRED_GAS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"destinationBlockchainID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"destinationBurnedTotal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMinTeleporterVersion\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"teleporterAddress\",\"type\":\"address\"}],\"name\":\"isTeleporterAddressPaused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nativeTokenDestinationAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"teleporterAddress\",\"type\":\"address\"}],\"name\":\"pauseTeleporterAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"originBlockchainID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"originSenderAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"}],\"name\":\"receiveTeleporterMessage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"teleporterRegistry\",\"outputs\":[{\"internalType\":\"contractTeleporterRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"feeTokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"internalType\":\"structTeleporterFeeInfo\",\"name\":\"feeInfo\",\"type\":\"tuple\"},{\"internalType\":\"address[]\",\"name\":\"allowedRelayerAddresses\",\"type\":\"address[]\"}],\"name\":\"transferToDestination\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"teleporterAddress\",\"type\":\"address\"}],\"name\":\"unpauseTeleporterAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"version\",\"type\":\"uint256\"}],\"name\":\"updateMinTeleporterVersion\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", - Bin: "0x60e06040523480156200001157600080fd5b506040516200209d3803806200209d83398101604081905262000034916200037b565b82806001600160a01b038116620000b85760405162461bcd60e51b815260206004820152603760248201527f54656c65706f727465725570677261646561626c653a207a65726f2074656c6560448201527f706f72746572207265676973747279206164647265737300000000000000000060648201526084015b60405180910390fd5b6001600160a01b03811660808190526040805163301fd1f560e21b8152905163c07f47d4916004808201926020929091908290030181865afa15801562000103573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001299190620003bc565b6001555062000138336200030c565b50600160035581620001965760405162461bcd60e51b815260206004820152603160248201526000805160206200207d8339815191526044820152701a5bdb88189b1bd8dad8da185a5b881251607a1b6064820152608401620000af565b7302000000000000000000000000000000000000056001600160a01b0316634213cf786040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001e9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200020f9190620003bc565b8203620002855760405162461bcd60e51b815260206004820152603560248201527f4e6174697665546f6b656e536f757263653a2063616e6e6f742062726964676560448201527f20776974682073616d6520626c6f636b636861696e00000000000000000000006064820152608401620000af565b60a08290526001600160a01b038116620002f75760405162461bcd60e51b815260206004820152603460248201526000805160206200207d83398151915260448201527f696f6e20636f6e747261637420616464726573730000000000000000000000006064820152608401620000af565b6001600160a01b031660c05250620003d69050565b600280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b03811681146200037657600080fd5b919050565b6000806000606084860312156200039157600080fd5b6200039c846200035e565b925060208401519150620003b3604085016200035e565b90509250925092565b600060208284031215620003cf57600080fd5b5051919050565b60805160a05160c051611c4662000437600039600081816102a20152818161060d015261102301526000818161017d015281816105e70152610f9f01526000818161010a015281816107a6015281816109b20152610c580152611c466000f3fe6080604052600436106100f35760003560e01c8063973142971161008a578063c452165e11610059578063c452165e146102c4578063c868efaa146102dc578063d2cc7a70146102fc578063f2fde38b1461031157600080fd5b80639731429714610236578063ad0aee2514610266578063b6171f7314610279578063b8c9091a1461029057600080fd5b806355db3e9e116100c657806355db3e9e146101cd5780635eb99514146101e3578063715018a6146102035780638da5cb5b1461021857600080fd5b80631a7f5bec146100f85780632b0d8f181461014957806341d3014d1461016b5780634511243e146101ad575b600080fd5b34801561010457600080fd5b5061012c7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561015557600080fd5b506101696101643660046116bd565b610331565b005b34801561017757600080fd5b5061019f7f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610140565b3480156101b957600080fd5b506101696101c83660046116bd565b610420565b3480156101d957600080fd5b5061019f60045481565b3480156101ef57600080fd5b506101696101fe3660046116e1565b61050a565b34801561020f57600080fd5b5061016961051e565b34801561022457600080fd5b506002546001600160a01b031661012c565b34801561024257600080fd5b506102566102513660046116bd565b610532565b6040519015158152602001610140565b6101696102743660046116fa565b610550565b34801561028557600080fd5b5061019f620186a081565b34801561029c57600080fd5b5061012c7f000000000000000000000000000000000000000000000000000000000000000081565b3480156102d057600080fd5b5061012c600160981b81565b3480156102e857600080fd5b506101696102f7366004611799565b61078e565b34801561030857600080fd5b5060015461019f565b34801561031d57600080fd5b5061016961032c3660046116bd565b610930565b6103396109a6565b6001600160a01b0381166103685760405162461bcd60e51b815260040161035f90611813565b60405180910390fd5b61037181610532565b156103d45760405162461bcd60e51b815260206004820152602d60248201527f54656c65706f727465725570677261646561626c653a2061646472657373206160448201526c1b1c9958591e481c185d5cd959609a1b606482015260840161035f565b6001600160a01b038116600081815260208190526040808220805460ff19166001179055517f933f93e57a222e6330362af8b376d0a8725b6901e9a2fb86d00f169702b28a4c9190a250565b6104286109a6565b6001600160a01b03811661044e5760405162461bcd60e51b815260040161035f90611813565b61045781610532565b6104b55760405162461bcd60e51b815260206004820152602960248201527f54656c65706f727465725570677261646561626c653a2061646472657373206e6044820152681bdd081c185d5cd95960ba1b606482015260840161035f565b6040516001600160a01b038216907f844e2f3154214672229235858fd029d1dfd543901c6d05931f0bc2480a2d72c390600090a26001600160a01b03166000908152602081905260409020805460ff19169055565b6105126109a6565b61051b816109ae565b50565b610526610b4e565b6105306000610ba8565b565b6001600160a01b031660009081526020819052604090205460ff1690565b610558610bfa565b6000610562610c53565b90506001600160a01b03851661058a5760405162461bcd60e51b815260040161035f90611861565b60006020850135156105c9576105b06105a660208701876116bd565b8660200135610d4e565b90506105c96105c260208701876116bd565b8383610eb8565b6000826001600160a01b031663624488506040518060c001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020018980360381019061064b91906118f1565b8152602001620186a081526020018888808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152505050908252506040516020918201916106ba918d913491016001600160a01b03929092168252602082015260400190565b6040516020818303038152906040528152506040518263ffffffff1660e01b81526004016106e891906119dd565b6020604051808303816000875af1158015610707573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072b9190611a5b565b905080876001600160a01b0316336001600160a01b03167f6cf14fdf618c440df3de7de7dcacf59541a464e55f360cbe73724c12e0c4cf993460405161077391815260200190565b60405180910390a45050506107886001600355565b50505050565b60015460405163260f846760e11b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634c1f08ce90602401602060405180830381865afa1580156107f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108199190611a5b565b10156108805760405162461bcd60e51b815260206004820152603060248201527f54656c65706f727465725570677261646561626c653a20696e76616c6964205460448201526f32b632b837b93a32b91039b2b73232b960811b606482015260840161035f565b61088933610532565b156108ef5760405162461bcd60e51b815260206004820152603060248201527f54656c65706f727465725570677261646561626c653a2054656c65706f72746560448201526f1c881859191c995cdcc81c185d5cd95960821b606482015260840161035f565b610788848484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610f9d92505050565b610938610b4e565b6001600160a01b03811661099d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161035f565b61051b81610ba8565b610530610b4e565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c07f47d46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a329190611a5b565b60015490915081831115610aa25760405162461bcd60e51b815260206004820152603160248201527f54656c65706f727465725570677261646561626c653a20696e76616c6964205460448201527032b632b837b93a32b9103b32b939b4b7b760791b606482015260840161035f565b808311610b175760405162461bcd60e51b815260206004820152603f60248201527f54656c65706f727465725570677261646561626c653a206e6f7420677265617460448201527f6572207468616e2063757272656e74206d696e696d756d2076657273696f6e00606482015260840161035f565b6001839055604051839082907fa9a7ef57e41f05b4c15480842f5f0c27edfcbb553fed281f7c4068452cc1c02d90600090a3505050565b6002546001600160a01b031633146105305760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161035f565b600280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600260035403610c4c5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161035f565b6002600355565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d820e64f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cd89190611a74565b9050610ce381610532565b15610d495760405162461bcd60e51b815260206004820152603060248201527f54656c65706f727465725570677261646561626c653a2054656c65706f72746560448201526f1c881cd95b991a5b99c81c185d5cd95960821b606482015260840161035f565b919050565b6040516370a0823160e01b815230600482015260009081906001600160a01b038516906370a0823190602401602060405180830381865afa158015610d97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dbb9190611a5b565b9050610dd26001600160a01b0385163330866111ab565b6040516370a0823160e01b81523060048201526000906001600160a01b038616906370a0823190602401602060405180830381865afa158015610e19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3d9190611a5b565b9050818111610ea35760405162461bcd60e51b815260206004820152602c60248201527f5361666545524332305472616e7366657246726f6d3a2062616c616e6365206e60448201526b1bdd081a5b98dc99585cd95960a21b606482015260840161035f565b610ead8282611aa7565b925050505b92915050565b604051636eb1769f60e11b81523060048201526001600160a01b038381166024830152600091839186169063dd62ed3e90604401602060405180830381865afa158015610f09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2d9190611a5b565b610f379190611aba565b6040516001600160a01b03851660248201526044810182905290915061078890859063095ea7b360e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526111e3565b7f000000000000000000000000000000000000000000000000000000000000000083146110215760405162461bcd60e51b815260206004820152602c60248201527f4e6174697665546f6b656e536f757263653a20696e76616c696420646573746960448201526b3730ba34b7b71031b430b4b760a11b606482015260840161035f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316146110b15760405162461bcd60e51b815260206004820152602660248201527f4e6174697665546f6b656e536f757263653a20756e617574686f72697a65642060448201526539b2b73232b960d11b606482015260840161035f565b600080828060200190518101906110c89190611acd565b909250905060008260018111156110e1576110e1611b7b565b0361111257600080828060200190518101906110fd9190611b91565b9150915061110b82826112ba565b50506111a4565b600182600181111561112657611126611b7b565b03611152576000818060200190518101906111419190611a5b565b905061114c81611393565b506111a4565b60405162461bcd60e51b815260206004820152602160248201527f4e6174697665546f6b656e536f757263653a20696e76616c696420616374696f6044820152603760f91b606482015260840161035f565b5050505050565b6040516001600160a01b03808516602483015283166044820152606481018290526107889085906323b872dd60e01b90608401610f66565b6000611238826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166113be9092919063ffffffff16565b8051909150156112b557808060200190518101906112569190611bbf565b6112b55760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161035f565b505050565b6001600160a01b0382166112e05760405162461bcd60e51b815260040161035f90611861565b804710156113435760405162461bcd60e51b815260206004820152602a60248201527f4e6174697665546f6b656e536f757263653a20696e73756666696369656e742060448201526918dbdb1b185d195c985b60b21b606482015260840161035f565b604080516001600160a01b0384168152602081018390527f55aaef8fd8c07238c3618a93c8a1627194187d3b0952908e58f2ab0f944fb407910160405180910390a161138f82826113d5565b5050565b60045481111561051b576000600454826113ad9190611aa7565b90506113b8816114ee565b50600455565b60606113cd848460008561152f565b949350505050565b804710156114255760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015260640161035f565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611472576040519150601f19603f3d011682016040523d82523d6000602084013e611477565b606091505b50509050806112b55760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d61792068617665207265766572746564000000000000606482015260840161035f565b6040518181527f2cd3fd70cd5a5d6d805e90d22741aa1a84590ace7cf01b244719558d266143829060200160405180910390a161051b600160981b826113d5565b6060824710156115905760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161035f565b600080866001600160a01b031685876040516115ac9190611be1565b60006040518083038185875af1925050503d80600081146115e9576040519150601f19603f3d011682016040523d82523d6000602084013e6115ee565b606091505b50915091506115ff8783838761160a565b979650505050505050565b60608315611679578251600003611672576001600160a01b0385163b6116725760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161035f565b50816113cd565b6113cd838381511561168e5781518083602001fd5b8060405162461bcd60e51b815260040161035f9190611bfd565b6001600160a01b038116811461051b57600080fd5b6000602082840312156116cf57600080fd5b81356116da816116a8565b9392505050565b6000602082840312156116f357600080fd5b5035919050565b600080600080848603608081121561171157600080fd5b853561171c816116a8565b94506040601f198201121561173057600080fd5b50602085019250606085013567ffffffffffffffff8082111561175257600080fd5b818701915087601f83011261176657600080fd5b81358181111561177557600080fd5b8860208260051b850101111561178a57600080fd5b95989497505060200194505050565b600080600080606085870312156117af57600080fd5b8435935060208501356117c1816116a8565b9250604085013567ffffffffffffffff808211156117de57600080fd5b818701915087601f8301126117f257600080fd5b81358181111561180157600080fd5b88602082850101111561178a57600080fd5b6020808252602e908201527f54656c65706f727465725570677261646561626c653a207a65726f2054656c6560408201526d706f72746572206164647265737360901b606082015260800190565b60208082526029908201527f4e6174697665546f6b656e536f757263653a207a65726f20726563697069656e60408201526874206164647265737360b81b606082015260800190565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156118e9576118e96118aa565b604052919050565b60006040828403121561190357600080fd5b6040516040810181811067ffffffffffffffff82111715611926576119266118aa565b6040528235611934816116a8565b81526020928301359281019290925250919050565b600081518084526020808501945080840160005b838110156119825781516001600160a01b03168752958201959082019060010161195d565b509495945050505050565b60005b838110156119a8578181015183820152602001611990565b50506000910152565b600081518084526119c981602086016020860161198d565b601f01601f19169290920160200192915050565b60208152815160208201526000602083015160018060a01b03808216604085015260408501519150808251166060850152506020810151608084015250606083015160a0830152608083015160e060c0840152611a3e610100840182611949565b905060a0840151601f198483030160e0850152610ead82826119b1565b600060208284031215611a6d57600080fd5b5051919050565b600060208284031215611a8657600080fd5b81516116da816116a8565b634e487b7160e01b600052601160045260246000fd5b81810381811115610eb257610eb2611a91565b80820180821115610eb257610eb2611a91565b60008060408385031215611ae057600080fd5b825160028110611aef57600080fd5b602084015190925067ffffffffffffffff80821115611b0d57600080fd5b818501915085601f830112611b2157600080fd5b815181811115611b3357611b336118aa565b611b46601f8201601f19166020016118c0565b9150808252866020828501011115611b5d57600080fd5b611b6e81602084016020860161198d565b5080925050509250929050565b634e487b7160e01b600052602160045260246000fd5b60008060408385031215611ba457600080fd5b8251611baf816116a8565b6020939093015192949293505050565b600060208284031215611bd157600080fd5b815180151581146116da57600080fd5b60008251611bf381846020870161198d565b9190910192915050565b6020815260006116da60208301846119b156fea264697066735822122011843665bbe740447f69f2c7ca5bd3331a9059cc1a7267da165d0d2d9161b48c64736f6c634300081200334e6174697665546f6b656e536f757263653a207a65726f2064657374696e6174", + Bin: "0x60e06040523480156200001157600080fd5b506040516200209d3803806200209d83398101604081905262000034916200037b565b82806001600160a01b038116620000b85760405162461bcd60e51b815260206004820152603760248201527f54656c65706f727465725570677261646561626c653a207a65726f2074656c6560448201527f706f72746572207265676973747279206164647265737300000000000000000060648201526084015b60405180910390fd5b6001600160a01b03811660808190526040805163301fd1f560e21b8152905163c07f47d4916004808201926020929091908290030181865afa15801562000103573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001299190620003bc565b6001555062000138336200030c565b50600160035581620001965760405162461bcd60e51b815260206004820152603160248201526000805160206200207d8339815191526044820152701a5bdb88189b1bd8dad8da185a5b881251607a1b6064820152608401620000af565b7302000000000000000000000000000000000000056001600160a01b0316634213cf786040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001e9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200020f9190620003bc565b8203620002855760405162461bcd60e51b815260206004820152603560248201527f4e6174697665546f6b656e536f757263653a2063616e6e6f742062726964676560448201527f20776974682073616d6520626c6f636b636861696e00000000000000000000006064820152608401620000af565b60a08290526001600160a01b038116620002f75760405162461bcd60e51b815260206004820152603460248201526000805160206200207d83398151915260448201527f696f6e20636f6e747261637420616464726573730000000000000000000000006064820152608401620000af565b6001600160a01b031660c05250620003d69050565b600280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b03811681146200037657600080fd5b919050565b6000806000606084860312156200039157600080fd5b6200039c846200035e565b925060208401519150620003b3604085016200035e565b90509250925092565b600060208284031215620003cf57600080fd5b5051919050565b60805160a05160c051611c4662000437600039600081816102a20152818161060d015261102301526000818161017d015281816105e70152610f9f01526000818161010a015281816107a6015281816109b20152610c580152611c466000f3fe6080604052600436106100f35760003560e01c8063973142971161008a578063c452165e11610059578063c452165e146102c4578063c868efaa146102dc578063d2cc7a70146102fc578063f2fde38b1461031157600080fd5b80639731429714610236578063ad0aee2514610266578063b6171f7314610279578063b8c9091a1461029057600080fd5b806355db3e9e116100c657806355db3e9e146101cd5780635eb99514146101e3578063715018a6146102035780638da5cb5b1461021857600080fd5b80631a7f5bec146100f85780632b0d8f181461014957806341d3014d1461016b5780634511243e146101ad575b600080fd5b34801561010457600080fd5b5061012c7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561015557600080fd5b506101696101643660046116bd565b610331565b005b34801561017757600080fd5b5061019f7f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610140565b3480156101b957600080fd5b506101696101c83660046116bd565b610420565b3480156101d957600080fd5b5061019f60045481565b3480156101ef57600080fd5b506101696101fe3660046116e1565b61050a565b34801561020f57600080fd5b5061016961051e565b34801561022457600080fd5b506002546001600160a01b031661012c565b34801561024257600080fd5b506102566102513660046116bd565b610532565b6040519015158152602001610140565b6101696102743660046116fa565b610550565b34801561028557600080fd5b5061019f620186a081565b34801561029c57600080fd5b5061012c7f000000000000000000000000000000000000000000000000000000000000000081565b3480156102d057600080fd5b5061012c600160981b81565b3480156102e857600080fd5b506101696102f7366004611799565b61078e565b34801561030857600080fd5b5060015461019f565b34801561031d57600080fd5b5061016961032c3660046116bd565b610930565b6103396109a6565b6001600160a01b0381166103685760405162461bcd60e51b815260040161035f90611813565b60405180910390fd5b61037181610532565b156103d45760405162461bcd60e51b815260206004820152602d60248201527f54656c65706f727465725570677261646561626c653a2061646472657373206160448201526c1b1c9958591e481c185d5cd959609a1b606482015260840161035f565b6001600160a01b038116600081815260208190526040808220805460ff19166001179055517f933f93e57a222e6330362af8b376d0a8725b6901e9a2fb86d00f169702b28a4c9190a250565b6104286109a6565b6001600160a01b03811661044e5760405162461bcd60e51b815260040161035f90611813565b61045781610532565b6104b55760405162461bcd60e51b815260206004820152602960248201527f54656c65706f727465725570677261646561626c653a2061646472657373206e6044820152681bdd081c185d5cd95960ba1b606482015260840161035f565b6040516001600160a01b038216907f844e2f3154214672229235858fd029d1dfd543901c6d05931f0bc2480a2d72c390600090a26001600160a01b03166000908152602081905260409020805460ff19169055565b6105126109a6565b61051b816109ae565b50565b610526610b4e565b6105306000610ba8565b565b6001600160a01b031660009081526020819052604090205460ff1690565b610558610bfa565b6000610562610c53565b90506001600160a01b03851661058a5760405162461bcd60e51b815260040161035f90611861565b60006020850135156105c9576105b06105a660208701876116bd565b8660200135610d4e565b90506105c96105c260208701876116bd565b8383610eb8565b6000826001600160a01b031663624488506040518060c001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020018980360381019061064b91906118f1565b8152602001620186a081526020018888808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152505050908252506040516020918201916106ba918d913491016001600160a01b03929092168252602082015260400190565b6040516020818303038152906040528152506040518263ffffffff1660e01b81526004016106e891906119dd565b6020604051808303816000875af1158015610707573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072b9190611a5b565b905080876001600160a01b0316336001600160a01b03167f6cf14fdf618c440df3de7de7dcacf59541a464e55f360cbe73724c12e0c4cf993460405161077391815260200190565b60405180910390a45050506107886001600355565b50505050565b60015460405163260f846760e11b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634c1f08ce90602401602060405180830381865afa1580156107f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108199190611a5b565b10156108805760405162461bcd60e51b815260206004820152603060248201527f54656c65706f727465725570677261646561626c653a20696e76616c6964205460448201526f32b632b837b93a32b91039b2b73232b960811b606482015260840161035f565b61088933610532565b156108ef5760405162461bcd60e51b815260206004820152603060248201527f54656c65706f727465725570677261646561626c653a2054656c65706f72746560448201526f1c881859191c995cdcc81c185d5cd95960821b606482015260840161035f565b610788848484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610f9d92505050565b610938610b4e565b6001600160a01b03811661099d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161035f565b61051b81610ba8565b610530610b4e565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c07f47d46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a329190611a5b565b60015490915081831115610aa25760405162461bcd60e51b815260206004820152603160248201527f54656c65706f727465725570677261646561626c653a20696e76616c6964205460448201527032b632b837b93a32b9103b32b939b4b7b760791b606482015260840161035f565b808311610b175760405162461bcd60e51b815260206004820152603f60248201527f54656c65706f727465725570677261646561626c653a206e6f7420677265617460448201527f6572207468616e2063757272656e74206d696e696d756d2076657273696f6e00606482015260840161035f565b6001839055604051839082907fa9a7ef57e41f05b4c15480842f5f0c27edfcbb553fed281f7c4068452cc1c02d90600090a3505050565b6002546001600160a01b031633146105305760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161035f565b600280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600260035403610c4c5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161035f565b6002600355565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d820e64f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cd89190611a74565b9050610ce381610532565b15610d495760405162461bcd60e51b815260206004820152603060248201527f54656c65706f727465725570677261646561626c653a2054656c65706f72746560448201526f1c881cd95b991a5b99c81c185d5cd95960821b606482015260840161035f565b919050565b6040516370a0823160e01b815230600482015260009081906001600160a01b038516906370a0823190602401602060405180830381865afa158015610d97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dbb9190611a5b565b9050610dd26001600160a01b0385163330866111ab565b6040516370a0823160e01b81523060048201526000906001600160a01b038616906370a0823190602401602060405180830381865afa158015610e19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3d9190611a5b565b9050818111610ea35760405162461bcd60e51b815260206004820152602c60248201527f5361666545524332305472616e7366657246726f6d3a2062616c616e6365206e60448201526b1bdd081a5b98dc99585cd95960a21b606482015260840161035f565b610ead8282611aa7565b925050505b92915050565b604051636eb1769f60e11b81523060048201526001600160a01b038381166024830152600091839186169063dd62ed3e90604401602060405180830381865afa158015610f09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2d9190611a5b565b610f379190611aba565b6040516001600160a01b03851660248201526044810182905290915061078890859063095ea7b360e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526111e3565b7f000000000000000000000000000000000000000000000000000000000000000083146110215760405162461bcd60e51b815260206004820152602c60248201527f4e6174697665546f6b656e536f757263653a20696e76616c696420646573746960448201526b3730ba34b7b71031b430b4b760a11b606482015260840161035f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316146110b15760405162461bcd60e51b815260206004820152602660248201527f4e6174697665546f6b656e536f757263653a20756e617574686f72697a65642060448201526539b2b73232b960d11b606482015260840161035f565b600080828060200190518101906110c89190611acd565b909250905060008260018111156110e1576110e1611b7b565b0361111257600080828060200190518101906110fd9190611b91565b9150915061110b82826112ba565b50506111a4565b600182600181111561112657611126611b7b565b03611152576000818060200190518101906111419190611a5b565b905061114c81611393565b506111a4565b60405162461bcd60e51b815260206004820152602160248201527f4e6174697665546f6b656e536f757263653a20696e76616c696420616374696f6044820152603760f91b606482015260840161035f565b5050505050565b6040516001600160a01b03808516602483015283166044820152606481018290526107889085906323b872dd60e01b90608401610f66565b6000611238826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166113be9092919063ffffffff16565b8051909150156112b557808060200190518101906112569190611bbf565b6112b55760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161035f565b505050565b6001600160a01b0382166112e05760405162461bcd60e51b815260040161035f90611861565b804710156113435760405162461bcd60e51b815260206004820152602a60248201527f4e6174697665546f6b656e536f757263653a20696e73756666696369656e742060448201526918dbdb1b185d195c985b60b21b606482015260840161035f565b604080516001600160a01b0384168152602081018390527f55aaef8fd8c07238c3618a93c8a1627194187d3b0952908e58f2ab0f944fb407910160405180910390a161138f82826113d5565b5050565b60045481111561051b576000600454826113ad9190611aa7565b90506113b8816114ee565b50600455565b60606113cd848460008561152f565b949350505050565b804710156114255760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015260640161035f565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611472576040519150601f19603f3d011682016040523d82523d6000602084013e611477565b606091505b50509050806112b55760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d61792068617665207265766572746564000000000000606482015260840161035f565b6040518181527f2cd3fd70cd5a5d6d805e90d22741aa1a84590ace7cf01b244719558d266143829060200160405180910390a161051b600160981b826113d5565b6060824710156115905760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161035f565b600080866001600160a01b031685876040516115ac9190611be1565b60006040518083038185875af1925050503d80600081146115e9576040519150601f19603f3d011682016040523d82523d6000602084013e6115ee565b606091505b50915091506115ff8783838761160a565b979650505050505050565b60608315611679578251600003611672576001600160a01b0385163b6116725760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161035f565b50816113cd565b6113cd838381511561168e5781518083602001fd5b8060405162461bcd60e51b815260040161035f9190611bfd565b6001600160a01b038116811461051b57600080fd5b6000602082840312156116cf57600080fd5b81356116da816116a8565b9392505050565b6000602082840312156116f357600080fd5b5035919050565b600080600080848603608081121561171157600080fd5b853561171c816116a8565b94506040601f198201121561173057600080fd5b50602085019250606085013567ffffffffffffffff8082111561175257600080fd5b818701915087601f83011261176657600080fd5b81358181111561177557600080fd5b8860208260051b850101111561178a57600080fd5b95989497505060200194505050565b600080600080606085870312156117af57600080fd5b8435935060208501356117c1816116a8565b9250604085013567ffffffffffffffff808211156117de57600080fd5b818701915087601f8301126117f257600080fd5b81358181111561180157600080fd5b88602082850101111561178a57600080fd5b6020808252602e908201527f54656c65706f727465725570677261646561626c653a207a65726f2054656c6560408201526d706f72746572206164647265737360901b606082015260800190565b60208082526029908201527f4e6174697665546f6b656e536f757263653a207a65726f20726563697069656e60408201526874206164647265737360b81b606082015260800190565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156118e9576118e96118aa565b604052919050565b60006040828403121561190357600080fd5b6040516040810181811067ffffffffffffffff82111715611926576119266118aa565b6040528235611934816116a8565b81526020928301359281019290925250919050565b600081518084526020808501945080840160005b838110156119825781516001600160a01b03168752958201959082019060010161195d565b509495945050505050565b60005b838110156119a8578181015183820152602001611990565b50506000910152565b600081518084526119c981602086016020860161198d565b601f01601f19169290920160200192915050565b60208152815160208201526000602083015160018060a01b03808216604085015260408501519150808251166060850152506020810151608084015250606083015160a0830152608083015160e060c0840152611a3e610100840182611949565b905060a0840151601f198483030160e0850152610ead82826119b1565b600060208284031215611a6d57600080fd5b5051919050565b600060208284031215611a8657600080fd5b81516116da816116a8565b634e487b7160e01b600052601160045260246000fd5b81810381811115610eb257610eb2611a91565b80820180821115610eb257610eb2611a91565b60008060408385031215611ae057600080fd5b825160028110611aef57600080fd5b602084015190925067ffffffffffffffff80821115611b0d57600080fd5b818501915085601f830112611b2157600080fd5b815181811115611b3357611b336118aa565b611b46601f8201601f19166020016118c0565b9150808252866020828501011115611b5d57600080fd5b611b6e81602084016020860161198d565b5080925050509250929050565b634e487b7160e01b600052602160045260246000fd5b60008060408385031215611ba457600080fd5b8251611baf816116a8565b6020939093015192949293505050565b600060208284031215611bd157600080fd5b815180151581146116da57600080fd5b60008251611bf381846020870161198d565b9190910192915050565b6020815260006116da60208301846119b156fea2646970667358221220d6858d4370c15f02f4092ad6c331b1e501d015d44e3cc1466b28d069d3e63f0d64736f6c634300081200334e6174697665546f6b656e536f757263653a207a65726f2064657374696e6174", } // NativeTokenSourceABI is the input ABI used to generate the binding from. diff --git a/abi-bindings/go/CrossChainApplications/examples/VerifiedBlockHash/BlockHashPublisher/BlockHashPublisher.go b/abi-bindings/go/CrossChainApplications/examples/VerifiedBlockHash/BlockHashPublisher/BlockHashPublisher.go index 3c6686526..70b016097 100644 --- a/abi-bindings/go/CrossChainApplications/examples/VerifiedBlockHash/BlockHashPublisher/BlockHashPublisher.go +++ b/abi-bindings/go/CrossChainApplications/examples/VerifiedBlockHash/BlockHashPublisher/BlockHashPublisher.go @@ -32,7 +32,7 @@ var ( // BlockHashPublisherMetaData contains all meta data concerning the BlockHashPublisher contract. var BlockHashPublisherMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"teleporterRegistryAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"destinationBlockchainID\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"destinationAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"blockHeight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"name\":\"PublishBlockHash\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"RECEIVE_BLOCK_HASH_REQUIRED_GAS_LIMIT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"destinationBlockchainID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"destinationAddress\",\"type\":\"address\"}],\"name\":\"publishLatestBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"teleporterRegistry\",\"outputs\":[{\"internalType\":\"contractTeleporterRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", - Bin: "0x60a060405234801561001057600080fd5b506040516105cf3803806105cf83398101604081905261002f916100c0565b6001600160a01b0381166100af5760405162461bcd60e51b815260206004820152603460248201527f426c6f636b486173685075626c69736865723a207a65726f2074656c65706f7260448201527f7465722072656769737472792061646472657373000000000000000000000000606482015260840160405180910390fd5b6001600160a01b03166080526100f0565b6000602082840312156100d257600080fd5b81516001600160a01b03811681146100e957600080fd5b9392505050565b6080516104be610111600039600081816068015261012701526104be6000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806318aef19b146100465780631a7f5bec1461006357806382ab2b86146100a2575b600080fd5b610050620249f081565b6040519081526020015b60405180910390f35b61008a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161005a565b6100506100b03660046102d3565b6000806100be600143610303565b6040805160208101839052824081830181905282518083038401815260608301938490529281905292935083906001600160a01b0387169088907fe13623d33d18131ce960c33b1282ceac1fe7b5ccfcf7f8c0f6dad32dd61e3bdd9060800160405180910390a47f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d820e64f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610183573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101a79190610324565b6001600160a01b031663624488506040518060c00160405280898152602001886001600160a01b03168152602001604051806040016040528060006001600160a01b0316815260200160008152508152602001620249f08152602001600067ffffffffffffffff81111561021d5761021d610348565b604051908082528060200260200182016040528015610246578160200160208202803683370190505b508152602001848152506040518263ffffffff1660e01b815260040161026c91906103e8565b6020604051808303816000875af115801561028b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102af919061046f565b93505050505b92915050565b6001600160a01b03811681146102d057600080fd5b50565b600080604083850312156102e657600080fd5b8235915060208301356102f8816102bb565b809150509250929050565b818103818111156102b557634e487b7160e01b600052601160045260246000fd5b60006020828403121561033657600080fd5b8151610341816102bb565b9392505050565b634e487b7160e01b600052604160045260246000fd5b600081518084526020808501945080840160005b838110156103975781516001600160a01b031687529582019590820190600101610372565b509495945050505050565b6000815180845260005b818110156103c8576020818501810151868301820152016103ac565b506000602082860101526020601f19601f83011685010191505092915050565b60208152815160208201526000602083015160018060a01b03808216604085015260408501519150808251166060850152506020810151608084015250606083015160a0830152608083015160e060c084015261044961010084018261035e565b905060a0840151601f198483030160e085015261046682826103a2565b95945050505050565b60006020828403121561048157600080fd5b505191905056fea2646970667358221220afe846036e068ef46595d6798698ec5f76f409df77affabe9959898f512c6c0b64736f6c63430008120033", + Bin: "0x60a060405234801561001057600080fd5b506040516105cf3803806105cf83398101604081905261002f916100c0565b6001600160a01b0381166100af5760405162461bcd60e51b815260206004820152603460248201527f426c6f636b486173685075626c69736865723a207a65726f2074656c65706f7260448201527f7465722072656769737472792061646472657373000000000000000000000000606482015260840160405180910390fd5b6001600160a01b03166080526100f0565b6000602082840312156100d257600080fd5b81516001600160a01b03811681146100e957600080fd5b9392505050565b6080516104be610111600039600081816068015261012701526104be6000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806318aef19b146100465780631a7f5bec1461006357806382ab2b86146100a2575b600080fd5b610050620249f081565b6040519081526020015b60405180910390f35b61008a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161005a565b6100506100b03660046102d3565b6000806100be600143610303565b6040805160208101839052824081830181905282518083038401815260608301938490529281905292935083906001600160a01b0387169088907fe13623d33d18131ce960c33b1282ceac1fe7b5ccfcf7f8c0f6dad32dd61e3bdd9060800160405180910390a47f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d820e64f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610183573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101a79190610324565b6001600160a01b031663624488506040518060c00160405280898152602001886001600160a01b03168152602001604051806040016040528060006001600160a01b0316815260200160008152508152602001620249f08152602001600067ffffffffffffffff81111561021d5761021d610348565b604051908082528060200260200182016040528015610246578160200160208202803683370190505b508152602001848152506040518263ffffffff1660e01b815260040161026c91906103e8565b6020604051808303816000875af115801561028b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102af919061046f565b93505050505b92915050565b6001600160a01b03811681146102d057600080fd5b50565b600080604083850312156102e657600080fd5b8235915060208301356102f8816102bb565b809150509250929050565b818103818111156102b557634e487b7160e01b600052601160045260246000fd5b60006020828403121561033657600080fd5b8151610341816102bb565b9392505050565b634e487b7160e01b600052604160045260246000fd5b600081518084526020808501945080840160005b838110156103975781516001600160a01b031687529582019590820190600101610372565b509495945050505050565b6000815180845260005b818110156103c8576020818501810151868301820152016103ac565b506000602082860101526020601f19601f83011685010191505092915050565b60208152815160208201526000602083015160018060a01b03808216604085015260408501519150808251166060850152506020810151608084015250606083015160a0830152608083015160e060c084015261044961010084018261035e565b905060a0840151601f198483030160e085015261046682826103a2565b95945050505050565b60006020828403121561048157600080fd5b505191905056fea26469706673582212204e7fe0b3bae83c26bfd38a9de3695762098c7d3ffce88762097bbf091fbee8ed64736f6c63430008120033", } // BlockHashPublisherABI is the input ABI used to generate the binding from. diff --git a/abi-bindings/go/CrossChainApplications/examples/VerifiedBlockHash/BlockHashReceiver/BlockHashReceiver.go b/abi-bindings/go/CrossChainApplications/examples/VerifiedBlockHash/BlockHashReceiver/BlockHashReceiver.go index d86561bf0..fbc66a09c 100644 --- a/abi-bindings/go/CrossChainApplications/examples/VerifiedBlockHash/BlockHashReceiver/BlockHashReceiver.go +++ b/abi-bindings/go/CrossChainApplications/examples/VerifiedBlockHash/BlockHashReceiver/BlockHashReceiver.go @@ -32,7 +32,7 @@ var ( // BlockHashReceiverMetaData contains all meta data concerning the BlockHashReceiver contract. var BlockHashReceiverMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"teleporterRegistryAddress\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"publisherBlockchainID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"publisherContractAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"oldMinTeleporterVersion\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"newMinTeleporterVersion\",\"type\":\"uint256\"}],\"name\":\"MinTeleporterVersionUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"originBlockchainID\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"originSenderAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"blockHeight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"name\":\"ReceiveBlockHash\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"teleporterAddress\",\"type\":\"address\"}],\"name\":\"TeleporterAddressPaused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"teleporterAddress\",\"type\":\"address\"}],\"name\":\"TeleporterAddressUnpaused\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"getLatestBlockInfo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMinTeleporterVersion\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"teleporterAddress\",\"type\":\"address\"}],\"name\":\"isTeleporterAddressPaused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"latestBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"latestBlockHeight\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"teleporterAddress\",\"type\":\"address\"}],\"name\":\"pauseTeleporterAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"originBlockchainID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"originSenderAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"}],\"name\":\"receiveTeleporterMessage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sourceBlockchainID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sourcePublisherContractAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"teleporterRegistry\",\"outputs\":[{\"internalType\":\"contractTeleporterRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"teleporterAddress\",\"type\":\"address\"}],\"name\":\"unpauseTeleporterAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"version\",\"type\":\"uint256\"}],\"name\":\"updateMinTeleporterVersion\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", - Bin: "0x60e060405234801561001057600080fd5b50604051610eaf380380610eaf83398101604081905261002f916101b3565b82806001600160a01b0381166100b15760405162461bcd60e51b815260206004820152603760248201527f54656c65706f727465725570677261646561626c653a207a65726f2074656c6560448201527f706f727465722072656769737472792061646472657373000000000000000000606482015260840160405180910390fd5b6001600160a01b03811660808190526040805163301fd1f560e21b8152905163c07f47d4916004808201926020929091908290030181865afa1580156100fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061011f91906101ef565b6001555061012c33610145565b5060a0919091526001600160a01b031660c05250610208565b600280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b03811681146101ae57600080fd5b919050565b6000806000606084860312156101c857600080fd5b6101d184610197565b9250602084015191506101e660408501610197565b90509250925092565b60006020828403121561020157600080fd5b5051919050565b60805160a05160c051610c5d610252600039600081816101c401526109ac015260008181610143015261092a01526000818160ff015281816104c401526106e00152610c5d6000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806379a0710c11610097578063c868efaa11610066578063c868efaa1461024e578063d2cc7a7014610261578063f2fde38b14610269578063f3f39ee51461027c57600080fd5b806379a0710c146101bf5780638da5cb5b146101e657806397314297146101f7578063b17810be1461023357600080fd5b80634511243e116100d35780634511243e146101885780635eb995141461019b5780636c4f6ba9146101ae578063715018a6146101b757600080fd5b80631a7f5bec146100fa57806329b7b3fd1461013e5780632b0d8f1814610173575b600080fd5b6101217f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6101657f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610135565b610186610181366004610ada565b610285565b005b610186610196366004610ada565b610387565b6101866101a9366004610afc565b610484565b61016560045481565b610186610498565b6101217f000000000000000000000000000000000000000000000000000000000000000081565b6002546001600160a01b0316610121565b610223610205366004610ada565b6001600160a01b031660009081526020819052604090205460ff1690565b6040519015158152602001610135565b60035460045460408051928352602083019190915201610135565b61018661025c366004610b15565b6104ac565b600154610165565b610186610277366004610ada565b61065e565b61016560035481565b61028d6106d4565b6001600160a01b0381166102bc5760405162461bcd60e51b81526004016102b390610b9c565b60405180910390fd5b6001600160a01b03811660009081526020819052604090205460ff161561033b5760405162461bcd60e51b815260206004820152602d60248201527f54656c65706f727465725570677261646561626c653a2061646472657373206160448201526c1b1c9958591e481c185d5cd959609a1b60648201526084016102b3565b6001600160a01b038116600081815260208190526040808220805460ff19166001179055517f933f93e57a222e6330362af8b376d0a8725b6901e9a2fb86d00f169702b28a4c9190a250565b61038f6106d4565b6001600160a01b0381166103b55760405162461bcd60e51b81526004016102b390610b9c565b6001600160a01b03811660009081526020819052604090205460ff1661042f5760405162461bcd60e51b815260206004820152602960248201527f54656c65706f727465725570677261646561626c653a2061646472657373206e6044820152681bdd081c185d5cd95960ba1b60648201526084016102b3565b6040516001600160a01b038216907f844e2f3154214672229235858fd029d1dfd543901c6d05931f0bc2480a2d72c390600090a26001600160a01b03166000908152602081905260409020805460ff19169055565b61048c6106d4565b610495816106dc565b50565b6104a061087c565b6104aa60006108d6565b565b60015460405163260f846760e11b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634c1f08ce90602401602060405180830381865afa158015610513573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105379190610bea565b101561059e5760405162461bcd60e51b815260206004820152603060248201527f54656c65706f727465725570677261646561626c653a20696e76616c6964205460448201526f32b632b837b93a32b91039b2b73232b960811b60648201526084016102b3565b3360009081526020819052604090205460ff16156106175760405162461bcd60e51b815260206004820152603060248201527f54656c65706f727465725570677261646561626c653a2054656c65706f72746560448201526f1c881859191c995cdcc81c185d5cd95960821b60648201526084016102b3565b610658848484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061092892505050565b50505050565b61066661087c565b6001600160a01b0381166106cb5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102b3565b610495816108d6565b6104aa61087c565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c07f47d46040518163ffffffff1660e01b8152600401602060405180830381865afa15801561073c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107609190610bea565b600154909150818311156107d05760405162461bcd60e51b815260206004820152603160248201527f54656c65706f727465725570677261646561626c653a20696e76616c6964205460448201527032b632b837b93a32b9103b32b939b4b7b760791b60648201526084016102b3565b8083116108455760405162461bcd60e51b815260206004820152603f60248201527f54656c65706f727465725570677261646561626c653a206e6f7420677265617460448201527f6572207468616e2063757272656e74206d696e696d756d2076657273696f6e0060648201526084016102b3565b6001839055604051839082907fa9a7ef57e41f05b4c15480842f5f0c27edfcbb553fed281f7c4068452cc1c02d90600090a3505050565b6002546001600160a01b031633146104aa5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102b3565b600280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b7f000000000000000000000000000000000000000000000000000000000000000083146109aa5760405162461bcd60e51b815260206004820152602a60248201527f426c6f636b4861736852656365697665723a20696e76616c696420736f757263604482015269194818da185a5b88125160b21b60648201526084016102b3565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614610a455760405162461bcd60e51b815260206004820152603160248201527f426c6f636b4861736852656365697665723a20696e76616c696420736f757263604482015270329031b430b4b710383ab13634b9b432b960791b60648201526084016102b3565b60008082806020019051810190610a5c9190610c03565b91509150600354821115610ab7576003829055600481905560405181815282906001600160a01b0386169087907f0bca78aa82d7575f42e4b4b2fe04765a4b2f3661786403788ce987e065ac590d9060200160405180910390a45b5050505050565b80356001600160a01b0381168114610ad557600080fd5b919050565b600060208284031215610aec57600080fd5b610af582610abe565b9392505050565b600060208284031215610b0e57600080fd5b5035919050565b60008060008060608587031215610b2b57600080fd5b84359350610b3b60208601610abe565b9250604085013567ffffffffffffffff80821115610b5857600080fd5b818701915087601f830112610b6c57600080fd5b813581811115610b7b57600080fd5b886020828501011115610b8d57600080fd5b95989497505060200194505050565b6020808252602e908201527f54656c65706f727465725570677261646561626c653a207a65726f2054656c6560408201526d706f72746572206164647265737360901b606082015260800190565b600060208284031215610bfc57600080fd5b5051919050565b60008060408385031215610c1657600080fd5b50508051602090910151909290915056fea26469706673582212209cdb8edbdd4d771be7a8f85e5a9efff7dfb189cfa5ca3032bdbcc31059c6c8ff64736f6c63430008120033", + Bin: "0x60e060405234801561001057600080fd5b50604051610eaf380380610eaf83398101604081905261002f916101b3565b82806001600160a01b0381166100b15760405162461bcd60e51b815260206004820152603760248201527f54656c65706f727465725570677261646561626c653a207a65726f2074656c6560448201527f706f727465722072656769737472792061646472657373000000000000000000606482015260840160405180910390fd5b6001600160a01b03811660808190526040805163301fd1f560e21b8152905163c07f47d4916004808201926020929091908290030181865afa1580156100fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061011f91906101ef565b6001555061012c33610145565b5060a0919091526001600160a01b031660c05250610208565b600280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b03811681146101ae57600080fd5b919050565b6000806000606084860312156101c857600080fd5b6101d184610197565b9250602084015191506101e660408501610197565b90509250925092565b60006020828403121561020157600080fd5b5051919050565b60805160a05160c051610c5d610252600039600081816101c401526109ac015260008181610143015261092a01526000818160ff015281816104c401526106e00152610c5d6000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806379a0710c11610097578063c868efaa11610066578063c868efaa1461024e578063d2cc7a7014610261578063f2fde38b14610269578063f3f39ee51461027c57600080fd5b806379a0710c146101bf5780638da5cb5b146101e657806397314297146101f7578063b17810be1461023357600080fd5b80634511243e116100d35780634511243e146101885780635eb995141461019b5780636c4f6ba9146101ae578063715018a6146101b757600080fd5b80631a7f5bec146100fa57806329b7b3fd1461013e5780632b0d8f1814610173575b600080fd5b6101217f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6101657f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610135565b610186610181366004610ada565b610285565b005b610186610196366004610ada565b610387565b6101866101a9366004610afc565b610484565b61016560045481565b610186610498565b6101217f000000000000000000000000000000000000000000000000000000000000000081565b6002546001600160a01b0316610121565b610223610205366004610ada565b6001600160a01b031660009081526020819052604090205460ff1690565b6040519015158152602001610135565b60035460045460408051928352602083019190915201610135565b61018661025c366004610b15565b6104ac565b600154610165565b610186610277366004610ada565b61065e565b61016560035481565b61028d6106d4565b6001600160a01b0381166102bc5760405162461bcd60e51b81526004016102b390610b9c565b60405180910390fd5b6001600160a01b03811660009081526020819052604090205460ff161561033b5760405162461bcd60e51b815260206004820152602d60248201527f54656c65706f727465725570677261646561626c653a2061646472657373206160448201526c1b1c9958591e481c185d5cd959609a1b60648201526084016102b3565b6001600160a01b038116600081815260208190526040808220805460ff19166001179055517f933f93e57a222e6330362af8b376d0a8725b6901e9a2fb86d00f169702b28a4c9190a250565b61038f6106d4565b6001600160a01b0381166103b55760405162461bcd60e51b81526004016102b390610b9c565b6001600160a01b03811660009081526020819052604090205460ff1661042f5760405162461bcd60e51b815260206004820152602960248201527f54656c65706f727465725570677261646561626c653a2061646472657373206e6044820152681bdd081c185d5cd95960ba1b60648201526084016102b3565b6040516001600160a01b038216907f844e2f3154214672229235858fd029d1dfd543901c6d05931f0bc2480a2d72c390600090a26001600160a01b03166000908152602081905260409020805460ff19169055565b61048c6106d4565b610495816106dc565b50565b6104a061087c565b6104aa60006108d6565b565b60015460405163260f846760e11b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634c1f08ce90602401602060405180830381865afa158015610513573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105379190610bea565b101561059e5760405162461bcd60e51b815260206004820152603060248201527f54656c65706f727465725570677261646561626c653a20696e76616c6964205460448201526f32b632b837b93a32b91039b2b73232b960811b60648201526084016102b3565b3360009081526020819052604090205460ff16156106175760405162461bcd60e51b815260206004820152603060248201527f54656c65706f727465725570677261646561626c653a2054656c65706f72746560448201526f1c881859191c995cdcc81c185d5cd95960821b60648201526084016102b3565b610658848484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061092892505050565b50505050565b61066661087c565b6001600160a01b0381166106cb5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102b3565b610495816108d6565b6104aa61087c565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c07f47d46040518163ffffffff1660e01b8152600401602060405180830381865afa15801561073c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107609190610bea565b600154909150818311156107d05760405162461bcd60e51b815260206004820152603160248201527f54656c65706f727465725570677261646561626c653a20696e76616c6964205460448201527032b632b837b93a32b9103b32b939b4b7b760791b60648201526084016102b3565b8083116108455760405162461bcd60e51b815260206004820152603f60248201527f54656c65706f727465725570677261646561626c653a206e6f7420677265617460448201527f6572207468616e2063757272656e74206d696e696d756d2076657273696f6e0060648201526084016102b3565b6001839055604051839082907fa9a7ef57e41f05b4c15480842f5f0c27edfcbb553fed281f7c4068452cc1c02d90600090a3505050565b6002546001600160a01b031633146104aa5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102b3565b600280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b7f000000000000000000000000000000000000000000000000000000000000000083146109aa5760405162461bcd60e51b815260206004820152602a60248201527f426c6f636b4861736852656365697665723a20696e76616c696420736f757263604482015269194818da185a5b88125160b21b60648201526084016102b3565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614610a455760405162461bcd60e51b815260206004820152603160248201527f426c6f636b4861736852656365697665723a20696e76616c696420736f757263604482015270329031b430b4b710383ab13634b9b432b960791b60648201526084016102b3565b60008082806020019051810190610a5c9190610c03565b91509150600354821115610ab7576003829055600481905560405181815282906001600160a01b0386169087907f0bca78aa82d7575f42e4b4b2fe04765a4b2f3661786403788ce987e065ac590d9060200160405180910390a45b5050505050565b80356001600160a01b0381168114610ad557600080fd5b919050565b600060208284031215610aec57600080fd5b610af582610abe565b9392505050565b600060208284031215610b0e57600080fd5b5035919050565b60008060008060608587031215610b2b57600080fd5b84359350610b3b60208601610abe565b9250604085013567ffffffffffffffff80821115610b5857600080fd5b818701915087601f830112610b6c57600080fd5b813581811115610b7b57600080fd5b886020828501011115610b8d57600080fd5b95989497505060200194505050565b6020808252602e908201527f54656c65706f727465725570677261646561626c653a207a65726f2054656c6560408201526d706f72746572206164647265737360901b606082015260800190565b600060208284031215610bfc57600080fd5b5051919050565b60008060408385031215610c1657600080fd5b50508051602090910151909290915056fea2646970667358221220c7428d4765ef991d2ae559f98d946d25f92ca22a7053ab11841039843be84caa64736f6c63430008120033", } // BlockHashReceiverABI is the input ABI used to generate the binding from. diff --git a/abi-bindings/go/Teleporter/TeleporterMessenger/TeleporterMessenger.go b/abi-bindings/go/Teleporter/TeleporterMessenger/TeleporterMessenger.go index e1cbf255e..a540cc2a9 100644 --- a/abi-bindings/go/Teleporter/TeleporterMessenger/TeleporterMessenger.go +++ b/abi-bindings/go/Teleporter/TeleporterMessenger/TeleporterMessenger.go @@ -66,7 +66,7 @@ type TeleporterMessageReceipt struct { // TeleporterMessengerMetaData contains all meta data concerning the TeleporterMessenger contract. var TeleporterMessengerMetaData = &bind.MetaData{ ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"messageID\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"feeTokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"structTeleporterFeeInfo\",\"name\":\"updatedFeeInfo\",\"type\":\"tuple\"}],\"name\":\"AddFeeAmount\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"messageID\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"originBlockchainID\",\"type\":\"bytes32\"}],\"name\":\"MessageExecuted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"messageID\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"originBlockchainID\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"messageNonce\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"senderAddress\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"destinationBlockchainID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"destinationAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"requiredGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"allowedRelayerAddresses\",\"type\":\"address[]\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"receivedMessageNonce\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"relayerRewardAddress\",\"type\":\"address\"}],\"internalType\":\"structTeleporterMessageReceipt[]\",\"name\":\"receipts\",\"type\":\"tuple[]\"},{\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"}],\"indexed\":false,\"internalType\":\"structTeleporterMessage\",\"name\":\"message\",\"type\":\"tuple\"}],\"name\":\"MessageExecutionFailed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"messageID\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"originBlockchainID\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"deliverer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"rewardRedeemer\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"messageNonce\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"senderAddress\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"destinationBlockchainID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"destinationAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"requiredGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"allowedRelayerAddresses\",\"type\":\"address[]\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"receivedMessageNonce\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"relayerRewardAddress\",\"type\":\"address\"}],\"internalType\":\"structTeleporterMessageReceipt[]\",\"name\":\"receipts\",\"type\":\"tuple[]\"},{\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"}],\"indexed\":false,\"internalType\":\"structTeleporterMessage\",\"name\":\"message\",\"type\":\"tuple\"}],\"name\":\"ReceiveCrossChainMessage\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"redeemer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"RelayerRewardsRedeemed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"messageID\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"destinationBlockchainID\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"messageNonce\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"senderAddress\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"destinationBlockchainID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"destinationAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"requiredGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"allowedRelayerAddresses\",\"type\":\"address[]\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"receivedMessageNonce\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"relayerRewardAddress\",\"type\":\"address\"}],\"internalType\":\"structTeleporterMessageReceipt[]\",\"name\":\"receipts\",\"type\":\"tuple[]\"},{\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"}],\"indexed\":false,\"internalType\":\"structTeleporterMessage\",\"name\":\"message\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"feeTokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"structTeleporterFeeInfo\",\"name\":\"feeInfo\",\"type\":\"tuple\"}],\"name\":\"SendCrossChainMessage\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"WARP_MESSENGER\",\"outputs\":[{\"internalType\":\"contractIWarpMessenger\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"messageID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"feeTokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"additionalFeeAmount\",\"type\":\"uint256\"}],\"name\":\"addFeeAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"blockchainID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"sourceBlockchainID\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"destinationBlockchainID\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"calculateMessageID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"relayer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"feeAsset\",\"type\":\"address\"}],\"name\":\"checkRelayerRewardAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"messageID\",\"type\":\"bytes32\"}],\"name\":\"getFeeInfo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"messageID\",\"type\":\"bytes32\"}],\"name\":\"getMessageHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"destinationBlockchainID\",\"type\":\"bytes32\"}],\"name\":\"getNextMessageID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"originBlockchainID\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getReceiptAtIndex\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"receivedMessageNonce\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"relayerRewardAddress\",\"type\":\"address\"}],\"internalType\":\"structTeleporterMessageReceipt\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"originBlockchainID\",\"type\":\"bytes32\"}],\"name\":\"getReceiptQueueSize\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"messageID\",\"type\":\"bytes32\"}],\"name\":\"getRelayerRewardAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initializeBlockchainID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"messageNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"messageID\",\"type\":\"bytes32\"}],\"name\":\"messageReceived\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"sourceBlockchainID\",\"type\":\"bytes32\"}],\"name\":\"receiptQueues\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"first\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"last\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"messageIndex\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"relayerRewardAddress\",\"type\":\"address\"}],\"name\":\"receiveCrossChainMessage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"messageID\",\"type\":\"bytes32\"}],\"name\":\"receivedFailedMessageHashes\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"messageHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"feeAsset\",\"type\":\"address\"}],\"name\":\"redeemRelayerRewards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"originBlockchainID\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"messageNonce\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"senderAddress\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"destinationBlockchainID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"destinationAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"requiredGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"allowedRelayerAddresses\",\"type\":\"address[]\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"receivedMessageNonce\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"relayerRewardAddress\",\"type\":\"address\"}],\"internalType\":\"structTeleporterMessageReceipt[]\",\"name\":\"receipts\",\"type\":\"tuple[]\"},{\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"}],\"internalType\":\"structTeleporterMessage\",\"name\":\"message\",\"type\":\"tuple\"}],\"name\":\"retryMessageExecution\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"messageNonce\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"senderAddress\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"destinationBlockchainID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"destinationAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"requiredGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"allowedRelayerAddresses\",\"type\":\"address[]\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"receivedMessageNonce\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"relayerRewardAddress\",\"type\":\"address\"}],\"internalType\":\"structTeleporterMessageReceipt[]\",\"name\":\"receipts\",\"type\":\"tuple[]\"},{\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"}],\"internalType\":\"structTeleporterMessage\",\"name\":\"message\",\"type\":\"tuple\"}],\"name\":\"retrySendCrossChainMessage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"destinationBlockchainID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"destinationAddress\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"feeTokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"internalType\":\"structTeleporterFeeInfo\",\"name\":\"feeInfo\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"requiredGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"allowedRelayerAddresses\",\"type\":\"address[]\"},{\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"}],\"internalType\":\"structTeleporterMessageInput\",\"name\":\"messageInput\",\"type\":\"tuple\"}],\"name\":\"sendCrossChainMessage\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"originBlockchainID\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"messageIDs\",\"type\":\"bytes32[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"feeTokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"internalType\":\"structTeleporterFeeInfo\",\"name\":\"feeInfo\",\"type\":\"tuple\"},{\"internalType\":\"address[]\",\"name\":\"allowedRelayerAddresses\",\"type\":\"address[]\"}],\"name\":\"sendSpecifiedReceipts\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"messageID\",\"type\":\"bytes32\"}],\"name\":\"sentMessageInfo\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"messageHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"feeTokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"internalType\":\"structTeleporterFeeInfo\",\"name\":\"feeInfo\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", - Bin: "0x6080604052600160035534801561001557600080fd5b506001600081905580556132448061002e6000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c8063a8898181116100c3578063df20e8bc1161007c578063df20e8bc1461033b578063e69d606a1461034e578063e6e67bd5146103b6578063ebc3b1ba146103f2578063ecc7042814610415578063fc2d61971461041e57600080fd5b8063a8898181146102b2578063a9a85614146102c5578063b771b3bc146102d8578063c473eef8146102e6578063ccb5f8091461031f578063d127dc9b1461033257600080fd5b8063399b77da11610115578063399b77da1461021957806362448850146102395780638245a1b01461024c578063860a3b061461025f578063892bf4121461027f5780638ac0fd041461029f57600080fd5b80630af5b4ff1461015257806322296c3a1461016d5780632bc8b0bf146101825780632ca40f55146101955780632e27c223146101ee575b600080fd5b61015a610431565b6040519081526020015b60405180910390f35b61018061017b366004612227565b6104b2565b005b61015a610190366004612244565b6105ac565b6101e06101a3366004612244565b6005602090815260009182526040918290208054835180850190945260018201546001600160a01b03168452600290910154918301919091529082565b60405161016492919061225d565b6102016101fc366004612244565b6105c9565b6040516001600160a01b039091168152602001610164565b61015a610227366004612244565b60009081526005602052604090205490565b61015a610247366004612284565b610652565b61018061025a3660046122d7565b6106b0565b61015a61026d366004612244565b60066020526000908152604090205481565b61029261028d36600461230b565b61085b565b604051610164919061232d565b6101806102ad36600461234d565b61088e565b61015a6102c0366004612385565b610aa4565b61015a6102d33660046123fc565b610ae7565b6102016005600160991b0181565b61015a6102f4366004612494565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b61018061032d3660046124cd565b610d8c565b61015a60025481565b61015a610349366004612244565b6111cb565b61039761035c366004612244565b600090815260056020908152604091829020825180840190935260018101546001600160a01b03168084526002909101549290910182905291565b604080516001600160a01b039093168352602083019190915201610164565b6103dd6103c4366004612244565b6004602052600090815260409020805460019091015482565b60408051928352602083019190915201610164565b610405610400366004612244565b61123b565b6040519015158152602001610164565b61015a60035481565b61018061042c3660046124f4565b611251565b600254600090806104ad576005600160991b016001600160a01b0316634213cf786040518163ffffffff1660e01b8152600401602060405180830381865afa158015610481573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a5919061253a565b600281905590505b919050565b3360009081526009602090815260408083206001600160a01b0385168452909152902054806105395760405162461bcd60e51b815260206004820152602860248201527f54656c65706f727465724d657373656e6765723a206e6f2072657761726420746044820152676f2072656465656d60c01b60648201526084015b60405180910390fd5b3360008181526009602090815260408083206001600160a01b03871680855290835281842093909355518481529192917f3294c84e5b0f29d9803655319087207bc94f4db29f7927846944822773780b88910160405180910390a36105a86001600160a01b03831633836114ac565b5050565b60008181526004602052604081206105c390611514565b92915050565b6000818152600760205260408120546106365760405162461bcd60e51b815260206004820152602960248201527f54656c65706f727465724d657373656e6765723a206d657373616765206e6f74604482015268081c9958d95a5d995960ba1b6064820152608401610530565b506000908152600860205260409020546001600160a01b031690565b60006001600054146106765760405162461bcd60e51b815260040161053090612553565b60026000556106a561068783612793565b833560009081526004602052604090206106a090611527565b611636565b600160005592915050565b6001600054146106d25760405162461bcd60e51b815260040161053090612553565b6002600081815590546106eb9060408401358435610aa4565b6000818152600560209081526040918290208251808401845281548152835180850190945260018201546001600160a01b0316845260029091015483830152908101919091528051919250906107535760405162461bcd60e51b815260040161053090612836565b6000836040516020016107669190612ad1565b60408051601f198184030181529190528251815160208301209192501461079f5760405162461bcd60e51b815260040161053090612ae4565b8360400135837f2a211ad4a59ab9d003852404f9c57c690704ee755f3c79d2c2812ad32da99df88685602001516040516107da929190612b2d565b60405180910390a360405163ee5b48eb60e01b81526005600160991b019063ee5b48eb9061080c908490600401612bb2565b6020604051808303816000875af115801561082b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084f919061253a565b50506001600055505050565b604080518082019091526000808252602082015260008381526004602052604090206108879083611876565b9392505050565b6001600054146108b05760405162461bcd60e51b815260040161053090612553565b60026000558061091a5760405162461bcd60e51b815260206004820152602f60248201527f54656c65706f727465724d657373656e6765723a207a65726f2061646469746960448201526e1bdb985b0819995948185b5bdd5b9d608a1b6064820152608401610530565b6001600160a01b0382166109405760405162461bcd60e51b815260040161053090612bc5565b60008381526005602052604090205461096b5760405162461bcd60e51b815260040161053090612836565b6000838152600560205260409020600101546001600160a01b038381169116146109fd5760405162461bcd60e51b815260206004820152603760248201527f54656c65706f727465724d657373656e6765723a20696e76616c69642066656560448201527f20617373657420636f6e747261637420616464726573730000000000000000006064820152608401610530565b6000610a09838361193b565b600085815260056020526040812060020180549293508392909190610a2f908490612c2f565b909155505060008481526005602052604090819020905185917fc1bfd1f1208927dfbd414041dcb5256e6c9ad90dd61aec3249facbd34ff7b3e191610a91916001019081546001600160a01b0316815260019190910154602082015260400190565b60405180910390a2505060016000555050565b60408051306020820152908101849052606081018390526080810182905260009060a0016040516020818303038152906040528051906020012090509392505050565b6000600160005414610b0b5760405162461bcd60e51b815260040161053090612553565b60026000818155905490866001600160401b03811115610b2d57610b2d612596565b604051908082528060200260200182016040528015610b7257816020015b6040805180820190915260008082526020820152815260200190600190039081610b4b5790505b50905060005b87811015610cf6576000898983818110610b9457610b94612c42565b90506020020135905060006007600083815260200190815260200160002054905080600003610c145760405162461bcd60e51b815260206004820152602660248201527f54656c65706f727465724d657373656e6765723a2072656365697074206e6f7460448201526508199bdd5b9960d21b6064820152608401610530565b610c1f8c8683610aa4565b8214610c935760405162461bcd60e51b815260206004820152603a60248201527f54656c65706f727465724d657373656e6765723a206d6573736167652049442060448201527f6e6f742066726f6d206f726967696e20626c6f636b636861696e0000000000006064820152608401610530565b6000828152600860209081526040918290205482518084019093528383526001600160a01b03169082018190528551909190869086908110610cd757610cd7612c42565b602002602001018190525050505080610cef90612c58565b9050610b78565b506040805160c0810182528a815260006020820152610d7a918101610d20368a90038a018a612c71565b81526020016000815260200187878080602002602001604051908101604052809392919081815260200183836020028082843760009201829052509385525050604080519283526020808401909152909201525082611636565b60016000559998505050505050505050565b6001805414610dad5760405162461bcd60e51b815260040161053090612c8d565b60026001556040516306f8253560e41b815263ffffffff8316600482015260009081906005600160991b0190636f82535090602401600060405180830381865afa158015610dff573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e279190810190612d32565b9150915080610e8a5760405162461bcd60e51b815260206004820152602960248201527f54656c65706f727465724d657373656e6765723a20696e76616c69642077617260448201526870206d65737361676560b81b6064820152608401610530565b60208201516001600160a01b03163014610f015760405162461bcd60e51b815260206004820152603260248201527f54656c65706f727465724d657373656e6765723a20696e76616c6964206f726960448201527167696e2073656e646572206164647265737360701b6064820152608401610530565b60008260400151806020019051810190610f1b9190612ecf565b90506000610f27610431565b905080826040015114610f965760405162461bcd60e51b815260206004820152603160248201527f54656c65706f727465724d657373656e6765723a20696e76616c6964206465736044820152701d1a5b985d1a5bdb8818da185a5b881251607a1b6064820152608401610530565b83518251600091610fa8918490610aa4565b6000818152600760205260409020549091501561101d5760405162461bcd60e51b815260206004820152602d60248201527f54656c65706f727465724d657373656e6765723a206d65737361676520616c7260448201526c1958591e481c9958d95a5d9959609a1b6064820152608401610530565b61102b338460a00151611aa3565b6110895760405162461bcd60e51b815260206004820152602960248201527f54656c65706f727465724d657373656e6765723a20756e617574686f72697a6560448201526832103932b630bcb2b960b91b6064820152608401610530565b611097818460000151611b18565b6001600160a01b038616156110ce57600081815260086020526040902080546001600160a01b0319166001600160a01b0388161790555b60e083015151156110e8576110e881866000015185611b8a565b60c08301515160005b81811015611135576111258488600001518760c00151848151811061111857611118612c42565b6020026020010151611cbd565b61112e81612c58565b90506110f1565b5085516000908152600460209081526040918290208251808401909352865183526001600160a01b038a169183019190915290611173908290611d98565b336001600160a01b03168760000151847f292ee90bbaf70b5d4936025e09d56ba08f3e421156b6a568cf3c2840d9343e348b896040516111b49291906130df565b60405180910390a450506001805550505050505050565b6002546000908061122e5760405162461bcd60e51b815260206004820152602760248201527f54656c65706f727465724d657373656e6765723a207a65726f20626c6f636b636044820152661a185a5b88125160ca1b6064820152608401610530565b6108878184600354610aa4565b60008181526007602052604081205415156105c3565b60018054146112725760405162461bcd60e51b815260040161053090612c8d565b600260018190555460009061128a9084908435610aa4565b600081815260066020526040902054909150806112b95760405162461bcd60e51b815260040161053090612836565b80836040516020016112cb9190612ad1565b60405160208183030381529060405280519060200120146112fe5760405162461bcd60e51b815260040161053090612ae4565b60006113106080850160608601612227565b6001600160a01b03163b116113845760405162461bcd60e51b815260206004820152603460248201527f54656c65706f727465724d657373656e6765723a2064657374696e6174696f6e604482015273206164647265737320686173206e6f20636f646560601b6064820152608401610530565b604051849083907f34795cc6b122b9a0ae684946319f1e14a577b4e8f9b3dda9ac94c21a54d3188c90600090a3600082815260066020908152604080832083905586916113d5918701908701612227565b6113e260e0870187613103565b6040516024016113f59493929190613149565b60408051601f198184030181529190526020810180516001600160e01b031663643477d560e11b1790529050600061143d6114366080870160608801612227565b5a84611df4565b9050806114a05760405162461bcd60e51b815260206004820152602b60248201527f54656c65706f727465724d657373656e6765723a20726574727920657865637560448201526a1d1a5bdb8819985a5b195960aa1b6064820152608401610530565b50506001805550505050565b6040516001600160a01b03831660248201526044810182905261150f90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611e0e565b505050565b805460018201546000916105c391613174565b6060600061153e600561153985611514565b611ee0565b90508060000361158d576040805160008082526020820190925290611585565b604080518082019091526000808252602082015281526020019060019003908161155e5790505b509392505050565b806001600160401b038111156115a5576115a5612596565b6040519080825280602002602001820160405280156115ea57816020015b60408051808201909152600080825260208201528152602001906001900390816115c35790505b50915060005b8181101561162f5761160184611ef6565b83828151811061161357611613612c42565b60200260200101819052508061162890612c58565b90506115f0565b5050919050565b600080611641610431565b905060006003549050600061165b83876000015184610aa4565b90506000604051806101000160405280848152602001336001600160a01b031681526020018860000151815260200188602001516001600160a01b0316815260200188606001518152602001886080015181526020018781526020018860a0015181525090506000816040516020016116d49190613187565b60405160208183030381529060405290506003600081546116f490612c58565b909155506040880151602001516000901561174e576040890151516001600160a01b03166117345760405162461bcd60e51b815260040161053090612bc5565b6040890151805160209091015161174b919061193b565b90505b6040805180820182528a820151516001600160a01b039081168252602080830185905283518085018552865187830120815280820184815260008a815260058452869020915182555180516001830180546001600160a01b03191691909516179093559101516002909101558a51915190919086907f2a211ad4a59ab9d003852404f9c57c690704ee755f3c79d2c2812ad32da99df8906117f2908890869061319a565b60405180910390a360405163ee5b48eb60e01b81526005600160991b019063ee5b48eb90611824908690600401612bb2565b6020604051808303816000875af1158015611843573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611867919061253a565b50939998505050505050505050565b604080518082019091526000808252602082015261189383611514565b82106118eb5760405162461bcd60e51b815260206004820152602160248201527f5265636569707451756575653a20696e646578206f7574206f6620626f756e646044820152607360f81b6064820152608401610530565b8260020160008385600001546119019190612c2f565b81526020808201929092526040908101600020815180830190925280548252600101546001600160a01b0316918101919091529392505050565b6040516370a0823160e01b815230600482015260009081906001600160a01b038516906370a0823190602401602060405180830381865afa158015611984573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119a8919061253a565b90506119bf6001600160a01b038516333086611fc1565b6040516370a0823160e01b81523060048201526000906001600160a01b038616906370a0823190602401602060405180830381865afa158015611a06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a2a919061253a565b9050818111611a905760405162461bcd60e51b815260206004820152602c60248201527f5361666545524332305472616e7366657246726f6d3a2062616c616e6365206e60448201526b1bdd081a5b98dc99585cd95960a21b6064820152608401610530565b611a9a8282613174565b95945050505050565b60008151600003611ab6575060016105c3565b60005b8251811015611b0e57836001600160a01b0316838281518110611ade57611ade612c42565b60200260200101516001600160a01b031603611afe5760019150506105c3565b611b0781612c58565b9050611ab9565b5060009392505050565b80600003611b785760405162461bcd60e51b815260206004820152602760248201527f54656c65706f727465724d657373656e6765723a207a65726f206d657373616760448201526665206e6f6e636560c81b6064820152608401610530565b60009182526007602052604090912055565b80608001515a1015611bec5760405162461bcd60e51b815260206004820152602560248201527f54656c65706f727465724d657373656e6765723a20696e73756666696369656e604482015264742067617360d81b6064820152608401610530565b80606001516001600160a01b03163b600003611c0d5761150f838383611fff565b602081015160e0820151604051600092611c2b9286926024016131ad565b60408051601f198184030181529190526020810180516001600160e01b031663643477d560e11b17905260608301516080840151919250600091611c70919084611df4565b905080611c8957611c82858585611fff565b5050505050565b604051849086907f34795cc6b122b9a0ae684946319f1e14a577b4e8f9b3dda9ac94c21a54d3188c90600090a35050505050565b6000611cce84848460000151610aa4565b6000818152600560209081526040918290208251808401845281548152835180850190945260018201546001600160a01b031684526002909101548383015290810191909152805191925090611d25575050505050565b60008281526005602090815260408083208381556001810180546001600160a01b03191690556002018390558382018051830151878401516001600160a01b0390811686526009855283862092515116855292528220805491929091611d8c908490612c2f565b90915550505050505050565b6001820180548291600285019160009182611db283612c58565b90915550815260208082019290925260400160002082518155910151600190910180546001600160a01b0319166001600160a01b039092169190911790555050565b60008060008084516020860160008989f195945050505050565b6000611e63826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166120749092919063ffffffff16565b80519091501561150f5780806020019051810190611e8191906131d7565b61150f5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610530565b6000818310611eef5781610887565b5090919050565b604080518082019091526000808252602082015281546001830154819003611f605760405162461bcd60e51b815260206004820152601960248201527f5265636569707451756575653a20656d707479207175657565000000000000006044820152606401610530565b60008181526002840160208181526040808420815180830190925280548252600180820180546001600160a01b03811685870152888852959094529490556001600160a01b031990921690559250611fb9908290612c2f565b909255919050565b6040516001600160a01b0380851660248301528316604482015260648101829052611ff99085906323b872dd60e01b906084016114d8565b50505050565b806040516020016120109190613187565b60408051601f1981840301815282825280516020918201206000878152600690925291902055829084907f4619adc1017b82e02eaefac01a43d50d6d8de4460774bc370c3ff0210d40c98590612067908590613187565b60405180910390a3505050565b6060612083848460008561208b565b949350505050565b6060824710156120ec5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610530565b600080866001600160a01b0316858760405161210891906131f2565b60006040518083038185875af1925050503d8060008114612145576040519150601f19603f3d011682016040523d82523d6000602084013e61214a565b606091505b509150915061215b87838387612166565b979650505050505050565b606083156121d55782516000036121ce576001600160a01b0385163b6121ce5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610530565b5081612083565b61208383838151156121ea5781518083602001fd5b8060405162461bcd60e51b81526004016105309190612bb2565b6001600160a01b038116811461221957600080fd5b50565b80356104ad81612204565b60006020828403121561223957600080fd5b813561088781612204565b60006020828403121561225657600080fd5b5035919050565b82815260608101610887602083018480516001600160a01b03168252602090810151910152565b60006020828403121561229657600080fd5b81356001600160401b038111156122ac57600080fd5b820160e0818503121561088757600080fd5b600061010082840312156122d157600080fd5b50919050565b6000602082840312156122e957600080fd5b81356001600160401b038111156122ff57600080fd5b612083848285016122be565b6000806040838503121561231e57600080fd5b50508035926020909101359150565b815181526020808301516001600160a01b031690820152604081016105c3565b60008060006060848603121561236257600080fd5b83359250602084013561237481612204565b929592945050506040919091013590565b60008060006060848603121561239a57600080fd5b505081359360208301359350604090920135919050565b60008083601f8401126123c357600080fd5b5081356001600160401b038111156123da57600080fd5b6020830191508360208260051b85010111156123f557600080fd5b9250929050565b60008060008060008086880360a081121561241657600080fd5b8735965060208801356001600160401b038082111561243457600080fd5b6124408b838c016123b1565b90985096508691506040603f198401121561245a57600080fd5b60408a01955060808a013592508083111561247457600080fd5b505061248289828a016123b1565b979a9699509497509295939492505050565b600080604083850312156124a757600080fd5b82356124b281612204565b915060208301356124c281612204565b809150509250929050565b600080604083850312156124e057600080fd5b823563ffffffff811681146124b257600080fd5b6000806040838503121561250757600080fd5b8235915060208301356001600160401b0381111561252457600080fd5b612530858286016122be565b9150509250929050565b60006020828403121561254c57600080fd5b5051919050565b60208082526023908201527f5265656e7472616e63794775617264733a2073656e646572207265656e7472616040820152626e637960e81b606082015260800190565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b03811182821017156125ce576125ce612596565b60405290565b60405160c081016001600160401b03811182821017156125ce576125ce612596565b60405161010081016001600160401b03811182821017156125ce576125ce612596565b604051601f8201601f191681016001600160401b038111828210171561264157612641612596565b604052919050565b60006040828403121561265b57600080fd5b6126636125ac565b9050813561267081612204565b808252506020820135602082015292915050565b60006001600160401b0382111561269d5761269d612596565b5060051b60200190565b600082601f8301126126b857600080fd5b813560206126cd6126c883612684565b612619565b82815260059290921b840181019181810190868411156126ec57600080fd5b8286015b8481101561271057803561270381612204565b83529183019183016126f0565b509695505050505050565b60006001600160401b0382111561273457612734612596565b50601f01601f191660200190565b600082601f83011261275357600080fd5b81356127616126c88261271b565b81815284602083860101111561277657600080fd5b816020850160208301376000918101602001919091529392505050565b600060e082360312156127a557600080fd5b6127ad6125d4565b823581526127bd6020840161221c565b60208201526127cf3660408501612649565b60408201526080830135606082015260a08301356001600160401b03808211156127f857600080fd5b612804368387016126a7565b608084015260c085013591508082111561281d57600080fd5b5061282a36828601612742565b60a08301525092915050565b60208082526026908201527f54656c65706f727465724d657373656e6765723a206d657373616765206e6f7460408201526508199bdd5b9960d21b606082015260800190565b6000808335601e1984360301811261289357600080fd5b83016020810192503590506001600160401b038111156128b257600080fd5b8060051b36038213156123f557600080fd5b8183526000602080850194508260005b858110156129025781356128e781612204565b6001600160a01b0316875295820195908201906001016128d4565b509495945050505050565b6000808335601e1984360301811261292457600080fd5b83016020810192503590506001600160401b0381111561294357600080fd5b8060061b36038213156123f557600080fd5b8183526000602080850194508260005b8581101561290257813587528282013561297e81612204565b6001600160a01b0316878401526040968701969190910190600101612965565b6000808335601e198436030181126129b557600080fd5b83016020810192503590506001600160401b038111156129d457600080fd5b8036038213156123f557600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6000610100823584526020830135612a2381612204565b6001600160a01b0316602085015260408381013590850152612a476060840161221c565b6001600160a01b0316606085015260808381013590850152612a6c60a084018461287c565b8260a0870152612a7f83870182846128c4565b92505050612a9060c084018461290d565b85830360c0870152612aa3838284612955565b92505050612ab460e084018461299e565b85830360e0870152612ac78382846129e3565b9695505050505050565b6020815260006108876020830184612a0c565b60208082526029908201527f54656c65706f727465724d657373656e6765723a20696e76616c6964206d65736040820152680e6c2ceca40d0c2e6d60bb1b606082015260800190565b606081526000612b406060830185612a0c565b9050610887602083018480516001600160a01b03168252602090810151910152565b60005b83811015612b7d578181015183820152602001612b65565b50506000910152565b60008151808452612b9e816020860160208601612b62565b601f01601f19169290920160200192915050565b6020815260006108876020830184612b86565b60208082526034908201527f54656c65706f727465724d657373656e6765723a207a65726f2066656520617360408201527373657420636f6e7472616374206164647265737360601b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b808201808211156105c3576105c3612c19565b634e487b7160e01b600052603260045260246000fd5b600060018201612c6a57612c6a612c19565b5060010190565b600060408284031215612c8357600080fd5b6108878383612649565b60208082526025908201527f5265656e7472616e63794775617264733a207265636569766572207265656e7460408201526472616e637960d81b606082015260800190565b80516104ad81612204565b600082601f830112612cee57600080fd5b8151612cfc6126c88261271b565b818152846020838601011115612d1157600080fd5b612083826020830160208701612b62565b805180151581146104ad57600080fd5b60008060408385031215612d4557600080fd5b82516001600160401b0380821115612d5c57600080fd5b9084019060608287031215612d7057600080fd5b604051606081018181108382111715612d8b57612d8b612596565b604052825181526020830151612da081612204565b6020820152604083015182811115612db757600080fd5b612dc388828601612cdd565b6040830152509350612dda91505060208401612d22565b90509250929050565b600082601f830112612df457600080fd5b81516020612e046126c883612684565b82815260059290921b84018101918181019086841115612e2357600080fd5b8286015b84811015612710578051612e3a81612204565b8352918301918301612e27565b600082601f830112612e5857600080fd5b81516020612e686126c883612684565b82815260069290921b84018101918181019086841115612e8757600080fd5b8286015b848110156127105760408189031215612ea45760008081fd5b612eac6125ac565b8151815284820151612ebd81612204565b81860152835291830191604001612e8b565b600060208284031215612ee157600080fd5b81516001600160401b0380821115612ef857600080fd5b908301906101008286031215612f0d57600080fd5b612f156125f6565b82518152612f2560208401612cd2565b602082015260408301516040820152612f4060608401612cd2565b60608201526080830151608082015260a083015182811115612f6157600080fd5b612f6d87828601612de3565b60a08301525060c083015182811115612f8557600080fd5b612f9187828601612e47565b60c08301525060e083015182811115612fa957600080fd5b612fb587828601612cdd565b60e08301525095945050505050565b600081518084526020808501945080840160005b838110156129025781516001600160a01b031687529582019590820190600101612fd8565b600081518084526020808501945080840160005b8381101561290257613037878351805182526020908101516001600160a01b0316910152565b6040969096019590820190600101613011565b60006101008251845260018060a01b03602084015116602085015260408301516040850152606083015161308960608601826001600160a01b03169052565b506080830151608085015260a08301518160a08601526130ab82860182612fc4565b91505060c083015184820360c08601526130c58282612ffd565b91505060e083015184820360e0860152611a9a8282612b86565b6001600160a01b03831681526040602082018190526000906120839083018461304a565b6000808335601e1984360301811261311a57600080fd5b8301803591506001600160401b0382111561313457600080fd5b6020019150368190038213156123f557600080fd5b8481526001600160a01b0384166020820152606060408201819052600090612ac790830184866129e3565b818103818111156105c3576105c3612c19565b602081526000610887602083018461304a565b606081526000612b40606083018561304a565b8381526001600160a01b0383166020820152606060408201819052600090611a9a90830184612b86565b6000602082840312156131e957600080fd5b61088782612d22565b60008251613204818460208701612b62565b919091019291505056fea26469706673582212209131526eecd7d373e6fe0536ee29cc976a96ccd000f73872a1ba45ac9999a36f64736f6c63430008120033", + Bin: "0x6080604052600160035534801561001557600080fd5b506001600081905580556132448061002e6000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c8063a8898181116100c3578063df20e8bc1161007c578063df20e8bc1461033b578063e69d606a1461034e578063e6e67bd5146103b6578063ebc3b1ba146103f2578063ecc7042814610415578063fc2d61971461041e57600080fd5b8063a8898181146102b2578063a9a85614146102c5578063b771b3bc146102d8578063c473eef8146102e6578063ccb5f8091461031f578063d127dc9b1461033257600080fd5b8063399b77da11610115578063399b77da1461021957806362448850146102395780638245a1b01461024c578063860a3b061461025f578063892bf4121461027f5780638ac0fd041461029f57600080fd5b80630af5b4ff1461015257806322296c3a1461016d5780632bc8b0bf146101825780632ca40f55146101955780632e27c223146101ee575b600080fd5b61015a610431565b6040519081526020015b60405180910390f35b61018061017b366004612227565b6104b2565b005b61015a610190366004612244565b6105ac565b6101e06101a3366004612244565b6005602090815260009182526040918290208054835180850190945260018201546001600160a01b03168452600290910154918301919091529082565b60405161016492919061225d565b6102016101fc366004612244565b6105c9565b6040516001600160a01b039091168152602001610164565b61015a610227366004612244565b60009081526005602052604090205490565b61015a610247366004612284565b610652565b61018061025a3660046122d7565b6106b0565b61015a61026d366004612244565b60066020526000908152604090205481565b61029261028d36600461230b565b61085b565b604051610164919061232d565b6101806102ad36600461234d565b61088e565b61015a6102c0366004612385565b610aa4565b61015a6102d33660046123fc565b610ae7565b6102016005600160991b0181565b61015a6102f4366004612494565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b61018061032d3660046124cd565b610d8c565b61015a60025481565b61015a610349366004612244565b6111cb565b61039761035c366004612244565b600090815260056020908152604091829020825180840190935260018101546001600160a01b03168084526002909101549290910182905291565b604080516001600160a01b039093168352602083019190915201610164565b6103dd6103c4366004612244565b6004602052600090815260409020805460019091015482565b60408051928352602083019190915201610164565b610405610400366004612244565b61123b565b6040519015158152602001610164565b61015a60035481565b61018061042c3660046124f4565b611251565b600254600090806104ad576005600160991b016001600160a01b0316634213cf786040518163ffffffff1660e01b8152600401602060405180830381865afa158015610481573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a5919061253a565b600281905590505b919050565b3360009081526009602090815260408083206001600160a01b0385168452909152902054806105395760405162461bcd60e51b815260206004820152602860248201527f54656c65706f727465724d657373656e6765723a206e6f2072657761726420746044820152676f2072656465656d60c01b60648201526084015b60405180910390fd5b3360008181526009602090815260408083206001600160a01b03871680855290835281842093909355518481529192917f3294c84e5b0f29d9803655319087207bc94f4db29f7927846944822773780b88910160405180910390a36105a86001600160a01b03831633836114ac565b5050565b60008181526004602052604081206105c390611514565b92915050565b6000818152600760205260408120546106365760405162461bcd60e51b815260206004820152602960248201527f54656c65706f727465724d657373656e6765723a206d657373616765206e6f74604482015268081c9958d95a5d995960ba1b6064820152608401610530565b506000908152600860205260409020546001600160a01b031690565b60006001600054146106765760405162461bcd60e51b815260040161053090612553565b60026000556106a561068783612793565b833560009081526004602052604090206106a090611527565b611636565b600160005592915050565b6001600054146106d25760405162461bcd60e51b815260040161053090612553565b6002600081815590546106eb9060408401358435610aa4565b6000818152600560209081526040918290208251808401845281548152835180850190945260018201546001600160a01b0316845260029091015483830152908101919091528051919250906107535760405162461bcd60e51b815260040161053090612836565b6000836040516020016107669190612ad1565b60408051601f198184030181529190528251815160208301209192501461079f5760405162461bcd60e51b815260040161053090612ae4565b8360400135837f2a211ad4a59ab9d003852404f9c57c690704ee755f3c79d2c2812ad32da99df88685602001516040516107da929190612b2d565b60405180910390a360405163ee5b48eb60e01b81526005600160991b019063ee5b48eb9061080c908490600401612bb2565b6020604051808303816000875af115801561082b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084f919061253a565b50506001600055505050565b604080518082019091526000808252602082015260008381526004602052604090206108879083611876565b9392505050565b6001600054146108b05760405162461bcd60e51b815260040161053090612553565b60026000558061091a5760405162461bcd60e51b815260206004820152602f60248201527f54656c65706f727465724d657373656e6765723a207a65726f2061646469746960448201526e1bdb985b0819995948185b5bdd5b9d608a1b6064820152608401610530565b6001600160a01b0382166109405760405162461bcd60e51b815260040161053090612bc5565b60008381526005602052604090205461096b5760405162461bcd60e51b815260040161053090612836565b6000838152600560205260409020600101546001600160a01b038381169116146109fd5760405162461bcd60e51b815260206004820152603760248201527f54656c65706f727465724d657373656e6765723a20696e76616c69642066656560448201527f20617373657420636f6e747261637420616464726573730000000000000000006064820152608401610530565b6000610a09838361193b565b600085815260056020526040812060020180549293508392909190610a2f908490612c2f565b909155505060008481526005602052604090819020905185917fc1bfd1f1208927dfbd414041dcb5256e6c9ad90dd61aec3249facbd34ff7b3e191610a91916001019081546001600160a01b0316815260019190910154602082015260400190565b60405180910390a2505060016000555050565b60408051306020820152908101849052606081018390526080810182905260009060a0016040516020818303038152906040528051906020012090509392505050565b6000600160005414610b0b5760405162461bcd60e51b815260040161053090612553565b60026000818155905490866001600160401b03811115610b2d57610b2d612596565b604051908082528060200260200182016040528015610b7257816020015b6040805180820190915260008082526020820152815260200190600190039081610b4b5790505b50905060005b87811015610cf6576000898983818110610b9457610b94612c42565b90506020020135905060006007600083815260200190815260200160002054905080600003610c145760405162461bcd60e51b815260206004820152602660248201527f54656c65706f727465724d657373656e6765723a2072656365697074206e6f7460448201526508199bdd5b9960d21b6064820152608401610530565b610c1f8c8683610aa4565b8214610c935760405162461bcd60e51b815260206004820152603a60248201527f54656c65706f727465724d657373656e6765723a206d6573736167652049442060448201527f6e6f742066726f6d206f726967696e20626c6f636b636861696e0000000000006064820152608401610530565b6000828152600860209081526040918290205482518084019093528383526001600160a01b03169082018190528551909190869086908110610cd757610cd7612c42565b602002602001018190525050505080610cef90612c58565b9050610b78565b506040805160c0810182528a815260006020820152610d7a918101610d20368a90038a018a612c71565b81526020016000815260200187878080602002602001604051908101604052809392919081815260200183836020028082843760009201829052509385525050604080519283526020808401909152909201525082611636565b60016000559998505050505050505050565b6001805414610dad5760405162461bcd60e51b815260040161053090612c8d565b60026001556040516306f8253560e41b815263ffffffff8316600482015260009081906005600160991b0190636f82535090602401600060405180830381865afa158015610dff573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e279190810190612d32565b9150915080610e8a5760405162461bcd60e51b815260206004820152602960248201527f54656c65706f727465724d657373656e6765723a20696e76616c69642077617260448201526870206d65737361676560b81b6064820152608401610530565b60208201516001600160a01b03163014610f015760405162461bcd60e51b815260206004820152603260248201527f54656c65706f727465724d657373656e6765723a20696e76616c6964206f726960448201527167696e2073656e646572206164647265737360701b6064820152608401610530565b60008260400151806020019051810190610f1b9190612ecf565b90506000610f27610431565b905080826040015114610f965760405162461bcd60e51b815260206004820152603160248201527f54656c65706f727465724d657373656e6765723a20696e76616c6964206465736044820152701d1a5b985d1a5bdb8818da185a5b881251607a1b6064820152608401610530565b83518251600091610fa8918490610aa4565b6000818152600760205260409020549091501561101d5760405162461bcd60e51b815260206004820152602d60248201527f54656c65706f727465724d657373656e6765723a206d65737361676520616c7260448201526c1958591e481c9958d95a5d9959609a1b6064820152608401610530565b61102b338460a00151611aa3565b6110895760405162461bcd60e51b815260206004820152602960248201527f54656c65706f727465724d657373656e6765723a20756e617574686f72697a6560448201526832103932b630bcb2b960b91b6064820152608401610530565b611097818460000151611b18565b6001600160a01b038616156110ce57600081815260086020526040902080546001600160a01b0319166001600160a01b0388161790555b60e083015151156110e8576110e881866000015185611b8a565b60c08301515160005b81811015611135576111258488600001518760c00151848151811061111857611118612c42565b6020026020010151611cbd565b61112e81612c58565b90506110f1565b5085516000908152600460209081526040918290208251808401909352865183526001600160a01b038a169183019190915290611173908290611d98565b336001600160a01b03168760000151847f292ee90bbaf70b5d4936025e09d56ba08f3e421156b6a568cf3c2840d9343e348b896040516111b49291906130df565b60405180910390a450506001805550505050505050565b6002546000908061122e5760405162461bcd60e51b815260206004820152602760248201527f54656c65706f727465724d657373656e6765723a207a65726f20626c6f636b636044820152661a185a5b88125160ca1b6064820152608401610530565b6108878184600354610aa4565b60008181526007602052604081205415156105c3565b60018054146112725760405162461bcd60e51b815260040161053090612c8d565b600260018190555460009061128a9084908435610aa4565b600081815260066020526040902054909150806112b95760405162461bcd60e51b815260040161053090612836565b80836040516020016112cb9190612ad1565b60405160208183030381529060405280519060200120146112fe5760405162461bcd60e51b815260040161053090612ae4565b60006113106080850160608601612227565b6001600160a01b03163b116113845760405162461bcd60e51b815260206004820152603460248201527f54656c65706f727465724d657373656e6765723a2064657374696e6174696f6e604482015273206164647265737320686173206e6f20636f646560601b6064820152608401610530565b604051849083907f34795cc6b122b9a0ae684946319f1e14a577b4e8f9b3dda9ac94c21a54d3188c90600090a3600082815260066020908152604080832083905586916113d5918701908701612227565b6113e260e0870187613103565b6040516024016113f59493929190613149565b60408051601f198184030181529190526020810180516001600160e01b031663643477d560e11b1790529050600061143d6114366080870160608801612227565b5a84611df4565b9050806114a05760405162461bcd60e51b815260206004820152602b60248201527f54656c65706f727465724d657373656e6765723a20726574727920657865637560448201526a1d1a5bdb8819985a5b195960aa1b6064820152608401610530565b50506001805550505050565b6040516001600160a01b03831660248201526044810182905261150f90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611e0e565b505050565b805460018201546000916105c391613174565b6060600061153e600561153985611514565b611ee0565b90508060000361158d576040805160008082526020820190925290611585565b604080518082019091526000808252602082015281526020019060019003908161155e5790505b509392505050565b806001600160401b038111156115a5576115a5612596565b6040519080825280602002602001820160405280156115ea57816020015b60408051808201909152600080825260208201528152602001906001900390816115c35790505b50915060005b8181101561162f5761160184611ef6565b83828151811061161357611613612c42565b60200260200101819052508061162890612c58565b90506115f0565b5050919050565b600080611641610431565b905060006003549050600061165b83876000015184610aa4565b90506000604051806101000160405280848152602001336001600160a01b031681526020018860000151815260200188602001516001600160a01b0316815260200188606001518152602001886080015181526020018781526020018860a0015181525090506000816040516020016116d49190613187565b60405160208183030381529060405290506003600081546116f490612c58565b909155506040880151602001516000901561174e576040890151516001600160a01b03166117345760405162461bcd60e51b815260040161053090612bc5565b6040890151805160209091015161174b919061193b565b90505b6040805180820182528a820151516001600160a01b039081168252602080830185905283518085018552865187830120815280820184815260008a815260058452869020915182555180516001830180546001600160a01b03191691909516179093559101516002909101558a51915190919086907f2a211ad4a59ab9d003852404f9c57c690704ee755f3c79d2c2812ad32da99df8906117f2908890869061319a565b60405180910390a360405163ee5b48eb60e01b81526005600160991b019063ee5b48eb90611824908690600401612bb2565b6020604051808303816000875af1158015611843573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611867919061253a565b50939998505050505050505050565b604080518082019091526000808252602082015261189383611514565b82106118eb5760405162461bcd60e51b815260206004820152602160248201527f5265636569707451756575653a20696e646578206f7574206f6620626f756e646044820152607360f81b6064820152608401610530565b8260020160008385600001546119019190612c2f565b81526020808201929092526040908101600020815180830190925280548252600101546001600160a01b0316918101919091529392505050565b6040516370a0823160e01b815230600482015260009081906001600160a01b038516906370a0823190602401602060405180830381865afa158015611984573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119a8919061253a565b90506119bf6001600160a01b038516333086611fc1565b6040516370a0823160e01b81523060048201526000906001600160a01b038616906370a0823190602401602060405180830381865afa158015611a06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a2a919061253a565b9050818111611a905760405162461bcd60e51b815260206004820152602c60248201527f5361666545524332305472616e7366657246726f6d3a2062616c616e6365206e60448201526b1bdd081a5b98dc99585cd95960a21b6064820152608401610530565b611a9a8282613174565b95945050505050565b60008151600003611ab6575060016105c3565b60005b8251811015611b0e57836001600160a01b0316838281518110611ade57611ade612c42565b60200260200101516001600160a01b031603611afe5760019150506105c3565b611b0781612c58565b9050611ab9565b5060009392505050565b80600003611b785760405162461bcd60e51b815260206004820152602760248201527f54656c65706f727465724d657373656e6765723a207a65726f206d657373616760448201526665206e6f6e636560c81b6064820152608401610530565b60009182526007602052604090912055565b80608001515a1015611bec5760405162461bcd60e51b815260206004820152602560248201527f54656c65706f727465724d657373656e6765723a20696e73756666696369656e604482015264742067617360d81b6064820152608401610530565b80606001516001600160a01b03163b600003611c0d5761150f838383611fff565b602081015160e0820151604051600092611c2b9286926024016131ad565b60408051601f198184030181529190526020810180516001600160e01b031663643477d560e11b17905260608301516080840151919250600091611c70919084611df4565b905080611c8957611c82858585611fff565b5050505050565b604051849086907f34795cc6b122b9a0ae684946319f1e14a577b4e8f9b3dda9ac94c21a54d3188c90600090a35050505050565b6000611cce84848460000151610aa4565b6000818152600560209081526040918290208251808401845281548152835180850190945260018201546001600160a01b031684526002909101548383015290810191909152805191925090611d25575050505050565b60008281526005602090815260408083208381556001810180546001600160a01b03191690556002018390558382018051830151878401516001600160a01b0390811686526009855283862092515116855292528220805491929091611d8c908490612c2f565b90915550505050505050565b6001820180548291600285019160009182611db283612c58565b90915550815260208082019290925260400160002082518155910151600190910180546001600160a01b0319166001600160a01b039092169190911790555050565b60008060008084516020860160008989f195945050505050565b6000611e63826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166120749092919063ffffffff16565b80519091501561150f5780806020019051810190611e8191906131d7565b61150f5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610530565b6000818310611eef5781610887565b5090919050565b604080518082019091526000808252602082015281546001830154819003611f605760405162461bcd60e51b815260206004820152601960248201527f5265636569707451756575653a20656d707479207175657565000000000000006044820152606401610530565b60008181526002840160208181526040808420815180830190925280548252600180820180546001600160a01b03811685870152888852959094529490556001600160a01b031990921690559250611fb9908290612c2f565b909255919050565b6040516001600160a01b0380851660248301528316604482015260648101829052611ff99085906323b872dd60e01b906084016114d8565b50505050565b806040516020016120109190613187565b60408051601f1981840301815282825280516020918201206000878152600690925291902055829084907f4619adc1017b82e02eaefac01a43d50d6d8de4460774bc370c3ff0210d40c98590612067908590613187565b60405180910390a3505050565b6060612083848460008561208b565b949350505050565b6060824710156120ec5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610530565b600080866001600160a01b0316858760405161210891906131f2565b60006040518083038185875af1925050503d8060008114612145576040519150601f19603f3d011682016040523d82523d6000602084013e61214a565b606091505b509150915061215b87838387612166565b979650505050505050565b606083156121d55782516000036121ce576001600160a01b0385163b6121ce5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610530565b5081612083565b61208383838151156121ea5781518083602001fd5b8060405162461bcd60e51b81526004016105309190612bb2565b6001600160a01b038116811461221957600080fd5b50565b80356104ad81612204565b60006020828403121561223957600080fd5b813561088781612204565b60006020828403121561225657600080fd5b5035919050565b82815260608101610887602083018480516001600160a01b03168252602090810151910152565b60006020828403121561229657600080fd5b81356001600160401b038111156122ac57600080fd5b820160e0818503121561088757600080fd5b600061010082840312156122d157600080fd5b50919050565b6000602082840312156122e957600080fd5b81356001600160401b038111156122ff57600080fd5b612083848285016122be565b6000806040838503121561231e57600080fd5b50508035926020909101359150565b815181526020808301516001600160a01b031690820152604081016105c3565b60008060006060848603121561236257600080fd5b83359250602084013561237481612204565b929592945050506040919091013590565b60008060006060848603121561239a57600080fd5b505081359360208301359350604090920135919050565b60008083601f8401126123c357600080fd5b5081356001600160401b038111156123da57600080fd5b6020830191508360208260051b85010111156123f557600080fd5b9250929050565b60008060008060008086880360a081121561241657600080fd5b8735965060208801356001600160401b038082111561243457600080fd5b6124408b838c016123b1565b90985096508691506040603f198401121561245a57600080fd5b60408a01955060808a013592508083111561247457600080fd5b505061248289828a016123b1565b979a9699509497509295939492505050565b600080604083850312156124a757600080fd5b82356124b281612204565b915060208301356124c281612204565b809150509250929050565b600080604083850312156124e057600080fd5b823563ffffffff811681146124b257600080fd5b6000806040838503121561250757600080fd5b8235915060208301356001600160401b0381111561252457600080fd5b612530858286016122be565b9150509250929050565b60006020828403121561254c57600080fd5b5051919050565b60208082526023908201527f5265656e7472616e63794775617264733a2073656e646572207265656e7472616040820152626e637960e81b606082015260800190565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b03811182821017156125ce576125ce612596565b60405290565b60405160c081016001600160401b03811182821017156125ce576125ce612596565b60405161010081016001600160401b03811182821017156125ce576125ce612596565b604051601f8201601f191681016001600160401b038111828210171561264157612641612596565b604052919050565b60006040828403121561265b57600080fd5b6126636125ac565b9050813561267081612204565b808252506020820135602082015292915050565b60006001600160401b0382111561269d5761269d612596565b5060051b60200190565b600082601f8301126126b857600080fd5b813560206126cd6126c883612684565b612619565b82815260059290921b840181019181810190868411156126ec57600080fd5b8286015b8481101561271057803561270381612204565b83529183019183016126f0565b509695505050505050565b60006001600160401b0382111561273457612734612596565b50601f01601f191660200190565b600082601f83011261275357600080fd5b81356127616126c88261271b565b81815284602083860101111561277657600080fd5b816020850160208301376000918101602001919091529392505050565b600060e082360312156127a557600080fd5b6127ad6125d4565b823581526127bd6020840161221c565b60208201526127cf3660408501612649565b60408201526080830135606082015260a08301356001600160401b03808211156127f857600080fd5b612804368387016126a7565b608084015260c085013591508082111561281d57600080fd5b5061282a36828601612742565b60a08301525092915050565b60208082526026908201527f54656c65706f727465724d657373656e6765723a206d657373616765206e6f7460408201526508199bdd5b9960d21b606082015260800190565b6000808335601e1984360301811261289357600080fd5b83016020810192503590506001600160401b038111156128b257600080fd5b8060051b36038213156123f557600080fd5b8183526000602080850194508260005b858110156129025781356128e781612204565b6001600160a01b0316875295820195908201906001016128d4565b509495945050505050565b6000808335601e1984360301811261292457600080fd5b83016020810192503590506001600160401b0381111561294357600080fd5b8060061b36038213156123f557600080fd5b8183526000602080850194508260005b8581101561290257813587528282013561297e81612204565b6001600160a01b0316878401526040968701969190910190600101612965565b6000808335601e198436030181126129b557600080fd5b83016020810192503590506001600160401b038111156129d457600080fd5b8036038213156123f557600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6000610100823584526020830135612a2381612204565b6001600160a01b0316602085015260408381013590850152612a476060840161221c565b6001600160a01b0316606085015260808381013590850152612a6c60a084018461287c565b8260a0870152612a7f83870182846128c4565b92505050612a9060c084018461290d565b85830360c0870152612aa3838284612955565b92505050612ab460e084018461299e565b85830360e0870152612ac78382846129e3565b9695505050505050565b6020815260006108876020830184612a0c565b60208082526029908201527f54656c65706f727465724d657373656e6765723a20696e76616c6964206d65736040820152680e6c2ceca40d0c2e6d60bb1b606082015260800190565b606081526000612b406060830185612a0c565b9050610887602083018480516001600160a01b03168252602090810151910152565b60005b83811015612b7d578181015183820152602001612b65565b50506000910152565b60008151808452612b9e816020860160208601612b62565b601f01601f19169290920160200192915050565b6020815260006108876020830184612b86565b60208082526034908201527f54656c65706f727465724d657373656e6765723a207a65726f2066656520617360408201527373657420636f6e7472616374206164647265737360601b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b808201808211156105c3576105c3612c19565b634e487b7160e01b600052603260045260246000fd5b600060018201612c6a57612c6a612c19565b5060010190565b600060408284031215612c8357600080fd5b6108878383612649565b60208082526025908201527f5265656e7472616e63794775617264733a207265636569766572207265656e7460408201526472616e637960d81b606082015260800190565b80516104ad81612204565b600082601f830112612cee57600080fd5b8151612cfc6126c88261271b565b818152846020838601011115612d1157600080fd5b612083826020830160208701612b62565b805180151581146104ad57600080fd5b60008060408385031215612d4557600080fd5b82516001600160401b0380821115612d5c57600080fd5b9084019060608287031215612d7057600080fd5b604051606081018181108382111715612d8b57612d8b612596565b604052825181526020830151612da081612204565b6020820152604083015182811115612db757600080fd5b612dc388828601612cdd565b6040830152509350612dda91505060208401612d22565b90509250929050565b600082601f830112612df457600080fd5b81516020612e046126c883612684565b82815260059290921b84018101918181019086841115612e2357600080fd5b8286015b84811015612710578051612e3a81612204565b8352918301918301612e27565b600082601f830112612e5857600080fd5b81516020612e686126c883612684565b82815260069290921b84018101918181019086841115612e8757600080fd5b8286015b848110156127105760408189031215612ea45760008081fd5b612eac6125ac565b8151815284820151612ebd81612204565b81860152835291830191604001612e8b565b600060208284031215612ee157600080fd5b81516001600160401b0380821115612ef857600080fd5b908301906101008286031215612f0d57600080fd5b612f156125f6565b82518152612f2560208401612cd2565b602082015260408301516040820152612f4060608401612cd2565b60608201526080830151608082015260a083015182811115612f6157600080fd5b612f6d87828601612de3565b60a08301525060c083015182811115612f8557600080fd5b612f9187828601612e47565b60c08301525060e083015182811115612fa957600080fd5b612fb587828601612cdd565b60e08301525095945050505050565b600081518084526020808501945080840160005b838110156129025781516001600160a01b031687529582019590820190600101612fd8565b600081518084526020808501945080840160005b8381101561290257613037878351805182526020908101516001600160a01b0316910152565b6040969096019590820190600101613011565b60006101008251845260018060a01b03602084015116602085015260408301516040850152606083015161308960608601826001600160a01b03169052565b506080830151608085015260a08301518160a08601526130ab82860182612fc4565b91505060c083015184820360c08601526130c58282612ffd565b91505060e083015184820360e0860152611a9a8282612b86565b6001600160a01b03831681526040602082018190526000906120839083018461304a565b6000808335601e1984360301811261311a57600080fd5b8301803591506001600160401b0382111561313457600080fd5b6020019150368190038213156123f557600080fd5b8481526001600160a01b0384166020820152606060408201819052600090612ac790830184866129e3565b818103818111156105c3576105c3612c19565b602081526000610887602083018461304a565b606081526000612b40606083018561304a565b8381526001600160a01b0383166020820152606060408201819052600090611a9a90830184612b86565b6000602082840312156131e957600080fd5b61088782612d22565b60008251613204818460208701612b62565b919091019291505056fea264697066735822122028395903ff6b4af7baa0a24fa3c2821072105b3f8476e27a8c142cca4514b3f964736f6c63430008120033", } // TeleporterMessengerABI is the input ABI used to generate the binding from. diff --git a/abi-bindings/go/Teleporter/upgrades/TeleporterRegistry/TeleporterRegistry.go b/abi-bindings/go/Teleporter/upgrades/TeleporterRegistry/TeleporterRegistry.go index 8fb1b4965..34c1c9e5f 100644 --- a/abi-bindings/go/Teleporter/upgrades/TeleporterRegistry/TeleporterRegistry.go +++ b/abi-bindings/go/Teleporter/upgrades/TeleporterRegistry/TeleporterRegistry.go @@ -38,7 +38,7 @@ type ProtocolRegistryEntry struct { // TeleporterRegistryMetaData contains all meta data concerning the TeleporterRegistry contract. var TeleporterRegistryMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"version\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"protocolAddress\",\"type\":\"address\"}],\"internalType\":\"structProtocolRegistryEntry[]\",\"name\":\"initialEntries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"version\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"protocolAddress\",\"type\":\"address\"}],\"name\":\"AddProtocolVersion\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"oldVersion\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"newVersion\",\"type\":\"uint256\"}],\"name\":\"LatestVersionUpdated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"MAX_VERSION_INCREMENT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VALIDATORS_SOURCE_ADDRESS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"WARP_MESSENGER\",\"outputs\":[{\"internalType\":\"contractIWarpMessenger\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"messageIndex\",\"type\":\"uint32\"}],\"name\":\"addProtocolVersion\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"blockchainID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"version\",\"type\":\"uint256\"}],\"name\":\"getAddressFromVersion\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLatestTeleporter\",\"outputs\":[{\"internalType\":\"contractITeleporterMessenger\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"version\",\"type\":\"uint256\"}],\"name\":\"getTeleporterFromVersion\",\"outputs\":[{\"internalType\":\"contractITeleporterMessenger\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"protocolAddress\",\"type\":\"address\"}],\"name\":\"getVersionFromAddress\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"latestVersion\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", - Bin: "0x60a06040523480156200001157600080fd5b50604051620010a5380380620010a5833981016040819052620000349162000423565b7302000000000000000000000000000000000000056001600160a01b0316634213cf786040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000087573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000ad919062000515565b60805260005b8151811015620000ff57620000ea828281518110620000d657620000d66200052f565b60200260200101516200010760201b60201c565b80620000f6816200055b565b915050620000b3565b505062000593565b80516000036200015e5760405162461bcd60e51b815260206004820181905260248201527f54656c65706f7274657252656769737472793a207a65726f2076657273696f6e60448201526064015b60405180910390fd5b80516000908152600160205260409020546001600160a01b031615620001da5760405162461bcd60e51b815260206004820152602a60248201527f54656c65706f7274657252656769737472793a2076657273696f6e20616c72656044820152696164792065786973747360b01b606482015260840162000155565b60208101516001600160a01b0316620002485760405162461bcd60e51b815260206004820152602960248201527f54656c65706f7274657252656769737472793a207a65726f2070726f746f636f6044820152686c206164647265737360b81b606482015260840162000155565b6101f46000546200025a919062000577565b81511115620002c35760405162461bcd60e51b815260206004820152602e60248201527f54656c65706f7274657252656769737472793a2076657273696f6e20696e637260448201526d0cadacadce840e8dede40d0d2ced60931b606482015260840162000155565b602081810180518351600090815260018452604080822080546001600160a01b0319166001600160a01b03948516179055925190911681526002909252902054815111156200032d5780516020808301516001600160a01b03166000908152600290915260409020555b602081015181516040516001600160a01b03909216917fa5eed93d951a9603d5f7c0a57de79a299dd3dbd5e51429be209d8053a42ab43a90600090a360005481511115620003ac576000805482518083556040519192909183917f30623e953733f6474dabdfbef1103ce15ab73cdc77c6dfad0f9874d167e8a9b091a3505b50565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715620003ea57620003ea620003af565b60405290565b604051601f8201601f191681016001600160401b03811182821017156200041b576200041b620003af565b604052919050565b600060208083850312156200043757600080fd5b82516001600160401b03808211156200044f57600080fd5b818501915085601f8301126200046457600080fd5b815181811115620004795762000479620003af565b62000489848260051b01620003f0565b818152848101925060069190911b830184019087821115620004aa57600080fd5b928401925b818410156200050a5760408489031215620004ca5760008081fd5b620004d4620003c5565b84518152858501516001600160a01b0381168114620004f35760008081fd5b8187015283526040939093019291840191620004af565b979650505050505050565b6000602082840312156200052857600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820162000570576200057062000545565b5060010190565b808201808211156200058d576200058d62000545565b92915050565b608051610aef620005b66000396000818161014901526102640152610aef6000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063ac473ac311610066578063ac473ac314610124578063b771b3bc1461012d578063c07f47d41461013b578063d127dc9b14610144578063d820e64f1461016b57600080fd5b80630731775d146100a3578063215abce9146100c857806341f34ed9146100db57806346f9ef49146100f05780634c1f08ce14610103575b600080fd5b6100ab600081565b6040516001600160a01b0390911681526020015b60405180910390f35b6100ab6100d63660046107ce565b610173565b6100ee6100e93660046107e7565b610184565b005b6100ab6100fe3660046107ce565b6103f9565b610116610111366004610829565b6104be565b6040519081526020016100bf565b6101166101f481565b6100ab6005600160991b0181565b61011660005481565b6101167f000000000000000000000000000000000000000000000000000000000000000081565b6100ab610566565b600061017e826103f9565b92915050565b6040516306f8253560e41b815263ffffffff8216600482015260009081906005600160991b0190636f82535090602401600060405180830381865afa1580156101d1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101f991908101906108cb565b91509150806102605760405162461bcd60e51b815260206004820152602860248201527f54656c65706f7274657252656769737472793a20696e76616c69642077617270604482015267206d65737361676560c01b60648201526084015b60405180910390fd5b81517f0000000000000000000000000000000000000000000000000000000000000000146102e45760405162461bcd60e51b815260206004820152602b60248201527f54656c65706f7274657252656769737472793a20696e76616c696420736f757260448201526a18d94818da185a5b88125160aa1b6064820152608401610257565b60208201516001600160a01b0316156103595760405162461bcd60e51b815260206004820152603160248201527f54656c65706f7274657252656769737472793a20696e76616c6964206f726967604482015270696e2073656e646572206164647265737360781b6064820152608401610257565b600080836040015180602001905181019061037491906109d3565b90925090506001600160a01b03811630146103e95760405162461bcd60e51b815260206004820152602f60248201527f54656c65706f7274657252656769737472793a20696e76616c6964206465737460448201526e696e6174696f6e206164647265737360881b6064820152608401610257565b6103f282610578565b5050505050565b60008160000361044b5760405162461bcd60e51b815260206004820181905260248201527f54656c65706f7274657252656769737472793a207a65726f2076657273696f6e6044820152606401610257565b6000828152600160205260409020546001600160a01b03168061017e5760405162461bcd60e51b815260206004820152602560248201527f54656c65706f7274657252656769737472793a2076657273696f6e206e6f7420604482015264199bdd5b9960da1b6064820152608401610257565b60006001600160a01b0382166104e65760405162461bcd60e51b815260040161025790610a4f565b6001600160a01b0382166000908152600260205260408120549081900361017e5760405162461bcd60e51b815260206004820152602e60248201527f54656c65706f7274657252656769737472793a2070726f746f636f6c2061646460448201526d1c995cdcc81b9bdd08199bdd5b9960921b6064820152608401610257565b60006105736000546103f9565b905090565b80516000036105c95760405162461bcd60e51b815260206004820181905260248201527f54656c65706f7274657252656769737472793a207a65726f2076657273696f6e6044820152606401610257565b80516000908152600160205260409020546001600160a01b0316156106435760405162461bcd60e51b815260206004820152602a60248201527f54656c65706f7274657252656769737472793a2076657273696f6e20616c72656044820152696164792065786973747360b01b6064820152608401610257565b60208101516001600160a01b031661066d5760405162461bcd60e51b815260040161025790610a4f565b6101f460005461067d9190610a98565b815111156106e45760405162461bcd60e51b815260206004820152602e60248201527f54656c65706f7274657252656769737472793a2076657273696f6e20696e637260448201526d0cadacadce840e8dede40d0d2ced60931b6064820152608401610257565b602081810180518351600090815260018452604080822080546001600160a01b0319166001600160a01b039485161790559251909116815260029092529020548151111561074d5780516020808301516001600160a01b03166000908152600290915260409020555b602081015181516040516001600160a01b03909216917fa5eed93d951a9603d5f7c0a57de79a299dd3dbd5e51429be209d8053a42ab43a90600090a3600054815111156107cb576000805482518083556040519192909183917f30623e953733f6474dabdfbef1103ce15ab73cdc77c6dfad0f9874d167e8a9b091a3505b50565b6000602082840312156107e057600080fd5b5035919050565b6000602082840312156107f957600080fd5b813563ffffffff8116811461080d57600080fd5b9392505050565b6001600160a01b03811681146107cb57600080fd5b60006020828403121561083b57600080fd5b813561080d81610814565b634e487b7160e01b600052604160045260246000fd5b6040516060810167ffffffffffffffff8111828210171561087f5761087f610846565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156108ae576108ae610846565b604052919050565b805180151581146108c657600080fd5b919050565b600080604083850312156108de57600080fd5b825167ffffffffffffffff808211156108f657600080fd5b908401906060828703121561090a57600080fd5b61091261085c565b8251815260208084015161092581610814565b8282015260408401518381111561093b57600080fd5b80850194505087601f85011261095057600080fd5b83518381111561096257610962610846565b610974601f8201601f19168301610885565b9350808452888282870101111561098a57600080fd5b60005b818110156109a857858101830151858201840152820161098d565b506000828286010152508260408301528195506109c68188016108b6565b9450505050509250929050565b60008082840360608112156109e757600080fd5b60408112156109f557600080fd5b506040516040810181811067ffffffffffffffff82111715610a1957610a19610846565b604052835181526020840151610a2e81610814565b60208201526040840151909250610a4481610814565b809150509250929050565b60208082526029908201527f54656c65706f7274657252656769737472793a207a65726f2070726f746f636f6040820152686c206164647265737360b81b606082015260800190565b8082018082111561017e57634e487b7160e01b600052601160045260246000fdfea26469706673582212201516ae83dbe18d7d1098b9592d966837d50d6bfd72d7367858ecb6e6bbc9c7bb64736f6c63430008120033", + Bin: "0x60a06040523480156200001157600080fd5b50604051620010a5380380620010a5833981016040819052620000349162000423565b7302000000000000000000000000000000000000056001600160a01b0316634213cf786040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000087573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000ad919062000515565b60805260005b8151811015620000ff57620000ea828281518110620000d657620000d66200052f565b60200260200101516200010760201b60201c565b80620000f6816200055b565b915050620000b3565b505062000593565b80516000036200015e5760405162461bcd60e51b815260206004820181905260248201527f54656c65706f7274657252656769737472793a207a65726f2076657273696f6e60448201526064015b60405180910390fd5b80516000908152600160205260409020546001600160a01b031615620001da5760405162461bcd60e51b815260206004820152602a60248201527f54656c65706f7274657252656769737472793a2076657273696f6e20616c72656044820152696164792065786973747360b01b606482015260840162000155565b60208101516001600160a01b0316620002485760405162461bcd60e51b815260206004820152602960248201527f54656c65706f7274657252656769737472793a207a65726f2070726f746f636f6044820152686c206164647265737360b81b606482015260840162000155565b6101f46000546200025a919062000577565b81511115620002c35760405162461bcd60e51b815260206004820152602e60248201527f54656c65706f7274657252656769737472793a2076657273696f6e20696e637260448201526d0cadacadce840e8dede40d0d2ced60931b606482015260840162000155565b602081810180518351600090815260018452604080822080546001600160a01b0319166001600160a01b03948516179055925190911681526002909252902054815111156200032d5780516020808301516001600160a01b03166000908152600290915260409020555b602081015181516040516001600160a01b03909216917fa5eed93d951a9603d5f7c0a57de79a299dd3dbd5e51429be209d8053a42ab43a90600090a360005481511115620003ac576000805482518083556040519192909183917f30623e953733f6474dabdfbef1103ce15ab73cdc77c6dfad0f9874d167e8a9b091a3505b50565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715620003ea57620003ea620003af565b60405290565b604051601f8201601f191681016001600160401b03811182821017156200041b576200041b620003af565b604052919050565b600060208083850312156200043757600080fd5b82516001600160401b03808211156200044f57600080fd5b818501915085601f8301126200046457600080fd5b815181811115620004795762000479620003af565b62000489848260051b01620003f0565b818152848101925060069190911b830184019087821115620004aa57600080fd5b928401925b818410156200050a5760408489031215620004ca5760008081fd5b620004d4620003c5565b84518152858501516001600160a01b0381168114620004f35760008081fd5b8187015283526040939093019291840191620004af565b979650505050505050565b6000602082840312156200052857600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820162000570576200057062000545565b5060010190565b808201808211156200058d576200058d62000545565b92915050565b608051610aef620005b66000396000818161014901526102640152610aef6000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063ac473ac311610066578063ac473ac314610124578063b771b3bc1461012d578063c07f47d41461013b578063d127dc9b14610144578063d820e64f1461016b57600080fd5b80630731775d146100a3578063215abce9146100c857806341f34ed9146100db57806346f9ef49146100f05780634c1f08ce14610103575b600080fd5b6100ab600081565b6040516001600160a01b0390911681526020015b60405180910390f35b6100ab6100d63660046107ce565b610173565b6100ee6100e93660046107e7565b610184565b005b6100ab6100fe3660046107ce565b6103f9565b610116610111366004610829565b6104be565b6040519081526020016100bf565b6101166101f481565b6100ab6005600160991b0181565b61011660005481565b6101167f000000000000000000000000000000000000000000000000000000000000000081565b6100ab610566565b600061017e826103f9565b92915050565b6040516306f8253560e41b815263ffffffff8216600482015260009081906005600160991b0190636f82535090602401600060405180830381865afa1580156101d1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101f991908101906108cb565b91509150806102605760405162461bcd60e51b815260206004820152602860248201527f54656c65706f7274657252656769737472793a20696e76616c69642077617270604482015267206d65737361676560c01b60648201526084015b60405180910390fd5b81517f0000000000000000000000000000000000000000000000000000000000000000146102e45760405162461bcd60e51b815260206004820152602b60248201527f54656c65706f7274657252656769737472793a20696e76616c696420736f757260448201526a18d94818da185a5b88125160aa1b6064820152608401610257565b60208201516001600160a01b0316156103595760405162461bcd60e51b815260206004820152603160248201527f54656c65706f7274657252656769737472793a20696e76616c6964206f726967604482015270696e2073656e646572206164647265737360781b6064820152608401610257565b600080836040015180602001905181019061037491906109d3565b90925090506001600160a01b03811630146103e95760405162461bcd60e51b815260206004820152602f60248201527f54656c65706f7274657252656769737472793a20696e76616c6964206465737460448201526e696e6174696f6e206164647265737360881b6064820152608401610257565b6103f282610578565b5050505050565b60008160000361044b5760405162461bcd60e51b815260206004820181905260248201527f54656c65706f7274657252656769737472793a207a65726f2076657273696f6e6044820152606401610257565b6000828152600160205260409020546001600160a01b03168061017e5760405162461bcd60e51b815260206004820152602560248201527f54656c65706f7274657252656769737472793a2076657273696f6e206e6f7420604482015264199bdd5b9960da1b6064820152608401610257565b60006001600160a01b0382166104e65760405162461bcd60e51b815260040161025790610a4f565b6001600160a01b0382166000908152600260205260408120549081900361017e5760405162461bcd60e51b815260206004820152602e60248201527f54656c65706f7274657252656769737472793a2070726f746f636f6c2061646460448201526d1c995cdcc81b9bdd08199bdd5b9960921b6064820152608401610257565b60006105736000546103f9565b905090565b80516000036105c95760405162461bcd60e51b815260206004820181905260248201527f54656c65706f7274657252656769737472793a207a65726f2076657273696f6e6044820152606401610257565b80516000908152600160205260409020546001600160a01b0316156106435760405162461bcd60e51b815260206004820152602a60248201527f54656c65706f7274657252656769737472793a2076657273696f6e20616c72656044820152696164792065786973747360b01b6064820152608401610257565b60208101516001600160a01b031661066d5760405162461bcd60e51b815260040161025790610a4f565b6101f460005461067d9190610a98565b815111156106e45760405162461bcd60e51b815260206004820152602e60248201527f54656c65706f7274657252656769737472793a2076657273696f6e20696e637260448201526d0cadacadce840e8dede40d0d2ced60931b6064820152608401610257565b602081810180518351600090815260018452604080822080546001600160a01b0319166001600160a01b039485161790559251909116815260029092529020548151111561074d5780516020808301516001600160a01b03166000908152600290915260409020555b602081015181516040516001600160a01b03909216917fa5eed93d951a9603d5f7c0a57de79a299dd3dbd5e51429be209d8053a42ab43a90600090a3600054815111156107cb576000805482518083556040519192909183917f30623e953733f6474dabdfbef1103ce15ab73cdc77c6dfad0f9874d167e8a9b091a3505b50565b6000602082840312156107e057600080fd5b5035919050565b6000602082840312156107f957600080fd5b813563ffffffff8116811461080d57600080fd5b9392505050565b6001600160a01b03811681146107cb57600080fd5b60006020828403121561083b57600080fd5b813561080d81610814565b634e487b7160e01b600052604160045260246000fd5b6040516060810167ffffffffffffffff8111828210171561087f5761087f610846565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156108ae576108ae610846565b604052919050565b805180151581146108c657600080fd5b919050565b600080604083850312156108de57600080fd5b825167ffffffffffffffff808211156108f657600080fd5b908401906060828703121561090a57600080fd5b61091261085c565b8251815260208084015161092581610814565b8282015260408401518381111561093b57600080fd5b80850194505087601f85011261095057600080fd5b83518381111561096257610962610846565b610974601f8201601f19168301610885565b9350808452888282870101111561098a57600080fd5b60005b818110156109a857858101830151858201840152820161098d565b506000828286010152508260408301528195506109c68188016108b6565b9450505050509250929050565b60008082840360608112156109e757600080fd5b60408112156109f557600080fd5b506040516040810181811067ffffffffffffffff82111715610a1957610a19610846565b604052835181526020840151610a2e81610814565b60208201526040840151909250610a4481610814565b809150509250929050565b60208082526029908201527f54656c65706f7274657252656769737472793a207a65726f2070726f746f636f6040820152686c206164647265737360b81b606082015260800190565b8082018082111561017e57634e487b7160e01b600052601160045260246000fdfea264697066735822122007d6f27ff52ed8c014136297af31ab3bb4a6605634cc6356eebd55387f8fffe564736f6c63430008120033", } // TeleporterRegistryABI is the input ABI used to generate the binding from. diff --git a/contracts/src/Teleporter/ITeleporterMessenger.sol b/contracts/src/Teleporter/ITeleporterMessenger.sol index 598cf67f0..18ac9a54d 100644 --- a/contracts/src/Teleporter/ITeleporterMessenger.sol +++ b/contracts/src/Teleporter/ITeleporterMessenger.sol @@ -5,7 +5,7 @@ pragma solidity 0.8.18; -// A message receipt identifies the message ID that was delivered +// A message receipt identifies the message that was delivered by its nonce, // and the address that can redeem the reward for that message. struct TeleporterMessageReceipt { uint256 receivedMessageNonce; diff --git a/contracts/src/Teleporter/TeleporterMessenger.sol b/contracts/src/Teleporter/TeleporterMessenger.sol index 53827458d..9937e3cff 100644 --- a/contracts/src/Teleporter/TeleporterMessenger.sol +++ b/contracts/src/Teleporter/TeleporterMessenger.sol @@ -69,7 +69,7 @@ contract TeleporterMessenger is ITeleporterMessenger, ReentrancyGuards { mapping(bytes32 messageID => bytes32 messageHash) public receivedFailedMessageHashes; // Tracks the message nonce for each message that has been received. The key is the message ID, - // and the value is the nonce value that was received as a part for that message. + // and the value is the nonce value that was received as a part of that message. // Note: the `messageNonce` values are also used to determine if a given message has been received or not. mapping(bytes32 messageID => uint256 messageNonce) internal _receivedMessageNonces;