Comment on page
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.
uint256 public constant BPS_DENOMINATOR;
Basis points or bps, set to 10 000 (equal to 1/10000). Used to express relative values (fees)
bytes32 public constant GOVMONITORING_ROLE;
Role allowed to stop transfers
uint256 public constant SUBMISSION_PREFIX;
prefix to calculation submissionId
uint256 public constant DEPLOY_PREFIX;
prefix to calculation deployId
address public deBridgeTokenDeployer;
Address of IDeBridgeTokenDeployer contract
address public signatureVerifier;
Current signature verifier address to verify signatures.
uint8 public excessConfirmations;
Minimal required confirmations in case sent amount is big, have no effect if less than SignatureVerifier.minConfirmations
uint256 public flashFeeBps;
Flash loan fee in basis points (1/10000)
uint256 public nonce;
outgoing submissions count
mapping(bytes32 => struct IDeBridgeGate.DebridgeInfo) public getDebridge;
Maps debridgeId (see getDebridgeId) => bridge-specific information.
mapping(bytes32 => struct IDeBridgeGate.DebridgeFeeInfo) public getDebridgeFeeInfo;
Maps debridgeId (see getDebridgeId) => fee information
mapping(bytes32 => bool) public isSubmissionUsed;
Returns whether the transfer with the submissionId was claimed. submissionId is generated in getSubmissionIdFrom
mapping(bytes32 => bool) public isBlockedSubmission;
Returns whether the transfer with the submissionId is blocked.
mapping(bytes32 => uint256) public getAmountThreshold;
Maps debridgeId (see getDebridgeId) to threshold amount after which Math.max(excessConfirmations,SignatureVerifier.minConfirmations) is used instead of SignatureVerifier.minConfirmations
mapping(uint256 => struct IDeBridgeGate.ChainSupportInfo) public getChainToConfig;
Whether the chain for the asset is supported to send
mapping(uint256 => struct IDeBridgeGate.ChainSupportInfo) public getChainFromConfig;
Whether the chain for the asset is supported to claim
mapping(address => struct IDeBridgeGate.DiscountInfo) public feeDiscount;
Fee discount for address
mapping(address => struct IDeBridgeGate.TokenInfo) public getNativeInfo;
Returns native token info by wrapped token address
address public defiController;
Return DefiController that can supply liquidity to staking strategies (AAVE, Compound, etc.)
address public feeProxy;
Returns proxy to convert the collected fees and transfer to Ethereum network to treasury
address public callProxy;
Returns address of the proxy to execute user's calls.
contract IWETH public weth;
Returns contract for wrapped native token.
address public feeContractUpdater;
Contract address that can override globalFixedNativeFee
uint256 public globalFixedNativeFee;
Fallback fixed fee in native asset, used if a chain fixed fee is set to 0
uint16 public globalTransferFeeBps;
Fallback transfer fee in BPS, used if a chain transfer fee is set to 0
contract IWethGate public wethGate;
WethGate contract, that is used for weth withdraws affected by EIP1884
uint256 public lockedClaim;
Locker for claim method
contract IWETH _weth
Constructor that initializes the most important configurations.
Get a flash loan, msg.sender must implement IFlashCallback
Deploy a deToken(DeBridgeTokenProxy) for an asset
Update native fix fee. Called by our fee update contract
struct IDeBridgeGate.ChainSupportInfo _chainSupportInfo,
Update asset's fees.
Update fallbacks for fixed fee in native asset and transfer fee
Update asset's fees.
Update minimal amount of required signatures, must be > SignatureVerifier.minConfirmations to have an effect
Set support for the chains where the token can be transferred.
Set address of the call proxy.
Update specific asset's bridge parameters.
Set signature verifier address.
Set asset deployer address.
Set defi controller.
Set fee contract updater, that can update fix native fee
contract IWethGate _wethGate
Set wethGate contract, that uses for weth withdraws affected by EIP1884
Stop all transfers.
Withdraw collected fees to feeProxy
Request the assets to be used in DeFi protocol.
Return the assets that were used in DeFi protocol.
Set fee converter proxy.
Block or unblock a list of submissions
Update flash fees.