diff --git a/core/gethwrappers/ccip/generated/mock_lbtc_token_pool/mock_lbtc_token_pool.go b/core/gethwrappers/ccip/generated/mock_lbtc_token_pool/mock_lbtc_token_pool.go index 6391d9e0f8..df6b2457fd 100644 --- a/core/gethwrappers/ccip/generated/mock_lbtc_token_pool/mock_lbtc_token_pool.go +++ b/core/gethwrappers/ccip/generated/mock_lbtc_token_pool/mock_lbtc_token_pool.go @@ -82,7 +82,7 @@ type TokenPoolChainUpdate struct { var MockLBTCTokenPoolMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[{\"internalType\":\"contractIERC20\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"allowlist\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"rmnProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"router\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AllowListNotEnabled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"CallerIsNotARampOnRouter\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CannotTransferToSelf\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"chainSelector\",\"type\":\"uint64\"}],\"name\":\"ChainAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"remoteChainSelector\",\"type\":\"uint64\"}],\"name\":\"ChainNotAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CursedByRMN\",\"type\":\"error\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"isEnabled\",\"type\":\"bool\"},{\"internalType\":\"uint128\",\"name\":\"capacity\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"rate\",\"type\":\"uint128\"}],\"internalType\":\"structRateLimiter.Config\",\"name\":\"config\",\"type\":\"tuple\"}],\"name\":\"DisabledNonZeroRateLimit\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"expected\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"actual\",\"type\":\"uint8\"}],\"name\":\"InvalidDecimalArgs\",\"type\":\"error\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"isEnabled\",\"type\":\"bool\"},{\"internalType\":\"uint128\",\"name\":\"capacity\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"rate\",\"type\":\"uint128\"}],\"internalType\":\"structRateLimiter.Config\",\"name\":\"rateLimiterConfig\",\"type\":\"tuple\"}],\"name\":\"InvalidRateLimitRate\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"sourcePoolData\",\"type\":\"bytes\"}],\"name\":\"InvalidRemoteChainDecimals\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"remoteChainSelector\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"remotePoolAddress\",\"type\":\"bytes\"}],\"name\":\"InvalidRemotePoolForChain\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"sourcePoolAddress\",\"type\":\"bytes\"}],\"name\":\"InvalidSourcePoolAddress\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"InvalidToken\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MustBeProposedOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"remoteChainSelector\",\"type\":\"uint64\"}],\"name\":\"NonExistentChain\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCallableByOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"remoteDecimals\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"localDecimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"remoteAmount\",\"type\":\"uint256\"}],\"name\":\"OverflowDetected\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OwnerCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"remoteChainSelector\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"remotePoolAddress\",\"type\":\"bytes\"}],\"name\":\"PoolAlreadyAdded\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RateLimitMustBeDisabled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"SenderNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroAddressNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"AllowListAdd\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"AllowListRemove\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Burned\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"remoteChainSelector\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"remoteToken\",\"type\":\"bytes\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"isEnabled\",\"type\":\"bool\"},{\"internalType\":\"uint128\",\"name\":\"capacity\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"rate\",\"type\":\"uint128\"}],\"indexed\":false,\"internalType\":\"structRateLimiter.Config\",\"name\":\"outboundRateLimiterConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"isEnabled\",\"type\":\"bool\"},{\"internalType\":\"uint128\",\"name\":\"capacity\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"rate\",\"type\":\"uint128\"}],\"indexed\":false,\"internalType\":\"structRateLimiter.Config\",\"name\":\"inboundRateLimiterConfig\",\"type\":\"tuple\"}],\"name\":\"ChainAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"remoteChainSelector\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"isEnabled\",\"type\":\"bool\"},{\"internalType\":\"uint128\",\"name\":\"capacity\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"rate\",\"type\":\"uint128\"}],\"indexed\":false,\"internalType\":\"structRateLimiter.Config\",\"name\":\"outboundRateLimiterConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"isEnabled\",\"type\":\"bool\"},{\"internalType\":\"uint128\",\"name\":\"capacity\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"rate\",\"type\":\"uint128\"}],\"indexed\":false,\"internalType\":\"structRateLimiter.Config\",\"name\":\"inboundRateLimiterConfig\",\"type\":\"tuple\"}],\"name\":\"ChainConfigured\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"remoteChainSelector\",\"type\":\"uint64\"}],\"name\":\"ChainRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"isEnabled\",\"type\":\"bool\"},{\"internalType\":\"uint128\",\"name\":\"capacity\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"rate\",\"type\":\"uint128\"}],\"indexed\":false,\"internalType\":\"structRateLimiter.Config\",\"name\":\"config\",\"type\":\"tuple\"}],\"name\":\"ConfigChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Locked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Minted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"OwnershipTransferRequested\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"rateLimitAdmin\",\"type\":\"address\"}],\"name\":\"RateLimitAdminSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Released\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"remoteChainSelector\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"remotePoolAddress\",\"type\":\"bytes\"}],\"name\":\"RemotePoolAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"remoteChainSelector\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"remotePoolAddress\",\"type\":\"bytes\"}],\"name\":\"RemotePoolRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldRouter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newRouter\",\"type\":\"address\"}],\"name\":\"RouterUpdated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"remoteChainSelector\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"remotePoolAddress\",\"type\":\"bytes\"}],\"name\":\"addRemotePool\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"removes\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"adds\",\"type\":\"address[]\"}],\"name\":\"applyAllowListUpdates\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64[]\",\"name\":\"remoteChainSelectorsToRemove\",\"type\":\"uint64[]\"},{\"components\":[{\"internalType\":\"uint64\",\"name\":\"remoteChainSelector\",\"type\":\"uint64\"},{\"internalType\":\"bytes[]\",\"name\":\"remotePoolAddresses\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes\",\"name\":\"remoteTokenAddress\",\"type\":\"bytes\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"isEnabled\",\"type\":\"bool\"},{\"internalType\":\"uint128\",\"name\":\"capacity\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"rate\",\"type\":\"uint128\"}],\"internalType\":\"structRateLimiter.Config\",\"name\":\"outboundRateLimiterConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"isEnabled\",\"type\":\"bool\"},{\"internalType\":\"uint128\",\"name\":\"capacity\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"rate\",\"type\":\"uint128\"}],\"internalType\":\"structRateLimiter.Config\",\"name\":\"inboundRateLimiterConfig\",\"type\":\"tuple\"}],\"internalType\":\"structTokenPool.ChainUpdate[]\",\"name\":\"chainsToAdd\",\"type\":\"tuple[]\"}],\"name\":\"applyChainUpdates\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllowList\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllowListEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"remoteChainSelector\",\"type\":\"uint64\"}],\"name\":\"getCurrentInboundRateLimiterState\",\"outputs\":[{\"components\":[{\"internalType\":\"uint128\",\"name\":\"tokens\",\"type\":\"uint128\"},{\"internalType\":\"uint32\",\"name\":\"lastUpdated\",\"type\":\"uint32\"},{\"internalType\":\"bool\",\"name\":\"isEnabled\",\"type\":\"bool\"},{\"internalType\":\"uint128\",\"name\":\"capacity\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"rate\",\"type\":\"uint128\"}],\"internalType\":\"structRateLimiter.TokenBucket\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"remoteChainSelector\",\"type\":\"uint64\"}],\"name\":\"getCurrentOutboundRateLimiterState\",\"outputs\":[{\"components\":[{\"internalType\":\"uint128\",\"name\":\"tokens\",\"type\":\"uint128\"},{\"internalType\":\"uint32\",\"name\":\"lastUpdated\",\"type\":\"uint32\"},{\"internalType\":\"bool\",\"name\":\"isEnabled\",\"type\":\"bool\"},{\"internalType\":\"uint128\",\"name\":\"capacity\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"rate\",\"type\":\"uint128\"}],\"internalType\":\"structRateLimiter.TokenBucket\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRateLimitAdmin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"remoteChainSelector\",\"type\":\"uint64\"}],\"name\":\"getRemotePools\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"remoteChainSelector\",\"type\":\"uint64\"}],\"name\":\"getRemoteToken\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRmnProxy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"rmnProxy\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRouter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"router\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSupportedChains\",\"outputs\":[{\"internalType\":\"uint64[]\",\"name\":\"\",\"type\":\"uint64[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getToken\",\"outputs\":[{\"internalType\":\"contractIERC20\",\"name\":\"token\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTokenDecimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"remoteChainSelector\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"remotePoolAddress\",\"type\":\"bytes\"}],\"name\":\"isRemotePool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"remoteChainSelector\",\"type\":\"uint64\"}],\"name\":\"isSupportedChain\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"isSupportedToken\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"receiver\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"remoteChainSelector\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"originalSender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"localToken\",\"type\":\"address\"}],\"internalType\":\"structPool.LockOrBurnInV1\",\"name\":\"lockOrBurnIn\",\"type\":\"tuple\"}],\"name\":\"lockOrBurn\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"destTokenAddress\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"destPoolData\",\"type\":\"bytes\"}],\"internalType\":\"structPool.LockOrBurnOutV1\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"originalSender\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"remoteChainSelector\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"localToken\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"sourcePoolAddress\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"sourcePoolData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"offchainTokenData\",\"type\":\"bytes\"}],\"internalType\":\"structPool.ReleaseOrMintInV1\",\"name\":\"releaseOrMintIn\",\"type\":\"tuple\"}],\"name\":\"releaseOrMint\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"destinationAmount\",\"type\":\"uint256\"}],\"internalType\":\"structPool.ReleaseOrMintOutV1\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"remoteChainSelector\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"remotePoolAddress\",\"type\":\"bytes\"}],\"name\":\"removeRemotePool\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"remoteChainSelector\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"isEnabled\",\"type\":\"bool\"},{\"internalType\":\"uint128\",\"name\":\"capacity\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"rate\",\"type\":\"uint128\"}],\"internalType\":\"structRateLimiter.Config\",\"name\":\"outboundConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"isEnabled\",\"type\":\"bool\"},{\"internalType\":\"uint128\",\"name\":\"capacity\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"rate\",\"type\":\"uint128\"}],\"internalType\":\"structRateLimiter.Config\",\"name\":\"inboundConfig\",\"type\":\"tuple\"}],\"name\":\"setChainRateLimiterConfig\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"rateLimitAdmin\",\"type\":\"address\"}],\"name\":\"setRateLimitAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newRouter\",\"type\":\"address\"}],\"name\":\"setRouter\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"typeAndVersion\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", - Bin: "0x6101006040523480156200001257600080fd5b506040516200362a3803806200362a833981016040819052620000359162000590565b836012848484336000816200005d57604051639b15e16f60e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b038481169190911790915581161562000090576200009081620001eb565b50506001600160a01b0385161580620000b057506001600160a01b038116155b80620000c357506001600160a01b038216155b15620000e2576040516342bcdf7f60e11b815260040160405180910390fd5b6001600160a01b03808616608081905290831660c0526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa92505050801562000152575060408051601f3d908101601f191682019092526200014f91810190620006a0565b60015b1562000192578060ff168560ff161462000190576040516332ad3e0760e11b815260ff80871660048301528216602482015260440160405180910390fd5b505b60ff841660a052600480546001600160a01b0319166001600160a01b038316179055825115801560e052620001dc57604080516000815260208101909152620001dc908462000265565b5050505050505050506200071a565b336001600160a01b038216036200021557604051636d6c4ee560e11b815260040160405180910390fd5b600080546001600160a01b0319166001600160a01b03838116918217835560015460405192939116917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a350565b60e05162000286576040516335f4a7b360e01b815260040160405180910390fd5b60005b825181101562000311576000838281518110620002aa57620002aa620006cc565b60209081029190910101519050620002c4600282620003c2565b1562000307576040516001600160a01b03821681527f800671136ab6cfee9fbe5ed1fb7ca417811aca3cf864800d127b927adedf75669060200160405180910390a15b5060010162000289565b5060005b8151811015620003bd576000828281518110620003365762000336620006cc565b6020026020010151905060006001600160a01b0316816001600160a01b031603620003625750620003b4565b6200036f600282620003e2565b15620003b2576040516001600160a01b03821681527f2640d4d76caf8bf478aabfa982fa4e1c4eb71a37f93cd15e80dbc657911546d89060200160405180910390a15b505b60010162000315565b505050565b6000620003d9836001600160a01b038416620003f9565b90505b92915050565b6000620003d9836001600160a01b038416620004fd565b60008181526001830160205260408120548015620004f257600062000420600183620006e2565b85549091506000906200043690600190620006e2565b9050808214620004a25760008660000182815481106200045a576200045a620006cc565b9060005260206000200154905080876000018481548110620004805762000480620006cc565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080620004b657620004b662000704565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050620003dc565b6000915050620003dc565b60008181526001830160205260408120546200054657508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155620003dc565b506000620003dc565b6001600160a01b03811681146200056557600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b80516200058b816200054f565b919050565b60008060008060808587031215620005a757600080fd5b8451620005b4816200054f565b602086810151919550906001600160401b0380821115620005d457600080fd5b818801915088601f830112620005e957600080fd5b815181811115620005fe57620005fe62000568565b8060051b604051601f19603f8301168101818110858211171562000626576200062662000568565b60405291825284820192508381018501918b8311156200064557600080fd5b938501935b828510156200066e576200065e856200057e565b845293850193928501926200064a565b80985050505050505062000685604086016200057e565b915062000695606086016200057e565b905092959194509250565b600060208284031215620006b357600080fd5b815160ff81168114620006c557600080fd5b9392505050565b634e487b7160e01b600052603260045260246000fd5b81810381811115620003dc57634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fd5b60805160a05160c05160e051612ec8620007626000396000818161054f015261179201526000610529015260006102e0015260008181610247015261029c0152612ec86000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c80639a4575b911610104578063c0d78655116100a2578063dc0bd97111610071578063dc0bd97114610527578063e0351e131461054d578063e8a1da1714610573578063f2fde38b1461058657600080fd5b8063c0d78655146104d9578063c4bffe2b146104ec578063c75eea9c14610501578063cf7401f31461051457600080fd5b8063acfecf91116100de578063acfecf9114610426578063af58d59f14610439578063b0f479a1146104a8578063b7946580146104c657600080fd5b80639a4575b9146103d1578063a42a7b8b146103f1578063a7cd63b71461041157600080fd5b806354c8a4f31161017157806379ba50971161014b57806379ba5097146103855780637d54534e1461038d5780638926f54f146103a05780638da5cb5b146103b357600080fd5b806354c8a4f31461033f57806362ddd3c4146103545780636d3d1a581461036757600080fd5b8063240028e8116101ad578063240028e81461028c57806324f65ee7146102d9578063390775371461030a5780634c5ef0ed1461032c57600080fd5b806301ffc9a7146101d4578063181f5a77146101fc57806321df0da714610245575b600080fd5b6101e76101e2366004612230565b610599565b60405190151581526020015b60405180910390f35b6102386040518060400160405280601781526020017f4d6f636b4c425443546f6b656e506f6f6c20312e352e3100000000000000000081525081565b6040516101f391906122e0565b7f00000000000000000000000000000000000000000000000000000000000000005b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101f3565b6101e761029a3660046122f3565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff90811691161490565b60405160ff7f00000000000000000000000000000000000000000000000000000000000000001681526020016101f3565b61031d610318366004612329565b61067e565b604051905181526020016101f3565b6101e761033a366004612382565b61071e565b61035261034d366004612451565b610768565b005b610352610362366004612382565b6107e3565b60095473ffffffffffffffffffffffffffffffffffffffff16610267565b610352610880565b61035261039b3660046122f3565b61094e565b6101e76103ae3660046124bd565b6109cf565b60015473ffffffffffffffffffffffffffffffffffffffff16610267565b6103e46103df3660046124d8565b6109e6565b6040516101f39190612513565b6104046103ff3660046124bd565b610afa565b6040516101f3919061256a565b610419610c65565b6040516101f391906125ec565b610352610434366004612382565b610c76565b61044c6104473660046124bd565b610d8e565b6040516101f3919081516fffffffffffffffffffffffffffffffff908116825260208084015163ffffffff1690830152604080840151151590830152606080840151821690830152608092830151169181019190915260a00190565b60045473ffffffffffffffffffffffffffffffffffffffff16610267565b6102386104d43660046124bd565b610e63565b6103526104e73660046122f3565b610f13565b6104f4610fee565b6040516101f39190612646565b61044c61050f3660046124bd565b6110a6565b6103526105223660046127c5565b611178565b7f0000000000000000000000000000000000000000000000000000000000000000610267565b7f00000000000000000000000000000000000000000000000000000000000000006101e7565b610352610581366004612451565b6111fc565b6103526105943660046122f3565b61170e565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167faff2afbf00000000000000000000000000000000000000000000000000000000148061062c57507fffffffff0000000000000000000000000000000000000000000000000000000082167f0e64dd2900000000000000000000000000000000000000000000000000000000145b8061067857507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60408051602081019091526000815261069d60608301604084016122f3565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f9d228d69b5fdb8d273a2336f8fb8612d039631024ea9bf09c424a9503aa078f084606001356040516106ff91815260200190565b60405180910390a3506040805160208101909152606090910135815290565b6000610760838360405161073392919061280a565b604080519182900390912067ffffffffffffffff8716600090815260076020529190912060050190611722565b949350505050565b61077061173d565b6107dd8484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152505060408051602080880282810182019093528782529093508792508691829185019084908082843760009201919091525061179092505050565b50505050565b6107eb61173d565b6107f4836109cf565b61083b576040517f1e670e4b00000000000000000000000000000000000000000000000000000000815267ffffffffffffffff841660048201526024015b60405180910390fd5b61087b8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061194692505050565b505050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146108d1576040517f02b543c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000008082163390811790935560008054909116815560405173ffffffffffffffffffffffffffffffffffffffff909216929183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a350565b61095661173d565b600980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527f44676b5284b809a22248eba0da87391d79098be38bb03154be88a58bf4d091749060200160405180910390a150565b6000610678600567ffffffffffffffff8416611722565b6040805180820190915260608082526020820152606080604051602001610a30907f1234abcd00000000000000000000000000000000000000000000000000000000815260040190565b6040516020818303038152906040529150600282604051610a51919061281a565b602060405180830381855afa158015610a6e573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610a919190612836565b604051602001610aa391815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828201825292508190610aea906104d4908801602089016124bd565b8152602001919091529392505050565b67ffffffffffffffff8116600090815260076020526040812060609190610b2390600501611a40565b90506000815167ffffffffffffffff811115610b4157610b41612688565b604051908082528060200260200182016040528015610b7457816020015b6060815260200190600190039081610b5f5790505b50905060005b8251811015610c5d5760086000848381518110610b9957610b9961284f565b602002602001015181526020019081526020016000208054610bba9061287e565b80601f0160208091040260200160405190810160405280929190818152602001828054610be69061287e565b8015610c335780601f10610c0857610100808354040283529160200191610c33565b820191906000526020600020905b815481529060010190602001808311610c1657829003601f168201915b5050505050828281518110610c4a57610c4a61284f565b6020908102919091010152600101610b7a565b509392505050565b6060610c716002611a40565b905090565b610c7e61173d565b610c87836109cf565b610cc9576040517f1e670e4b00000000000000000000000000000000000000000000000000000000815267ffffffffffffffff84166004820152602401610832565b610d098282604051610cdc92919061280a565b604080519182900390912067ffffffffffffffff8616600090815260076020529190912060050190611a4d565b610d45578282826040517f74f23c7c0000000000000000000000000000000000000000000000000000000081526004016108329392919061291a565b8267ffffffffffffffff167f52d00ee4d9bd51b40168f2afc5848837288ce258784ad914278791464b3f4d768383604051610d8192919061293e565b60405180910390a2505050565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915267ffffffffffffffff8216600090815260076020908152604091829020825160a08101845260028201546fffffffffffffffffffffffffffffffff808216835270010000000000000000000000000000000080830463ffffffff16958401959095527401000000000000000000000000000000000000000090910460ff16151594820194909452600390910154808416606083015291909104909116608082015261067890611a59565b67ffffffffffffffff81166000908152600760205260409020600401805460609190610e8e9061287e565b80601f0160208091040260200160405190810160405280929190818152602001828054610eba9061287e565b8015610f075780601f10610edc57610100808354040283529160200191610f07565b820191906000526020600020905b815481529060010190602001808311610eea57829003601f168201915b50505050509050919050565b610f1b61173d565b73ffffffffffffffffffffffffffffffffffffffff8116610f68576040517f8579befe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117909355604080519190921680825260208201939093527f02dc5c233404867c793b749c6d644beb2277536d18a7e7974d3f238e4c6f1684910160405180910390a15050565b60606000610ffc6005611a40565b90506000815167ffffffffffffffff81111561101a5761101a612688565b604051908082528060200260200182016040528015611043578160200160208202803683370190505b50905060005b825181101561109f578281815181106110645761106461284f565b602002602001015182828151811061107e5761107e61284f565b67ffffffffffffffff90921660209283029190910190910152600101611049565b5092915050565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915267ffffffffffffffff8216600090815260076020908152604091829020825160a08101845281546fffffffffffffffffffffffffffffffff808216835270010000000000000000000000000000000080830463ffffffff16958401959095527401000000000000000000000000000000000000000090910460ff16151594820194909452600190910154808416606083015291909104909116608082015261067890611a59565b60095473ffffffffffffffffffffffffffffffffffffffff1633148015906111b8575060015473ffffffffffffffffffffffffffffffffffffffff163314155b156111f1576040517f8e4a23d6000000000000000000000000000000000000000000000000000000008152336004820152602401610832565b61087b838383611b0b565b61120461173d565b60005b838110156113f15760008585838181106112235761122361284f565b905060200201602081019061123891906124bd565b905061124f600567ffffffffffffffff8316611a4d565b611291576040517f1e670e4b00000000000000000000000000000000000000000000000000000000815267ffffffffffffffff82166004820152602401610832565b67ffffffffffffffff811660009081526007602052604081206112b690600501611a40565b905060005b8151811015611322576113198282815181106112d9576112d961284f565b6020026020010151600760008667ffffffffffffffff1667ffffffffffffffff168152602001908152602001600020600501611a4d90919063ffffffff16565b506001016112bb565b5067ffffffffffffffff8216600090815260076020526040812080547fffffffffffffffffffffff0000000000000000000000000000000000000000009081168255600182018390556002820180549091169055600381018290559061138b60048301826121c3565b600582016000818161139d82826121fd565b505060405167ffffffffffffffff871681527f5204aec90a3c794d8e90fded8b46ae9c7c552803e7e832e0c1d358396d859916945060200192506113df915050565b60405180910390a15050600101611207565b5060005b818110156117075760008383838181106114115761141161284f565b90506020028101906114239190612952565b61142c90612a14565b905061143d81606001516000611bf5565b61144c81608001516000611bf5565b80604001515160000361148b576040517f8579befe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80516114a39060059067ffffffffffffffff16611d32565b6114e85780516040517f1d5ad3c500000000000000000000000000000000000000000000000000000000815267ffffffffffffffff9091166004820152602401610832565b805167ffffffffffffffff16600090815260076020908152604091829020825160a08082018552606080870180518601516fffffffffffffffffffffffffffffffff90811680865263ffffffff42168689018190528351511515878b0181905284518a0151841686890181905294518b0151841660809889018190528954740100000000000000000000000000000000000000009283027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff7001000000000000000000000000000000008087027fffffffffffffffffffffffff000000000000000000000000000000000000000094851690981788178216929092178d5592810290971760018c01558c519889018d52898e0180518d01518716808b528a8e019590955280515115158a8f018190528151909d01518716988a01899052518d0151909516979098018790526002890180549a90910299909316171790941695909517909255909202909117600382015590820151600482019061166b9082612b8b565b5060005b8260200151518110156116af576116a783600001518460200151838151811061169a5761169a61284f565b6020026020010151611946565b60010161166f565b507f8d340f17e19058004c20453540862a9c62778504476f6756755cb33bcd6c38c282600001518360400151846060015185608001516040516116f59493929190612ca5565b60405180910390a150506001016113f5565b5050505050565b61171661173d565b61171f81611d3e565b50565b600081815260018301602052604081205415155b9392505050565b60015473ffffffffffffffffffffffffffffffffffffffff16331461178e576040517f2b5c74de00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b7f00000000000000000000000000000000000000000000000000000000000000006117e7576040517f35f4a7b300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b825181101561187d5760008382815181106118075761180761284f565b60200260200101519050611825816002611e0290919063ffffffff16565b156118745760405173ffffffffffffffffffffffffffffffffffffffff821681527f800671136ab6cfee9fbe5ed1fb7ca417811aca3cf864800d127b927adedf75669060200160405180910390a15b506001016117ea565b5060005b815181101561087b57600082828151811061189e5761189e61284f565b60200260200101519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036118e2575061193e565b6118ed600282611e24565b1561193c5760405173ffffffffffffffffffffffffffffffffffffffff821681527f2640d4d76caf8bf478aabfa982fa4e1c4eb71a37f93cd15e80dbc657911546d89060200160405180910390a15b505b600101611881565b8051600003611981576040517f8579befe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805160208083019190912067ffffffffffffffff84166000908152600790925260409091206119b39060050182611d32565b6119ed5782826040517f393b8ad2000000000000000000000000000000000000000000000000000000008152600401610832929190612d3e565b6000818152600860205260409020611a058382612b8b565b508267ffffffffffffffff167f7d628c9a1796743d365ab521a8b2a4686e419b3269919dc9145ea2ce853b54ea83604051610d8191906122e0565b6060600061173683611e46565b60006117368383611ea1565b6040805160a081018252600080825260208201819052918101829052606081018290526080810191909152611ae782606001516fffffffffffffffffffffffffffffffff1683600001516fffffffffffffffffffffffffffffffff16846020015163ffffffff1642611acb9190612d90565b85608001516fffffffffffffffffffffffffffffffff16611f94565b6fffffffffffffffffffffffffffffffff1682525063ffffffff4216602082015290565b611b14836109cf565b611b56576040517f1e670e4b00000000000000000000000000000000000000000000000000000000815267ffffffffffffffff84166004820152602401610832565b611b61826000611bf5565b67ffffffffffffffff83166000908152600760205260409020611b849083611fbc565b611b8f816000611bf5565b67ffffffffffffffff83166000908152600760205260409020611bb59060020182611fbc565b7f0350d63aa5f270e01729d00d627eeb8f3429772b1818c016c66a588a864f912b838383604051611be893929190612da3565b60405180910390a1505050565b815115611cc05781602001516fffffffffffffffffffffffffffffffff1682604001516fffffffffffffffffffffffffffffffff16101580611c4b575060408201516fffffffffffffffffffffffffffffffff16155b15611c8457816040517f8020d1240000000000000000000000000000000000000000000000000000000081526004016108329190612e26565b8015611cbc576040517f433fc33d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60408201516fffffffffffffffffffffffffffffffff16151580611cf9575060208201516fffffffffffffffffffffffffffffffff1615155b15611cbc57816040517fd68af9cc0000000000000000000000000000000000000000000000000000000081526004016108329190612e26565b6000611736838361215e565b3373ffffffffffffffffffffffffffffffffffffffff821603611d8d576040517fdad89dca00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff838116918217835560015460405192939116917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a350565b60006117368373ffffffffffffffffffffffffffffffffffffffff8416611ea1565b60006117368373ffffffffffffffffffffffffffffffffffffffff841661215e565b606081600001805480602002602001604051908101604052809291908181526020018280548015610f0757602002820191906000526020600020905b815481526020019060010190808311611e825750505050509050919050565b60008181526001830160205260408120548015611f8a576000611ec5600183612d90565b8554909150600090611ed990600190612d90565b9050808214611f3e576000866000018281548110611ef957611ef961284f565b9060005260206000200154905080876000018481548110611f1c57611f1c61284f565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611f4f57611f4f612e62565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610678565b6000915050610678565b6000611fb385611fa48486612e91565b611fae9087612ea8565b6121ad565b95945050505050565b8154600090611fe590700100000000000000000000000000000000900463ffffffff1642612d90565b90508015612087576001830154835461202d916fffffffffffffffffffffffffffffffff80821692811691859170010000000000000000000000000000000090910416611f94565b83546fffffffffffffffffffffffffffffffff919091167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116177001000000000000000000000000000000004263ffffffff16021783555b602082015183546120ad916fffffffffffffffffffffffffffffffff90811691166121ad565b83548351151574010000000000000000000000000000000000000000027fffffffffffffffffffffff00ffffffff000000000000000000000000000000009091166fffffffffffffffffffffffffffffffff92831617178455602083015160408085015183167001000000000000000000000000000000000291909216176001850155517f9ea3374b67bf275e6bb9c8ae68f9cae023e1c528b4b27e092f0bb209d3531c1990611be8908490612e26565b60008181526001830160205260408120546121a557508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610678565b506000610678565b60008183106121bc5781611736565b5090919050565b5080546121cf9061287e565b6000825580601f106121df575050565b601f01602090049060005260206000209081019061171f9190612217565b508054600082559060005260206000209081019061171f91905b5b8082111561222c5760008155600101612218565b5090565b60006020828403121561224257600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461173657600080fd5b60005b8381101561228d578181015183820152602001612275565b50506000910152565b600081518084526122ae816020860160208601612272565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006117366020830184612296565b60006020828403121561230557600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461173657600080fd5b60006020828403121561233b57600080fd5b813567ffffffffffffffff81111561235257600080fd5b8201610100818503121561173657600080fd5b803567ffffffffffffffff8116811461237d57600080fd5b919050565b60008060006040848603121561239757600080fd5b6123a084612365565b9250602084013567ffffffffffffffff808211156123bd57600080fd5b818601915086601f8301126123d157600080fd5b8135818111156123e057600080fd5b8760208285010111156123f257600080fd5b6020830194508093505050509250925092565b60008083601f84011261241757600080fd5b50813567ffffffffffffffff81111561242f57600080fd5b6020830191508360208260051b850101111561244a57600080fd5b9250929050565b6000806000806040858703121561246757600080fd5b843567ffffffffffffffff8082111561247f57600080fd5b61248b88838901612405565b909650945060208701359150808211156124a457600080fd5b506124b187828801612405565b95989497509550505050565b6000602082840312156124cf57600080fd5b61173682612365565b6000602082840312156124ea57600080fd5b813567ffffffffffffffff81111561250157600080fd5b820160a0818503121561173657600080fd5b60208152600082516040602084015261252f6060840182612296565b905060208401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0848303016040850152611fb38282612296565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b828110156125df577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08886030184526125cd858351612296565b94509285019290850190600101612593565b5092979650505050505050565b6020808252825182820181905260009190848201906040850190845b8181101561263a57835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101612608565b50909695505050505050565b6020808252825182820181905260009190848201906040850190845b8181101561263a57835167ffffffffffffffff1683529284019291840191600101612662565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160a0810167ffffffffffffffff811182821017156126da576126da612688565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561272757612727612688565b604052919050565b80356fffffffffffffffffffffffffffffffff8116811461237d57600080fd5b60006060828403121561276157600080fd5b6040516060810181811067ffffffffffffffff8211171561278457612784612688565b6040529050808235801515811461279a57600080fd5b81526127a86020840161272f565b60208201526127b96040840161272f565b60408201525092915050565b600080600060e084860312156127da57600080fd5b6127e384612365565b92506127f2856020860161274f565b9150612801856080860161274f565b90509250925092565b8183823760009101908152919050565b6000825161282c818460208701612272565b9190910192915050565b60006020828403121561284857600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600181811c9082168061289257607f821691505b6020821081036128cb577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b67ffffffffffffffff84168152604060208201526000611fb36040830184866128d1565b6020815260006107606020830184866128d1565b600082357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee183360301811261282c57600080fd5b600082601f83011261299757600080fd5b813567ffffffffffffffff8111156129b1576129b1612688565b6129e260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016126e0565b8181528460208386010111156129f757600080fd5b816020850160208301376000918101602001919091529392505050565b60006101208236031215612a2757600080fd5b612a2f6126b7565b612a3883612365565b815260208084013567ffffffffffffffff80821115612a5657600080fd5b9085019036601f830112612a6957600080fd5b813581811115612a7b57612a7b612688565b8060051b612a8a8582016126e0565b9182528381018501918581019036841115612aa457600080fd5b86860192505b83831015612ae057823585811115612ac25760008081fd5b612ad03689838a0101612986565b8352509186019190860190612aaa565b8087890152505050506040860135925080831115612afd57600080fd5b5050612b0b36828601612986565b604083015250612b1e366060850161274f565b6060820152612b303660c0850161274f565b608082015292915050565b601f82111561087b576000816000526020600020601f850160051c81016020861015612b645750805b601f850160051c820191505b81811015612b8357828155600101612b70565b505050505050565b815167ffffffffffffffff811115612ba557612ba5612688565b612bb981612bb3845461287e565b84612b3b565b602080601f831160018114612c0c5760008415612bd65750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555612b83565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015612c5957888601518255948401946001909101908401612c3a565b5085821015612c9557878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600061010067ffffffffffffffff87168352806020840152612cc981840187612296565b8551151560408581019190915260208701516fffffffffffffffffffffffffffffffff9081166060870152908701511660808501529150612d079050565b8251151560a083015260208301516fffffffffffffffffffffffffffffffff90811660c084015260408401511660e0830152611fb3565b67ffffffffffffffff831681526040602082015260006107606040830184612296565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8181038181111561067857610678612d61565b67ffffffffffffffff8416815260e08101612def60208301858051151582526020808201516fffffffffffffffffffffffffffffffff9081169184019190915260409182015116910152565b82511515608083015260208301516fffffffffffffffffffffffffffffffff90811660a084015260408401511660c0830152610760565b6060810161067882848051151582526020808201516fffffffffffffffffffffffffffffffff9081169184019190915260409182015116910152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b808202811582820484141761067857610678612d61565b8082018082111561067857610678612d6156fea164736f6c6343000818000a", + Bin: "0x6101006040523480156200001257600080fd5b5060405162003c5038038062003c50833981016040819052620000359162000590565b836012848484336000816200005d57604051639b15e16f60e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b038481169190911790915581161562000090576200009081620001eb565b50506001600160a01b0385161580620000b057506001600160a01b038116155b80620000c357506001600160a01b038216155b15620000e2576040516342bcdf7f60e11b815260040160405180910390fd5b6001600160a01b03808616608081905290831660c0526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa92505050801562000152575060408051601f3d908101601f191682019092526200014f91810190620006a0565b60015b1562000192578060ff168560ff161462000190576040516332ad3e0760e11b815260ff80871660048301528216602482015260440160405180910390fd5b505b60ff841660a052600480546001600160a01b0319166001600160a01b038316179055825115801560e052620001dc57604080516000815260208101909152620001dc908462000265565b5050505050505050506200071a565b336001600160a01b038216036200021557604051636d6c4ee560e11b815260040160405180910390fd5b600080546001600160a01b0319166001600160a01b03838116918217835560015460405192939116917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a350565b60e05162000286576040516335f4a7b360e01b815260040160405180910390fd5b60005b825181101562000311576000838281518110620002aa57620002aa620006cc565b60209081029190910101519050620002c4600282620003c2565b1562000307576040516001600160a01b03821681527f800671136ab6cfee9fbe5ed1fb7ca417811aca3cf864800d127b927adedf75669060200160405180910390a15b5060010162000289565b5060005b8151811015620003bd576000828281518110620003365762000336620006cc565b6020026020010151905060006001600160a01b0316816001600160a01b031603620003625750620003b4565b6200036f600282620003e2565b15620003b2576040516001600160a01b03821681527f2640d4d76caf8bf478aabfa982fa4e1c4eb71a37f93cd15e80dbc657911546d89060200160405180910390a15b505b60010162000315565b505050565b6000620003d9836001600160a01b038416620003f9565b90505b92915050565b6000620003d9836001600160a01b038416620004fd565b60008181526001830160205260408120548015620004f257600062000420600183620006e2565b85549091506000906200043690600190620006e2565b9050808214620004a25760008660000182815481106200045a576200045a620006cc565b9060005260206000200154905080876000018481548110620004805762000480620006cc565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080620004b657620004b662000704565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050620003dc565b6000915050620003dc565b60008181526001830160205260408120546200054657508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155620003dc565b506000620003dc565b6001600160a01b03811681146200056557600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b80516200058b816200054f565b919050565b60008060008060808587031215620005a757600080fd5b8451620005b4816200054f565b602086810151919550906001600160401b0380821115620005d457600080fd5b818801915088601f830112620005e957600080fd5b815181811115620005fe57620005fe62000568565b8060051b604051601f19603f8301168101818110858211171562000626576200062662000568565b60405291825284820192508381018501918b8311156200064557600080fd5b938501935b828510156200066e576200065e856200057e565b845293850193928501926200064a565b80985050505050505062000685604086016200057e565b915062000695606086016200057e565b905092959194509250565b600060208284031215620006b357600080fd5b815160ff81168114620006c557600080fd5b9392505050565b634e487b7160e01b600052603260045260246000fd5b81810381811115620003dc57634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fd5b60805160a05160c05160e0516134b66200079a6000396000818161054f0152611b98015260006105290152600081816102e00152818161185e015281816119180152818161194c0152818161197f015281816119e401528181611a3d0152611adf0152600081816102470152818161029c01526106ff01526134b66000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c80639a4575b911610104578063c0d78655116100a2578063dc0bd97111610071578063dc0bd97114610527578063e0351e131461054d578063e8a1da1714610573578063f2fde38b1461058657600080fd5b8063c0d78655146104d9578063c4bffe2b146104ec578063c75eea9c14610501578063cf7401f31461051457600080fd5b8063acfecf91116100de578063acfecf9114610426578063af58d59f14610439578063b0f479a1146104a8578063b7946580146104c657600080fd5b80639a4575b9146103d1578063a42a7b8b146103f1578063a7cd63b71461041157600080fd5b806354c8a4f31161017157806379ba50971161014b57806379ba5097146103855780637d54534e1461038d5780638926f54f146103a05780638da5cb5b146103b357600080fd5b806354c8a4f31461033f57806362ddd3c4146103545780636d3d1a581461036757600080fd5b8063240028e8116101ad578063240028e81461028c57806324f65ee7146102d9578063390775371461030a5780634c5ef0ed1461032c57600080fd5b806301ffc9a7146101d4578063181f5a77146101fc57806321df0da714610245575b600080fd5b6101e76101e2366004612636565b610599565b60405190151581526020015b60405180910390f35b6102386040518060400160405280601781526020017f4d6f636b4c425443546f6b656e506f6f6c20312e352e3100000000000000000081525081565b6040516101f391906126e6565b7f00000000000000000000000000000000000000000000000000000000000000005b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101f3565b6101e761029a3660046126f9565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff90811691161490565b60405160ff7f00000000000000000000000000000000000000000000000000000000000000001681526020016101f3565b61031d61031836600461272f565b61067e565b604051905181526020016101f3565b6101e761033a366004612788565b61084c565b61035261034d366004612857565b610896565b005b610352610362366004612788565b610911565b60095473ffffffffffffffffffffffffffffffffffffffff16610267565b6103526109ae565b61035261039b3660046126f9565b610a7c565b6101e76103ae3660046128c3565b610afd565b60015473ffffffffffffffffffffffffffffffffffffffff16610267565b6103e46103df3660046128de565b610b14565b6040516101f39190612919565b6104046103ff3660046128c3565b610c28565b6040516101f39190612970565b610419610d93565b6040516101f391906129f2565b610352610434366004612788565b610da4565b61044c6104473660046128c3565b610ebc565b6040516101f3919081516fffffffffffffffffffffffffffffffff908116825260208084015163ffffffff1690830152604080840151151590830152606080840151821690830152608092830151169181019190915260a00190565b60045473ffffffffffffffffffffffffffffffffffffffff16610267565b6102386104d43660046128c3565b610f91565b6103526104e73660046126f9565b611041565b6104f461111c565b6040516101f39190612a4c565b61044c61050f3660046128c3565b6111d4565b610352610522366004612bcb565b6112a6565b7f0000000000000000000000000000000000000000000000000000000000000000610267565b7f00000000000000000000000000000000000000000000000000000000000000006101e7565b610352610581366004612857565b61132a565b6103526105943660046126f9565b61183c565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167faff2afbf00000000000000000000000000000000000000000000000000000000148061062c57507fffffffff0000000000000000000000000000000000000000000000000000000082167f0e64dd2900000000000000000000000000000000000000000000000000000000145b8061067857507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60408051602081019091526000815260006106e660608401356106e16106a760c0870187612c10565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061185092505050565b611914565b905073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000166340c10f1961073460608601604087016126f9565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815273ffffffffffffffffffffffffffffffffffffffff909116600482015260248101849052604401600060405180830381600087803b1580156107a157600080fd5b505af11580156107b5573d6000803e3d6000fd5b506107ca9250505060608401604085016126f9565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f9d228d69b5fdb8d273a2336f8fb8612d039631024ea9bf09c424a9503aa078f0856060013560405161082c91815260200190565b60405180910390a350506040805160208101909152606090910135815290565b600061088e8383604051610861929190612c75565b604080519182900390912067ffffffffffffffff8716600090815260076020529190912060050190611b28565b949350505050565b61089e611b43565b61090b84848080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808802828101820190935287825290935087925086918291850190849080828437600092019190915250611b9692505050565b50505050565b610919611b43565b61092283610afd565b610969576040517f1e670e4b00000000000000000000000000000000000000000000000000000000815267ffffffffffffffff841660048201526024015b60405180910390fd5b6109a98383838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611d4c92505050565b505050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146109ff576040517f02b543c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000008082163390811790935560008054909116815560405173ffffffffffffffffffffffffffffffffffffffff909216929183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a350565b610a84611b43565b600980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527f44676b5284b809a22248eba0da87391d79098be38bb03154be88a58bf4d091749060200160405180910390a150565b6000610678600567ffffffffffffffff8416611b28565b6040805180820190915260608082526020820152606080604051602001610b5e907f1234abcd00000000000000000000000000000000000000000000000000000000815260040190565b6040516020818303038152906040529150600282604051610b7f9190612c85565b602060405180830381855afa158015610b9c573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610bbf9190612ca1565b604051602001610bd191815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828201825292508190610c18906104d4908801602089016128c3565b8152602001919091529392505050565b67ffffffffffffffff8116600090815260076020526040812060609190610c5190600501611e46565b90506000815167ffffffffffffffff811115610c6f57610c6f612a8e565b604051908082528060200260200182016040528015610ca257816020015b6060815260200190600190039081610c8d5790505b50905060005b8251811015610d8b5760086000848381518110610cc757610cc7612cba565b602002602001015181526020019081526020016000208054610ce890612ce9565b80601f0160208091040260200160405190810160405280929190818152602001828054610d1490612ce9565b8015610d615780601f10610d3657610100808354040283529160200191610d61565b820191906000526020600020905b815481529060010190602001808311610d4457829003601f168201915b5050505050828281518110610d7857610d78612cba565b6020908102919091010152600101610ca8565b509392505050565b6060610d9f6002611e46565b905090565b610dac611b43565b610db583610afd565b610df7576040517f1e670e4b00000000000000000000000000000000000000000000000000000000815267ffffffffffffffff84166004820152602401610960565b610e378282604051610e0a929190612c75565b604080519182900390912067ffffffffffffffff8616600090815260076020529190912060050190611e53565b610e73578282826040517f74f23c7c00000000000000000000000000000000000000000000000000000000815260040161096093929190612d85565b8267ffffffffffffffff167f52d00ee4d9bd51b40168f2afc5848837288ce258784ad914278791464b3f4d768383604051610eaf929190612da9565b60405180910390a2505050565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915267ffffffffffffffff8216600090815260076020908152604091829020825160a08101845260028201546fffffffffffffffffffffffffffffffff808216835270010000000000000000000000000000000080830463ffffffff16958401959095527401000000000000000000000000000000000000000090910460ff16151594820194909452600390910154808416606083015291909104909116608082015261067890611e5f565b67ffffffffffffffff81166000908152600760205260409020600401805460609190610fbc90612ce9565b80601f0160208091040260200160405190810160405280929190818152602001828054610fe890612ce9565b80156110355780601f1061100a57610100808354040283529160200191611035565b820191906000526020600020905b81548152906001019060200180831161101857829003601f168201915b50505050509050919050565b611049611b43565b73ffffffffffffffffffffffffffffffffffffffff8116611096576040517f8579befe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117909355604080519190921680825260208201939093527f02dc5c233404867c793b749c6d644beb2277536d18a7e7974d3f238e4c6f1684910160405180910390a15050565b6060600061112a6005611e46565b90506000815167ffffffffffffffff81111561114857611148612a8e565b604051908082528060200260200182016040528015611171578160200160208202803683370190505b50905060005b82518110156111cd5782818151811061119257611192612cba565b60200260200101518282815181106111ac576111ac612cba565b67ffffffffffffffff90921660209283029190910190910152600101611177565b5092915050565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915267ffffffffffffffff8216600090815260076020908152604091829020825160a08101845281546fffffffffffffffffffffffffffffffff808216835270010000000000000000000000000000000080830463ffffffff16958401959095527401000000000000000000000000000000000000000090910460ff16151594820194909452600190910154808416606083015291909104909116608082015261067890611e5f565b60095473ffffffffffffffffffffffffffffffffffffffff1633148015906112e6575060015473ffffffffffffffffffffffffffffffffffffffff163314155b1561131f576040517f8e4a23d6000000000000000000000000000000000000000000000000000000008152336004820152602401610960565b6109a9838383611f11565b611332611b43565b60005b8381101561151f57600085858381811061135157611351612cba565b905060200201602081019061136691906128c3565b905061137d600567ffffffffffffffff8316611e53565b6113bf576040517f1e670e4b00000000000000000000000000000000000000000000000000000000815267ffffffffffffffff82166004820152602401610960565b67ffffffffffffffff811660009081526007602052604081206113e490600501611e46565b905060005b81518110156114505761144782828151811061140757611407612cba565b6020026020010151600760008667ffffffffffffffff1667ffffffffffffffff168152602001908152602001600020600501611e5390919063ffffffff16565b506001016113e9565b5067ffffffffffffffff8216600090815260076020526040812080547fffffffffffffffffffffff000000000000000000000000000000000000000000908116825560018201839055600282018054909116905560038101829055906114b960048301826125c9565b60058201600081816114cb8282612603565b505060405167ffffffffffffffff871681527f5204aec90a3c794d8e90fded8b46ae9c7c552803e7e832e0c1d358396d8599169450602001925061150d915050565b60405180910390a15050600101611335565b5060005b8181101561183557600083838381811061153f5761153f612cba565b90506020028101906115519190612dbd565b61155a90612e7f565b905061156b81606001516000611ffb565b61157a81608001516000611ffb565b8060400151516000036115b9576040517f8579befe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80516115d19060059067ffffffffffffffff16612138565b6116165780516040517f1d5ad3c500000000000000000000000000000000000000000000000000000000815267ffffffffffffffff9091166004820152602401610960565b805167ffffffffffffffff16600090815260076020908152604091829020825160a08082018552606080870180518601516fffffffffffffffffffffffffffffffff90811680865263ffffffff42168689018190528351511515878b0181905284518a0151841686890181905294518b0151841660809889018190528954740100000000000000000000000000000000000000009283027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff7001000000000000000000000000000000008087027fffffffffffffffffffffffff000000000000000000000000000000000000000094851690981788178216929092178d5592810290971760018c01558c519889018d52898e0180518d01518716808b528a8e019590955280515115158a8f018190528151909d01518716988a01899052518d0151909516979098018790526002890180549a9091029990931617179094169590951790925590920290911760038201559082015160048201906117999082612ff6565b5060005b8260200151518110156117dd576117d58360000151846020015183815181106117c8576117c8612cba565b6020026020010151611d4c565b60010161179d565b507f8d340f17e19058004c20453540862a9c62778504476f6756755cb33bcd6c38c282600001518360400151846060015185608001516040516118239493929190613110565b60405180910390a15050600101611523565b5050505050565b611844611b43565b61184d81612144565b50565b6000815160000361188257507f0000000000000000000000000000000000000000000000000000000000000000919050565b81516020146118bf57816040517f953576f700000000000000000000000000000000000000000000000000000000815260040161096091906126e6565b6000828060200190518101906118d59190612ca1565b905060ff81111561067857826040517f953576f700000000000000000000000000000000000000000000000000000000815260040161096091906126e6565b60007f000000000000000000000000000000000000000000000000000000000000000060ff168260ff160361194a575081610678565b7f000000000000000000000000000000000000000000000000000000000000000060ff168260ff161115611a355760006119a47f0000000000000000000000000000000000000000000000000000000000000000846131d8565b9050604d8160ff161115611a18576040517fa9cb113d00000000000000000000000000000000000000000000000000000000815260ff80851660048301527f000000000000000000000000000000000000000000000000000000000000000016602482015260448101859052606401610960565b611a2381600a613311565b611a2d9085613320565b915050610678565b6000611a61837f00000000000000000000000000000000000000000000000000000000000000006131d8565b9050604d8160ff161180611aa85750611a7b81600a613311565b611aa5907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613320565b84115b15611b13576040517fa9cb113d00000000000000000000000000000000000000000000000000000000815260ff80851660048301527f000000000000000000000000000000000000000000000000000000000000000016602482015260448101859052606401610960565b611b1e81600a613311565b61088e908561335b565b600081815260018301602052604081205415155b9392505050565b60015473ffffffffffffffffffffffffffffffffffffffff163314611b94576040517f2b5c74de00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b7f0000000000000000000000000000000000000000000000000000000000000000611bed576040517f35f4a7b300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8251811015611c83576000838281518110611c0d57611c0d612cba565b60200260200101519050611c2b81600261220890919063ffffffff16565b15611c7a5760405173ffffffffffffffffffffffffffffffffffffffff821681527f800671136ab6cfee9fbe5ed1fb7ca417811aca3cf864800d127b927adedf75669060200160405180910390a15b50600101611bf0565b5060005b81518110156109a9576000828281518110611ca457611ca4612cba565b60200260200101519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611ce85750611d44565b611cf360028261222a565b15611d425760405173ffffffffffffffffffffffffffffffffffffffff821681527f2640d4d76caf8bf478aabfa982fa4e1c4eb71a37f93cd15e80dbc657911546d89060200160405180910390a15b505b600101611c87565b8051600003611d87576040517f8579befe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805160208083019190912067ffffffffffffffff8416600090815260079092526040909120611db99060050182612138565b611df35782826040517f393b8ad2000000000000000000000000000000000000000000000000000000008152600401610960929190613372565b6000818152600860205260409020611e0b8382612ff6565b508267ffffffffffffffff167f7d628c9a1796743d365ab521a8b2a4686e419b3269919dc9145ea2ce853b54ea83604051610eaf91906126e6565b60606000611b3c8361224c565b6000611b3c83836122a7565b6040805160a081018252600080825260208201819052918101829052606081018290526080810191909152611eed82606001516fffffffffffffffffffffffffffffffff1683600001516fffffffffffffffffffffffffffffffff16846020015163ffffffff1642611ed19190613395565b85608001516fffffffffffffffffffffffffffffffff1661239a565b6fffffffffffffffffffffffffffffffff1682525063ffffffff4216602082015290565b611f1a83610afd565b611f5c576040517f1e670e4b00000000000000000000000000000000000000000000000000000000815267ffffffffffffffff84166004820152602401610960565b611f67826000611ffb565b67ffffffffffffffff83166000908152600760205260409020611f8a90836123c2565b611f95816000611ffb565b67ffffffffffffffff83166000908152600760205260409020611fbb90600201826123c2565b7f0350d63aa5f270e01729d00d627eeb8f3429772b1818c016c66a588a864f912b838383604051611fee939291906133a8565b60405180910390a1505050565b8151156120c65781602001516fffffffffffffffffffffffffffffffff1682604001516fffffffffffffffffffffffffffffffff16101580612051575060408201516fffffffffffffffffffffffffffffffff16155b1561208a57816040517f8020d124000000000000000000000000000000000000000000000000000000008152600401610960919061342b565b80156120c2576040517f433fc33d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60408201516fffffffffffffffffffffffffffffffff161515806120ff575060208201516fffffffffffffffffffffffffffffffff1615155b156120c257816040517fd68af9cc000000000000000000000000000000000000000000000000000000008152600401610960919061342b565b6000611b3c8383612564565b3373ffffffffffffffffffffffffffffffffffffffff821603612193576040517fdad89dca00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff838116918217835560015460405192939116917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a350565b6000611b3c8373ffffffffffffffffffffffffffffffffffffffff84166122a7565b6000611b3c8373ffffffffffffffffffffffffffffffffffffffff8416612564565b60608160000180548060200260200160405190810160405280929190818152602001828054801561103557602002820191906000526020600020905b8154815260200190600101908083116122885750505050509050919050565b600081815260018301602052604081205480156123905760006122cb600183613395565b85549091506000906122df90600190613395565b90508082146123445760008660000182815481106122ff576122ff612cba565b906000526020600020015490508087600001848154811061232257612322612cba565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061235557612355613467565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610678565b6000915050610678565b60006123b9856123aa848661335b565b6123b49087613496565b6125b3565b95945050505050565b81546000906123eb90700100000000000000000000000000000000900463ffffffff1642613395565b9050801561248d5760018301548354612433916fffffffffffffffffffffffffffffffff8082169281169185917001000000000000000000000000000000009091041661239a565b83546fffffffffffffffffffffffffffffffff919091167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116177001000000000000000000000000000000004263ffffffff16021783555b602082015183546124b3916fffffffffffffffffffffffffffffffff90811691166125b3565b83548351151574010000000000000000000000000000000000000000027fffffffffffffffffffffff00ffffffff000000000000000000000000000000009091166fffffffffffffffffffffffffffffffff92831617178455602083015160408085015183167001000000000000000000000000000000000291909216176001850155517f9ea3374b67bf275e6bb9c8ae68f9cae023e1c528b4b27e092f0bb209d3531c1990611fee90849061342b565b60008181526001830160205260408120546125ab57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610678565b506000610678565b60008183106125c25781611b3c565b5090919050565b5080546125d590612ce9565b6000825580601f106125e5575050565b601f01602090049060005260206000209081019061184d919061261d565b508054600082559060005260206000209081019061184d91905b5b80821115612632576000815560010161261e565b5090565b60006020828403121561264857600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611b3c57600080fd5b60005b8381101561269357818101518382015260200161267b565b50506000910152565b600081518084526126b4816020860160208601612678565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611b3c602083018461269c565b60006020828403121561270b57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114611b3c57600080fd5b60006020828403121561274157600080fd5b813567ffffffffffffffff81111561275857600080fd5b82016101008185031215611b3c57600080fd5b803567ffffffffffffffff8116811461278357600080fd5b919050565b60008060006040848603121561279d57600080fd5b6127a68461276b565b9250602084013567ffffffffffffffff808211156127c357600080fd5b818601915086601f8301126127d757600080fd5b8135818111156127e657600080fd5b8760208285010111156127f857600080fd5b6020830194508093505050509250925092565b60008083601f84011261281d57600080fd5b50813567ffffffffffffffff81111561283557600080fd5b6020830191508360208260051b850101111561285057600080fd5b9250929050565b6000806000806040858703121561286d57600080fd5b843567ffffffffffffffff8082111561288557600080fd5b6128918883890161280b565b909650945060208701359150808211156128aa57600080fd5b506128b78782880161280b565b95989497509550505050565b6000602082840312156128d557600080fd5b611b3c8261276b565b6000602082840312156128f057600080fd5b813567ffffffffffffffff81111561290757600080fd5b820160a08185031215611b3c57600080fd5b602081526000825160406020840152612935606084018261269c565b905060208401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08483030160408501526123b9828261269c565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b828110156129e5577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08886030184526129d385835161269c565b94509285019290850190600101612999565b5092979650505050505050565b6020808252825182820181905260009190848201906040850190845b81811015612a4057835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101612a0e565b50909695505050505050565b6020808252825182820181905260009190848201906040850190845b81811015612a4057835167ffffffffffffffff1683529284019291840191600101612a68565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160a0810167ffffffffffffffff81118282101715612ae057612ae0612a8e565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715612b2d57612b2d612a8e565b604052919050565b80356fffffffffffffffffffffffffffffffff8116811461278357600080fd5b600060608284031215612b6757600080fd5b6040516060810181811067ffffffffffffffff82111715612b8a57612b8a612a8e565b60405290508082358015158114612ba057600080fd5b8152612bae60208401612b35565b6020820152612bbf60408401612b35565b60408201525092915050565b600080600060e08486031215612be057600080fd5b612be98461276b565b9250612bf88560208601612b55565b9150612c078560808601612b55565b90509250925092565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612c4557600080fd5b83018035915067ffffffffffffffff821115612c6057600080fd5b60200191503681900382131561285057600080fd5b8183823760009101908152919050565b60008251612c97818460208701612678565b9190910192915050565b600060208284031215612cb357600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600181811c90821680612cfd57607f821691505b602082108103612d36577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b67ffffffffffffffff841681526040602082015260006123b9604083018486612d3c565b60208152600061088e602083018486612d3c565b600082357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee1833603018112612c9757600080fd5b600082601f830112612e0257600080fd5b813567ffffffffffffffff811115612e1c57612e1c612a8e565b612e4d60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601612ae6565b818152846020838601011115612e6257600080fd5b816020850160208301376000918101602001919091529392505050565b60006101208236031215612e9257600080fd5b612e9a612abd565b612ea38361276b565b815260208084013567ffffffffffffffff80821115612ec157600080fd5b9085019036601f830112612ed457600080fd5b813581811115612ee657612ee6612a8e565b8060051b612ef5858201612ae6565b9182528381018501918581019036841115612f0f57600080fd5b86860192505b83831015612f4b57823585811115612f2d5760008081fd5b612f3b3689838a0101612df1565b8352509186019190860190612f15565b8087890152505050506040860135925080831115612f6857600080fd5b5050612f7636828601612df1565b604083015250612f893660608501612b55565b6060820152612f9b3660c08501612b55565b608082015292915050565b601f8211156109a9576000816000526020600020601f850160051c81016020861015612fcf5750805b601f850160051c820191505b81811015612fee57828155600101612fdb565b505050505050565b815167ffffffffffffffff81111561301057613010612a8e565b6130248161301e8454612ce9565b84612fa6565b602080601f83116001811461307757600084156130415750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555612fee565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156130c4578886015182559484019460019091019084016130a5565b508582101561310057878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600061010067ffffffffffffffff871683528060208401526131348184018761269c565b8551151560408581019190915260208701516fffffffffffffffffffffffffffffffff90811660608701529087015116608085015291506131729050565b8251151560a083015260208301516fffffffffffffffffffffffffffffffff90811660c084015260408401511660e08301526123b9565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60ff8281168282160390811115610678576106786131a9565b600181815b8085111561324a57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115613230576132306131a9565b8085161561323d57918102915b93841c93908002906131f6565b509250929050565b60008261326157506001610678565b8161326e57506000610678565b8160018114613284576002811461328e576132aa565b6001915050610678565b60ff84111561329f5761329f6131a9565b50506001821b610678565b5060208310610133831016604e8410600b84101617156132cd575081810a610678565b6132d783836131f1565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115613309576133096131a9565b029392505050565b6000611b3c60ff841683613252565b600082613356577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b8082028115828204841417610678576106786131a9565b67ffffffffffffffff8316815260406020820152600061088e604083018461269c565b81810381811115610678576106786131a9565b67ffffffffffffffff8416815260e081016133f460208301858051151582526020808201516fffffffffffffffffffffffffffffffff9081169184019190915260409182015116910152565b82511515608083015260208301516fffffffffffffffffffffffffffffffff90811660a084015260408401511660c083015261088e565b6060810161067882848051151582526020808201516fffffffffffffffffffffffffffffffff9081169184019190915260409182015116910152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b80820180821115610678576106786131a956fea164736f6c6343000818000a", } var MockLBTCTokenPoolABI = MockLBTCTokenPoolMetaData.ABI diff --git a/core/gethwrappers/ccip/generation/generated-wrapper-dependency-versions-do-not-edit.txt b/core/gethwrappers/ccip/generation/generated-wrapper-dependency-versions-do-not-edit.txt index 6f693d6d83..4060476a88 100644 --- a/core/gethwrappers/ccip/generation/generated-wrapper-dependency-versions-do-not-edit.txt +++ b/core/gethwrappers/ccip/generation/generated-wrapper-dependency-versions-do-not-edit.txt @@ -18,7 +18,7 @@ lock_release_token_pool: ../../../contracts/solc/v0.8.24/LockReleaseTokenPool/Lo lock_release_token_pool_and_proxy: ../../../contracts/solc/v0.8.24/LockReleaseTokenPoolAndProxy/LockReleaseTokenPoolAndProxy.abi ../../../contracts/solc/v0.8.24/LockReleaseTokenPoolAndProxy/LockReleaseTokenPoolAndProxy.bin e632b08be0fbd1d013e8b3a9d75293d0d532b83071c531ff2be1deec1fa48ec1 maybe_revert_message_receiver: ../../../contracts/solc/v0.8.24/MaybeRevertMessageReceiver/MaybeRevertMessageReceiver.abi ../../../contracts/solc/v0.8.24/MaybeRevertMessageReceiver/MaybeRevertMessageReceiver.bin d73956c26232ebcc4a5444429fa99cbefed960e323be9b5a24925885c2e477d5 message_hasher: ../../../contracts/solc/v0.8.24/MessageHasher/MessageHasher.abi ../../../contracts/solc/v0.8.24/MessageHasher/MessageHasher.bin 0a2661da24147160383ad61d56a258515d1cc07f5e0f471ec5cbb4bccaf82389 -mock_lbtc_token_pool: ../../../contracts/solc/v0.8.24/MockLBTCTokenPool/MockLBTCTokenPool.abi ../../../contracts/solc/v0.8.24/MockLBTCTokenPool/MockLBTCTokenPool.bin 1d39cf4bddba6d02be07c4729dcb1c7c14f83520e13b19e8d2c73e63171c0519 +mock_lbtc_token_pool: ../../../contracts/solc/v0.8.24/MockLBTCTokenPool/MockLBTCTokenPool.abi ../../../contracts/solc/v0.8.24/MockLBTCTokenPool/MockLBTCTokenPool.bin c55739890b1bb442d81c59b0b5a0cf7c0d305a897cfdc3711e98e3319ca0accc mock_usdc_token_messenger: ../../../contracts/solc/v0.8.24/MockE2EUSDCTokenMessenger/MockE2EUSDCTokenMessenger.abi ../../../contracts/solc/v0.8.24/MockE2EUSDCTokenMessenger/MockE2EUSDCTokenMessenger.bin d976651d36b33ac2196b32b9d2f4fa6690c6a18d41b621365659fce1c1d1e737 mock_usdc_token_transmitter: ../../../contracts/solc/v0.8.24/MockE2EUSDCTransmitter/MockE2EUSDCTransmitter.abi ../../../contracts/solc/v0.8.24/MockE2EUSDCTransmitter/MockE2EUSDCTransmitter.bin be0dbc3e475741ea0b7a54ec2b935a321b428baa9f4ce18180a87fb38bb87de2 mock_v3_aggregator_contract: ../../../contracts/solc/v0.8.24/MockV3Aggregator/MockV3Aggregator.abi ../../../contracts/solc/v0.8.24/MockV3Aggregator/MockV3Aggregator.bin 518e19efa2ff52b0fefd8e597b05765317ee7638189bfe34ca43de2f6599faf4