@hyperlane-xyz/sdk 31.0.1 → 31.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/app/MultiProtocolApp.d.ts +7 -7
- package/dist/app/MultiProtocolApp.d.ts.map +1 -1
- package/dist/app/MultiProtocolApp.js +2 -2
- package/dist/app/MultiProtocolApp.js.map +1 -1
- package/dist/core/MultiProtocolCore.d.ts +4 -4
- package/dist/core/MultiProtocolCore.d.ts.map +1 -1
- package/dist/core/MultiProtocolCore.js.map +1 -1
- package/dist/core/adapters/AleoCoreAdapter.d.ts +3 -3
- package/dist/core/adapters/AleoCoreAdapter.d.ts.map +1 -1
- package/dist/core/adapters/AleoCoreAdapter.js.map +1 -1
- package/dist/core/adapters/CosmNativeCoreAdapter.d.ts +3 -3
- package/dist/core/adapters/CosmNativeCoreAdapter.d.ts.map +1 -1
- package/dist/core/adapters/CosmNativeCoreAdapter.js.map +1 -1
- package/dist/core/adapters/CosmWasmCoreAdapter.d.ts +3 -3
- package/dist/core/adapters/CosmWasmCoreAdapter.d.ts.map +1 -1
- package/dist/core/adapters/CosmWasmCoreAdapter.js.map +1 -1
- package/dist/core/adapters/CosmWasmIgpAdapter.d.ts +3 -3
- package/dist/core/adapters/CosmWasmIgpAdapter.d.ts.map +1 -1
- package/dist/core/adapters/CosmWasmIgpAdapter.js.map +1 -1
- package/dist/core/adapters/EvmCoreAdapter.d.ts +3 -3
- package/dist/core/adapters/EvmCoreAdapter.d.ts.map +1 -1
- package/dist/core/adapters/EvmCoreAdapter.js.map +1 -1
- package/dist/core/adapters/RadixCoreAdapter.d.ts +3 -3
- package/dist/core/adapters/RadixCoreAdapter.d.ts.map +1 -1
- package/dist/core/adapters/RadixCoreAdapter.js.map +1 -1
- package/dist/core/adapters/SealevelCoreAdapter.d.ts +3 -3
- package/dist/core/adapters/SealevelCoreAdapter.d.ts.map +1 -1
- package/dist/core/adapters/SealevelCoreAdapter.js.map +1 -1
- package/dist/core/adapters/StarknetCoreAdapter.d.ts +3 -3
- package/dist/core/adapters/StarknetCoreAdapter.d.ts.map +1 -1
- package/dist/core/adapters/StarknetCoreAdapter.js.map +1 -1
- package/dist/deploy/verify/ContractVerifier.d.ts.map +1 -1
- package/dist/deploy/verify/ContractVerifier.js +12 -4
- package/dist/deploy/verify/ContractVerifier.js.map +1 -1
- package/dist/fork/types.d.ts +64 -64
- package/dist/gas/adapters/SealevelIgpAdapter.d.ts +7 -7
- package/dist/gas/adapters/SealevelIgpAdapter.d.ts.map +1 -1
- package/dist/gas/adapters/SealevelIgpAdapter.js.map +1 -1
- package/dist/gas/utils.d.ts +2 -2
- package/dist/gas/utils.d.ts.map +1 -1
- package/dist/gas/utils.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/ism/adapters/CosmWasmMultisigAdapter.d.ts +3 -3
- package/dist/ism/adapters/CosmWasmMultisigAdapter.d.ts.map +1 -1
- package/dist/ism/adapters/CosmWasmMultisigAdapter.js.map +1 -1
- package/dist/ism/adapters/SealevelMultisigAdapter.d.ts +3 -3
- package/dist/ism/adapters/SealevelMultisigAdapter.d.ts.map +1 -1
- package/dist/ism/adapters/SealevelMultisigAdapter.js.map +1 -1
- package/dist/metadata/ChainMetadataResolver.d.ts +13 -0
- package/dist/metadata/ChainMetadataResolver.d.ts.map +1 -0
- package/dist/metadata/ChainMetadataResolver.js +68 -0
- package/dist/metadata/ChainMetadataResolver.js.map +1 -0
- package/dist/metadata/ChainMetadataResolver.test.d.ts +2 -0
- package/dist/metadata/ChainMetadataResolver.test.d.ts.map +1 -0
- package/dist/metadata/ChainMetadataResolver.test.js +83 -0
- package/dist/metadata/ChainMetadataResolver.test.js.map +1 -0
- package/dist/providers/MinimalProviderRegistry.d.ts +41 -0
- package/dist/providers/MinimalProviderRegistry.d.ts.map +1 -0
- package/dist/providers/MinimalProviderRegistry.js +122 -0
- package/dist/providers/MinimalProviderRegistry.js.map +1 -0
- package/dist/providers/MultiProtocolProvider.d.ts +13 -55
- package/dist/providers/MultiProtocolProvider.d.ts.map +1 -1
- package/dist/providers/MultiProtocolProvider.js +34 -152
- package/dist/providers/MultiProtocolProvider.js.map +1 -1
- package/dist/providers/MultiProtocolProvider.test.js +48 -0
- package/dist/providers/MultiProtocolProvider.test.js.map +1 -1
- package/dist/providers/MultiProvider.d.ts +1 -1
- package/dist/providers/MultiProvider.d.ts.map +1 -1
- package/dist/providers/MultiProvider.js +3 -1
- package/dist/providers/MultiProvider.js.map +1 -1
- package/dist/providers/MultiProvider.test.js +3 -3
- package/dist/providers/MultiProvider.test.js.map +1 -1
- package/dist/providers/MultiProviderAdapter.d.ts +31 -0
- package/dist/providers/MultiProviderAdapter.d.ts.map +1 -0
- package/dist/providers/MultiProviderAdapter.js +116 -0
- package/dist/providers/MultiProviderAdapter.js.map +1 -0
- package/dist/providers/ProviderType.d.ts +12 -7
- package/dist/providers/ProviderType.d.ts.map +1 -1
- package/dist/providers/ProviderType.js +1 -1
- package/dist/providers/ProviderType.js.map +1 -1
- package/dist/providers/builders/aleo.d.ts +4 -0
- package/dist/providers/builders/aleo.d.ts.map +1 -0
- package/dist/providers/builders/aleo.js +7 -0
- package/dist/providers/builders/aleo.js.map +1 -0
- package/dist/providers/builders/cosmos.d.ts +6 -0
- package/dist/providers/builders/cosmos.d.ts.map +1 -0
- package/dist/providers/builders/cosmos.js +27 -0
- package/dist/providers/builders/cosmos.js.map +1 -0
- package/dist/providers/builders/ethersV5.d.ts +8 -0
- package/dist/providers/builders/ethersV5.d.ts.map +1 -0
- package/dist/providers/builders/ethersV5.js +25 -0
- package/dist/providers/builders/ethersV5.js.map +1 -0
- package/dist/providers/builders/radix.d.ts +4 -0
- package/dist/providers/builders/radix.d.ts.map +1 -0
- package/dist/providers/builders/radix.js +14 -0
- package/dist/providers/builders/radix.js.map +1 -0
- package/dist/providers/builders/solana.d.ts +4 -0
- package/dist/providers/builders/solana.d.ts.map +1 -0
- package/dist/providers/builders/solana.js +11 -0
- package/dist/providers/builders/solana.js.map +1 -0
- package/dist/providers/builders/starknet.d.ts +4 -0
- package/dist/providers/builders/starknet.d.ts.map +1 -0
- package/dist/providers/builders/starknet.js +14 -0
- package/dist/providers/builders/starknet.js.map +1 -0
- package/dist/providers/builders/tron.d.ts +10 -0
- package/dist/providers/builders/tron.d.ts.map +1 -0
- package/dist/providers/builders/tron.js +19 -0
- package/dist/providers/builders/tron.js.map +1 -0
- package/dist/providers/builders/types.d.ts +6 -0
- package/dist/providers/builders/types.d.ts.map +1 -0
- package/dist/providers/builders/types.js +2 -0
- package/dist/providers/builders/types.js.map +1 -0
- package/dist/providers/builders/viem.d.ts +4 -0
- package/dist/providers/builders/viem.d.ts.map +1 -0
- package/dist/providers/builders/viem.js +24 -0
- package/dist/providers/builders/viem.js.map +1 -0
- package/dist/providers/builders/zksync.d.ts +7 -0
- package/dist/providers/builders/zksync.d.ts.map +1 -0
- package/dist/providers/builders/zksync.js +13 -0
- package/dist/providers/builders/zksync.js.map +1 -0
- package/dist/providers/defaultProviderBuilderMaps.d.ts +7 -0
- package/dist/providers/defaultProviderBuilderMaps.d.ts.map +1 -0
- package/dist/providers/defaultProviderBuilderMaps.js +36 -0
- package/dist/providers/defaultProviderBuilderMaps.js.map +1 -0
- package/dist/providers/providerBuilders.d.ts +11 -29
- package/dist/providers/providerBuilders.d.ts.map +1 -1
- package/dist/providers/providerBuilders.js +10 -153
- package/dist/providers/providerBuilders.js.map +1 -1
- package/dist/providers/rpcHealthTest.js +1 -1
- package/dist/providers/rpcHealthTest.js.map +1 -1
- package/dist/providers/runtime/evm.d.ts +3 -0
- package/dist/providers/runtime/evm.d.ts.map +1 -0
- package/dist/providers/runtime/evm.js +11 -0
- package/dist/providers/runtime/evm.js.map +1 -0
- package/dist/router/MultiProtocolRouterApps.test.js.map +1 -1
- package/dist/router/adapters/EvmRouterAdapter.d.ts +3 -3
- package/dist/router/adapters/EvmRouterAdapter.d.ts.map +1 -1
- package/dist/router/adapters/EvmRouterAdapter.js.map +1 -1
- package/dist/router/adapters/SealevelRouterAdapter.d.ts +3 -3
- package/dist/router/adapters/SealevelRouterAdapter.d.ts.map +1 -1
- package/dist/router/adapters/SealevelRouterAdapter.js.map +1 -1
- package/dist/signers/cosmos/cosmjs.d.ts +2 -2
- package/dist/signers/cosmos/cosmjs.d.ts.map +1 -1
- package/dist/signers/cosmos/cosmjs.js.map +1 -1
- package/dist/signers/evm/ethersv5.d.ts +2 -2
- package/dist/signers/evm/ethersv5.d.ts.map +1 -1
- package/dist/signers/evm/ethersv5.js +1 -1
- package/dist/signers/evm/ethersv5.js.map +1 -1
- package/dist/signers/radix/radix-toolkit.d.ts +3 -3
- package/dist/signers/radix/radix-toolkit.d.ts.map +1 -1
- package/dist/signers/radix/radix-toolkit.js +1 -1
- package/dist/signers/radix/radix-toolkit.js.map +1 -1
- package/dist/signers/signers.d.ts +2 -2
- package/dist/signers/signers.d.ts.map +1 -1
- package/dist/signers/signers.js.map +1 -1
- package/dist/signers/starknet/starknetjs.d.ts +2 -2
- package/dist/signers/starknet/starknetjs.d.ts.map +1 -1
- package/dist/signers/starknet/starknetjs.js.map +1 -1
- package/dist/signers/svm/solana-web3js.d.ts +2 -2
- package/dist/signers/svm/solana-web3js.d.ts.map +1 -1
- package/dist/signers/svm/solana-web3js.js.map +1 -1
- package/dist/token/IToken.d.ts +14 -151
- package/dist/token/IToken.d.ts.map +1 -1
- package/dist/token/IToken.js +1 -43
- package/dist/token/IToken.js.map +1 -1
- package/dist/token/ITokenMetadata.d.ts +182 -0
- package/dist/token/ITokenMetadata.d.ts.map +1 -0
- package/dist/token/ITokenMetadata.js +46 -0
- package/dist/token/ITokenMetadata.js.map +1 -0
- package/dist/token/Token.d.ts +15 -49
- package/dist/token/Token.d.ts.map +1 -1
- package/dist/token/Token.js +48 -312
- package/dist/token/Token.js.map +1 -1
- package/dist/token/Token.test.js +52 -10
- package/dist/token/Token.test.js.map +1 -1
- package/dist/token/TokenAmount.d.ts +6 -6
- package/dist/token/TokenAmount.d.ts.map +1 -1
- package/dist/token/TokenConnection.d.ts +7 -7
- package/dist/token/TokenConnection.d.ts.map +1 -1
- package/dist/token/TokenConnection.js +1 -1
- package/dist/token/TokenConnection.js.map +1 -1
- package/dist/token/TokenConnection.test.d.ts +2 -0
- package/dist/token/TokenConnection.test.d.ts.map +1 -0
- package/dist/token/TokenConnection.test.js +17 -0
- package/dist/token/TokenConnection.test.js.map +1 -0
- package/dist/token/TokenMetadata.d.ts +42 -0
- package/dist/token/TokenMetadata.d.ts.map +1 -0
- package/dist/token/TokenMetadata.js +119 -0
- package/dist/token/TokenMetadata.js.map +1 -0
- package/dist/token/adapters/AleoTokenAdapter.d.ts +7 -6
- package/dist/token/adapters/AleoTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/AleoTokenAdapter.js +1 -1
- package/dist/token/adapters/AleoTokenAdapter.js.map +1 -1
- package/dist/token/adapters/CosmWasmTokenAdapter.d.ts +11 -11
- package/dist/token/adapters/CosmWasmTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/CosmWasmTokenAdapter.js.map +1 -1
- package/dist/token/adapters/CosmosModuleTokenAdapter.d.ts +6 -6
- package/dist/token/adapters/CosmosModuleTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/CosmosModuleTokenAdapter.js.map +1 -1
- package/dist/token/adapters/CosmosTokenAdapter.d.ts +7 -7
- package/dist/token/adapters/CosmosTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/CosmosTokenAdapter.js.map +1 -1
- package/dist/token/adapters/EvmCrossCollateralAdapter.d.ts +3 -3
- package/dist/token/adapters/EvmCrossCollateralAdapter.d.ts.map +1 -1
- package/dist/token/adapters/EvmCrossCollateralAdapter.js.map +1 -1
- package/dist/token/adapters/EvmTokenAdapter.d.ts +21 -21
- package/dist/token/adapters/EvmTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/EvmTokenAdapter.js.map +1 -1
- package/dist/token/adapters/M0PortalLiteTokenAdapter.d.ts +2 -2
- package/dist/token/adapters/M0PortalLiteTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/M0PortalLiteTokenAdapter.js.map +1 -1
- package/dist/token/adapters/M0PortalTokenAdapter.d.ts +2 -2
- package/dist/token/adapters/M0PortalTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/M0PortalTokenAdapter.js.map +1 -1
- package/dist/token/adapters/RadixTokenAdapter.d.ts +7 -6
- package/dist/token/adapters/RadixTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/RadixTokenAdapter.js.map +1 -1
- package/dist/token/adapters/SealevelTokenAdapter.d.ts +7 -7
- package/dist/token/adapters/SealevelTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/SealevelTokenAdapter.js.map +1 -1
- package/dist/token/adapters/StarknetTokenAdapter.d.ts +10 -10
- package/dist/token/adapters/StarknetTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/StarknetTokenAdapter.js.map +1 -1
- package/dist/token/adapters/aleoHyp.d.ts +7 -0
- package/dist/token/adapters/aleoHyp.d.ts.map +1 -0
- package/dist/token/adapters/aleoHyp.js +26 -0
- package/dist/token/adapters/aleoHyp.js.map +1 -0
- package/dist/token/adapters/cosmosHyp.d.ts +7 -0
- package/dist/token/adapters/cosmosHyp.d.ts.map +1 -0
- package/dist/token/adapters/cosmosHyp.js +40 -0
- package/dist/token/adapters/cosmosHyp.js.map +1 -0
- package/dist/token/adapters/evmHyp.d.ts +7 -0
- package/dist/token/adapters/evmHyp.d.ts.map +1 -0
- package/dist/token/adapters/evmHyp.js +23 -0
- package/dist/token/adapters/evmHyp.js.map +1 -0
- package/dist/token/adapters/evmLikeHyp.d.ts +19 -0
- package/dist/token/adapters/evmLikeHyp.d.ts.map +1 -0
- package/dist/token/adapters/evmLikeHyp.js +61 -0
- package/dist/token/adapters/evmLikeHyp.js.map +1 -0
- package/dist/token/adapters/hypTokenAdapterUtils.d.ts +15 -0
- package/dist/token/adapters/hypTokenAdapterUtils.d.ts.map +1 -0
- package/dist/token/adapters/hypTokenAdapterUtils.js +9 -0
- package/dist/token/adapters/hypTokenAdapterUtils.js.map +1 -0
- package/dist/token/adapters/radixHyp.d.ts +7 -0
- package/dist/token/adapters/radixHyp.d.ts.map +1 -0
- package/dist/token/adapters/radixHyp.js +22 -0
- package/dist/token/adapters/radixHyp.js.map +1 -0
- package/dist/token/adapters/sealevelHyp.d.ts +7 -0
- package/dist/token/adapters/sealevelHyp.d.ts.map +1 -0
- package/dist/token/adapters/sealevelHyp.js +38 -0
- package/dist/token/adapters/sealevelHyp.js.map +1 -0
- package/dist/token/adapters/starknetHyp.d.ts +7 -0
- package/dist/token/adapters/starknetHyp.d.ts.map +1 -0
- package/dist/token/adapters/starknetHyp.js +35 -0
- package/dist/token/adapters/starknetHyp.js.map +1 -0
- package/dist/token/adapters/tronHyp.d.ts +7 -0
- package/dist/token/adapters/tronHyp.d.ts.map +1 -0
- package/dist/token/adapters/tronHyp.js +23 -0
- package/dist/token/adapters/tronHyp.js.map +1 -0
- package/dist/utils/cosmos.d.ts +3 -3
- package/dist/utils/decimals.d.ts +8 -0
- package/dist/utils/decimals.d.ts.map +1 -1
- package/dist/utils/decimals.js +42 -0
- package/dist/utils/decimals.js.map +1 -1
- package/dist/utils/decimals.test.js +52 -1
- package/dist/utils/decimals.test.js.map +1 -1
- package/dist/warp/WarpCore.d.ts +43 -43
- package/dist/warp/WarpCore.d.ts.map +1 -1
- package/dist/warp/WarpCore.js +82 -84
- package/dist/warp/WarpCore.js.map +1 -1
- package/dist/warp/WarpCore.test.js +245 -6
- package/dist/warp/WarpCore.test.js.map +1 -1
- package/dist/warp/read.d.ts +19 -0
- package/dist/warp/read.d.ts.map +1 -0
- package/dist/warp/read.js +34 -0
- package/dist/warp/read.js.map +1 -0
- package/dist/warp/read.test.d.ts +2 -0
- package/dist/warp/read.test.d.ts.map +1 -0
- package/dist/warp/read.test.js +56 -0
- package/dist/warp/read.test.js.map +1 -0
- package/dist/warp/types.d.ts +50 -8
- package/dist/warp/types.d.ts.map +1 -1
- package/dist/zksync/ZKSyncDeployer.js +1 -1
- package/dist/zksync/ZKSyncDeployer.js.map +1 -1
- package/package.json +98 -11
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { EvmHypCollateralFiatAdapter, EvmHypNativeAdapter, EvmHypRebaseCollateralAdapter, EvmHypSyntheticAdapter, EvmHypSyntheticRebaseAdapter, EvmHypXERC20Adapter, EvmHypXERC20LockboxAdapter, EvmMovableCollateralAdapter, } from './EvmTokenAdapter.js';
|
|
2
|
+
import { EvmHypCrossCollateralAdapter } from './EvmCrossCollateralAdapter.js';
|
|
3
|
+
import { hasChainMetadata, hasOnlyHyperlaneConnections, } from './hypTokenAdapterUtils.js';
|
|
4
|
+
export function createEvmLikeHypAdapter(multiProvider, token, standards) {
|
|
5
|
+
const { standard, chainName, addressOrDenom } = token;
|
|
6
|
+
if (!standard || !hasChainMetadata(multiProvider, chainName)) {
|
|
7
|
+
return undefined;
|
|
8
|
+
}
|
|
9
|
+
if (standard === standards.native && hasOnlyHyperlaneConnections(token)) {
|
|
10
|
+
return new EvmHypNativeAdapter(chainName, multiProvider, {
|
|
11
|
+
token: addressOrDenom,
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
if (standard === standards.hypNative) {
|
|
15
|
+
return new EvmHypNativeAdapter(chainName, multiProvider, {
|
|
16
|
+
token: addressOrDenom,
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
if (standards.hypCollateral.some((candidate) => candidate === standard)) {
|
|
20
|
+
return new EvmMovableCollateralAdapter(chainName, multiProvider, {
|
|
21
|
+
token: addressOrDenom,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
if (standard === standards.hypCrossCollateralRouter) {
|
|
25
|
+
return new EvmHypCrossCollateralAdapter(chainName, multiProvider, {
|
|
26
|
+
token: addressOrDenom,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
if (standard === standards.hypRebaseCollateral) {
|
|
30
|
+
return new EvmHypRebaseCollateralAdapter(chainName, multiProvider, {
|
|
31
|
+
token: addressOrDenom,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
if (standard === standards.hypCollateralFiat) {
|
|
35
|
+
return new EvmHypCollateralFiatAdapter(chainName, multiProvider, {
|
|
36
|
+
token: addressOrDenom,
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
if (standard === standards.hypSynthetic) {
|
|
40
|
+
return new EvmHypSyntheticAdapter(chainName, multiProvider, {
|
|
41
|
+
token: addressOrDenom,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
if (standard === standards.hypSyntheticRebase) {
|
|
45
|
+
return new EvmHypSyntheticRebaseAdapter(chainName, multiProvider, {
|
|
46
|
+
token: addressOrDenom,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
if (standards.hypXerc20.some((candidate) => candidate === standard)) {
|
|
50
|
+
return new EvmHypXERC20Adapter(chainName, multiProvider, {
|
|
51
|
+
token: addressOrDenom,
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
if (standards.hypXerc20Lockbox.some((candidate) => candidate === standard)) {
|
|
55
|
+
return new EvmHypXERC20LockboxAdapter(chainName, multiProvider, {
|
|
56
|
+
token: addressOrDenom,
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
return undefined;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=evmLikeHyp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evmLikeHyp.js","sourceRoot":"","sources":["../../../src/token/adapters/evmLikeHyp.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Address } from '@hyperlane-xyz/utils';
|
|
2
|
+
import type { MultiProviderAdapter } from '../../providers/MultiProviderAdapter.js';
|
|
3
|
+
import type { ChainName } from '../../types.js';
|
|
4
|
+
import type { TokenConnection } from '../TokenConnection.js';
|
|
5
|
+
import type { TokenStandard } from '../TokenStandard.js';
|
|
6
|
+
export interface HypTokenAdapterInput {
|
|
7
|
+
chainName: ChainName;
|
|
8
|
+
addressOrDenom: Address | string;
|
|
9
|
+
standard?: TokenStandard | string;
|
|
10
|
+
collateralAddressOrDenom?: Address | string;
|
|
11
|
+
connections?: Array<TokenConnection>;
|
|
12
|
+
}
|
|
13
|
+
export declare function hasOnlyHyperlaneConnections(token: HypTokenAdapterInput): boolean;
|
|
14
|
+
export declare function hasChainMetadata(multiProvider: MultiProviderAdapter, chainName: ChainName): boolean;
|
|
15
|
+
//# sourceMappingURL=hypTokenAdapterUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hypTokenAdapterUtils.d.ts","sourceRoot":"","sources":["../../../src/token/adapters/hypTokenAdapterUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,EAAE,OAAO,GAAG,MAAM,CAAC;IACjC,QAAQ,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC;IAClC,wBAAwB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC5C,WAAW,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;CACtC;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,oBAAoB,WAQtE;AAED,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,oBAAoB,EACnC,SAAS,EAAE,SAAS,GACnB,OAAO,CAET"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { TokenConnectionType } from '../TokenConnection.js';
|
|
2
|
+
export function hasOnlyHyperlaneConnections(token) {
|
|
3
|
+
return (!!token.connections?.length &&
|
|
4
|
+
token.connections.every((connection) => !connection.type || connection.type === TokenConnectionType.Hyperlane));
|
|
5
|
+
}
|
|
6
|
+
export function hasChainMetadata(multiProvider, chainName) {
|
|
7
|
+
return !!multiProvider.tryGetChainMetadata(chainName);
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=hypTokenAdapterUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hypTokenAdapterUtils.js","sourceRoot":"","sources":["../../../src/token/adapters/hypTokenAdapterUtils.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAW5D,MAAM,UAAU,2BAA2B,CAAC,KAA2B;IACrE,OAAO,CACL,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM;QAC3B,KAAK,CAAC,WAAW,CAAC,KAAK,CACrB,CAAC,UAAU,EAAE,EAAE,CACb,CAAC,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,KAAK,mBAAmB,CAAC,SAAS,CACxE,CACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,aAAmC,EACnC,SAAoB;IAEpB,OAAO,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;AACxD,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { MultiProviderAdapter } from '../../providers/MultiProviderAdapter.js';
|
|
2
|
+
import type { IHypTokenAdapter } from './ITokenAdapter.js';
|
|
3
|
+
import { type HypTokenAdapterInput } from './hypTokenAdapterUtils.js';
|
|
4
|
+
export declare function createRadixHypAdapter(multiProvider: MultiProviderAdapter<{
|
|
5
|
+
mailbox?: string;
|
|
6
|
+
}>, token: HypTokenAdapterInput): IHypTokenAdapter<unknown> | undefined;
|
|
7
|
+
//# sourceMappingURL=radixHyp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"radixHyp.d.ts","sourceRoot":"","sources":["../../../src/token/adapters/radixHyp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAMpF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EACL,KAAK,oBAAoB,EAE1B,MAAM,2BAA2B,CAAC;AAGnC,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,oBAAoB,CAAC;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EACzD,KAAK,EAAE,oBAAoB,GAC1B,gBAAgB,CAAC,OAAO,CAAC,GAAG,SAAS,CAmBvC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { RadixHypCollateralAdapter, RadixHypSyntheticAdapter, } from './RadixTokenAdapter.js';
|
|
2
|
+
import { hasChainMetadata, } from './hypTokenAdapterUtils.js';
|
|
3
|
+
import { TokenStandard } from '../TokenStandard.js';
|
|
4
|
+
export function createRadixHypAdapter(multiProvider, token) {
|
|
5
|
+
const { standard, chainName, addressOrDenom } = token;
|
|
6
|
+
if (!standard || !hasChainMetadata(multiProvider, chainName)) {
|
|
7
|
+
return undefined;
|
|
8
|
+
}
|
|
9
|
+
switch (standard) {
|
|
10
|
+
case TokenStandard.RadixHypCollateral:
|
|
11
|
+
return new RadixHypCollateralAdapter(chainName, multiProvider, {
|
|
12
|
+
token: addressOrDenom,
|
|
13
|
+
});
|
|
14
|
+
case TokenStandard.RadixHypSynthetic:
|
|
15
|
+
return new RadixHypSyntheticAdapter(chainName, multiProvider, {
|
|
16
|
+
token: addressOrDenom,
|
|
17
|
+
});
|
|
18
|
+
default:
|
|
19
|
+
return undefined;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=radixHyp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"radixHyp.js","sourceRoot":"","sources":["../../../src/token/adapters/radixHyp.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAEL,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,UAAU,qBAAqB,CACnC,aAAyD,EACzD,KAA2B;IAE3B,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAEtD,IAAI,CAAC,QAAQ,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,SAAS,CAAC,EAAE,CAAC;QAC7D,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,aAAa,CAAC,kBAAkB;YACnC,OAAO,IAAI,yBAAyB,CAAC,SAAS,EAAE,aAAa,EAAE;gBAC7D,KAAK,EAAE,cAAc;aACtB,CAAC,CAAC;QACL,KAAK,aAAa,CAAC,iBAAiB;YAClC,OAAO,IAAI,wBAAwB,CAAC,SAAS,EAAE,aAAa,EAAE;gBAC5D,KAAK,EAAE,cAAc;aACtB,CAAC,CAAC;QACL;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { MultiProviderAdapter } from '../../providers/MultiProviderAdapter.js';
|
|
2
|
+
import type { IHypTokenAdapter } from './ITokenAdapter.js';
|
|
3
|
+
import { type HypTokenAdapterInput } from './hypTokenAdapterUtils.js';
|
|
4
|
+
export declare function createSealevelHypAdapter(multiProvider: MultiProviderAdapter<{
|
|
5
|
+
mailbox?: string;
|
|
6
|
+
}>, token: HypTokenAdapterInput): IHypTokenAdapter<unknown> | undefined;
|
|
7
|
+
//# sourceMappingURL=sealevelHyp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sealevelHyp.d.ts","sourceRoot":"","sources":["../../../src/token/adapters/sealevelHyp.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAOpF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EACL,KAAK,oBAAoB,EAE1B,MAAM,2BAA2B,CAAC;AAGnC,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,oBAAoB,CAAC;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EACzD,KAAK,EAAE,oBAAoB,GAC1B,gBAAgB,CAAC,OAAO,CAAC,GAAG,SAAS,CA0CvC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { assert } from '@hyperlane-xyz/utils';
|
|
2
|
+
import { SealevelHypCollateralAdapter, SealevelHypNativeAdapter, SealevelHypSyntheticAdapter, } from './SealevelTokenAdapter.js';
|
|
3
|
+
import { hasChainMetadata, } from './hypTokenAdapterUtils.js';
|
|
4
|
+
import { TokenStandard } from '../TokenStandard.js';
|
|
5
|
+
export function createSealevelHypAdapter(multiProvider, token) {
|
|
6
|
+
const { standard, chainName, addressOrDenom, collateralAddressOrDenom } = token;
|
|
7
|
+
if (!standard || !hasChainMetadata(multiProvider, chainName)) {
|
|
8
|
+
return undefined;
|
|
9
|
+
}
|
|
10
|
+
const mailbox = multiProvider.getChainMetadata(chainName).mailbox;
|
|
11
|
+
switch (standard) {
|
|
12
|
+
case TokenStandard.SealevelHypNative:
|
|
13
|
+
assert(mailbox, 'Mailbox required for Sealevel hyp tokens');
|
|
14
|
+
return new SealevelHypNativeAdapter(chainName, multiProvider, {
|
|
15
|
+
warpRouter: addressOrDenom,
|
|
16
|
+
mailbox,
|
|
17
|
+
});
|
|
18
|
+
case TokenStandard.SealevelHypCollateral:
|
|
19
|
+
assert(mailbox, 'Mailbox required for Sealevel hyp tokens');
|
|
20
|
+
assert(collateralAddressOrDenom, 'collateralAddressOrDenom required for Sealevel hyp collateral tokens');
|
|
21
|
+
return new SealevelHypCollateralAdapter(chainName, multiProvider, {
|
|
22
|
+
warpRouter: addressOrDenom,
|
|
23
|
+
token: collateralAddressOrDenom,
|
|
24
|
+
mailbox,
|
|
25
|
+
});
|
|
26
|
+
case TokenStandard.SealevelHypSynthetic:
|
|
27
|
+
assert(mailbox, 'Mailbox required for Sealevel hyp tokens');
|
|
28
|
+
assert(collateralAddressOrDenom, 'collateralAddressOrDenom required for Sealevel hyp synthetic tokens');
|
|
29
|
+
return new SealevelHypSyntheticAdapter(chainName, multiProvider, {
|
|
30
|
+
warpRouter: addressOrDenom,
|
|
31
|
+
token: collateralAddressOrDenom,
|
|
32
|
+
mailbox,
|
|
33
|
+
});
|
|
34
|
+
default:
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=sealevelHyp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sealevelHyp.js","sourceRoot":"","sources":["../../../src/token/adapters/sealevelHyp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAI9C,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAEL,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,UAAU,wBAAwB,CACtC,aAAyD,EACzD,KAA2B;IAE3B,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,wBAAwB,EAAE,GACrE,KAAK,CAAC;IAER,IAAI,CAAC,QAAQ,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,SAAS,CAAC,EAAE,CAAC;QAC7D,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,OAAO,GAAG,aAAa,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;IAElE,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,aAAa,CAAC,iBAAiB;YAClC,MAAM,CAAC,OAAO,EAAE,0CAA0C,CAAC,CAAC;YAC5D,OAAO,IAAI,wBAAwB,CAAC,SAAS,EAAE,aAAa,EAAE;gBAC5D,UAAU,EAAE,cAAc;gBAC1B,OAAO;aACR,CAAC,CAAC;QACL,KAAK,aAAa,CAAC,qBAAqB;YACtC,MAAM,CAAC,OAAO,EAAE,0CAA0C,CAAC,CAAC;YAC5D,MAAM,CACJ,wBAAwB,EACxB,sEAAsE,CACvE,CAAC;YACF,OAAO,IAAI,4BAA4B,CAAC,SAAS,EAAE,aAAa,EAAE;gBAChE,UAAU,EAAE,cAAc;gBAC1B,KAAK,EAAE,wBAAwB;gBAC/B,OAAO;aACR,CAAC,CAAC;QACL,KAAK,aAAa,CAAC,oBAAoB;YACrC,MAAM,CAAC,OAAO,EAAE,0CAA0C,CAAC,CAAC;YAC5D,MAAM,CACJ,wBAAwB,EACxB,qEAAqE,CACtE,CAAC;YACF,OAAO,IAAI,2BAA2B,CAAC,SAAS,EAAE,aAAa,EAAE;gBAC/D,UAAU,EAAE,cAAc;gBAC1B,KAAK,EAAE,wBAAwB;gBAC/B,OAAO;aACR,CAAC,CAAC;QACL;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { MultiProviderAdapter } from '../../providers/MultiProviderAdapter.js';
|
|
2
|
+
import type { IHypTokenAdapter } from './ITokenAdapter.js';
|
|
3
|
+
import { type HypTokenAdapterInput } from './hypTokenAdapterUtils.js';
|
|
4
|
+
export declare function createStarknetHypAdapter(multiProvider: MultiProviderAdapter<{
|
|
5
|
+
mailbox?: string;
|
|
6
|
+
}>, token: HypTokenAdapterInput): IHypTokenAdapter<unknown> | undefined;
|
|
7
|
+
//# sourceMappingURL=starknetHyp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"starknetHyp.d.ts","sourceRoot":"","sources":["../../../src/token/adapters/starknetHyp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AASpF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EACL,KAAK,oBAAoB,EAE1B,MAAM,2BAA2B,CAAC;AAGnC,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,oBAAoB,CAAC;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EACzD,KAAK,EAAE,oBAAoB,GAC1B,gBAAgB,CAAC,OAAO,CAAC,GAAG,SAAS,CAkCvC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { isStarknetFeeToken } from '../../utils/starknet.js';
|
|
2
|
+
import { StarknetHypCollateralAdapter, StarknetHypFeeAdapter, StarknetHypNativeAdapter, StarknetHypSyntheticAdapter, } from './StarknetTokenAdapter.js';
|
|
3
|
+
import { hasChainMetadata, } from './hypTokenAdapterUtils.js';
|
|
4
|
+
import { TokenStandard } from '../TokenStandard.js';
|
|
5
|
+
export function createStarknetHypAdapter(multiProvider, token) {
|
|
6
|
+
const { standard, chainName, addressOrDenom } = token;
|
|
7
|
+
if (!standard || !hasChainMetadata(multiProvider, chainName)) {
|
|
8
|
+
return undefined;
|
|
9
|
+
}
|
|
10
|
+
if (isStarknetFeeToken(chainName, addressOrDenom) &&
|
|
11
|
+
(standard === TokenStandard.StarknetHypNative ||
|
|
12
|
+
standard === TokenStandard.StarknetHypSynthetic ||
|
|
13
|
+
standard === TokenStandard.StarknetHypCollateral)) {
|
|
14
|
+
return new StarknetHypFeeAdapter(chainName, multiProvider, {
|
|
15
|
+
warpRouter: addressOrDenom,
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
switch (standard) {
|
|
19
|
+
case TokenStandard.StarknetHypNative:
|
|
20
|
+
return new StarknetHypNativeAdapter(chainName, multiProvider, {
|
|
21
|
+
warpRouter: addressOrDenom,
|
|
22
|
+
});
|
|
23
|
+
case TokenStandard.StarknetHypSynthetic:
|
|
24
|
+
return new StarknetHypSyntheticAdapter(chainName, multiProvider, {
|
|
25
|
+
warpRouter: addressOrDenom,
|
|
26
|
+
});
|
|
27
|
+
case TokenStandard.StarknetHypCollateral:
|
|
28
|
+
return new StarknetHypCollateralAdapter(chainName, multiProvider, {
|
|
29
|
+
warpRouter: addressOrDenom,
|
|
30
|
+
});
|
|
31
|
+
default:
|
|
32
|
+
return undefined;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=starknetHyp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"starknetHyp.js","sourceRoot":"","sources":["../../../src/token/adapters/starknetHyp.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EACL,4BAA4B,EAC5B,qBAAqB,EACrB,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAEL,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,UAAU,wBAAwB,CACtC,aAAyD,EACzD,KAA2B;IAE3B,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAEtD,IAAI,CAAC,QAAQ,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,SAAS,CAAC,EAAE,CAAC;QAC7D,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IACE,kBAAkB,CAAC,SAAS,EAAE,cAAc,CAAC;QAC7C,CAAC,QAAQ,KAAK,aAAa,CAAC,iBAAiB;YAC3C,QAAQ,KAAK,aAAa,CAAC,oBAAoB;YAC/C,QAAQ,KAAK,aAAa,CAAC,qBAAqB,CAAC,EACnD,CAAC;QACD,OAAO,IAAI,qBAAqB,CAAC,SAAS,EAAE,aAAa,EAAE;YACzD,UAAU,EAAE,cAAc;SAC3B,CAAC,CAAC;IACL,CAAC;IAED,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,aAAa,CAAC,iBAAiB;YAClC,OAAO,IAAI,wBAAwB,CAAC,SAAS,EAAE,aAAa,EAAE;gBAC5D,UAAU,EAAE,cAAc;aAC3B,CAAC,CAAC;QACL,KAAK,aAAa,CAAC,oBAAoB;YACrC,OAAO,IAAI,2BAA2B,CAAC,SAAS,EAAE,aAAa,EAAE;gBAC/D,UAAU,EAAE,cAAc;aAC3B,CAAC,CAAC;QACL,KAAK,aAAa,CAAC,qBAAqB;YACtC,OAAO,IAAI,4BAA4B,CAAC,SAAS,EAAE,aAAa,EAAE;gBAChE,UAAU,EAAE,cAAc;aAC3B,CAAC,CAAC;QACL;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { IHypTokenAdapter } from './ITokenAdapter.js';
|
|
2
|
+
import type { HypTokenAdapterInput } from './hypTokenAdapterUtils.js';
|
|
3
|
+
import type { MultiProviderAdapter } from '../../providers/MultiProviderAdapter.js';
|
|
4
|
+
export declare function createTronHypAdapter(multiProvider: MultiProviderAdapter<{
|
|
5
|
+
mailbox?: string;
|
|
6
|
+
}>, token: HypTokenAdapterInput): IHypTokenAdapter<unknown> | undefined;
|
|
7
|
+
//# sourceMappingURL=tronHyp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tronHyp.d.ts","sourceRoot":"","sources":["../../../src/token/adapters/tronHyp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAGpF,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,oBAAoB,CAAC;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EACzD,KAAK,EAAE,oBAAoB,GAC1B,gBAAgB,CAAC,OAAO,CAAC,GAAG,SAAS,CAmBvC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { createEvmLikeHypAdapter } from './evmLikeHyp.js';
|
|
2
|
+
import { TokenStandard } from '../TokenStandard.js';
|
|
3
|
+
export function createTronHypAdapter(multiProvider, token) {
|
|
4
|
+
return createEvmLikeHypAdapter(multiProvider, token, {
|
|
5
|
+
native: TokenStandard.TronNative,
|
|
6
|
+
hypNative: TokenStandard.TronHypNative,
|
|
7
|
+
hypCollateral: [
|
|
8
|
+
TokenStandard.TronHypCollateral,
|
|
9
|
+
TokenStandard.TronHypOwnerCollateral,
|
|
10
|
+
],
|
|
11
|
+
hypCrossCollateralRouter: TokenStandard.TronHypCrossCollateralRouter,
|
|
12
|
+
hypRebaseCollateral: TokenStandard.TronHypRebaseCollateral,
|
|
13
|
+
hypCollateralFiat: TokenStandard.TronHypCollateralFiat,
|
|
14
|
+
hypSynthetic: TokenStandard.TronHypSynthetic,
|
|
15
|
+
hypSyntheticRebase: TokenStandard.TronHypSyntheticRebase,
|
|
16
|
+
hypXerc20: [TokenStandard.TronHypXERC20, TokenStandard.TronHypVSXERC20],
|
|
17
|
+
hypXerc20Lockbox: [
|
|
18
|
+
TokenStandard.TronHypXERC20Lockbox,
|
|
19
|
+
TokenStandard.TronHypVSXERC20Lockbox,
|
|
20
|
+
],
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=tronHyp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tronHyp.js","sourceRoot":"","sources":["../../../src/token/adapters/tronHyp.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,UAAU,oBAAoB,CAClC,aAAyD,EACzD,KAA2B;IAE3B,OAAO,uBAAuB,CAAC,aAAa,EAAE,KAAK,EAAE;QACnD,MAAM,EAAE,aAAa,CAAC,UAAU;QAChC,SAAS,EAAE,aAAa,CAAC,aAAa;QACtC,aAAa,EAAE;YACb,aAAa,CAAC,iBAAiB;YAC/B,aAAa,CAAC,sBAAsB;SACrC;QACD,wBAAwB,EAAE,aAAa,CAAC,4BAA4B;QACpE,mBAAmB,EAAE,aAAa,CAAC,uBAAuB;QAC1D,iBAAiB,EAAE,aAAa,CAAC,qBAAqB;QACtD,YAAY,EAAE,aAAa,CAAC,gBAAgB;QAC5C,kBAAkB,EAAE,aAAa,CAAC,sBAAsB;QACxD,SAAS,EAAE,CAAC,aAAa,CAAC,aAAa,EAAE,aAAa,CAAC,eAAe,CAAC;QACvE,gBAAgB,EAAE;YAChB,aAAa,CAAC,oBAAoB;YAClC,aAAa,CAAC,sBAAsB;SACrC;KACF,CAAC,CAAC;AACL,CAAC"}
|
package/dist/utils/cosmos.d.ts
CHANGED
|
@@ -645,7 +645,7 @@ export declare const CosmosChainSchema: z.ZodObject<{
|
|
|
645
645
|
extra_codecs: z.ZodOptional<z.ZodArray<z.ZodEnum<["ethermint", "injective"]>, "many">>;
|
|
646
646
|
}, "strip", z.ZodTypeAny, {
|
|
647
647
|
chain_name: string;
|
|
648
|
-
chain_type: "starknet" | "unknown" | "eip155" | "cosmos" | "bip122" | "polkadot" | "solana" | "algorand" | "
|
|
648
|
+
chain_type: "starknet" | "unknown" | "arweave" | "eip155" | "cosmos" | "bip122" | "polkadot" | "solana" | "algorand" | "ergo" | "fil" | "hedera" | "monero" | "reef" | "stacks" | "stellar" | "tezos" | "vechain" | "waves" | "xrpl";
|
|
649
649
|
status?: "live" | "upcoming" | "killed" | undefined;
|
|
650
650
|
fees?: {
|
|
651
651
|
fee_tokens: {
|
|
@@ -803,7 +803,7 @@ export declare const CosmosChainSchema: z.ZodObject<{
|
|
|
803
803
|
extra_codecs?: ("ethermint" | "injective")[] | undefined;
|
|
804
804
|
}, {
|
|
805
805
|
chain_name: string;
|
|
806
|
-
chain_type: "starknet" | "unknown" | "eip155" | "cosmos" | "bip122" | "polkadot" | "solana" | "algorand" | "
|
|
806
|
+
chain_type: "starknet" | "unknown" | "arweave" | "eip155" | "cosmos" | "bip122" | "polkadot" | "solana" | "algorand" | "ergo" | "fil" | "hedera" | "monero" | "reef" | "stacks" | "stellar" | "tezos" | "vechain" | "waves" | "xrpl";
|
|
807
807
|
status?: "live" | "upcoming" | "killed" | undefined;
|
|
808
808
|
fees?: {
|
|
809
809
|
fee_tokens: {
|
|
@@ -962,7 +962,7 @@ export declare const CosmosChainSchema: z.ZodObject<{
|
|
|
962
962
|
}>;
|
|
963
963
|
export declare function getCosmosRegistryChain(chain: string): Promise<{
|
|
964
964
|
chain_name: string;
|
|
965
|
-
chain_type: "starknet" | "unknown" | "eip155" | "cosmos" | "bip122" | "polkadot" | "solana" | "algorand" | "
|
|
965
|
+
chain_type: "starknet" | "unknown" | "arweave" | "eip155" | "cosmos" | "bip122" | "polkadot" | "solana" | "algorand" | "ergo" | "fil" | "hedera" | "monero" | "reef" | "stacks" | "stellar" | "tezos" | "vechain" | "waves" | "xrpl";
|
|
966
966
|
status?: "live" | "upcoming" | "killed" | undefined;
|
|
967
967
|
fees?: {
|
|
968
968
|
fee_tokens: {
|
package/dist/utils/decimals.d.ts
CHANGED
|
@@ -15,10 +15,18 @@ export type NormalizedScale = {
|
|
|
15
15
|
*/
|
|
16
16
|
export type ScaleInput = TokenMetadata['scale'];
|
|
17
17
|
export declare const DEFAULT_SCALE: NormalizedScale;
|
|
18
|
+
export type ScaleAlignment = {
|
|
19
|
+
localAmount: bigint;
|
|
20
|
+
messageAmount: bigint;
|
|
21
|
+
};
|
|
18
22
|
/**
|
|
19
23
|
* Converts any accepted scale variant to NormalizedScale (bigint).
|
|
20
24
|
*/
|
|
21
25
|
export declare function normalizeScale(scale: ScaleInput | undefined): NormalizedScale;
|
|
26
|
+
export declare function messageAmountFromLocal(localAmount: bigint, scale: ScaleInput | undefined): bigint;
|
|
27
|
+
export declare function localAmountFromMessage(messageAmount: bigint, scale: ScaleInput | undefined): bigint;
|
|
28
|
+
export declare function minLocalAmountForMessage(messageAmount: bigint, scale: ScaleInput | undefined): bigint;
|
|
29
|
+
export declare function alignLocalAmountToMessage(localAmount: bigint, scale: ScaleInput | undefined): ScaleAlignment;
|
|
22
30
|
/**
|
|
23
31
|
* Compares two scale values for equality without precision loss.
|
|
24
32
|
* Accepts any scale variant (number, {number,number}, {bigint,bigint}, undefined).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decimals.d.ts","sourceRoot":"","sources":["../../src/utils/decimals.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EACb,oCAAoC,EACrC,MAAM,mBAAmB,CAAC;AAG3B;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzE;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;AAEhD,eAAO,MAAM,aAAa,EAAE,eAG3B,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,GAAG,eAAe,CAS7E;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,CAAC,EAAE,UAAU,GAAG,SAAS,EACzB,CAAC,EAAE,UAAU,GAAG,SAAS,GACxB,OAAO,CAIT;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CACzB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,oCAAoC,GAC3E,OAAO,CA4CT"}
|
|
1
|
+
{"version":3,"file":"decimals.d.ts","sourceRoot":"","sources":["../../src/utils/decimals.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EACb,oCAAoC,EACrC,MAAM,mBAAmB,CAAC;AAG3B;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzE;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;AAEhD,eAAO,MAAM,aAAa,EAAE,eAG3B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,GAAG,eAAe,CAS7E;AAgBD,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,UAAU,GAAG,SAAS,GAC5B,MAAM,CAKR;AAED,wBAAgB,sBAAsB,CACpC,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,UAAU,GAAG,SAAS,GAC5B,MAAM,CAKR;AAED,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,UAAU,GAAG,SAAS,GAC5B,MAAM,CAKR;AAED,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,UAAU,GAAG,SAAS,GAC5B,cAAc,CAchB;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,CAAC,EAAE,UAAU,GAAG,SAAS,EACzB,CAAC,EAAE,UAAU,GAAG,SAAS,GACxB,OAAO,CAIT;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CACzB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,oCAAoC,GAC3E,OAAO,CA4CT"}
|
package/dist/utils/decimals.js
CHANGED
|
@@ -17,6 +17,48 @@ export function normalizeScale(scale) {
|
|
|
17
17
|
denominator: BigInt(scale.denominator),
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
|
+
function assertValidScale(scale) {
|
|
21
|
+
assert(scale.numerator > 0n && scale.denominator > 0n, `Scale must be positive, got ${scale.numerator}/${scale.denominator}`);
|
|
22
|
+
}
|
|
23
|
+
function ceilDiv(numerator, denominator) {
|
|
24
|
+
assert(denominator > 0n, 'Denominator must be positive');
|
|
25
|
+
assert(numerator >= 0n, 'Numerator must be non-negative');
|
|
26
|
+
if (numerator === 0n)
|
|
27
|
+
return 0n;
|
|
28
|
+
return (numerator + denominator - 1n) / denominator;
|
|
29
|
+
}
|
|
30
|
+
export function messageAmountFromLocal(localAmount, scale) {
|
|
31
|
+
assert(localAmount >= 0n, 'Local amount must be non-negative');
|
|
32
|
+
const normalized = normalizeScale(scale);
|
|
33
|
+
assertValidScale(normalized);
|
|
34
|
+
return (localAmount * normalized.numerator) / normalized.denominator;
|
|
35
|
+
}
|
|
36
|
+
export function localAmountFromMessage(messageAmount, scale) {
|
|
37
|
+
assert(messageAmount >= 0n, 'Message amount must be non-negative');
|
|
38
|
+
const normalized = normalizeScale(scale);
|
|
39
|
+
assertValidScale(normalized);
|
|
40
|
+
return (messageAmount * normalized.denominator) / normalized.numerator;
|
|
41
|
+
}
|
|
42
|
+
export function minLocalAmountForMessage(messageAmount, scale) {
|
|
43
|
+
assert(messageAmount >= 0n, 'Message amount must be non-negative');
|
|
44
|
+
const normalized = normalizeScale(scale);
|
|
45
|
+
assertValidScale(normalized);
|
|
46
|
+
return ceilDiv(messageAmount * normalized.denominator, normalized.numerator);
|
|
47
|
+
}
|
|
48
|
+
export function alignLocalAmountToMessage(localAmount, scale) {
|
|
49
|
+
assert(localAmount >= 0n, 'Local amount must be non-negative');
|
|
50
|
+
const messageAmount = messageAmountFromLocal(localAmount, scale);
|
|
51
|
+
if (messageAmount === 0n) {
|
|
52
|
+
return {
|
|
53
|
+
localAmount: 0n,
|
|
54
|
+
messageAmount: 0n,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
return {
|
|
58
|
+
localAmount: minLocalAmountForMessage(messageAmount, scale),
|
|
59
|
+
messageAmount,
|
|
60
|
+
};
|
|
61
|
+
}
|
|
20
62
|
/**
|
|
21
63
|
* Compares two scale values for equality without precision loss.
|
|
22
64
|
* Accepts any scale variant (number, {number,number}, {bigint,bigint}, undefined).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decimals.js","sourceRoot":"","sources":["../../src/utils/decimals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAsBtD,MAAM,CAAC,MAAM,aAAa,GAAoB;IAC5C,SAAS,EAAE,EAAE;IACb,WAAW,EAAE,EAAE;CAChB,CAAC;
|
|
1
|
+
{"version":3,"file":"decimals.js","sourceRoot":"","sources":["../../src/utils/decimals.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { assert, expect } from 'chai';
|
|
2
2
|
import { randomAddress } from '../test/testUtils.js';
|
|
3
3
|
import { TokenType } from '../token/config.js';
|
|
4
|
-
import { normalizeScale, scalesEqual, verifyScale } from './decimals.js';
|
|
4
|
+
import { alignLocalAmountToMessage, localAmountFromMessage, messageAmountFromLocal, minLocalAmountForMessage, normalizeScale, scalesEqual, verifyScale, } from './decimals.js';
|
|
5
5
|
describe(normalizeScale.name, () => {
|
|
6
6
|
it('should normalize undefined to DEFAULT_SCALE', () => {
|
|
7
7
|
const result = normalizeScale(undefined);
|
|
@@ -57,6 +57,57 @@ describe(scalesEqual.name, () => {
|
|
|
57
57
|
expect(scalesEqual(large, slightlyDifferent)).to.be.false;
|
|
58
58
|
});
|
|
59
59
|
});
|
|
60
|
+
describe('scale conversion helpers', () => {
|
|
61
|
+
it('converts local amount to message amount using floor rounding', () => {
|
|
62
|
+
expect(messageAmountFromLocal(5n, { numerator: 1n, denominator: 3n })).to.equal(1n);
|
|
63
|
+
expect(messageAmountFromLocal(2n, { numerator: 3n, denominator: 2n })).to.equal(3n);
|
|
64
|
+
});
|
|
65
|
+
it('converts message amount to local amount using inbound floor rounding', () => {
|
|
66
|
+
expect(localAmountFromMessage(7n, { numerator: 3n, denominator: 2n })).to.equal(4n);
|
|
67
|
+
expect(localAmountFromMessage(1n, { numerator: 1n, denominator: 3n })).to.equal(3n);
|
|
68
|
+
});
|
|
69
|
+
it('computes the minimum local amount needed to reach a message amount', () => {
|
|
70
|
+
expect(minLocalAmountForMessage(7n, { numerator: 3n, denominator: 2n })).to.equal(5n);
|
|
71
|
+
expect(minLocalAmountForMessage(2n, { numerator: 1n, denominator: 3n })).to.equal(6n);
|
|
72
|
+
});
|
|
73
|
+
it('rejects negative message amounts for ceil local conversion', () => {
|
|
74
|
+
expect(() => minLocalAmountForMessage(-1n, { numerator: 1n, denominator: 3n })).to.throw('Message amount must be non-negative');
|
|
75
|
+
});
|
|
76
|
+
it('aligns local amounts to exact message progress without leaking local dust', () => {
|
|
77
|
+
expect(alignLocalAmountToMessage(5n, { numerator: 1n, denominator: 3n })).to.deep.equal({
|
|
78
|
+
localAmount: 3n,
|
|
79
|
+
messageAmount: 1n,
|
|
80
|
+
});
|
|
81
|
+
expect(alignLocalAmountToMessage(5n, { numerator: 3n, denominator: 2n })).to.deep.equal({
|
|
82
|
+
localAmount: 5n,
|
|
83
|
+
messageAmount: 7n,
|
|
84
|
+
});
|
|
85
|
+
expect(alignLocalAmountToMessage(999999999999n, {
|
|
86
|
+
numerator: 1n,
|
|
87
|
+
denominator: 1000000000000n,
|
|
88
|
+
})).to.deep.equal({
|
|
89
|
+
localAmount: 0n,
|
|
90
|
+
messageAmount: 0n,
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
it('rejects negative local amounts for alignment', () => {
|
|
94
|
+
expect(() => alignLocalAmountToMessage(-1n, { numerator: 1n, denominator: 3n })).to.throw('Local amount must be non-negative');
|
|
95
|
+
});
|
|
96
|
+
it('returns identity for undefined scale', () => {
|
|
97
|
+
expect(messageAmountFromLocal(42n, undefined)).to.equal(42n);
|
|
98
|
+
expect(localAmountFromMessage(42n, undefined)).to.equal(42n);
|
|
99
|
+
});
|
|
100
|
+
it('handles zero amounts', () => {
|
|
101
|
+
expect(messageAmountFromLocal(0n, { numerator: 1n, denominator: 3n })).to.equal(0n);
|
|
102
|
+
expect(localAmountFromMessage(0n, { numerator: 3n, denominator: 2n })).to.equal(0n);
|
|
103
|
+
});
|
|
104
|
+
it('round-trips exact-divisible amounts', () => {
|
|
105
|
+
const scale = { numerator: 3n, denominator: 2n };
|
|
106
|
+
const local = 6n;
|
|
107
|
+
const message = messageAmountFromLocal(local, scale);
|
|
108
|
+
expect(localAmountFromMessage(message, scale)).to.equal(local);
|
|
109
|
+
});
|
|
110
|
+
});
|
|
60
111
|
describe(verifyScale.name, () => {
|
|
61
112
|
const TOKEN_NAME = 'TOKEN';
|
|
62
113
|
const ETH_DECIMALS = 18;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decimals.test.js","sourceRoot":"","sources":["../../src/utils/decimals.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"decimals.test.js","sourceRoot":"","sources":["../../src/utils/decimals.test.ts"],"names":[],"mappings":"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"}
|