4 txs
10 calls
constructor
constructor(address token_)
functions
connectorPendingUnlocks
viewfunction connectorPendingUnlocks(address) view returns (uint256)
getCurrentLockLimit
viewfunction getCurrentLockLimit(address connector_) view returns (uint256)
getCurrentUnlockLimit
viewfunction getCurrentUnlockLimit(address connector_) view returns (uint256)
getLockLimitParams
viewfunction getLockLimitParams(address connector_) view returns (tuple)
getMinFees
viewfunction getMinFees(address connector_, uint256 msgGasLimit_) view returns (uint256 totalFees)
getUnlockLimitParams
viewfunction getUnlockLimitParams(address connector_) view returns (tuple)
isPermitted
viewfunction isPermitted(address) view returns (bool)
nominee
viewfunction nominee() view returns (address)
owner
viewfunction owner() view returns (address)
pendingUnlocks
viewfunction pendingUnlocks(address, address) view returns (uint256)
permitListEnabled
viewfunction permitListEnabled() view returns (bool)
token__
viewfunction token__() view returns (address)
claimOwner
nonpayablefunction claimOwner()
depositToAppChain
payablefunction depositToAppChain(address receiver_, uint256 amount_, uint256 msgGasLimit_, address connector_) payable
nominateOwner
nonpayablefunction nominateOwner(address nominee_)
receiveInbound
nonpayablefunction receiveInbound(bytes payload_)
rescueFunds
nonpayablefunction rescueFunds(address token_, address rescueTo_, uint256 amount_)
setPermitListEnabled
nonpayablefunction setPermitListEnabled(bool enabled_)
setPermitted
nonpayablefunction setPermitted(address[] addresses_, bool isPermitted_)
unlockPendingFor
nonpayablefunction unlockPendingFor(address receiver_, address connector_)
updateLimitParams
nonpayablefunction updateLimitParams(tuple[] updates_)
events
LimitParamsUpdated
event LimitParamsUpdated((bool isLock, address connector, uint256 maxLimit, uint256 ratePerSecond)[] updates)
OwnerClaimed
event OwnerClaimed(address indexed claimer)
OwnerNominated
event OwnerNominated(address indexed nominee)
PendingTokensTransferred
event PendingTokensTransferred(address connector, address receiver, uint256 unlockedAmount, uint256 pendingAmount)
PermitListEnabledUpdated
event PermitListEnabledUpdated(bool enabled)
PermittedUpdated
event PermittedUpdated(address[] addresses, bool isPermitted)
TokensDeposited
event TokensDeposited(address connector, address depositor, address receiver, uint256 depositAmount)
TokensPending
event TokensPending(address connector, address receiver, uint256 pendingAmount, uint256 totalPendingAmount)
TokensUnlocked
event TokensUnlocked(address connector, address receiver, uint256 unlockedAmount)
errors
AmountOutsideLimit
error AmountOutsideLimit()
ConnectorUnavailable
error ConnectorUnavailable()
InvalidTokenAddress
error InvalidTokenAddress()
NotPermitted
error NotPermitted()
OnlyNominee
error OnlyNominee()
OnlyOwner
error OnlyOwner()
ZeroAddress
error ZeroAddress()
ZeroAmount
error ZeroAmount()
creation bytecode
0x60a06040526006805460ff191690553480156200001b57600080fd5b5060405162001fbe38038062001fbe8339810160408190526200003e91620000b0565b336200004a816200005d565b506001600160a01b0316608052620000e2565b600080546001600160a01b0383166001600160a01b0319918216811783556001805490921690915560405190917ffbe19c9b601f5ee90b44c7390f3fa2319eba01762d34ee372aeafd59b25c7f8791a250565b600060208284031215620000c357600080fd5b81516001600160a01b0381168114620000db57600080fd5b9392505050565b608051611eab620001136000396000818161031c0152818161065301528181611038015261132b0152611eab6000f3fe60806040526004361061016a5760003560e01c80635b94db27116100cb57806384f289cc1161007f5780639b4cd940116100595780639b4cd9401461046f578063ad0f66941461048f578063f2b7c5cd146104a957600080fd5b806384f289cc14610411578063864f6a7a146104315780638da5cb5b1461044457600080fd5b80636ccae054116100b05780636ccae0541461037e578063755e1e241461039e5780638367080f146103f157600080fd5b80635b94db271461033e578063636ad0811461035e57600080fd5b80633bd1adec1161012257806341b2bf861161010757806341b2bf86146102ca5780634603f9f4146102ea57806349eec51e1461030a57600080fd5b80633bd1adec146102755780633fd8cc4e1461028a57600080fd5b806320f99c0a1161015357806320f99c0a146101dc5780632bc9c08a146102285780632fef4a8b1461024857600080fd5b806310c56ed91461016f578063186669e814610191575b600080fd5b34801561017b57600080fd5b5061018f61018a36600461189e565b6104c9565b005b34801561019d57600080fd5b506101c96101ac366004611992565b600260209081526000928352604080842090915290825290205481565b6040519081526020015b60405180910390f35b3480156101e857600080fd5b5060015473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101d3565b34801561023457600080fd5b5061018f6102433660046119cb565b6106d8565b34801561025457600080fd5b506101c9610263366004611a40565b60036020526000908152604090205481565b34801561028157600080fd5b5061018f610a18565b34801561029657600080fd5b506102ba6102a5366004611a40565b60076020526000908152604090205460ff1681565b60405190151581526020016101d3565b3480156102d657600080fd5b5061018f6102e5366004611a72565b610a74565b3480156102f657600080fd5b506101c9610305366004611a40565b610ba2565b34801561031657600080fd5b506102037f000000000000000000000000000000000000000000000000000000000000000081565b34801561034a57600080fd5b5061018f610359366004611a40565b610bd6565b34801561036a57600080fd5b5061018f610379366004611af6565b610c96565b34801561038a57600080fd5b5061018f610399366004611b11565b610d4c565b3480156103aa57600080fd5b506103be6103b9366004611a40565b610dad565b6040516101d391908151815260208083015190820152604080830151908201526060918201519181019190915260800190565b3480156103fd57600080fd5b506101c961040c366004611b52565b610e33565b34801561041d57600080fd5b506101c961042c366004611a40565b610ecc565b61018f61043f366004611b7e565b610efa565b34801561045057600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff16610203565b34801561047b57600080fd5b506103be61048a366004611a40565b61117e565b34801561049b57600080fd5b506006546102ba9060ff1681565b3480156104b557600080fd5b5061018f6104c4366004611992565b611204565b336000908152600560205260408120600201549003610514576040517fb1efb84a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000808280602001905181019061052b9190611bc8565b33600090815260056020526040812092945090925090819061054e9084906113ae565b909250905080156106395733600090815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff8816845290915281208054839290610599908490611c25565b909155505033600090815260036020526040812080548392906105bd908490611c25565b909155505033600081815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff891680855290835292819020548151948552918401929092528282018490526060830152517ffef75efa635291b302f2c3dfcc6ec92874e699d186cee8bd68c36c86ad35232c9181900360800190a15b61067a73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168584611402565b6040805133815273ffffffffffffffffffffffffffffffffffffffff861660208201529081018390527fece684e11f49f06d351439e63189ad1703238b8040d90cf994901ca2b3da8d44906060015b60405180910390a15050505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610729576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b818110156109da5782828281811061074657610746611c3d565b61075c9260206080909202019081019150611af6565b156108c2576107d360006004600086868681811061077c5761077c611c3d565b90506080020160200160208101906107949190611a40565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206113ae565b50508282828181106107e7576107e7611c3d565b905060800201604001356004600085858581811061080757610807611c3d565b905060800201602001602081019061081f9190611a40565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040016000206002015582828281811061085b5761085b611c3d565b905060800201606001356004600085858581811061087b5761087b611c3d565b90506080020160200160208101906108939190611a40565b73ffffffffffffffffffffffffffffffffffffffff1681526020810191909152604001600020600101556109c8565b6108dd60006005600086868681811061077c5761077c611c3d565b50508282828181106108f1576108f1611c3d565b905060800201604001356005600085858581811061091157610911611c3d565b90506080020160200160208101906109299190611a40565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040016000206002015582828281811061096557610965611c3d565b905060800201606001356005600085858581811061098557610985611c3d565b905060800201602001602081019061099d9190611a40565b73ffffffffffffffffffffffffffffffffffffffff1681526020810191909152604001600020600101555b806109d281611c6c565b91505061072c565b507f19863caed14ed012a54f927e56250018b7ac3c04fd197e0edf23369f75a6ccd48282604051610a0c929190611ca4565b60405180910390a15050565b60015473ffffffffffffffffffffffffffffffffffffffff163314610a69576040517f7c91ccdd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a72336114dc565b565b60005473ffffffffffffffffffffffffffffffffffffffff163314610ac5576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b82811015610b61578160076000868685818110610ae757610ae7611c3d565b9050602002016020810190610afc9190611a40565b73ffffffffffffffffffffffffffffffffffffffff168152602081019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001691151591909117905580610b5981611c6c565b915050610ac8565b507fcb5b335e0174ef57b9a8fd87a033e135ab60b4bbd8119f877a7297f228e8409e838383604051610b9593929190611d27565b60405180910390a1505050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600460205260408120610bd090611554565b92915050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610c27576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290600090a250565b60005473ffffffffffffffffffffffffffffffffffffffff163314610ce7576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527fff45a227927e6940d23f41f29349e50d3d67ef33e3285ad6ba04d7f77ce2315c9060200160405180910390a150565b60005473ffffffffffffffffffffffffffffffffffffffff163314610d9d576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610da88383836115bb565b505050565b610dd86040518060800160405280600081526020016000815260200160008152602001600081525090565b5073ffffffffffffffffffffffffffffffffffffffff16600090815260046020908152604091829020825160808101845281548152600182015492810192909252600281015492820192909252600390910154606082015290565b6040517f89c1cf9a0000000000000000000000000000000000000000000000000000000081526004810182905260009073ffffffffffffffffffffffffffffffffffffffff8416906389c1cf9a90602401602060405180830381865afa158015610ea1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec59190611d8d565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600560205260408120610bd090611554565b60065460ff168015610f1c57503360009081526007602052604090205460ff16155b15610f53576040517f39218f3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82600003610f8d576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff81166000908152600460205260408120600201549003610fee576040517fb1efb84a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260046020526040902061101e9084906116ab565b61106073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016333086611708565b8073ffffffffffffffffffffffffffffffffffffffff16631cbdf12b348487876040516020016110b292919073ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b6040516020818303038152906040526040518463ffffffff1660e01b81526004016110de929190611da6565b6000604051808303818588803b1580156110f757600080fd5b505af115801561110b573d6000803e3d6000fd5b50506040805173ffffffffffffffffffffffffffffffffffffffff8087168252336020830152891691810191909152606081018790527f9474e087d8a0e83962ac44e292b4aba027426203ea66adfb1dd9f65795ff599a935060800191506111709050565b60405180910390a150505050565b6111a96040518060800160405280600081526020016000815260200160008152602001600081525090565b5073ffffffffffffffffffffffffffffffffffffffff16600090815260056020908152604091829020825160808101845281548152600182015492810192909252600281015492820192909252600390910154606082015290565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600560205260408120600201549003611265576040517fb1efb84a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff80821660008181526002602090815260408083209487168352938152838220549282526005905291822090919081906112b49084906113ae565b73ffffffffffffffffffffffffffffffffffffffff8087166000818152600260209081526040808320948c16835293815283822085905591815260039091529081208054939550919350849261130b908490611e21565b90915550611352905073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168684611402565b6040805173ffffffffffffffffffffffffffffffffffffffff808716825287166020820152908101839052606081018290527fc77b48bb4899bc689b5733d1b7b8bfc0f70e7660295ad5f94841902db16ddae2906080016106c9565b60008060006113bc84611554565b42855590508481106113e3576113d28582611e21565b6003850155849250600091506113fa565b600060038501559150816113f78186611e21565b91505b509250929050565b60006040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84166004820152826024820152602060006044836000895af13d15601f3d11600160005114161716915050806114d6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f5452414e534645525f4641494c4544000000000000000000000000000000000060448201526064015b60405180910390fd5b50505050565b6000805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000918216811783556001805490921690915560405190917ffbe19c9b601f5ee90b44c7390f3fa2319eba01762d34ee372aeafd59b25c7f8791a250565b805460009081906115659042611e21565b905060008360010154826115799190611e38565b905083600201548460030154826115909190611c25565b11156115a257836002015492506115b4565b60038401546115b19082611c25565b92505b5050919050565b73ffffffffffffffffffffffffffffffffffffffff8216611608576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fffffffffffffffffffffffff111111111111111111111111111111111111111273ffffffffffffffffffffffffffffffffffffffff84160161164f57610da882826117fa565b8273ffffffffffffffffffffffffffffffffffffffff163b6000036116a0576040517f1eb00b0600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610da8838383611402565b60006116b682611554565b90508281106116d6574282556116cc8382611e21565b6003830155505050565b6040517f47ebad2000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482015273ffffffffffffffffffffffffffffffffffffffff841660248201528260448201526020600060648360008a5af13d15601f3d11600160005114161716915050806117f3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5452414e534645525f46524f4d5f4641494c454400000000000000000000000060448201526064016114cd565b5050505050565b600080600080600085875af1905080610da8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4554485f5452414e534645525f4641494c45440000000000000000000000000060448201526064016114cd565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000602082840312156118b057600080fd5b813567ffffffffffffffff808211156118c857600080fd5b818401915084601f8301126118dc57600080fd5b8135818111156118ee576118ee61186f565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156119345761193461186f565b8160405282815287602084870101111561194d57600080fd5b826020860160208301376000928101602001929092525095945050505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461198f57600080fd5b50565b600080604083850312156119a557600080fd5b82356119b08161196d565b915060208301356119c08161196d565b809150509250929050565b600080602083850312156119de57600080fd5b823567ffffffffffffffff808211156119f657600080fd5b818501915085601f830112611a0a57600080fd5b813581811115611a1957600080fd5b8660208260071b8501011115611a2e57600080fd5b60209290920196919550909350505050565b600060208284031215611a5257600080fd5b8135610ec58161196d565b80358015158114611a6d57600080fd5b919050565b600080600060408486031215611a8757600080fd5b833567ffffffffffffffff80821115611a9f57600080fd5b818601915086601f830112611ab357600080fd5b813581811115611ac257600080fd5b8760208260051b8501011115611ad757600080fd5b602092830195509350611aed9186019050611a5d565b90509250925092565b600060208284031215611b0857600080fd5b610ec582611a5d565b600080600060608486031215611b2657600080fd5b8335611b318161196d565b92506020840135611b418161196d565b929592945050506040919091013590565b60008060408385031215611b6557600080fd5b8235611b708161196d565b946020939093013593505050565b60008060008060808587031215611b9457600080fd5b8435611b9f8161196d565b935060208501359250604085013591506060850135611bbd8161196d565b939692955090935050565b60008060408385031215611bdb57600080fd5b8251611be68161196d565b6020939093015192949293505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115611c3857611c38611bf6565b500190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611c9d57611c9d611bf6565b5060010190565b6020808252818101839052600090604080840186845b87811015611d1a57611ccb82611a5d565b1515835284820135611cdc8161196d565b73ffffffffffffffffffffffffffffffffffffffff168386015281840135848401526060808301359084015260809283019290910190600101611cba565b5090979650505050505050565b6040808252810183905260008460608301825b86811015611d77578235611d4d8161196d565b73ffffffffffffffffffffffffffffffffffffffff16825260209283019290910190600101611d3a565b5080925050508215156020830152949350505050565b600060208284031215611d9f57600080fd5b5051919050565b82815260006020604081840152835180604085015260005b81811015611dda57858101830151858201606001528201611dbe565b81811115611dec576000606083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01692909201606001949350505050565b600082821015611e3357611e33611bf6565b500390565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611e7057611e70611bf6565b50029056fea2646970667358221220fa6d2f23a6fe0e0141a7ee7f9d69765c413310141bd14f65f1421acdc52ea1ab64736f6c634300080d0033000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2