DeBridgeGate
Contract for assets transfers. The user can transfer the asset to any of the approved chains. The admin manages the assets, fees and other important protocol parameters.
Variables
BPS_DENOMINATOR
Basis points or bps, set to 10 000 (equal to 1/10000). Used to express relative values (fees)
GOVMONITORING_ROLE
Role allowed to stop transfers
SUBMISSION_PREFIX
prefix to calculation submissionId
DEPLOY_PREFIX
prefix to calculation deployId
deBridgeTokenDeployer
Address of IDeBridgeTokenDeployer contract
signatureVerifier
Current signature verifier address to verify signatures.
excessConfirmations
Minimal required confirmations in case sent amount is big, have no effect if less than SignatureVerifier.minConfirmations
flashFeeBps
Flash loan fee in basis points (1/10000)
nonce
outgoing submissions count
getDebridge
Maps debridgeId (see getDebridgeId) => bridge-specific information.
getDebridgeFeeInfo
Maps debridgeId (see getDebridgeId) => fee information
isSubmissionUsed
Returns whether the transfer with the submissionId was claimed. submissionId is generated in getSubmissionIdFrom
isBlockedSubmission
Returns whether the transfer with the submissionId is blocked.
getAmountThreshold
Maps debridgeId (see getDebridgeId) to threshold amount after which Math.max(excessConfirmations,SignatureVerifier.minConfirmations) is used instead of SignatureVerifier.minConfirmations
getChainToConfig
Whether the chain for the asset is supported to send
getChainFromConfig
Whether the chain for the asset is supported to claim
feeDiscount
Fee discount for address
getNativeInfo
Returns native token info by wrapped token address
defiController
Return DefiController that can supply liquidity to staking strategies (AAVE, Compound, etc.)
feeProxy
Returns proxy to convert the collected fees and transfer to Ethereum network to treasury
callProxy
Returns address of the proxy to execute user's calls.
weth
Returns contract for wrapped native token.
feeContractUpdater
Contract address that can override globalFixedNativeFee
globalFixedNativeFee
Fallback fixed fee in native asset, used if a chain fixed fee is set to 0
globalTransferFeeBps
Fallback transfer fee in BPS, used if a chain transfer fee is set to 0
wethGate
WethGate contract, that is used for weth withdraws affected by EIP1884
lockedClaim
Locker for claim method
Functions
initialize
Constructor that initializes the most important configurations.
Parameters:
send
This method is used for the transfer of assets from the native chain. It locks an asset in the smart contract in the native chain and enables minting of deAsset on the secondary chain.
Parameters:
claim
Is used for transfers into the native chain to unlock the designated amount of asset from collateral and transfer it to the receiver.
Parameters:
flash
Get a flash loan, msg.sender must implement IFlashCallback
Parameters:
deployNewAsset
Deploy a deToken(DeBridgeTokenProxy) for an asset
Parameters:
autoUpdateFixedNativeFee
Update native fix fee. Called by our fee update contract
Parameters:
updateChainSupport
Update asset's fees.
Parameters:
updateGlobalFee
Update fallbacks for fixed fee in native asset and transfer fee
Parameters:
updateAssetFixedFees
Update asset's fees.
Parameters:
updateExcessConfirmations
Update minimal amount of required signatures, must be > SignatureVerifier.minConfirmations to have an effect
Parameters:
setChainSupport
Set support for the chains where the token can be transferred.
Parameters:
setCallProxy
Set address of the call proxy.
Parameters:
updateAsset
Update specific asset's bridge parameters.
Parameters:
setSignatureVerifier
Set signature verifier address.
Parameters:
setDeBridgeTokenDeployer
Set asset deployer address.
Parameters:
setDefiController
Set defi controller.
Parameters:
setFeeContractUpdater
Set fee contract updater, that can update fix native fee
Parameters:
setWethGate
Set wethGate contract, that uses for weth withdraws affected by EIP1884
Parameters:
pause
Stop all transfers.
unpause
Allow transfers.
withdrawFee
Withdraw collected fees to feeProxy
Parameters:
requestReserves
Request the assets to be used in DeFi protocol.
Parameters:
returnReserves
Return the assets that were used in DeFi protocol.
Parameters:
setFeeProxy
Set fee converter proxy.
Parameters:
blockSubmission
Block or unblock a list of submissions
Parameters:
updateFlashFee
Update flash fees.
Parameters:
updateFeeDiscount
Update discount.
Parameters:
receive
_checkConfirmations
_addAsset
Add support for the asset.
Parameters:
_send
Locks asset on the chain and enables minting on the other chain.
Parameters:
_publishSubmission
_applyDiscount
_validateToken
_claim
Unlock the asset on the current chain and transfer to receiver.
Parameters:
_mintOrTransfer
_safeTransferETH
_withdrawWeth
_normalizeTokenAmount
getDefiAvaliableReserves
Get reserves of a token available to use in defi
Parameters:
getDebridgeId
Calculates asset identifier.
Parameters:
getbDebridgeId
Calculates asset identifier.
Parameters:
getDebridgeChainAssetFixedFee
Returns asset fixed fee value for specified debridge and chainId.
Parameters:
getSubmissionIdFrom
Calculate submission id for auto claimable transfer.
Parameters:
getDeployId
Calculates asset identifier for deployment.
Parameters:
getChainId
Get current chain id
version
Get this contract's version
Last updated