0 txs
12 calls
constructor
constructor(address owner_, address relay_, uint256 blessnetChainId_, address blessToken_, uint256[] destinationChains_, uint256 minimumBless_, uint256 maximumBless_, uint256 rate_)
functions
allDestinations
viewfunction allDestinations() view returns (uint256[] destinations_)
allSettings
viewfunction allSettings() view returns (uint256[] destinations_, uint256 rate_, uint256 minimumBless_, uint256 maximumBless_)
blessToEth
viewfunction blessToEth(uint256 amount_) view returns (uint256 nativeAmount_)
bufferInSeconds
viewfunction bufferInSeconds() view returns (uint256)
ethToBless
viewfunction ethToBless(uint256 amount_) view returns (uint256 blessAmount_)
isValidDestination
viewfunction isValidDestination(uint256 chainId_) view returns (bool isValid_)
isValidRelay
viewfunction isValidRelay(address signer_) view returns (bool isValid_)
maximumBless
viewfunction maximumBless() view returns (uint256)
minimumBless
viewfunction minimumBless() view returns (uint256)
owner
viewfunction owner() view returns (address)
pendingOwner
viewfunction pendingOwner() view returns (address)
previousRelay
viewfunction previousRelay() view returns (address)
rate
viewfunction rate() view returns (uint256)
relay
viewfunction relay() view returns (address)
updateTimestamp
viewfunction updateTimestamp() view returns (uint256)
validPreviousRelay
viewfunction validPreviousRelay() view returns (address previousRelayer_)
acceptOwnership
nonpayablefunction acceptOwnership()
addDestination
nonpayablefunction addDestination(uint256 chainId_)
deliverBless
payablefunction deliverBless(address to_, uint256 amount_, uint256 sourceChain_, bytes32 sourceTxnHash_, uint256 sourceLogIndex_) payable
depositNative
payablefunction depositNative() payable
removeDestination
nonpayablefunction removeDestination(uint256 chainId_)
renounceOwnership
nonpayablefunction renounceOwnership()
requestBless
payablefunction requestBless(uint256 amount_, uint256 destinationChain_) payable
requestBlessAtAddress
payablefunction requestBlessAtAddress(address to_, uint256 amount_, uint256 destinationChain_) payable
setMaximumBless
nonpayablefunction setMaximumBless(uint256 max_)
setMinimumBless
nonpayablefunction setMinimumBless(uint256 min_)
setRate
nonpayablefunction setRate(uint256 newRate_)
setRelay
nonpayablefunction setRelay(address relay_, uint32 bufferInSeconds_)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdrawERC20
nonpayablefunction withdrawERC20(address erc20Address_, uint256 amount_, address payeeAddress_)
withdrawNative
nonpayablefunction withdrawNative(uint256 amount_, address payeeAddress_)
events
BlessDelivered
event BlessDelivered(address to, uint256 amount, uint256 sourceChain, bytes32 sourceTxnHash, uint256 sourceLogIndex)
BlessRequested
event BlessRequested(address to, uint256 amount, uint256 destinationChain)
DestinationAdded
event DestinationAdded(uint256 chainId)
DestinationRemoved
event DestinationRemoved(uint256 chainId)
MaximumBlessUpdated
event MaximumBlessUpdated(uint256 oldMax, uint256 newMax)
MinimumBlessUpdated
event MinimumBlessUpdated(uint256 oldMin, uint256 newMin)
NativeDeposit
event NativeDeposit(uint256 amount)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
OwnershipTransferStarted
event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)
RateUpdated
event RateUpdated(uint256 oldRate, uint256 newRate)
RelayUpdated
event RelayUpdated(address oldRelay, address newRelay, uint256 buffer)
errors
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
creation bytecode
0x60c060405234801561000f575f5ffd5b5060405161162638038061162683398101604081905261002e916101ea565b86886001600160a01b03811661005d57604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b610066816100f0565b50600280546001600160a01b0319166001600160a01b03929092169190911790555f5b84518110156100c8576100bf8582815181106100a7576100a7610309565b6020026020010151600961010c60201b90919060201c565b50600101610089565b50600792909255600855600655506080919091526001600160a01b031660a0525061031d9050565b600180546001600160a01b031916905561010981610120565b50565b5f610117838361016f565b90505b92915050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f8181526001830160205260408120546101b457508154600181810184555f84815260208082209093018490558454848252828601909352604090209190915561011a565b505f61011a565b80516001600160a01b03811681146101d1575f5ffd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f5f5f5f5f5f5f5f610100898b031215610202575f5ffd5b61020b896101bb565b975061021960208a016101bb565b60408a0151909750955061022f60608a016101bb565b60808a01519095506001600160401b0381111561024a575f5ffd5b8901601f81018b1361025a575f5ffd5b80516001600160401b03811115610273576102736101d6565b604051600582901b90603f8201601f191681016001600160401b03811182821017156102a1576102a16101d6565b60405291825260208184018101929081018e8411156102be575f5ffd5b6020850194505b838510156102e1578451808252602095860195909350016102c5565b5060a08d015160c08e015160e0909e01519c9f9b9e50999c989b909a90975095505050505050565b634e487b7160e01b5f52603260045260245ffd5b60805160a0516112e861033e5f395f610a9d01525f610a4301526112e85ff3fe6080604052600436106101d3575f3560e01c80638da5cb5b116100fd578063db6b524611610092578063f2fde38b11610062578063f2fde38b1461053b578063f7c1b40b1461055a578063fc9621101461056e578063ff27b87f14610583575f5ffd5b8063db6b5246146104e2578063e16738b0146104ea578063e30c3978146104ff578063ea3a5c4c1461051c575f5ffd5b8063bde16881116100cd578063bde168811461047e578063ca7f406314610491578063cba42a2d146104b0578063da7513f5146104cf575f5ffd5b80638da5cb5b146104125780638f7ff3c51461042e578063b59589d114610442578063b8ca8dd81461045f575f5ffd5b806344c0adbd116101735780636f8c9b33116101435780636f8c9b33146103a7578063715018a6146103c657806379ba5097146103da5780638b38f7eb146103ee575f5ffd5b806344c0adbd1461032557806355c4a7cd146103385780635fc3ea0b146103575780636e4405f314610376575f5ffd5b80631c5be3d7116101ae5780631c5be3d7146102a4578063203d1819146102c25780632c4e722e146102f157806334fcf43714610306575f5ffd5b8063049def041461023a578063058c662714610264578063180fcd3e14610285575f5ffd5b366102365760405162461bcd60e51b815260206004820152602860248201527f4e6f20646972656374207472616e73666572732c207365652070617961626c65604482015267206d6574686f647360c01b60648201526084015b60405180910390fd5b5f5ffd5b348015610245575f5ffd5b5061024e6105a2565b60405161025b9190611042565b60405180910390f35b34801561026f575f5ffd5b5061028361027e366004611054565b6105b3565b005b348015610290575f5ffd5b5061028361029f366004611054565b610601565b3480156102af575f5ffd5b506004545b60405190815260200161025b565b3480156102cd575f5ffd5b506102e16102dc366004611054565b61068f565b604051901515815260200161025b565b3480156102fc575f5ffd5b506102b460065481565b348015610311575f5ffd5b50610283610320366004611054565b6106a1565b61028361033336600461106b565b6106e7565b348015610343575f5ffd5b506102b4610352366004611054565b6106f6565b348015610362575f5ffd5b506102836103713660046110a6565b61070c565b348015610381575f5ffd5b506003546001600160a01b03165b6040516001600160a01b03909116815260200161025b565b3480156103b2575f5ffd5b506102836103c1366004611054565b61078a565b3480156103d1575f5ffd5b506102836107ce565b3480156103e5575f5ffd5b506102836107e1565b3480156103f9575f5ffd5b50610402610825565b60405161025b94939291906110df565b34801561041d575f5ffd5b505f546001600160a01b031661038f565b348015610439575f5ffd5b506005546102b4565b34801561044d575f5ffd5b506002546001600160a01b031661038f565b34801561046a575f5ffd5b5061028361047936600461110d565b610849565b61028361048c366004611137565b61085b565b34801561049c575f5ffd5b506102e16104ab366004611167565b61096a565b3480156104bb575f5ffd5b506102836104ca366004611054565b6109b9565b6102836104dd366004611180565b6109ff565b610283610b5e565b3480156104f5575f5ffd5b506102b460085481565b34801561050a575f5ffd5b506001546001600160a01b031661038f565b348015610527575f5ffd5b506102836105363660046111be565b610b9b565b348015610546575f5ffd5b50610283610555366004611167565b610bad565b348015610565575f5ffd5b5061038f610c1d565b348015610579575f5ffd5b506102b460075481565b34801561058e575f5ffd5b506102b461059d366004611054565b610c51565b60606105ae6009610c67565b905090565b6105bb610c7a565b600880549082905560408051828152602081018490527fe5b547d9d9b20ad6b61abddd02c81bab58cfa9f6856f2460b5a91588c171ef7991015b60405180910390a15050565b610609610c7a565b610614600982610ca6565b6106585760405162461bcd60e51b815260206004820152601560248201527410da185a5b88185b1c9958591e481c1c995cd95b9d605a1b604482015260640161022d565b6040518181527fcad28dd0bfd7096035c828d84c85cd9a09d0cc493eb7b39f669113723d92c101906020015b60405180910390a150565b5f61069b600983610cb1565b92915050565b6106a9610c7a565b600680549082905560408051828152602081018490527fb38780ddde1f073d91c150de2696f3f7085883648ba21cc5ef01029cb21d191691016105f5565b6106f233838361085b565b5050565b5f61069b670de0b6b3a764000060065484610cc8565b610714610c7a565b60405163a9059cbb60e01b81526001600160a01b0382811660048301526024820184905284169063a9059cbb906044016020604051808303815f875af1158015610760573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061078491906111fb565b50505050565b610792610c7a565b61079d600982610cfb565b506040518181527f53c943808fed26fa3c66d7f0f35d8f95023581c74b64aa67481f2ef2a4d6bf2e90602001610684565b6107d6610c7a565b6107df5f610d06565b565b60015433906001600160a01b031681146108195760405163118cdaa760e01b81526001600160a01b038216600482015260240161022d565b61082281610d06565b50565b60605f5f5f6108326105a2565b600654600754600854935093509350935090919293565b610851610c7a565b6106f28282610d1f565b806108658161068f565b6108b15760405162461bcd60e51b815260206004820152601c60248201527f496e76616c69642064657374696e6174696f6e20636861696e20496400000000604482015260640161022d565b5f6108bb846106f6565b90508034146109185760405162461bcd60e51b8152602060048201526024808201527f496e636f72726563742045544820616d6f756e7420666f7220424c45535320746044820152631bdd185b60e21b606482015260840161022d565b604080516001600160a01b0387168152602081018690529081018490527f843c7af0eb45623f3f935801f76bacbb101b56a8844c96f69dd92600dd920480906060015b60405180910390a15050505050565b6002545f906001600160a01b039081169083160361098a57506001919050565b610992610c1d565b6001600160a01b0316826001600160a01b0316036109b257506001919050565b505f919050565b6109c1610c7a565b600780549082905560408051828152602081018490527fe5b547d9d9b20ad6b61abddd02c81bab58cfa9f6856f2460b5a91588c171ef7991016105f5565b610a083361096a565b610a415760405162461bcd60e51b815260206004820152600a6024820152694f6e6c792052656c617960b01b604482015260640161022d565b7f00000000000000000000000000000000000000000000000000000000000000004603610a7757610a728486610d1f565b610b09565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018690527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015610ae3573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b0791906111fb565b505b604080516001600160a01b03871681526020810186905290810184905260608101839052608081018290527f382334d42e26e030c25102ef1fea94f6d1e8d20089a378d089deac5923e243ac9060a00161095b565b610b66610c7a565b6040513481527f9f00d3f40a2a58e2c0f74f2fa05aac30f5bb0032e23e0cb66003ba208265c91c9060200160405180910390a1565b610ba3610c7a565b6106f28282610db5565b610bb5610c7a565b600180546001600160a01b0383166001600160a01b03199091168117909155610be55f546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b5f600554600454610c2e919061122e565b421015610c4557506003546001600160a01b031690565b506001600160a01b0390565b5f61069b600654670de0b6b3a764000084610cc8565b60605f610c7383610e31565b9392505050565b5f546001600160a01b031633146107df5760405163118cdaa760e01b815233600482015260240161022d565b5f610c738383610e8a565b5f8181526001830160205260408120541515610c73565b5f80610cd48584611241565b905083811115610cef57610ce88482611258565b9150610cf3565b5f91505b509392505050565b5f610c738383610ed6565b600180546001600160a01b031916905561082281610fb9565b5f816001600160a01b0316836040515f6040518083038185875af1925050503d805f8114610d68576040519150601f19603f3d011682016040523d82523d5f602084013e610d6d565b606091505b5050905080610db05760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8811985a5b1959608a1b604482015260640161022d565b505050565b60028054600380546001600160a01b038084166001600160a01b03199283168117909355921691851691821790925563ffffffff8316600581905542600455604080519384526020840192909252908201527f93c8fc8f4dbec7bd8c38f304f82e6632181c9225284b4fae152c7f47a32f9b55906060016105f5565b6060815f01805480602002602001604051908101604052809291908181526020018280548015610e7e57602002820191905f5260205f20905b815481526020019060010190808311610e6a575b50505050509050919050565b5f818152600183016020526040812054610ecf57508154600181810184555f84815260208082209093018490558454848252828601909352604090209190915561069b565b505f61069b565b5f8181526001830160205260408120548015610fb0575f610ef8600183611277565b85549091505f90610f0b90600190611277565b9050808214610f6a575f865f018281548110610f2957610f2961128a565b905f5260205f200154905080875f018481548110610f4957610f4961128a565b5f918252602080832090910192909255918252600188019052604090208390555b8554869080610f7b57610f7b61129e565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f90556001935050505061069b565b5f91505061069b565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f8151808452602084019350602083015f5b8281101561103857815186526020958601959091019060010161101a565b5093949350505050565b602081525f610c736020830184611008565b5f60208284031215611064575f5ffd5b5035919050565b5f5f6040838503121561107c575f5ffd5b50508035926020909101359150565b80356001600160a01b03811681146110a1575f5ffd5b919050565b5f5f5f606084860312156110b8575f5ffd5b6110c18461108b565b9250602084013591506110d66040850161108b565b90509250925092565b608081525f6110f16080830187611008565b6020830195909552506040810192909252606090910152919050565b5f5f6040838503121561111e575f5ffd5b8235915061112e6020840161108b565b90509250929050565b5f5f5f60608486031215611149575f5ffd5b6111528461108b565b95602085013595506040909401359392505050565b5f60208284031215611177575f5ffd5b610c738261108b565b5f5f5f5f5f60a08688031215611194575f5ffd5b61119d8661108b565b97602087013597506040870135966060810135965060800135945092505050565b5f5f604083850312156111cf575f5ffd5b6111d88361108b565b9150602083013563ffffffff811681146111f0575f5ffd5b809150509250929050565b5f6020828403121561120b575f5ffd5b81518015158114610c73575f5ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069b5761069b61121a565b808202811582820484141761069b5761069b61121a565b5f8261127257634e487b7160e01b5f52601260045260245ffd5b500490565b8181038181111561069b5761069b61121a565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52603160045260245ffdfea2646970667358221220b4b75f48d6af7aced4b62a3f6658064e93e11086fd6c92783151055cf70fb76464736f6c634300081c0033000000000000000000000000c792adc8fda7fd18af7fdc87e230a5bb954462c900000000000000000000000038d62e7009752c9e04cb26a81f53fa5162ac3a4f000000000000000000000000000000000000000000000000000000000000b1c9000000000000000000000000000000000000cca70b6e0997a94681a3114eddd70000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000002386f26fc100000000000000000000000000000000000000000000000000004563918244f4000000000000000000000000000000000000000000000000001211ede4974a3555550000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000b1c9