MaintainerProxy
MaintainerProxy
Maintainers are the willing off-chain clients approved by the governance. Maintainers proxy calls to the Bridge
contract via 'MaintainerProxy' and are refunded for the spent gas from the ReimbursementPool
. There are two types of maintainers: wallet maintainers and SPV maintainers.
bridge
isWalletMaintainer
Authorized wallet maintainers that can interact with the set of functions for wallet maintainers only. Authorization can be granted and removed by the governance.
'Key' is the address of the maintainer. 'Value' represents an index+1 in the 'maintainers' array. 1 was added so the maintainer index can never be 0 which is a reserved index for a non-existent maintainer in this map.
walletMaintainers
This list of wallet maintainers keeps the order of which wallet maintainer should be submitting a next transaction. It does not enforce the order but only tracks who should be next in line.
isSpvMaintainer
Authorized SPV maintainers that can interact with the set of functions for SPV maintainers only. Authorization can be granted and removed by the governance.
'Key' is the address of the maintainer. 'Value' represents an index+1 in the 'maintainers' array. 1 was added so the maintainer index can never be 0 which is a reserved index for a non-existent maintainer in this map.
spvMaintainers
This list of SPV maintainers keeps the order of which SPV maintainer should be submitting a next transaction. It does not enforce the order but only tracks who should be next in line.
submitDepositSweepProofGasOffset
Gas that is meant to balance the submission of deposit sweep proof overall cost. Can be updated by the governance based on the current market conditions.
submitRedemptionProofGasOffset
Gas that is meant to balance the submission of redemption proof overall cost. Can be updated by the governance based on the current market conditions.
resetMovingFundsTimeoutGasOffset
Gas that is meant to balance the reset of moving funds timeout overall cost. Can be updated by the governance based on the current market conditions.
submitMovingFundsProofGasOffset
Gas that is meant to balance the submission of moving funds proof overall cost. Can be updated by the governance based on the current market conditions.
notifyMovingFundsBelowDustGasOffset
Gas that is meant to balance the notification of moving funds below dust overall cost. Can be updated by the governance based on the current market conditions.
submitMovedFundsSweepProofGasOffset
Gas that is meant to balance the submission of moved funds sweep proof overall cost. Can be updated by the governance based on the current market conditions.
requestNewWalletGasOffset
Gas that is meant to balance the request of a new wallet overall cost. Can be updated by the governance based on the current market conditions.
notifyWalletCloseableGasOffset
Gas that is meant to balance the notification of closeable wallet overall cost. Can be updated by the governance based on the current market conditions.
notifyWalletClosingPeriodElapsedGasOffset
Gas that is meant to balance the notification of wallet closing period elapsed overall cost. Can be updated by the governance based on the current market conditions.
defeatFraudChallengeGasOffset
Gas that is meant to balance the defeat fraud challenge overall cost. Can be updated by the governance based on the current market conditions.
defeatFraudChallengeWithHeartbeatGasOffset
Gas that is meant to balance the defeat fraud challenge with heartbeat overall cost. Can be updated by the governance based on the current market conditions.
WalletMaintainerAuthorized
WalletMaintainerUnauthorized
SpvMaintainerAuthorized
SpvMaintainerUnauthorized
BridgeUpdated
GasOffsetParametersUpdated
onlyWalletMaintainer
onlySpvMaintainer
onlyReimbursableAdmin
constructor
submitDepositSweepProof
Wraps Bridge.submitDepositSweepProof
call and reimburses the caller's transaction cost.
See Bridge.submitDepositSweepProof
function documentation.
submitRedemptionProof
Wraps Bridge.submitRedemptionProof
call and reimburses the caller's transaction cost.
See Bridge.submitRedemptionProof
function documentation.
resetMovingFundsTimeout
Wraps Bridge.resetMovingFundsTimeout
call and reimburses the caller's transaction cost.
See Bridge.resetMovingFundsTimeout
function documentation.
submitMovingFundsProof
Wraps Bridge.submitMovingFundsProof
call and reimburses the caller's transaction cost.
See Bridge.submitMovingFundsProof
function documentation.
notifyMovingFundsBelowDust
Wraps Bridge.notifyMovingFundsBelowDust
call and reimburses the caller's transaction cost.
See Bridge.notifyMovingFundsBelowDust
function documentation.
submitMovedFundsSweepProof
Wraps Bridge.submitMovedFundsSweepProof
call and reimburses the caller's transaction cost.
See Bridge.submitMovedFundsSweepProof
function documentation.
requestNewWallet
Wraps Bridge.requestNewWallet
call and reimburses the caller's transaction cost.
See Bridge.requestNewWallet
function documentation.
notifyWalletCloseable
Wraps Bridge.notifyWalletCloseable
call and reimburses the caller's transaction cost.
See Bridge.notifyWalletCloseable
function documentation.
notifyWalletClosingPeriodElapsed
Wraps Bridge.notifyWalletClosingPeriodElapsed
call and reimburses the caller's transaction cost.
See Bridge.notifyWalletClosingPeriodElapsed
function documentation.
defeatFraudChallenge
Wraps Bridge.defeatFraudChallenge
call and reimburses the caller's transaction cost.
See Bridge.defeatFraudChallenge
function documentation.
defeatFraudChallengeWithHeartbeat
Wraps Bridge.defeatFraudChallengeWithHeartbeat
call and reimburses the caller's transaction cost.
See Bridge.defeatFraudChallengeWithHeartbeat
function documentation.
authorizeWalletMaintainer
Authorize a wallet maintainer that can interact with this reimbursement pool. Can be authorized by the owner only.
Parameters
authorizeSpvMaintainer
Authorize an SPV maintainer that can interact with this reimbursement pool. Can be authorized by the owner only.
Parameters
unauthorizeWalletMaintainer
Unauthorize a wallet maintainer that was previously authorized to interact with the Maintainer Proxy contract. Can be unauthorized by the owner only.
The last maintainer is swapped with the one to be unauthorized. The unauthorized maintainer is then removed from the list. An index of the last maintainer is changed with the removed maintainer. Ex. 'walletMaintainers' list: [0x1, 0x2, 0x3, 0x4, 0x5] 'isWalletMaintainer' map: [0x1 -> 1, 0x2 -> 2, 0x3 -> 3, 0x4 -> 4, 0x5 -> 5] unauthorize: 0x3 new 'walletMaintainers' list: [0x1, 0x2, 0x5, 0x4] new 'isWalletMaintainer' map: [0x1 -> 1, 0x2 -> 2, 0x4 -> 4, 0x5 -> 3]
Parameters
unauthorizeSpvMaintainer
Unauthorize an SPV maintainer that was previously authorized to interact with the Maintainer Proxy contract. Can be unauthorized by the owner only.
The last maintainer is swapped with the one to be unauthorized. The unauthorized maintainer is then removed from the list. An index of the last maintainer is changed with the removed maintainer. Ex. 'spvMaintainers' list: [0x1, 0x2, 0x3, 0x4, 0x5] 'isSpvMaintainer' map: [0x1 -> 1, 0x2 -> 2, 0x3 -> 3, 0x4 -> 4, 0x5 -> 5] unauthorize: 0x3 new 'spvMaintainers' list: [0x1, 0x2, 0x5, 0x4] new 'isSpvMaintainer' map: [0x1 -> 1, 0x2 -> 2, 0x4 -> 4, 0x5 -> 3]
Parameters
updateBridge
Allows the Governance to upgrade the Bridge address.
The function does not implement any governance delay and does not check the status of the Bridge. The Governance implementation needs to ensure all requirements for the upgrade are satisfied before executing this function.
updateGasOffsetParameters
Updates the values of gas offset parameters.
Can be called only by the contract owner. The caller is responsible for validating parameters.
Parameters
allWalletMaintainers
Gets an entire array of wallet maintainer addresses.
allSpvMaintainers
Gets an entire array of SPV maintainer addresses.
Last updated