@moonbeam-network/xcm-types 3.2.3 → 3.2.5

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 CHANGED
@@ -82,6 +82,7 @@ declare class EvmChain extends Chain {
82
82
  static is(obj: unknown): obj is EvmChain;
83
83
  constructor({ id, rpc, ...others }: EvmChainConstructorParams);
84
84
  getViemChain(): Chain$1;
85
+ copyWith(params: Partial<EvmChainConstructorParams>): EvmChain;
85
86
  }
86
87
 
87
88
  interface ParachainConstructorParams extends ChainConstructorParams {
@@ -107,6 +108,7 @@ declare class Parachain extends Chain {
107
108
  readonly ws: string[];
108
109
  static is(obj: unknown): obj is Parachain;
109
110
  constructor({ checkSovereignAccountBalances, genesisHash, isRelay, parachainId, relayGenesisHash, usesChainDecimals, ss58Format, weight, ws, ...others }: ParachainConstructorParams);
111
+ copyWith(params: Partial<ParachainConstructorParams>): Parachain;
110
112
  }
111
113
 
112
114
  interface EvmParachainConstructorParams extends ParachainConstructorParams {
@@ -125,11 +127,13 @@ declare class EvmParachain extends Parachain {
125
127
  readonly rpc: string;
126
128
  readonly isEvmSigner: boolean;
127
129
  readonly contracts?: Contracts;
130
+ readonly ws: string[];
128
131
  static is(obj: unknown): obj is EvmParachain;
129
132
  static isAnyParachain(obj: unknown): obj is EvmParachain | Parachain;
130
133
  static isAnyEvmChain(obj: unknown): obj is EvmParachain | EvmChain;
131
134
  constructor({ id, rpc, isEvmSigner, contracts, ...others }: EvmParachainConstructorParams);
132
135
  getViemChain(): Chain$2;
136
+ copyWith(params: Partial<EvmParachainConstructorParams>): EvmParachain;
133
137
  }
134
138
 
135
139
  type AnyChain = EvmChain | Parachain | EvmParachain;
package/build/index.mjs CHANGED
@@ -238,6 +238,12 @@ var EvmChain = class _EvmChain extends Chain {
238
238
  getViemChain() {
239
239
  return getViemChain(this);
240
240
  }
241
+ copyWith(params) {
242
+ return new _EvmChain({
243
+ ...this,
244
+ ...params
245
+ });
246
+ }
241
247
  };
242
248
 
243
249
  // src/chain/parachain/Parachain.ts
@@ -277,6 +283,12 @@ var Parachain = class _Parachain extends Chain {
277
283
  this.weight = weight;
278
284
  this.ws = ws;
279
285
  }
286
+ copyWith(params) {
287
+ return new _Parachain({
288
+ ...this,
289
+ ...params
290
+ });
291
+ }
280
292
  };
281
293
 
282
294
  // src/chain/parachain/EvmParachain.ts
@@ -285,6 +297,7 @@ var EvmParachain = class _EvmParachain extends Parachain {
285
297
  rpc;
286
298
  isEvmSigner;
287
299
  contracts;
300
+ ws;
288
301
  static is(obj) {
289
302
  return obj instanceof _EvmParachain;
290
303
  }
@@ -313,10 +326,17 @@ var EvmParachain = class _EvmParachain extends Parachain {
313
326
  this.id = id ?? 0;
314
327
  this.rpc = rpc ?? "";
315
328
  this.isEvmSigner = isEvmSigner;
329
+ this.ws = others.ws;
316
330
  }
317
331
  getViemChain() {
318
332
  return getViemChain(this);
319
333
  }
334
+ copyWith(params) {
335
+ return new _EvmParachain({
336
+ ...this,
337
+ ...params
338
+ });
339
+ }
320
340
  };
321
341
  export {
322
342
  Asset,
@@ -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}\n\nexport type ChainAssetId =\n | string\n | number\n | bigint\n | { [key: string]: ChainAssetId };\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 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","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","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 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 }\n\n getViemChain(): Chain {\n return getViemChain(this);\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}\n\nexport type ChainAssetId =\n | string\n | number\n | bigint\n | { [key: string]: ChainAssetId };\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 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"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moonbeam-network/xcm-types",
3
- "version": "3.2.3",
3
+ "version": "3.2.5",
4
4
  "description": "Moonbeam XCM Types",
5
5
  "repository": {
6
6
  "directory": "packages/types",
@@ -31,14 +31,14 @@
31
31
  "main": "./build/index.mjs",
32
32
  "dependencies": {
33
33
  "big.js": "^7.0.1",
34
- "@moonbeam-network/xcm-utils": "3.1.5"
34
+ "@moonbeam-network/xcm-utils": "3.1.7"
35
35
  },
36
36
  "devDependencies": {
37
37
  "@types/big.js": "^6.2.2",
38
- "@wormhole-foundation/sdk-connect": "^2.0.0"
38
+ "@wormhole-foundation/sdk-connect": "^2.4.0"
39
39
  },
40
40
  "peerDependencies": {
41
- "viem": "^2.31.0"
41
+ "viem": "^2.31.7"
42
42
  },
43
43
  "scripts": {
44
44
  "build": "tsup",