UNPKG

@hyperlane-xyz/sdk

Version:

The official SDK for the Hyperlane Network

57 lines 1.97 kB
export const TokenType = { synthetic: 'synthetic', syntheticRebase: 'syntheticRebase', syntheticUri: 'syntheticUri', collateral: 'collateral', collateralVault: 'collateralVault', collateralVaultRebase: 'collateralVaultRebase', XERC20: 'xERC20', XERC20Lockbox: 'xERC20Lockbox', collateralFiat: 'collateralFiat', collateralUri: 'collateralUri', collateralCctp: 'collateralCctp', collateralEverclear: 'collateralEverclear', native: 'native', nativeOpL2: 'nativeOpL2', nativeOpL1: 'nativeOpL1', ethEverclear: 'ethEverclear', // backwards compatible alias to native nativeScaled: 'nativeScaled', }; // A token is defined movable collateral if its solidity contract implementation // is a subclass of MovableCollateralRouter const isMovableCollateralTokenTypeMap = { [TokenType.XERC20]: false, [TokenType.XERC20Lockbox]: false, [TokenType.collateral]: true, [TokenType.collateralCctp]: false, [TokenType.collateralFiat]: false, [TokenType.collateralUri]: false, [TokenType.collateralVault]: false, [TokenType.collateralVaultRebase]: false, [TokenType.native]: true, [TokenType.nativeOpL1]: false, [TokenType.nativeOpL2]: false, [TokenType.nativeScaled]: true, [TokenType.synthetic]: false, [TokenType.syntheticRebase]: false, [TokenType.syntheticUri]: false, [TokenType.ethEverclear]: false, [TokenType.collateralEverclear]: false, }; export function isMovableCollateralTokenType(type) { return !!isMovableCollateralTokenTypeMap[type]; } export const gasOverhead = (tokenType) => { switch (tokenType) { case TokenType.synthetic: return 64_000; case TokenType.native: case TokenType.nativeScaled: return 44_000; default: return 68_000; } }; export const NON_ZERO_SENDER_ADDRESS = '0xa7ECcdb9Be08178f896c26b7BbD8C3D4E844d9Ba'; //# sourceMappingURL=config.js.map