@moonbeam-network/xcm-types 3.2.8 → 4.0.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/build/index.d.ts +6 -2
- package/build/index.mjs.map +1 -1
- package/package.json +4 -3
package/build/index.d.ts
CHANGED
|
@@ -157,18 +157,22 @@ interface WormholeConfig {
|
|
|
157
157
|
interface ChainConstructorParams {
|
|
158
158
|
assets: Map<string, ChainAsset> | ChainAsset[];
|
|
159
159
|
ecosystem?: Ecosystem;
|
|
160
|
-
explorer?:
|
|
160
|
+
explorer?: Explorer;
|
|
161
161
|
isTestChain?: boolean;
|
|
162
162
|
key: string;
|
|
163
163
|
name: string;
|
|
164
164
|
nativeAsset: Asset;
|
|
165
165
|
wh?: WormholeConfig;
|
|
166
166
|
}
|
|
167
|
+
interface Explorer {
|
|
168
|
+
base: string;
|
|
169
|
+
txPath?: string;
|
|
170
|
+
}
|
|
167
171
|
declare abstract class Chain {
|
|
168
172
|
#private;
|
|
169
173
|
readonly assets: Map<string, ChainAsset>;
|
|
170
174
|
readonly ecosystem?: Ecosystem;
|
|
171
|
-
readonly explorer?:
|
|
175
|
+
readonly explorer?: Explorer;
|
|
172
176
|
readonly isTestChain: boolean;
|
|
173
177
|
readonly key: string;
|
|
174
178
|
readonly name: string;
|
package/build/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/asset/Asset.ts","../src/asset/AssetAmount.ts","../src/asset/ChainAsset.ts","../src/chain/Chain.ts","../src/chain/Chain.interfaces.ts","../src/chain/Chain.utils.ts","../src/chain/EvmChain.ts","../src/chain/parachain/Parachain.ts","../src/chain/parachain/EvmParachain.ts"],"sourcesContent":["export interface AssetConstructorParams {\n key: string;\n originSymbol: string;\n}\n\nexport class Asset {\n readonly key: string;\n\n readonly originSymbol: string;\n\n constructor({ key, originSymbol }: AssetConstructorParams) {\n this.key = key;\n this.originSymbol = originSymbol;\n }\n\n copyWith(params: Partial<AssetConstructorParams>): Asset {\n return new Asset({\n ...this,\n ...params,\n });\n }\n\n isEqual(asset: Asset): boolean {\n return this.key === asset.key && this.originSymbol === asset.originSymbol;\n }\n}\n","import {\n convertDecimals,\n toBigInt,\n toDecimal,\n} from '@moonbeam-network/xcm-utils';\nimport Big, { type RoundingMode } from 'big.js';\nimport { ChainAsset, type ChainAssetConstructorParams } from './ChainAsset';\n\nBig.NE = -18;\n\nexport interface AssetAmountConstructorParams\n extends ChainAssetConstructorParams {\n amount: number | bigint;\n decimals: number;\n symbol?: string;\n}\n\nexport class AssetAmount extends ChainAsset {\n readonly amount: bigint;\n\n constructor({ amount, ...other }: AssetAmountConstructorParams) {\n super(other);\n\n this.amount = toBigInt(amount, other.decimals);\n }\n\n static fromChainAsset(\n asset: ChainAsset,\n params: Omit<\n AssetAmountConstructorParams,\n keyof ChainAssetConstructorParams\n >,\n ): AssetAmount {\n return new AssetAmount({\n ...asset,\n ...params,\n });\n }\n\n isSame(asset: ChainAsset | AssetAmount): boolean {\n return super.isEqual(asset) && this.decimals === asset.decimals;\n }\n\n isEqual(asset: AssetAmount): boolean {\n return this.isSame(asset) && this.amount === asset.amount;\n }\n\n copyWith(params: Partial<AssetAmountConstructorParams>): AssetAmount {\n return new AssetAmount({\n ...this,\n ...params,\n });\n }\n\n convertDecimals(decimals: number): AssetAmount {\n if (this.decimals === decimals) {\n return this.copyWith({});\n }\n\n return this.copyWith({\n amount: convertDecimals(this.amount, this.decimals, decimals),\n decimals,\n });\n }\n\n toBig(): Big {\n return Big(this.amount.toString());\n }\n\n toBigDecimal(maxDecimal?: number, roundType?: RoundingMode): Big {\n return Big(this.toDecimal(maxDecimal, roundType));\n }\n\n toDecimal(maxDecimal?: number, roundType?: RoundingMode): string {\n return toDecimal(this.amount, this.decimals, maxDecimal, roundType);\n }\n}\n","import { toBigInt } from '@moonbeam-network/xcm-utils';\nimport { Asset, type AssetConstructorParams } from './Asset';\n\nexport interface ChainAssetConstructorParams extends AssetConstructorParams {\n address?: string;\n decimals: number;\n ids?: ChainAssetIds;\n min?: number | bigint;\n symbol?: string;\n}\n\nexport interface ChainAssetIds {\n balanceId?: ChainAssetId;\n id?: ChainAssetId;\n minId?: ChainAssetId;\n palletInstance?: number;\n generalKey?: GeneralKey;\n}\n\nexport type ChainAssetId =\n | string\n | number\n | bigint\n | { [key: string]: ChainAssetId };\n\nexport interface GeneralKey {\n length: number;\n data: string;\n}\n\nexport class ChainAsset extends Asset {\n readonly address?: string;\n\n readonly decimals: number;\n\n readonly ids?: ChainAssetIds;\n\n readonly min?: bigint;\n\n readonly symbol?: string;\n\n constructor({\n address,\n decimals,\n ids,\n min,\n symbol,\n ...other\n }: ChainAssetConstructorParams) {\n super(other);\n\n this.address = address;\n this.decimals = decimals;\n this.ids = ids;\n this.min = min ? toBigInt(min, decimals) : undefined;\n this.symbol = symbol;\n }\n\n static fromAsset(\n asset: Asset,\n params: Omit<ChainAssetConstructorParams, keyof AssetConstructorParams>,\n ): ChainAsset {\n return new ChainAsset({\n ...asset,\n ...params,\n });\n }\n\n copyWith(params: Partial<ChainAssetConstructorParams>): ChainAsset {\n return new ChainAsset({\n ...this,\n ...params,\n });\n }\n\n getSymbol(): string {\n return this.symbol || this.originSymbol;\n }\n\n getAssetId(): ChainAssetId {\n return this.ids?.id ?? this.originSymbol;\n }\n\n getAssetRegisteredId(): ChainAssetId | undefined {\n return this.ids?.id;\n }\n\n getBalanceAssetId(): ChainAssetId {\n return this.ids?.balanceId ?? this.getAssetId();\n }\n\n getMinAssetId(): ChainAssetId {\n return this.ids?.minId ?? this.getAssetId();\n }\n\n getAssetPalletInstance(): number {\n if (!this.ids?.palletInstance) {\n throw new Error(\n `Pallet instance is not defined for ${this.originSymbol}`,\n );\n }\n\n return this.ids?.palletInstance;\n }\n\n getAssetMin(): bigint {\n return this.min ?? 0n;\n }\n\n getGeneralKey(): GeneralKey | undefined {\n return this.ids?.generalKey;\n }\n\n hasOnlyAddress(): this is { address: string } {\n return !!this.address && !this.ids?.id;\n }\n}\n","import type { Chain as WhChain } from '@wormhole-foundation/sdk-connect';\nimport type { Asset, AssetAmount, ChainAsset } from '../asset';\nimport type { Ecosystem, WormholeConfig } from './Chain.interfaces';\n\nexport interface ChainConstructorParams {\n assets: Map<string, ChainAsset> | ChainAsset[];\n ecosystem?: Ecosystem;\n explorer?: string;\n isTestChain?: boolean;\n key: string;\n name: string;\n nativeAsset: Asset;\n wh?: WormholeConfig;\n}\n\nexport abstract class Chain {\n readonly assets: Map<string, ChainAsset>;\n\n readonly ecosystem?: Ecosystem;\n\n readonly explorer?: string;\n\n readonly isTestChain: boolean;\n\n readonly key: string;\n\n readonly name: string;\n\n readonly #nativeAsset: Asset;\n\n readonly wh?: WormholeConfig;\n\n constructor({\n assets,\n ecosystem,\n explorer,\n isTestChain = false,\n key,\n name,\n nativeAsset,\n wh,\n }: ChainConstructorParams) {\n this.assets =\n assets instanceof Map\n ? assets\n : new Map(assets?.map((data) => [data.key, data]));\n this.ecosystem = ecosystem;\n this.explorer = explorer;\n this.isTestChain = isTestChain;\n this.key = key;\n this.name = name;\n this.#nativeAsset = nativeAsset;\n this.wh = wh;\n }\n\n get nativeAsset(): ChainAsset {\n return this.getChainAsset(this.#nativeAsset);\n }\n\n isEqual<T extends Chain>(chain: T): boolean {\n return this.key === chain.key;\n }\n\n getChainAsset(keyOrAsset: string | Asset | AssetAmount): ChainAsset {\n const key = typeof keyOrAsset === 'string' ? keyOrAsset : keyOrAsset.key;\n const chainAsset = this.assets.get(key);\n\n if (!chainAsset) {\n throw new Error(\n `No ChainAsset found by the key ${key} for chain ${this.name} (${this.key})`,\n );\n }\n\n return chainAsset;\n }\n\n getWormholeName(): WhChain {\n if (!this.wh?.name) {\n throw new Error(`Chain ${this.name} does not have a wormhole name`);\n }\n\n return this.wh.name;\n }\n}\n","import type { Chain } from '@wormhole-foundation/sdk-connect';\nimport type { EvmChain } from './EvmChain';\nimport type { EvmParachain, Parachain } from './parachain';\n\nexport type AnyChain = EvmChain | Parachain | EvmParachain;\nexport type AnyParachain = Parachain | EvmParachain;\n\nexport enum Ecosystem {\n Polkadot = 'polkadot',\n Kusama = 'kusama',\n AlphanetRelay = 'alphanet-relay',\n StagenetRelay = 'stagenet-relay',\n}\n\nexport interface WormholeConfig {\n name?: Chain;\n}\n","import { type Chain, defineChain } from 'viem';\nimport type { ChainAsset } from '../asset';\n\ninterface GetViemChainParams {\n id: number;\n name: string;\n nativeAsset: ChainAsset;\n rpc: string;\n}\n\nexport function getViemChain({\n id,\n name,\n nativeAsset,\n rpc,\n}: GetViemChainParams): Chain {\n return defineChain({\n id,\n name,\n nativeCurrency: {\n decimals: nativeAsset.decimals,\n name: nativeAsset.originSymbol,\n symbol: nativeAsset.originSymbol,\n },\n rpcUrls: {\n default: {\n http: [rpc],\n },\n },\n });\n}\n","import type { Chain as ViemChain } from 'viem';\nimport { Chain, type ChainConstructorParams } from './Chain';\nimport { getViemChain } from './Chain.utils';\n\nexport interface EvmChainConstructorParams extends ChainConstructorParams {\n id: number;\n rpc: string;\n}\n\nexport class EvmChain extends Chain {\n readonly id: number;\n\n readonly rpc: string;\n\n static is(obj: unknown): obj is EvmChain {\n return obj instanceof EvmChain;\n }\n\n constructor({ id, rpc, ...others }: EvmChainConstructorParams) {\n super(others);\n\n this.id = id;\n this.rpc = rpc;\n }\n\n getViemChain(): ViemChain {\n return getViemChain(this);\n }\n\n copyWith(params: Partial<EvmChainConstructorParams>): EvmChain {\n return new EvmChain({\n ...this,\n ...params,\n });\n }\n}\n","import { Chain, type ChainConstructorParams } from '../Chain';\n\nexport interface ParachainConstructorParams extends ChainConstructorParams {\n checkSovereignAccountBalances?: boolean;\n genesisHash: string;\n isRelay?: boolean;\n parachainId: number;\n relayGenesisHash?: string;\n ss58Format: number;\n usesChainDecimals?: boolean;\n weight?: number;\n ws: string[];\n}\n\nexport class Parachain extends Chain {\n readonly checkSovereignAccountBalances: boolean;\n\n readonly genesisHash: string;\n\n readonly isRelay: boolean;\n\n readonly parachainId: number;\n\n readonly ss58Format: number;\n\n readonly usesChainDecimals: boolean;\n\n readonly relayGenesisHash?: string;\n\n readonly weight: number | undefined;\n\n readonly ws: string[];\n\n static is(obj: unknown): obj is Parachain {\n return obj instanceof Parachain;\n }\n\n constructor({\n checkSovereignAccountBalances,\n genesisHash,\n isRelay,\n parachainId,\n relayGenesisHash,\n usesChainDecimals,\n ss58Format,\n weight,\n ws,\n ...others\n }: ParachainConstructorParams) {\n super(others);\n\n this.checkSovereignAccountBalances = !!checkSovereignAccountBalances;\n this.genesisHash = genesisHash;\n this.isRelay = !!isRelay;\n this.parachainId = parachainId;\n this.relayGenesisHash = relayGenesisHash;\n this.ss58Format = ss58Format;\n this.usesChainDecimals = !!usesChainDecimals;\n this.weight = weight;\n this.ws = ws;\n }\n\n copyWith(params: Partial<ParachainConstructorParams>): Parachain {\n return new Parachain({\n ...this,\n ...params,\n });\n }\n}\n","import type { Address } from 'viem';\nimport type { Chain } from 'viem/chains';\nimport { getViemChain } from '../Chain.utils';\nimport { EvmChain } from '../EvmChain';\nimport { Parachain, type ParachainConstructorParams } from './Parachain';\n\nexport interface EvmParachainConstructorParams\n extends ParachainConstructorParams {\n id?: number;\n rpc?: string;\n isEvmSigner?: boolean;\n contracts?: Contracts;\n}\n\ntype Contracts = {\n Batch?: Address;\n XcmUtils?: Address;\n Xtokens?: Address;\n};\n\nexport class EvmParachain extends Parachain {\n readonly id: number;\n\n readonly rpc: string;\n\n readonly isEvmSigner: boolean;\n\n readonly contracts?: Contracts;\n\n readonly ws: string[];\n\n static is(obj: unknown): obj is EvmParachain {\n return obj instanceof EvmParachain;\n }\n\n static isAnyParachain(obj: unknown): obj is EvmParachain | Parachain {\n return obj instanceof EvmParachain || obj instanceof Parachain;\n }\n\n static isAnyEvmChain(obj: unknown): obj is EvmParachain | EvmChain {\n return obj instanceof EvmParachain || obj instanceof EvmChain;\n }\n\n constructor({\n id,\n rpc,\n isEvmSigner = false,\n contracts,\n ...others\n }: EvmParachainConstructorParams) {\n super(others);\n\n if (isEvmSigner) {\n if (!id || !rpc) {\n throw new Error(\n `'id' and 'rpc' must be provided for ${this.name} if 'isEvmSigner' is true`,\n );\n }\n }\n\n this.contracts = contracts;\n this.id = id ?? 0;\n this.rpc = rpc ?? '';\n this.isEvmSigner = isEvmSigner;\n this.ws = others.ws;\n }\n\n getViemChain(): Chain {\n return getViemChain(this);\n }\n\n copyWith(params: Partial<EvmParachainConstructorParams>): EvmParachain {\n return new EvmParachain({\n ...this,\n ...params,\n });\n }\n}\n"],"mappings":"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","names":["toBigInt","toBigInt","Ecosystem"]}
|
|
1
|
+
{"version":3,"sources":["../src/asset/Asset.ts","../src/asset/AssetAmount.ts","../src/asset/ChainAsset.ts","../src/chain/Chain.ts","../src/chain/Chain.interfaces.ts","../src/chain/Chain.utils.ts","../src/chain/EvmChain.ts","../src/chain/parachain/Parachain.ts","../src/chain/parachain/EvmParachain.ts"],"sourcesContent":["export interface AssetConstructorParams {\n key: string;\n originSymbol: string;\n}\n\nexport class Asset {\n readonly key: string;\n\n readonly originSymbol: string;\n\n constructor({ key, originSymbol }: AssetConstructorParams) {\n this.key = key;\n this.originSymbol = originSymbol;\n }\n\n copyWith(params: Partial<AssetConstructorParams>): Asset {\n return new Asset({\n ...this,\n ...params,\n });\n }\n\n isEqual(asset: Asset): boolean {\n return this.key === asset.key && this.originSymbol === asset.originSymbol;\n }\n}\n","import {\n convertDecimals,\n toBigInt,\n toDecimal,\n} from '@moonbeam-network/xcm-utils';\nimport Big, { type RoundingMode } from 'big.js';\nimport { ChainAsset, type ChainAssetConstructorParams } from './ChainAsset';\n\nBig.NE = -18;\n\nexport interface AssetAmountConstructorParams\n extends ChainAssetConstructorParams {\n amount: number | bigint;\n decimals: number;\n symbol?: string;\n}\n\nexport class AssetAmount extends ChainAsset {\n readonly amount: bigint;\n\n constructor({ amount, ...other }: AssetAmountConstructorParams) {\n super(other);\n\n this.amount = toBigInt(amount, other.decimals);\n }\n\n static fromChainAsset(\n asset: ChainAsset,\n params: Omit<\n AssetAmountConstructorParams,\n keyof ChainAssetConstructorParams\n >,\n ): AssetAmount {\n return new AssetAmount({\n ...asset,\n ...params,\n });\n }\n\n isSame(asset: ChainAsset | AssetAmount): boolean {\n return super.isEqual(asset) && this.decimals === asset.decimals;\n }\n\n isEqual(asset: AssetAmount): boolean {\n return this.isSame(asset) && this.amount === asset.amount;\n }\n\n copyWith(params: Partial<AssetAmountConstructorParams>): AssetAmount {\n return new AssetAmount({\n ...this,\n ...params,\n });\n }\n\n convertDecimals(decimals: number): AssetAmount {\n if (this.decimals === decimals) {\n return this.copyWith({});\n }\n\n return this.copyWith({\n amount: convertDecimals(this.amount, this.decimals, decimals),\n decimals,\n });\n }\n\n toBig(): Big {\n return Big(this.amount.toString());\n }\n\n toBigDecimal(maxDecimal?: number, roundType?: RoundingMode): Big {\n return Big(this.toDecimal(maxDecimal, roundType));\n }\n\n toDecimal(maxDecimal?: number, roundType?: RoundingMode): string {\n return toDecimal(this.amount, this.decimals, maxDecimal, roundType);\n }\n}\n","import { toBigInt } from '@moonbeam-network/xcm-utils';\nimport { Asset, type AssetConstructorParams } from './Asset';\n\nexport interface ChainAssetConstructorParams extends AssetConstructorParams {\n address?: string;\n decimals: number;\n ids?: ChainAssetIds;\n min?: number | bigint;\n symbol?: string;\n}\n\nexport interface ChainAssetIds {\n balanceId?: ChainAssetId;\n id?: ChainAssetId;\n minId?: ChainAssetId;\n palletInstance?: number;\n generalKey?: GeneralKey;\n}\n\nexport type ChainAssetId =\n | string\n | number\n | bigint\n | { [key: string]: ChainAssetId };\n\nexport interface GeneralKey {\n length: number;\n data: string;\n}\n\nexport class ChainAsset extends Asset {\n readonly address?: string;\n\n readonly decimals: number;\n\n readonly ids?: ChainAssetIds;\n\n readonly min?: bigint;\n\n readonly symbol?: string;\n\n constructor({\n address,\n decimals,\n ids,\n min,\n symbol,\n ...other\n }: ChainAssetConstructorParams) {\n super(other);\n\n this.address = address;\n this.decimals = decimals;\n this.ids = ids;\n this.min = min ? toBigInt(min, decimals) : undefined;\n this.symbol = symbol;\n }\n\n static fromAsset(\n asset: Asset,\n params: Omit<ChainAssetConstructorParams, keyof AssetConstructorParams>,\n ): ChainAsset {\n return new ChainAsset({\n ...asset,\n ...params,\n });\n }\n\n copyWith(params: Partial<ChainAssetConstructorParams>): ChainAsset {\n return new ChainAsset({\n ...this,\n ...params,\n });\n }\n\n getSymbol(): string {\n return this.symbol || this.originSymbol;\n }\n\n getAssetId(): ChainAssetId {\n return this.ids?.id ?? this.originSymbol;\n }\n\n getAssetRegisteredId(): ChainAssetId | undefined {\n return this.ids?.id;\n }\n\n getBalanceAssetId(): ChainAssetId {\n return this.ids?.balanceId ?? this.getAssetId();\n }\n\n getMinAssetId(): ChainAssetId {\n return this.ids?.minId ?? this.getAssetId();\n }\n\n getAssetPalletInstance(): number {\n if (!this.ids?.palletInstance) {\n throw new Error(\n `Pallet instance is not defined for ${this.originSymbol}`,\n );\n }\n\n return this.ids?.palletInstance;\n }\n\n getAssetMin(): bigint {\n return this.min ?? 0n;\n }\n\n getGeneralKey(): GeneralKey | undefined {\n return this.ids?.generalKey;\n }\n\n hasOnlyAddress(): this is { address: string } {\n return !!this.address && !this.ids?.id;\n }\n}\n","import type { Chain as WhChain } from '@wormhole-foundation/sdk-connect';\nimport type { Asset, AssetAmount, ChainAsset } from '../asset';\nimport type { Ecosystem, WormholeConfig } from './Chain.interfaces';\n\nexport interface ChainConstructorParams {\n assets: Map<string, ChainAsset> | ChainAsset[];\n ecosystem?: Ecosystem;\n explorer?: Explorer;\n isTestChain?: boolean;\n key: string;\n name: string;\n nativeAsset: Asset;\n wh?: WormholeConfig;\n}\n\ninterface Explorer {\n base: string;\n txPath?: string;\n}\n\nexport abstract class Chain {\n readonly assets: Map<string, ChainAsset>;\n\n readonly ecosystem?: Ecosystem;\n\n readonly explorer?: Explorer;\n\n readonly isTestChain: boolean;\n\n readonly key: string;\n\n readonly name: string;\n\n readonly #nativeAsset: Asset;\n\n readonly wh?: WormholeConfig;\n\n constructor({\n assets,\n ecosystem,\n explorer,\n isTestChain = false,\n key,\n name,\n nativeAsset,\n wh,\n }: ChainConstructorParams) {\n this.assets =\n assets instanceof Map\n ? assets\n : new Map(assets?.map((data) => [data.key, data]));\n this.ecosystem = ecosystem;\n this.explorer = explorer;\n this.isTestChain = isTestChain;\n this.key = key;\n this.name = name;\n this.#nativeAsset = nativeAsset;\n this.wh = wh;\n }\n\n get nativeAsset(): ChainAsset {\n return this.getChainAsset(this.#nativeAsset);\n }\n\n isEqual<T extends Chain>(chain: T): boolean {\n return this.key === chain.key;\n }\n\n getChainAsset(keyOrAsset: string | Asset | AssetAmount): ChainAsset {\n const key = typeof keyOrAsset === 'string' ? keyOrAsset : keyOrAsset.key;\n const chainAsset = this.assets.get(key);\n\n if (!chainAsset) {\n throw new Error(\n `No ChainAsset found by the key ${key} for chain ${this.name} (${this.key})`,\n );\n }\n\n return chainAsset;\n }\n\n getWormholeName(): WhChain {\n if (!this.wh?.name) {\n throw new Error(`Chain ${this.name} does not have a wormhole name`);\n }\n\n return this.wh.name;\n }\n}\n","import type { Chain } from '@wormhole-foundation/sdk-connect';\nimport type { EvmChain } from './EvmChain';\nimport type { EvmParachain, Parachain } from './parachain';\n\nexport type AnyChain = EvmChain | Parachain | EvmParachain;\nexport type AnyParachain = Parachain | EvmParachain;\n\nexport enum Ecosystem {\n Polkadot = 'polkadot',\n Kusama = 'kusama',\n AlphanetRelay = 'alphanet-relay',\n StagenetRelay = 'stagenet-relay',\n}\n\nexport interface WormholeConfig {\n name?: Chain;\n}\n","import { type Chain, defineChain } from 'viem';\nimport type { ChainAsset } from '../asset';\n\ninterface GetViemChainParams {\n id: number;\n name: string;\n nativeAsset: ChainAsset;\n rpc: string;\n}\n\nexport function getViemChain({\n id,\n name,\n nativeAsset,\n rpc,\n}: GetViemChainParams): Chain {\n return defineChain({\n id,\n name,\n nativeCurrency: {\n decimals: nativeAsset.decimals,\n name: nativeAsset.originSymbol,\n symbol: nativeAsset.originSymbol,\n },\n rpcUrls: {\n default: {\n http: [rpc],\n },\n },\n });\n}\n","import type { Chain as ViemChain } from 'viem';\nimport { Chain, type ChainConstructorParams } from './Chain';\nimport { getViemChain } from './Chain.utils';\n\nexport interface EvmChainConstructorParams extends ChainConstructorParams {\n id: number;\n rpc: string;\n}\n\nexport class EvmChain extends Chain {\n readonly id: number;\n\n readonly rpc: string;\n\n static is(obj: unknown): obj is EvmChain {\n return obj instanceof EvmChain;\n }\n\n constructor({ id, rpc, ...others }: EvmChainConstructorParams) {\n super(others);\n\n this.id = id;\n this.rpc = rpc;\n }\n\n getViemChain(): ViemChain {\n return getViemChain(this);\n }\n\n copyWith(params: Partial<EvmChainConstructorParams>): EvmChain {\n return new EvmChain({\n ...this,\n ...params,\n });\n }\n}\n","import { Chain, type ChainConstructorParams } from '../Chain';\n\nexport interface ParachainConstructorParams extends ChainConstructorParams {\n checkSovereignAccountBalances?: boolean;\n genesisHash: string;\n isRelay?: boolean;\n parachainId: number;\n relayGenesisHash?: string;\n ss58Format: number;\n usesChainDecimals?: boolean;\n weight?: number;\n ws: string[];\n}\n\nexport class Parachain extends Chain {\n readonly checkSovereignAccountBalances: boolean;\n\n readonly genesisHash: string;\n\n readonly isRelay: boolean;\n\n readonly parachainId: number;\n\n readonly ss58Format: number;\n\n readonly usesChainDecimals: boolean;\n\n readonly relayGenesisHash?: string;\n\n readonly weight: number | undefined;\n\n readonly ws: string[];\n\n static is(obj: unknown): obj is Parachain {\n return obj instanceof Parachain;\n }\n\n constructor({\n checkSovereignAccountBalances,\n genesisHash,\n isRelay,\n parachainId,\n relayGenesisHash,\n usesChainDecimals,\n ss58Format,\n weight,\n ws,\n ...others\n }: ParachainConstructorParams) {\n super(others);\n\n this.checkSovereignAccountBalances = !!checkSovereignAccountBalances;\n this.genesisHash = genesisHash;\n this.isRelay = !!isRelay;\n this.parachainId = parachainId;\n this.relayGenesisHash = relayGenesisHash;\n this.ss58Format = ss58Format;\n this.usesChainDecimals = !!usesChainDecimals;\n this.weight = weight;\n this.ws = ws;\n }\n\n copyWith(params: Partial<ParachainConstructorParams>): Parachain {\n return new Parachain({\n ...this,\n ...params,\n });\n }\n}\n","import type { Address } from 'viem';\nimport type { Chain } from 'viem/chains';\nimport { getViemChain } from '../Chain.utils';\nimport { EvmChain } from '../EvmChain';\nimport { Parachain, type ParachainConstructorParams } from './Parachain';\n\nexport interface EvmParachainConstructorParams\n extends ParachainConstructorParams {\n id?: number;\n rpc?: string;\n isEvmSigner?: boolean;\n contracts?: Contracts;\n}\n\ntype Contracts = {\n Batch?: Address;\n XcmUtils?: Address;\n Xtokens?: Address;\n};\n\nexport class EvmParachain extends Parachain {\n readonly id: number;\n\n readonly rpc: string;\n\n readonly isEvmSigner: boolean;\n\n readonly contracts?: Contracts;\n\n readonly ws: string[];\n\n static is(obj: unknown): obj is EvmParachain {\n return obj instanceof EvmParachain;\n }\n\n static isAnyParachain(obj: unknown): obj is EvmParachain | Parachain {\n return obj instanceof EvmParachain || obj instanceof Parachain;\n }\n\n static isAnyEvmChain(obj: unknown): obj is EvmParachain | EvmChain {\n return obj instanceof EvmParachain || obj instanceof EvmChain;\n }\n\n constructor({\n id,\n rpc,\n isEvmSigner = false,\n contracts,\n ...others\n }: EvmParachainConstructorParams) {\n super(others);\n\n if (isEvmSigner) {\n if (!id || !rpc) {\n throw new Error(\n `'id' and 'rpc' must be provided for ${this.name} if 'isEvmSigner' is true`,\n );\n }\n }\n\n this.contracts = contracts;\n this.id = id ?? 0;\n this.rpc = rpc ?? '';\n this.isEvmSigner = isEvmSigner;\n this.ws = others.ws;\n }\n\n getViemChain(): Chain {\n return getViemChain(this);\n }\n\n copyWith(params: Partial<EvmParachainConstructorParams>): EvmParachain {\n return new EvmParachain({\n ...this,\n ...params,\n });\n }\n}\n"],"mappings":"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","names":["toBigInt","toBigInt","Ecosystem"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@moonbeam-network/xcm-types",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0",
|
|
4
4
|
"description": "Moonbeam XCM Types",
|
|
5
5
|
"repository": {
|
|
6
6
|
"directory": "packages/types",
|
|
@@ -31,11 +31,11 @@
|
|
|
31
31
|
"main": "./build/index.mjs",
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"big.js": "^7.0.1",
|
|
34
|
-
"@moonbeam-network/xcm-utils": "
|
|
34
|
+
"@moonbeam-network/xcm-utils": "4.0.0"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@types/big.js": "^6.2.2",
|
|
38
|
-
"@wormhole-foundation/sdk-connect": "^
|
|
38
|
+
"@wormhole-foundation/sdk-connect": "^3.0.4"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
|
41
41
|
"viem": "^2.33.0"
|
|
@@ -44,6 +44,7 @@
|
|
|
44
44
|
"build": "tsup",
|
|
45
45
|
"dev": "tsup --watch",
|
|
46
46
|
"link": "pnpm ln --global",
|
|
47
|
+
"typecheck": "tsc --noEmit",
|
|
47
48
|
"test": "vitest --run",
|
|
48
49
|
"test:watch": "vitest",
|
|
49
50
|
"test:update": "vitest -u"
|