@hyperlane-xyz/sdk
Version:
The official SDK for the Hyperlane Network
57 lines • 1.97 kB
JavaScript
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 = {
[]: false,
[]: false,
[]: true,
[]: false,
[]: false,
[]: false,
[]: false,
[]: false,
[]: true,
[]: false,
[]: false,
[]: true,
[]: false,
[]: false,
[]: false,
[]: false,
[]: 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