@moonbeam-network/xcm-types 1.0.0-dev.105 → 1.0.0-dev.106

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.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var k=Object.create;var p=Object.defineProperty;var E=Object.getOwnPropertyDescriptor;var w=Object.getOwnPropertyNames;var S=Object.getPrototypeOf,D=Object.prototype.hasOwnProperty;var M=(s,t)=>{for(var r in t)p(s,r,{get:t[r],enumerable:!0})},A=(s,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let e of w(t))!D.call(s,e)&&e!==r&&p(s,e,{get:()=>t[e],enumerable:!(n=E(t,e))||n.enumerable});return s};var B=(s,t,r)=>(r=s!=null?k(S(s)):{},A(t||!s||!s.__esModule?p(r,"default",{value:s,enumerable:!0}):r,s)),T=s=>A(p({},"__esModule",{value:!0}),s);var N={};M(N,{Asset:()=>m,AssetAmount:()=>y,Chain:()=>u,ChainAsset:()=>h,ChainType:()=>c,Ecosystem:()=>P,EvmParachain:()=>C,Parachain:()=>d});module.exports=T(N);var m=class{key;originSymbol;constructor({key:t,originSymbol:r}){this.key=t,this.originSymbol=r}isEqual(t){return this.key===t.key&&this.originSymbol===t.originSymbol}};var b=require("@moonbeam-network/xcm-utils");var h=class s extends m{address;decimals;ids;min;#t;constructor({address:t,decimals:r,ids:n,min:e,symbol:a,...o}){super(o),this.address=t,this.decimals=r,this.ids=n,this.min=e?(0,b.toBigInt)(e,r):void 0,this.#t=a}static fromAsset(t,r){return new s({...t,...r})}get symbol(){return this.#t||this.originSymbol}getAssetId(){var t;return((t=this.ids)==null?void 0:t.id)??this.originSymbol}getBalanceAssetId(){var t;return((t=this.ids)==null?void 0:t.balanceId)??this.getAssetId()}getMinAssetId(){var t;return((t=this.ids)==null?void 0:t.minId)??this.getAssetId()}getAssetPalletInstance(){var t;return(t=this.ids)==null?void 0:t.palletInstance}getAssetMin(){return this.min??0n}};var i=require("@moonbeam-network/xcm-utils"),l=B(require("big.js"),1);l.default.NE=-18;var y=class s extends h{amount;constructor({amount:t,...r}){super(r),this.amount=(0,i.toBigInt)(t,r.decimals)}static fromChainAsset(t,r){return new s({...t,...r})}isSame(t){return super.isEqual(t)&&this.decimals===t.decimals}isEqual(t){return this.isSame(t)&&this.amount===t.amount}copyWith(t){return new s({...this,...t})}convertDecimals(t){return this.decimals===t?this.copyWith({}):this.copyWith({amount:(0,i.convertDecimals)(this.amount,this.decimals,t),decimals:t})}toBig(){return(0,l.default)(this.amount.toString())}toBigDecimal(t,r){return(0,l.default)(this.toDecimal(t,r))}toDecimal(t,r){return(0,i.toDecimal)(this.amount,this.decimals,t,r)}};var c=(r=>(r.Parachain="parachain",r.EvmParachain="evm-parachain",r))(c||{}),P=(n=>(n.Polkadot="polkadot",n.Kusama="kusama",n.AlphanetRelay="alphanet-relay",n))(P||{});var u=class{ecosystem;isTestChain;key;name;type;constructor({ecosystem:t,isTestChain:r=!1,key:n,name:e,type:a}){this.ecosystem=t,this.isTestChain=r,this.key=n,this.name=e,this.type=a}isParachain(){return this.type==="parachain"}isEvmParachain(){return this.type==="evm-parachain"}};var f=require("viem");var d=class extends u{assets;genesisHash;parachainId;ss58Format;usesChainDecimals;weight;ws;constructor({assets:t,genesisHash:r,parachainId:n,usesChainDecimals:e,ss58Format:a,weight:o,ws:x,type:I="parachain",...v}){super({type:I,...v}),this.assets=t instanceof Map?t:new Map(t==null?void 0:t.map(g=>[g.key,g])),this.genesisHash=r,this.parachainId=n,this.ss58Format=a,this.usesChainDecimals=!!e,this.weight=o,this.ws=x}getChainAsset(t){let r=typeof t=="string"?t:t.key,n=this.assets.get(r);if(!n)throw new Error(`No ChainAsset found by the key ${r} for chain ${this.name} (${this.key})`);return n}};var C=class extends d{id;rpc;nativeCurrency;isEvmSigner;contracts;constructor({id:t,rpc:r,nativeCurrency:n,isEvmSigner:e=!1,contracts:a,...o}){super({type:"evm-parachain",...o}),this.contracts=a,this.id=t,this.rpc=r,this.nativeCurrency=n,this.isEvmSigner=e}getViemChain(){return(0,f.defineChain)({id:this.id,name:this.name,nativeCurrency:this.nativeCurrency,rpcUrls:{default:{http:[this.rpc],webSocket:Array.isArray(this.ws)?this.ws:[this.ws]}}})}};0&&(module.exports={Asset,AssetAmount,Chain,ChainAsset,ChainType,Ecosystem,EvmParachain,Parachain});
1
+ "use strict";var I=Object.create;var p=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var k=Object.getOwnPropertyNames;var E=Object.getPrototypeOf,S=Object.prototype.hasOwnProperty;var w=(r,t)=>{for(var s in t)p(r,s,{get:t[s],enumerable:!0})},b=(r,t,s,e)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of k(t))!S.call(r,n)&&n!==s&&p(r,n,{get:()=>t[n],enumerable:!(e=v(t,n))||e.enumerable});return r};var D=(r,t,s)=>(s=r!=null?I(E(r)):{},b(t||!r||!r.__esModule?p(s,"default",{value:r,enumerable:!0}):s,r)),M=r=>b(p({},"__esModule",{value:!0}),r);var B={};w(B,{Asset:()=>m,AssetAmount:()=>g,Chain:()=>u,ChainAsset:()=>h,ChainType:()=>c,Ecosystem:()=>f,EvmParachain:()=>C,Parachain:()=>d});module.exports=M(B);var m=class{key;originSymbol;constructor({key:t,originSymbol:s}){this.key=t,this.originSymbol=s}isEqual(t){return this.key===t.key&&this.originSymbol===t.originSymbol}};var P=require("@moonbeam-network/xcm-utils");var h=class r extends m{address;decimals;ids;min;#t;constructor({address:t,decimals:s,ids:e,min:n,symbol:a,...o}){super(o),this.address=t,this.decimals=s,this.ids=e,this.min=n?(0,P.toBigInt)(n,s):void 0,this.#t=a}static fromAsset(t,s){return new r({...t,...s})}get symbol(){return this.#t||this.originSymbol}getAssetId(){var t;return((t=this.ids)==null?void 0:t.id)??this.originSymbol}getBalanceAssetId(){var t;return((t=this.ids)==null?void 0:t.balanceId)??this.getAssetId()}getMinAssetId(){var t;return((t=this.ids)==null?void 0:t.minId)??this.getAssetId()}getAssetPalletInstance(){var t;return(t=this.ids)==null?void 0:t.palletInstance}getAssetMin(){return this.min??0n}};var i=require("@moonbeam-network/xcm-utils"),y=D(require("big.js"),1);y.default.NE=-18;var g=class r extends h{amount;constructor({amount:t,...s}){super(s),this.amount=(0,i.toBigInt)(t,s.decimals)}static fromChainAsset(t,s){return new r({...t,...s})}isSame(t){return super.isEqual(t)&&this.decimals===t.decimals}isEqual(t){return this.isSame(t)&&this.amount===t.amount}copyWith(t){return new r({...this,...t})}convertDecimals(t){return this.decimals===t?this.copyWith({}):this.copyWith({amount:(0,i.convertDecimals)(this.amount,this.decimals,t),decimals:t})}toBig(){return(0,y.default)(this.amount.toString())}toBigDecimal(t,s){return(0,y.default)(this.toDecimal(t,s))}toDecimal(t,s){return(0,i.toDecimal)(this.amount,this.decimals,t,s)}};var c=(s=>(s.Parachain="parachain",s.EvmParachain="evm-parachain",s))(c||{}),f=(e=>(e.Polkadot="polkadot",e.Kusama="kusama",e.AlphanetRelay="alphanet-relay",e))(f||{});var u=class{assets;ecosystem;isTestChain;key;name;#t;type;constructor({assets:t,ecosystem:s,isTestChain:e=!1,key:n,name:a,nativeAsset:o,type:A}){this.assets=t instanceof Map?t:new Map(t==null?void 0:t.map(l=>[l.key,l])),this.ecosystem=s,this.isTestChain=e,this.key=n,this.name=a,this.#t=o,this.type=A}get nativeAsset(){return this.getChainAsset(this.#t)}getChainAsset(t){let s=typeof t=="string"?t:t.key,e=this.assets.get(s);if(!e)throw new Error(`No ChainAsset found by the key ${s} for chain ${this.name} (${this.key})`);return e}isParachain(){return this.type==="parachain"}isEvmParachain(){return this.type==="evm-parachain"}};var x=require("viem");var d=class extends u{genesisHash;parachainId;ss58Format;usesChainDecimals;weight;ws;constructor({genesisHash:t,parachainId:s,usesChainDecimals:e,ss58Format:n,weight:a,ws:o,type:A="parachain",...l}){super({type:A,...l}),this.genesisHash=t,this.parachainId=s,this.ss58Format=n,this.usesChainDecimals=!!e,this.weight=a,this.ws=o}};var C=class extends d{id;rpc;isEvmSigner;contracts;constructor({id:t,rpc:s,isEvmSigner:e=!1,contracts:n,...a}){super({type:"evm-parachain",...a}),this.contracts=n,this.id=t,this.rpc=s,this.isEvmSigner=e}getViemChain(){return(0,x.defineChain)({id:this.id,name:this.name,nativeCurrency:{decimals:this.nativeAsset.decimals,name:this.nativeAsset.originSymbol,symbol:this.nativeAsset.originSymbol},rpcUrls:{default:{http:[this.rpc],webSocket:Array.isArray(this.ws)?this.ws:[this.ws]}}})}};0&&(module.exports={Asset,AssetAmount,Chain,ChainAsset,ChainType,Ecosystem,EvmParachain,Parachain});
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/asset/Asset.ts","../src/asset/ChainAsset.ts","../src/asset/AssetAmount.ts","../src/chain/Chain.interfaces.ts","../src/chain/Chain.ts","../src/chain/parachain/EvmParachain.ts","../src/chain/parachain/Parachain.ts"],"sourcesContent":["export * from './asset';\nexport * from './chain';\nexport * from './common.interfaces';\n","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 isEqual(asset: Asset): boolean {\n return this.key === asset.key && this.originSymbol === asset.originSymbol;\n }\n}\n","import { toBigInt } from '@moonbeam-network/xcm-utils';\nimport { Asset, 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 get symbol(): string {\n return this.#symbol || this.originSymbol;\n }\n\n getAssetId(): ChainAssetId {\n return this.ids?.id ?? this.originSymbol;\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 | undefined {\n return this.ids?.palletInstance;\n }\n\n getAssetMin(): bigint {\n return this.min ?? 0n;\n }\n}\n","import {\n convertDecimals,\n toBigInt,\n toDecimal,\n} from '@moonbeam-network/xcm-utils';\nimport Big, { RoundingMode } from 'big.js';\nimport { ChainAsset, 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: 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>) {\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 type { EvmParachain, Parachain } from './parachain';\n\nexport type AnyChain = Parachain | EvmParachain;\nexport type AnyParachain = Parachain | EvmParachain;\n\nexport enum ChainType {\n 'Parachain' = 'parachain',\n 'EvmParachain' = 'evm-parachain',\n}\n\nexport enum Ecosystem {\n Polkadot = 'polkadot',\n Kusama = 'kusama',\n AlphanetRelay = 'alphanet-relay',\n}\n","import { ChainType, Ecosystem } from './Chain.interfaces';\nimport type { EvmParachain, Parachain } from './parachain';\n\nexport interface ChainConstructorParams {\n ecosystem?: Ecosystem;\n isTestChain?: boolean;\n key: string;\n name: string;\n type: ChainType;\n}\n\nexport abstract class Chain {\n readonly ecosystem?: Ecosystem;\n\n readonly isTestChain: boolean;\n\n readonly key: string;\n\n readonly name: string;\n\n readonly type: ChainType;\n\n constructor({\n ecosystem,\n isTestChain = false,\n key,\n name,\n type,\n }: ChainConstructorParams) {\n this.ecosystem = ecosystem;\n this.isTestChain = isTestChain;\n this.key = key;\n this.name = name;\n this.type = type;\n }\n\n isParachain(): this is Parachain {\n return this.type === ChainType.Parachain;\n }\n\n isEvmParachain(): this is EvmParachain {\n return this.type === ChainType.EvmParachain;\n }\n}\n","import { Address, defineChain } from 'viem';\nimport { Chain } from 'viem/chains';\nimport { ChainType } from '../Chain.interfaces';\nimport { Parachain, ParachainConstructorParams } from './Parachain';\n\nexport interface EvmParachainConstructorParams\n extends Omit<ParachainConstructorParams, 'type'> {\n id: number;\n rpc: string;\n nativeCurrency: NativeCurrency;\n isEvmSigner?: boolean;\n contracts?: Contracts;\n}\n\ntype NativeCurrency = {\n decimals: number;\n name: string;\n symbol: string;\n};\n\ntype Contracts = {\n Xtokens?: Address;\n};\n\nexport class EvmParachain extends Parachain {\n readonly id: number;\n\n readonly rpc: string;\n\n readonly nativeCurrency: NativeCurrency;\n\n readonly isEvmSigner: boolean;\n\n readonly contracts?: Contracts;\n\n constructor({\n id,\n rpc,\n nativeCurrency,\n isEvmSigner = false,\n contracts,\n ...others\n }: EvmParachainConstructorParams) {\n super({ type: ChainType.EvmParachain, ...others });\n\n this.contracts = contracts;\n this.id = id;\n this.rpc = rpc;\n this.nativeCurrency = nativeCurrency;\n this.isEvmSigner = isEvmSigner;\n }\n\n getViemChain(): Chain {\n return defineChain({\n id: this.id,\n name: this.name,\n nativeCurrency: this.nativeCurrency,\n rpcUrls: {\n default: {\n http: [this.rpc],\n webSocket: Array.isArray(this.ws) ? this.ws : [this.ws],\n },\n },\n });\n }\n}\n","import { Asset, AssetAmount, ChainAsset } from '../../asset';\nimport { SetOptional } from '../../common.interfaces';\nimport { Chain, ChainConstructorParams } from '../Chain';\nimport { ChainType } from '../Chain.interfaces';\n\nexport interface ParachainConstructorParams\n extends SetOptional<ChainConstructorParams, 'type'> {\n assets?: Map<string, ChainAsset> | ChainAsset[];\n genesisHash: string;\n parachainId: number;\n ss58Format: number;\n usesChainDecimals?: boolean;\n weight?: number;\n ws: string | string[];\n}\n\nexport class Parachain extends Chain {\n readonly assets: Map<string, ChainAsset>;\n\n readonly genesisHash: string;\n\n readonly parachainId: number;\n\n readonly ss58Format: number;\n\n readonly usesChainDecimals: boolean;\n\n readonly weight: number | undefined;\n\n readonly ws: string | string[];\n\n constructor({\n assets,\n genesisHash,\n parachainId,\n usesChainDecimals,\n ss58Format,\n weight,\n ws,\n type = ChainType.Parachain,\n ...others\n }: ParachainConstructorParams) {\n super({ type, ...others });\n\n this.assets =\n assets instanceof Map\n ? assets\n : new Map(assets?.map((data) => [data.key, data]));\n this.genesisHash = genesisHash;\n this.parachainId = parachainId;\n this.ss58Format = ss58Format;\n this.usesChainDecimals = !!usesChainDecimals;\n this.weight = weight;\n this.ws = ws;\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"],"mappings":"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","names":["src_exports","__export","Asset","AssetAmount","Chain","ChainAsset","ChainType","Ecosystem","EvmParachain","Parachain","__toCommonJS","Asset","key","originSymbol","asset","import_xcm_utils","ChainAsset","_ChainAsset","Asset","#symbol","address","decimals","ids","min","symbol","other","asset","params","_a","import_xcm_utils","import_big","Big","AssetAmount","_AssetAmount","ChainAsset","amount","other","asset","params","decimals","maxDecimal","roundType","ChainType","Ecosystem","Chain","ecosystem","isTestChain","key","name","type","import_viem","Parachain","Chain","assets","genesisHash","parachainId","usesChainDecimals","ss58Format","weight","ws","type","others","data","keyOrAsset","key","chainAsset","EvmParachain","Parachain","id","rpc","nativeCurrency","isEvmSigner","contracts","others"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/asset/Asset.ts","../src/asset/ChainAsset.ts","../src/asset/AssetAmount.ts","../src/chain/Chain.interfaces.ts","../src/chain/Chain.ts","../src/chain/parachain/EvmParachain.ts","../src/chain/parachain/Parachain.ts"],"sourcesContent":["export * from './asset';\nexport * from './chain';\nexport * from './common.interfaces';\n","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 isEqual(asset: Asset): boolean {\n return this.key === asset.key && this.originSymbol === asset.originSymbol;\n }\n}\n","import { toBigInt } from '@moonbeam-network/xcm-utils';\nimport { Asset, 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 get symbol(): string {\n return this.#symbol || this.originSymbol;\n }\n\n getAssetId(): ChainAssetId {\n return this.ids?.id ?? this.originSymbol;\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 | undefined {\n return this.ids?.palletInstance;\n }\n\n getAssetMin(): bigint {\n return this.min ?? 0n;\n }\n}\n","import {\n convertDecimals,\n toBigInt,\n toDecimal,\n} from '@moonbeam-network/xcm-utils';\nimport Big, { RoundingMode } from 'big.js';\nimport { ChainAsset, 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: 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>) {\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 type { EvmParachain, Parachain } from './parachain';\n\nexport type AnyChain = Parachain | EvmParachain;\nexport type AnyParachain = Parachain | EvmParachain;\n\nexport enum ChainType {\n 'Parachain' = 'parachain',\n 'EvmParachain' = 'evm-parachain',\n}\n\nexport enum Ecosystem {\n Polkadot = 'polkadot',\n Kusama = 'kusama',\n AlphanetRelay = 'alphanet-relay',\n}\n","import { Asset, AssetAmount, ChainAsset } from '../asset';\nimport { ChainType, Ecosystem } from './Chain.interfaces';\nimport type { EvmParachain, Parachain } from './parachain';\n\nexport interface ChainConstructorParams {\n assets: Map<string, ChainAsset> | ChainAsset[];\n ecosystem?: Ecosystem;\n isTestChain?: boolean;\n key: string;\n name: string;\n nativeAsset: Asset;\n type: ChainType;\n}\n\nexport abstract class Chain {\n readonly assets: Map<string, ChainAsset>;\n\n readonly ecosystem?: Ecosystem;\n\n readonly isTestChain: boolean;\n\n readonly key: string;\n\n readonly name: string;\n\n readonly #nativeAsset: Asset;\n\n readonly type: ChainType;\n\n constructor({\n assets,\n ecosystem,\n isTestChain = false,\n key,\n name,\n nativeAsset,\n type,\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.isTestChain = isTestChain;\n this.key = key;\n this.name = name;\n this.#nativeAsset = nativeAsset;\n this.type = type;\n }\n\n get nativeAsset(): ChainAsset {\n return this.getChainAsset(this.#nativeAsset);\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 isParachain(): this is Parachain {\n return this.type === ChainType.Parachain;\n }\n\n isEvmParachain(): this is EvmParachain {\n return this.type === ChainType.EvmParachain;\n }\n}\n","import { Address, defineChain } from 'viem';\nimport { Chain } from 'viem/chains';\nimport { ChainType } from '../Chain.interfaces';\nimport { Parachain, ParachainConstructorParams } from './Parachain';\n\nexport interface EvmParachainConstructorParams\n extends Omit<ParachainConstructorParams, 'type'> {\n id: number;\n rpc: string;\n isEvmSigner?: boolean;\n contracts?: Contracts;\n}\n\ntype Contracts = {\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 constructor({\n id,\n rpc,\n isEvmSigner = false,\n contracts,\n ...others\n }: EvmParachainConstructorParams) {\n super({ type: ChainType.EvmParachain, ...others });\n\n this.contracts = contracts;\n this.id = id;\n this.rpc = rpc;\n this.isEvmSigner = isEvmSigner;\n }\n\n getViemChain(): Chain {\n return defineChain({\n id: this.id,\n name: this.name,\n nativeCurrency: {\n decimals: this.nativeAsset.decimals,\n name: this.nativeAsset.originSymbol,\n symbol: this.nativeAsset.originSymbol,\n },\n rpcUrls: {\n default: {\n http: [this.rpc],\n webSocket: Array.isArray(this.ws) ? this.ws : [this.ws],\n },\n },\n });\n }\n}\n","import { SetOptional } from '../../common.interfaces';\nimport { Chain, ChainConstructorParams } from '../Chain';\nimport { ChainType } from '../Chain.interfaces';\n\nexport interface ParachainConstructorParams\n extends SetOptional<ChainConstructorParams, 'type'> {\n genesisHash: string;\n parachainId: number;\n ss58Format: number;\n usesChainDecimals?: boolean;\n weight?: number;\n ws: string | string[];\n}\n\nexport class Parachain extends Chain {\n readonly genesisHash: string;\n\n readonly parachainId: number;\n\n readonly ss58Format: number;\n\n readonly usesChainDecimals: boolean;\n\n readonly weight: number | undefined;\n\n readonly ws: string | string[];\n\n constructor({\n genesisHash,\n parachainId,\n usesChainDecimals,\n ss58Format,\n weight,\n ws,\n type = ChainType.Parachain,\n ...others\n }: ParachainConstructorParams) {\n super({ type, ...others });\n\n this.genesisHash = genesisHash;\n this.parachainId = parachainId;\n this.ss58Format = ss58Format;\n this.usesChainDecimals = !!usesChainDecimals;\n this.weight = weight;\n this.ws = ws;\n }\n}\n"],"mappings":"0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,WAAAE,EAAA,gBAAAC,EAAA,UAAAC,EAAA,eAAAC,EAAA,cAAAC,EAAA,cAAAC,EAAA,iBAAAC,EAAA,cAAAC,IAAA,eAAAC,EAAAV,GCKO,IAAMW,EAAN,KAAY,CACR,IAEA,aAET,YAAY,CAAE,IAAAC,EAAK,aAAAC,CAAa,EAA2B,CACzD,KAAK,IAAMD,EACX,KAAK,aAAeC,CACtB,CAEA,QAAQC,EAAuB,CAC7B,OAAO,KAAK,MAAQA,EAAM,KAAO,KAAK,eAAiBA,EAAM,YAC/D,CACF,EClBA,IAAAC,EAAyB,uCAwBlB,IAAMC,EAAN,MAAMC,UAAmBC,CAAM,CAC3B,QAEA,SAEA,IAEA,IAEAC,GAET,YAAY,CACV,QAAAC,EACA,SAAAC,EACA,IAAAC,EACA,IAAAC,EACA,OAAAC,EACA,GAAGC,CACL,EAAgC,CAC9B,MAAMA,CAAK,EAEX,KAAK,QAAUL,EACf,KAAK,SAAWC,EAChB,KAAK,IAAMC,EACX,KAAK,IAAMC,KAAM,YAASA,EAAKF,CAAQ,EAAI,OAC3C,KAAKF,GAAUK,CACjB,CAEA,OAAO,UACLE,EACAC,EACY,CACZ,OAAO,IAAIV,EAAW,CACpB,GAAGS,EACH,GAAGC,CACL,CAAC,CACH,CAEA,IAAI,QAAiB,CACnB,OAAO,KAAKR,IAAW,KAAK,YAC9B,CAEA,YAA2B,CAlE7B,IAAAS,EAmEI,QAAOA,EAAA,KAAK,MAAL,YAAAA,EAAU,KAAM,KAAK,YAC9B,CAEA,mBAAkC,CAtEpC,IAAAA,EAuEI,QAAOA,EAAA,KAAK,MAAL,YAAAA,EAAU,YAAa,KAAK,WAAW,CAChD,CAEA,eAA8B,CA1EhC,IAAAA,EA2EI,QAAOA,EAAA,KAAK,MAAL,YAAAA,EAAU,QAAS,KAAK,WAAW,CAC5C,CAEA,wBAA6C,CA9E/C,IAAAA,EA+EI,OAAOA,EAAA,KAAK,MAAL,YAAAA,EAAU,cACnB,CAEA,aAAsB,CACpB,OAAO,KAAK,KAAO,EACrB,CACF,ECrFA,IAAAC,EAIO,uCACPC,EAAkC,uBAGlC,EAAAC,QAAI,GAAK,IASF,IAAMC,EAAN,MAAMC,UAAoBC,CAAW,CACjC,OAET,YAAY,CAAE,OAAAC,EAAQ,GAAGC,CAAM,EAAiC,CAC9D,MAAMA,CAAK,EAEX,KAAK,UAAS,YAASD,EAAQC,EAAM,QAAQ,CAC/C,CAEA,OAAO,eACLC,EACAC,EAIa,CACb,OAAO,IAAIL,EAAY,CACrB,GAAGI,EACH,GAAGC,CACL,CAAC,CACH,CAEA,OAAOD,EAA6B,CAClC,OAAO,MAAM,QAAQA,CAAK,GAAK,KAAK,WAAaA,EAAM,QACzD,CAEA,QAAQA,EAA6B,CACnC,OAAO,KAAK,OAAOA,CAAK,GAAK,KAAK,SAAWA,EAAM,MACrD,CAEA,SAASC,EAA+C,CACtD,OAAO,IAAIL,EAAY,CACrB,GAAG,KACH,GAAGK,CACL,CAAC,CACH,CAEA,gBAAgBC,EAA+B,CAC7C,OAAI,KAAK,WAAaA,EACb,KAAK,SAAS,CAAC,CAAC,EAGlB,KAAK,SAAS,CACnB,UAAQ,mBAAgB,KAAK,OAAQ,KAAK,SAAUA,CAAQ,EAC5D,SAAAA,CACF,CAAC,CACH,CAEA,OAAa,CACX,SAAO,EAAAR,SAAI,KAAK,OAAO,SAAS,CAAC,CACnC,CAEA,aAAaS,EAAqBC,EAA+B,CAC/D,SAAO,EAAAV,SAAI,KAAK,UAAUS,EAAYC,CAAS,CAAC,CAClD,CAEA,UAAUD,EAAqBC,EAAkC,CAC/D,SAAO,aAAU,KAAK,OAAQ,KAAK,SAAUD,EAAYC,CAAS,CACpE,CACF,ECvEO,IAAKC,OACVA,EAAA,UAAc,YACdA,EAAA,aAAiB,gBAFPA,OAAA,IAKAC,OACVA,EAAA,SAAW,WACXA,EAAA,OAAS,SACTA,EAAA,cAAgB,iBAHNA,OAAA,ICIL,IAAeC,EAAf,KAAqB,CACjB,OAEA,UAEA,YAEA,IAEA,KAEAC,GAEA,KAET,YAAY,CACV,OAAAC,EACA,UAAAC,EACA,YAAAC,EAAc,GACd,IAAAC,EACA,KAAAC,EACA,YAAAC,EACA,KAAAC,CACF,EAA2B,CACzB,KAAK,OACHN,aAAkB,IACdA,EACA,IAAI,IAAIA,GAAA,YAAAA,EAAQ,IAAKO,GAAS,CAACA,EAAK,IAAKA,CAAI,EAAE,EACrD,KAAK,UAAYN,EACjB,KAAK,YAAcC,EACnB,KAAK,IAAMC,EACX,KAAK,KAAOC,EACZ,KAAKL,GAAeM,EACpB,KAAK,KAAOC,CACd,CAEA,IAAI,aAA0B,CAC5B,OAAO,KAAK,cAAc,KAAKP,EAAY,CAC7C,CAEA,cAAcS,EAAsD,CAClE,IAAML,EAAM,OAAOK,GAAe,SAAWA,EAAaA,EAAW,IAC/DC,EAAa,KAAK,OAAO,IAAIN,CAAG,EAEtC,GAAI,CAACM,EACH,MAAM,IAAI,MACR,kCAAkCN,CAAG,cAAc,KAAK,IAAI,KAAK,KAAK,GAAG,GAC3E,EAGF,OAAOM,CACT,CAEA,aAAiC,CAC/B,OAAO,KAAK,OAAS,WACvB,CAEA,gBAAuC,CACrC,OAAO,KAAK,OAAS,eACvB,CACF,EC1EA,IAAAC,EAAqC,gBCc9B,IAAMC,EAAN,cAAwBC,CAAM,CAC1B,YAEA,YAEA,WAEA,kBAEA,OAEA,GAET,YAAY,CACV,YAAAC,EACA,YAAAC,EACA,kBAAAC,EACA,WAAAC,EACA,OAAAC,EACA,GAAAC,EACA,KAAAC,cACA,GAAGC,CACL,EAA+B,CAC7B,MAAM,CAAE,KAAAD,EAAM,GAAGC,CAAO,CAAC,EAEzB,KAAK,YAAcP,EACnB,KAAK,YAAcC,EACnB,KAAK,WAAaE,EAClB,KAAK,kBAAoB,CAAC,CAACD,EAC3B,KAAK,OAASE,EACd,KAAK,GAAKC,CACZ,CACF,ED7BO,IAAMG,EAAN,cAA2BC,CAAU,CACjC,GAEA,IAEA,YAEA,UAET,YAAY,CACV,GAAAC,EACA,IAAAC,EACA,YAAAC,EAAc,GACd,UAAAC,EACA,GAAGC,CACL,EAAkC,CAChC,MAAM,CAAE,qBAA8B,GAAGA,CAAO,CAAC,EAEjD,KAAK,UAAYD,EACjB,KAAK,GAAKH,EACV,KAAK,IAAMC,EACX,KAAK,YAAcC,CACrB,CAEA,cAAsB,CACpB,SAAO,eAAY,CACjB,GAAI,KAAK,GACT,KAAM,KAAK,KACX,eAAgB,CACd,SAAU,KAAK,YAAY,SAC3B,KAAM,KAAK,YAAY,aACvB,OAAQ,KAAK,YAAY,YAC3B,EACA,QAAS,CACP,QAAS,CACP,KAAM,CAAC,KAAK,GAAG,EACf,UAAW,MAAM,QAAQ,KAAK,EAAE,EAAI,KAAK,GAAK,CAAC,KAAK,EAAE,CACxD,CACF,CACF,CAAC,CACH,CACF","names":["src_exports","__export","Asset","AssetAmount","Chain","ChainAsset","ChainType","Ecosystem","EvmParachain","Parachain","__toCommonJS","Asset","key","originSymbol","asset","import_xcm_utils","ChainAsset","_ChainAsset","Asset","#symbol","address","decimals","ids","min","symbol","other","asset","params","_a","import_xcm_utils","import_big","Big","AssetAmount","_AssetAmount","ChainAsset","amount","other","asset","params","decimals","maxDecimal","roundType","ChainType","Ecosystem","Chain","#nativeAsset","assets","ecosystem","isTestChain","key","name","nativeAsset","type","data","keyOrAsset","chainAsset","import_viem","Parachain","Chain","genesisHash","parachainId","usesChainDecimals","ss58Format","weight","ws","type","others","EvmParachain","Parachain","id","rpc","isEvmSigner","contracts","others"]}
package/build/index.d.cts CHANGED
@@ -66,7 +66,6 @@ declare class AssetAmount extends ChainAsset {
66
66
  type SetOptional<Base, Keys extends keyof Base> = Omit<Base, Keys> & Partial<Pick<Base, Keys>>;
67
67
 
68
68
  interface ParachainConstructorParams extends SetOptional<ChainConstructorParams, 'type'> {
69
- assets?: Map<string, ChainAsset> | ChainAsset[];
70
69
  genesisHash: string;
71
70
  parachainId: number;
72
71
  ss58Format: number;
@@ -75,39 +74,30 @@ interface ParachainConstructorParams extends SetOptional<ChainConstructorParams,
75
74
  ws: string | string[];
76
75
  }
77
76
  declare class Parachain extends Chain {
78
- readonly assets: Map<string, ChainAsset>;
79
77
  readonly genesisHash: string;
80
78
  readonly parachainId: number;
81
79
  readonly ss58Format: number;
82
80
  readonly usesChainDecimals: boolean;
83
81
  readonly weight: number | undefined;
84
82
  readonly ws: string | string[];
85
- constructor({ assets, genesisHash, parachainId, usesChainDecimals, ss58Format, weight, ws, type, ...others }: ParachainConstructorParams);
86
- getChainAsset(keyOrAsset: string | Asset | AssetAmount): ChainAsset;
83
+ constructor({ genesisHash, parachainId, usesChainDecimals, ss58Format, weight, ws, type, ...others }: ParachainConstructorParams);
87
84
  }
88
85
 
89
86
  interface EvmParachainConstructorParams extends Omit<ParachainConstructorParams, 'type'> {
90
87
  id: number;
91
88
  rpc: string;
92
- nativeCurrency: NativeCurrency;
93
89
  isEvmSigner?: boolean;
94
90
  contracts?: Contracts;
95
91
  }
96
- type NativeCurrency = {
97
- decimals: number;
98
- name: string;
99
- symbol: string;
100
- };
101
92
  type Contracts = {
102
93
  Xtokens?: Address;
103
94
  };
104
95
  declare class EvmParachain extends Parachain {
105
96
  readonly id: number;
106
97
  readonly rpc: string;
107
- readonly nativeCurrency: NativeCurrency;
108
98
  readonly isEvmSigner: boolean;
109
99
  readonly contracts?: Contracts;
110
- constructor({ id, rpc, nativeCurrency, isEvmSigner, contracts, ...others }: EvmParachainConstructorParams);
100
+ constructor({ id, rpc, isEvmSigner, contracts, ...others }: EvmParachainConstructorParams);
111
101
  getViemChain(): Chain$1;
112
102
  }
113
103
 
@@ -124,19 +114,25 @@ declare enum Ecosystem {
124
114
  }
125
115
 
126
116
  interface ChainConstructorParams {
117
+ assets: Map<string, ChainAsset> | ChainAsset[];
127
118
  ecosystem?: Ecosystem;
128
119
  isTestChain?: boolean;
129
120
  key: string;
130
121
  name: string;
122
+ nativeAsset: Asset;
131
123
  type: ChainType;
132
124
  }
133
125
  declare abstract class Chain {
126
+ #private;
127
+ readonly assets: Map<string, ChainAsset>;
134
128
  readonly ecosystem?: Ecosystem;
135
129
  readonly isTestChain: boolean;
136
130
  readonly key: string;
137
131
  readonly name: string;
138
132
  readonly type: ChainType;
139
- constructor({ ecosystem, isTestChain, key, name, type, }: ChainConstructorParams);
133
+ constructor({ assets, ecosystem, isTestChain, key, name, nativeAsset, type, }: ChainConstructorParams);
134
+ get nativeAsset(): ChainAsset;
135
+ getChainAsset(keyOrAsset: string | Asset | AssetAmount): ChainAsset;
140
136
  isParachain(): this is Parachain;
141
137
  isEvmParachain(): this is EvmParachain;
142
138
  }
package/build/index.d.ts CHANGED
@@ -88,7 +88,6 @@ type SetOptional<Base, Keys extends keyof Base> = Omit<Base, Keys> &
88
88
 
89
89
  interface ParachainConstructorParams
90
90
  extends SetOptional<ChainConstructorParams, 'type'> {
91
- assets?: Map<string, ChainAsset> | ChainAsset[];
92
91
  genesisHash: string;
93
92
  parachainId: number;
94
93
  ss58Format: number;
@@ -97,7 +96,6 @@ interface ParachainConstructorParams
97
96
  ws: string | string[];
98
97
  }
99
98
  declare class Parachain extends Chain {
100
- readonly assets: Map<string, ChainAsset>;
101
99
  readonly genesisHash: string;
102
100
  readonly parachainId: number;
103
101
  readonly ss58Format: number;
@@ -105,7 +103,6 @@ declare class Parachain extends Chain {
105
103
  readonly weight: number | undefined;
106
104
  readonly ws: string | string[];
107
105
  constructor({
108
- assets,
109
106
  genesisHash,
110
107
  parachainId,
111
108
  usesChainDecimals,
@@ -115,35 +112,26 @@ declare class Parachain extends Chain {
115
112
  type,
116
113
  ...others
117
114
  }: ParachainConstructorParams);
118
- getChainAsset(keyOrAsset: string | Asset | AssetAmount): ChainAsset;
119
115
  }
120
116
 
121
117
  interface EvmParachainConstructorParams
122
118
  extends Omit<ParachainConstructorParams, 'type'> {
123
119
  id: number;
124
120
  rpc: string;
125
- nativeCurrency: NativeCurrency;
126
121
  isEvmSigner?: boolean;
127
122
  contracts?: Contracts;
128
123
  }
129
- type NativeCurrency = {
130
- decimals: number;
131
- name: string;
132
- symbol: string;
133
- };
134
124
  type Contracts = {
135
125
  Xtokens?: Address;
136
126
  };
137
127
  declare class EvmParachain extends Parachain {
138
128
  readonly id: number;
139
129
  readonly rpc: string;
140
- readonly nativeCurrency: NativeCurrency;
141
130
  readonly isEvmSigner: boolean;
142
131
  readonly contracts?: Contracts;
143
132
  constructor({
144
133
  id,
145
134
  rpc,
146
- nativeCurrency,
147
135
  isEvmSigner,
148
136
  contracts,
149
137
  ...others
@@ -164,25 +152,33 @@ declare enum Ecosystem {
164
152
  }
165
153
 
166
154
  interface ChainConstructorParams {
155
+ assets: Map<string, ChainAsset> | ChainAsset[];
167
156
  ecosystem?: Ecosystem;
168
157
  isTestChain?: boolean;
169
158
  key: string;
170
159
  name: string;
160
+ nativeAsset: Asset;
171
161
  type: ChainType;
172
162
  }
173
163
  declare abstract class Chain {
164
+ #private;
165
+ readonly assets: Map<string, ChainAsset>;
174
166
  readonly ecosystem?: Ecosystem;
175
167
  readonly isTestChain: boolean;
176
168
  readonly key: string;
177
169
  readonly name: string;
178
170
  readonly type: ChainType;
179
171
  constructor({
172
+ assets,
180
173
  ecosystem,
181
174
  isTestChain,
182
175
  key,
183
176
  name,
177
+ nativeAsset,
184
178
  type,
185
179
  }: ChainConstructorParams);
180
+ get nativeAsset(): ChainAsset;
181
+ getChainAsset(keyOrAsset: string | Asset | AssetAmount): ChainAsset;
186
182
  isParachain(): this is Parachain;
187
183
  isEvmParachain(): this is EvmParachain;
188
184
  }
package/build/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- var o=class{key;originSymbol;constructor({key:t,originSymbol:r}){this.key=t,this.originSymbol=r}isEqual(t){return this.key===t.key&&this.originSymbol===t.originSymbol}};import{toBigInt as b}from"@moonbeam-network/xcm-utils";var m=class n extends o{address;decimals;ids;min;#t;constructor({address:t,decimals:r,ids:s,min:e,symbol:a,...i}){super(i),this.address=t,this.decimals=r,this.ids=s,this.min=e?b(e,r):void 0,this.#t=a}static fromAsset(t,r){return new n({...t,...r})}get symbol(){return this.#t||this.originSymbol}getAssetId(){var t;return((t=this.ids)==null?void 0:t.id)??this.originSymbol}getBalanceAssetId(){var t;return((t=this.ids)==null?void 0:t.balanceId)??this.getAssetId()}getMinAssetId(){var t;return((t=this.ids)==null?void 0:t.minId)??this.getAssetId()}getAssetPalletInstance(){var t;return(t=this.ids)==null?void 0:t.palletInstance}getAssetMin(){return this.min??0n}};import{convertDecimals as P,toBigInt as f,toDecimal as x}from"@moonbeam-network/xcm-utils";import d from"big.js";d.NE=-18;var l=class n extends m{amount;constructor({amount:t,...r}){super(r),this.amount=f(t,r.decimals)}static fromChainAsset(t,r){return new n({...t,...r})}isSame(t){return super.isEqual(t)&&this.decimals===t.decimals}isEqual(t){return this.isSame(t)&&this.amount===t.amount}copyWith(t){return new n({...this,...t})}convertDecimals(t){return this.decimals===t?this.copyWith({}):this.copyWith({amount:P(this.amount,this.decimals,t),decimals:t})}toBig(){return d(this.amount.toString())}toBigDecimal(t,r){return d(this.toDecimal(t,r))}toDecimal(t,r){return x(this.amount,this.decimals,t,r)}};var h=(r=>(r.Parachain="parachain",r.EvmParachain="evm-parachain",r))(h||{}),I=(s=>(s.Polkadot="polkadot",s.Kusama="kusama",s.AlphanetRelay="alphanet-relay",s))(I||{});var c=class{ecosystem;isTestChain;key;name;type;constructor({ecosystem:t,isTestChain:r=!1,key:s,name:e,type:a}){this.ecosystem=t,this.isTestChain=r,this.key=s,this.name=e,this.type=a}isParachain(){return this.type==="parachain"}isEvmParachain(){return this.type==="evm-parachain"}};import{defineChain as v}from"viem";var u=class extends c{assets;genesisHash;parachainId;ss58Format;usesChainDecimals;weight;ws;constructor({assets:t,genesisHash:r,parachainId:s,usesChainDecimals:e,ss58Format:a,weight:i,ws:C,type:g="parachain",...A}){super({type:g,...A}),this.assets=t instanceof Map?t:new Map(t==null?void 0:t.map(p=>[p.key,p])),this.genesisHash=r,this.parachainId=s,this.ss58Format=a,this.usesChainDecimals=!!e,this.weight=i,this.ws=C}getChainAsset(t){let r=typeof t=="string"?t:t.key,s=this.assets.get(r);if(!s)throw new Error(`No ChainAsset found by the key ${r} for chain ${this.name} (${this.key})`);return s}};var y=class extends u{id;rpc;nativeCurrency;isEvmSigner;contracts;constructor({id:t,rpc:r,nativeCurrency:s,isEvmSigner:e=!1,contracts:a,...i}){super({type:"evm-parachain",...i}),this.contracts=a,this.id=t,this.rpc=r,this.nativeCurrency=s,this.isEvmSigner=e}getViemChain(){return v({id:this.id,name:this.name,nativeCurrency:this.nativeCurrency,rpcUrls:{default:{http:[this.rpc],webSocket:Array.isArray(this.ws)?this.ws:[this.ws]}}})}};export{o as Asset,l as AssetAmount,c as Chain,m as ChainAsset,h as ChainType,I as Ecosystem,y as EvmParachain,u as Parachain};
1
+ var m=class{key;originSymbol;constructor({key:t,originSymbol:s}){this.key=t,this.originSymbol=s}isEqual(t){return this.key===t.key&&this.originSymbol===t.originSymbol}};import{toBigInt as g}from"@moonbeam-network/xcm-utils";var h=class e extends m{address;decimals;ids;min;#t;constructor({address:t,decimals:s,ids:r,min:n,symbol:a,...i}){super(i),this.address=t,this.decimals=s,this.ids=r,this.min=n?g(n,s):void 0,this.#t=a}static fromAsset(t,s){return new e({...t,...s})}get symbol(){return this.#t||this.originSymbol}getAssetId(){var t;return((t=this.ids)==null?void 0:t.id)??this.originSymbol}getBalanceAssetId(){var t;return((t=this.ids)==null?void 0:t.balanceId)??this.getAssetId()}getMinAssetId(){var t;return((t=this.ids)==null?void 0:t.minId)??this.getAssetId()}getAssetPalletInstance(){var t;return(t=this.ids)==null?void 0:t.palletInstance}getAssetMin(){return this.min??0n}};import{convertDecimals as C,toBigInt as b,toDecimal as P}from"@moonbeam-network/xcm-utils";import p from"big.js";p.NE=-18;var y=class e extends h{amount;constructor({amount:t,...s}){super(s),this.amount=b(t,s.decimals)}static fromChainAsset(t,s){return new e({...t,...s})}isSame(t){return super.isEqual(t)&&this.decimals===t.decimals}isEqual(t){return this.isSame(t)&&this.amount===t.amount}copyWith(t){return new e({...this,...t})}convertDecimals(t){return this.decimals===t?this.copyWith({}):this.copyWith({amount:C(this.amount,this.decimals,t),decimals:t})}toBig(){return p(this.amount.toString())}toBigDecimal(t,s){return p(this.toDecimal(t,s))}toDecimal(t,s){return P(this.amount,this.decimals,t,s)}};var c=(s=>(s.Parachain="parachain",s.EvmParachain="evm-parachain",s))(c||{}),f=(r=>(r.Polkadot="polkadot",r.Kusama="kusama",r.AlphanetRelay="alphanet-relay",r))(f||{});var u=class{assets;ecosystem;isTestChain;key;name;#t;type;constructor({assets:t,ecosystem:s,isTestChain:r=!1,key:n,name:a,nativeAsset:i,type:l}){this.assets=t instanceof Map?t:new Map(t==null?void 0:t.map(o=>[o.key,o])),this.ecosystem=s,this.isTestChain=r,this.key=n,this.name=a,this.#t=i,this.type=l}get nativeAsset(){return this.getChainAsset(this.#t)}getChainAsset(t){let s=typeof t=="string"?t:t.key,r=this.assets.get(s);if(!r)throw new Error(`No ChainAsset found by the key ${s} for chain ${this.name} (${this.key})`);return r}isParachain(){return this.type==="parachain"}isEvmParachain(){return this.type==="evm-parachain"}};import{defineChain as x}from"viem";var d=class extends u{genesisHash;parachainId;ss58Format;usesChainDecimals;weight;ws;constructor({genesisHash:t,parachainId:s,usesChainDecimals:r,ss58Format:n,weight:a,ws:i,type:l="parachain",...o}){super({type:l,...o}),this.genesisHash=t,this.parachainId=s,this.ss58Format=n,this.usesChainDecimals=!!r,this.weight=a,this.ws=i}};var A=class extends d{id;rpc;isEvmSigner;contracts;constructor({id:t,rpc:s,isEvmSigner:r=!1,contracts:n,...a}){super({type:"evm-parachain",...a}),this.contracts=n,this.id=t,this.rpc=s,this.isEvmSigner=r}getViemChain(){return x({id:this.id,name:this.name,nativeCurrency:{decimals:this.nativeAsset.decimals,name:this.nativeAsset.originSymbol,symbol:this.nativeAsset.originSymbol},rpcUrls:{default:{http:[this.rpc],webSocket:Array.isArray(this.ws)?this.ws:[this.ws]}}})}};export{m as Asset,y as AssetAmount,u as Chain,h as ChainAsset,c as ChainType,f as Ecosystem,A as EvmParachain,d as Parachain};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/asset/Asset.ts","../src/asset/ChainAsset.ts","../src/asset/AssetAmount.ts","../src/chain/Chain.interfaces.ts","../src/chain/Chain.ts","../src/chain/parachain/EvmParachain.ts","../src/chain/parachain/Parachain.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 isEqual(asset: Asset): boolean {\n return this.key === asset.key && this.originSymbol === asset.originSymbol;\n }\n}\n","import { toBigInt } from '@moonbeam-network/xcm-utils';\nimport { Asset, 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 get symbol(): string {\n return this.#symbol || this.originSymbol;\n }\n\n getAssetId(): ChainAssetId {\n return this.ids?.id ?? this.originSymbol;\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 | undefined {\n return this.ids?.palletInstance;\n }\n\n getAssetMin(): bigint {\n return this.min ?? 0n;\n }\n}\n","import {\n convertDecimals,\n toBigInt,\n toDecimal,\n} from '@moonbeam-network/xcm-utils';\nimport Big, { RoundingMode } from 'big.js';\nimport { ChainAsset, 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: 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>) {\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 type { EvmParachain, Parachain } from './parachain';\n\nexport type AnyChain = Parachain | EvmParachain;\nexport type AnyParachain = Parachain | EvmParachain;\n\nexport enum ChainType {\n 'Parachain' = 'parachain',\n 'EvmParachain' = 'evm-parachain',\n}\n\nexport enum Ecosystem {\n Polkadot = 'polkadot',\n Kusama = 'kusama',\n AlphanetRelay = 'alphanet-relay',\n}\n","import { ChainType, Ecosystem } from './Chain.interfaces';\nimport type { EvmParachain, Parachain } from './parachain';\n\nexport interface ChainConstructorParams {\n ecosystem?: Ecosystem;\n isTestChain?: boolean;\n key: string;\n name: string;\n type: ChainType;\n}\n\nexport abstract class Chain {\n readonly ecosystem?: Ecosystem;\n\n readonly isTestChain: boolean;\n\n readonly key: string;\n\n readonly name: string;\n\n readonly type: ChainType;\n\n constructor({\n ecosystem,\n isTestChain = false,\n key,\n name,\n type,\n }: ChainConstructorParams) {\n this.ecosystem = ecosystem;\n this.isTestChain = isTestChain;\n this.key = key;\n this.name = name;\n this.type = type;\n }\n\n isParachain(): this is Parachain {\n return this.type === ChainType.Parachain;\n }\n\n isEvmParachain(): this is EvmParachain {\n return this.type === ChainType.EvmParachain;\n }\n}\n","import { Address, defineChain } from 'viem';\nimport { Chain } from 'viem/chains';\nimport { ChainType } from '../Chain.interfaces';\nimport { Parachain, ParachainConstructorParams } from './Parachain';\n\nexport interface EvmParachainConstructorParams\n extends Omit<ParachainConstructorParams, 'type'> {\n id: number;\n rpc: string;\n nativeCurrency: NativeCurrency;\n isEvmSigner?: boolean;\n contracts?: Contracts;\n}\n\ntype NativeCurrency = {\n decimals: number;\n name: string;\n symbol: string;\n};\n\ntype Contracts = {\n Xtokens?: Address;\n};\n\nexport class EvmParachain extends Parachain {\n readonly id: number;\n\n readonly rpc: string;\n\n readonly nativeCurrency: NativeCurrency;\n\n readonly isEvmSigner: boolean;\n\n readonly contracts?: Contracts;\n\n constructor({\n id,\n rpc,\n nativeCurrency,\n isEvmSigner = false,\n contracts,\n ...others\n }: EvmParachainConstructorParams) {\n super({ type: ChainType.EvmParachain, ...others });\n\n this.contracts = contracts;\n this.id = id;\n this.rpc = rpc;\n this.nativeCurrency = nativeCurrency;\n this.isEvmSigner = isEvmSigner;\n }\n\n getViemChain(): Chain {\n return defineChain({\n id: this.id,\n name: this.name,\n nativeCurrency: this.nativeCurrency,\n rpcUrls: {\n default: {\n http: [this.rpc],\n webSocket: Array.isArray(this.ws) ? this.ws : [this.ws],\n },\n },\n });\n }\n}\n","import { Asset, AssetAmount, ChainAsset } from '../../asset';\nimport { SetOptional } from '../../common.interfaces';\nimport { Chain, ChainConstructorParams } from '../Chain';\nimport { ChainType } from '../Chain.interfaces';\n\nexport interface ParachainConstructorParams\n extends SetOptional<ChainConstructorParams, 'type'> {\n assets?: Map<string, ChainAsset> | ChainAsset[];\n genesisHash: string;\n parachainId: number;\n ss58Format: number;\n usesChainDecimals?: boolean;\n weight?: number;\n ws: string | string[];\n}\n\nexport class Parachain extends Chain {\n readonly assets: Map<string, ChainAsset>;\n\n readonly genesisHash: string;\n\n readonly parachainId: number;\n\n readonly ss58Format: number;\n\n readonly usesChainDecimals: boolean;\n\n readonly weight: number | undefined;\n\n readonly ws: string | string[];\n\n constructor({\n assets,\n genesisHash,\n parachainId,\n usesChainDecimals,\n ss58Format,\n weight,\n ws,\n type = ChainType.Parachain,\n ...others\n }: ParachainConstructorParams) {\n super({ type, ...others });\n\n this.assets =\n assets instanceof Map\n ? assets\n : new Map(assets?.map((data) => [data.key, data]));\n this.genesisHash = genesisHash;\n this.parachainId = parachainId;\n this.ss58Format = ss58Format;\n this.usesChainDecimals = !!usesChainDecimals;\n this.weight = weight;\n this.ws = ws;\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"],"mappings":"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","names":["Asset","key","originSymbol","asset","toBigInt","ChainAsset","_ChainAsset","Asset","#symbol","address","decimals","ids","min","symbol","other","toBigInt","asset","params","_a","convertDecimals","toBigInt","toDecimal","Big","Big","AssetAmount","_AssetAmount","ChainAsset","amount","other","toBigInt","asset","params","decimals","convertDecimals","maxDecimal","roundType","toDecimal","ChainType","Ecosystem","Chain","ecosystem","isTestChain","key","name","type","defineChain","Parachain","Chain","assets","genesisHash","parachainId","usesChainDecimals","ss58Format","weight","ws","type","others","data","keyOrAsset","key","chainAsset","EvmParachain","Parachain","id","rpc","nativeCurrency","isEvmSigner","contracts","others","defineChain"]}
1
+ {"version":3,"sources":["../src/asset/Asset.ts","../src/asset/ChainAsset.ts","../src/asset/AssetAmount.ts","../src/chain/Chain.interfaces.ts","../src/chain/Chain.ts","../src/chain/parachain/EvmParachain.ts","../src/chain/parachain/Parachain.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 isEqual(asset: Asset): boolean {\n return this.key === asset.key && this.originSymbol === asset.originSymbol;\n }\n}\n","import { toBigInt } from '@moonbeam-network/xcm-utils';\nimport { Asset, 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 get symbol(): string {\n return this.#symbol || this.originSymbol;\n }\n\n getAssetId(): ChainAssetId {\n return this.ids?.id ?? this.originSymbol;\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 | undefined {\n return this.ids?.palletInstance;\n }\n\n getAssetMin(): bigint {\n return this.min ?? 0n;\n }\n}\n","import {\n convertDecimals,\n toBigInt,\n toDecimal,\n} from '@moonbeam-network/xcm-utils';\nimport Big, { RoundingMode } from 'big.js';\nimport { ChainAsset, 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: 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>) {\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 type { EvmParachain, Parachain } from './parachain';\n\nexport type AnyChain = Parachain | EvmParachain;\nexport type AnyParachain = Parachain | EvmParachain;\n\nexport enum ChainType {\n 'Parachain' = 'parachain',\n 'EvmParachain' = 'evm-parachain',\n}\n\nexport enum Ecosystem {\n Polkadot = 'polkadot',\n Kusama = 'kusama',\n AlphanetRelay = 'alphanet-relay',\n}\n","import { Asset, AssetAmount, ChainAsset } from '../asset';\nimport { ChainType, Ecosystem } from './Chain.interfaces';\nimport type { EvmParachain, Parachain } from './parachain';\n\nexport interface ChainConstructorParams {\n assets: Map<string, ChainAsset> | ChainAsset[];\n ecosystem?: Ecosystem;\n isTestChain?: boolean;\n key: string;\n name: string;\n nativeAsset: Asset;\n type: ChainType;\n}\n\nexport abstract class Chain {\n readonly assets: Map<string, ChainAsset>;\n\n readonly ecosystem?: Ecosystem;\n\n readonly isTestChain: boolean;\n\n readonly key: string;\n\n readonly name: string;\n\n readonly #nativeAsset: Asset;\n\n readonly type: ChainType;\n\n constructor({\n assets,\n ecosystem,\n isTestChain = false,\n key,\n name,\n nativeAsset,\n type,\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.isTestChain = isTestChain;\n this.key = key;\n this.name = name;\n this.#nativeAsset = nativeAsset;\n this.type = type;\n }\n\n get nativeAsset(): ChainAsset {\n return this.getChainAsset(this.#nativeAsset);\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 isParachain(): this is Parachain {\n return this.type === ChainType.Parachain;\n }\n\n isEvmParachain(): this is EvmParachain {\n return this.type === ChainType.EvmParachain;\n }\n}\n","import { Address, defineChain } from 'viem';\nimport { Chain } from 'viem/chains';\nimport { ChainType } from '../Chain.interfaces';\nimport { Parachain, ParachainConstructorParams } from './Parachain';\n\nexport interface EvmParachainConstructorParams\n extends Omit<ParachainConstructorParams, 'type'> {\n id: number;\n rpc: string;\n isEvmSigner?: boolean;\n contracts?: Contracts;\n}\n\ntype Contracts = {\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 constructor({\n id,\n rpc,\n isEvmSigner = false,\n contracts,\n ...others\n }: EvmParachainConstructorParams) {\n super({ type: ChainType.EvmParachain, ...others });\n\n this.contracts = contracts;\n this.id = id;\n this.rpc = rpc;\n this.isEvmSigner = isEvmSigner;\n }\n\n getViemChain(): Chain {\n return defineChain({\n id: this.id,\n name: this.name,\n nativeCurrency: {\n decimals: this.nativeAsset.decimals,\n name: this.nativeAsset.originSymbol,\n symbol: this.nativeAsset.originSymbol,\n },\n rpcUrls: {\n default: {\n http: [this.rpc],\n webSocket: Array.isArray(this.ws) ? this.ws : [this.ws],\n },\n },\n });\n }\n}\n","import { SetOptional } from '../../common.interfaces';\nimport { Chain, ChainConstructorParams } from '../Chain';\nimport { ChainType } from '../Chain.interfaces';\n\nexport interface ParachainConstructorParams\n extends SetOptional<ChainConstructorParams, 'type'> {\n genesisHash: string;\n parachainId: number;\n ss58Format: number;\n usesChainDecimals?: boolean;\n weight?: number;\n ws: string | string[];\n}\n\nexport class Parachain extends Chain {\n readonly genesisHash: string;\n\n readonly parachainId: number;\n\n readonly ss58Format: number;\n\n readonly usesChainDecimals: boolean;\n\n readonly weight: number | undefined;\n\n readonly ws: string | string[];\n\n constructor({\n genesisHash,\n parachainId,\n usesChainDecimals,\n ss58Format,\n weight,\n ws,\n type = ChainType.Parachain,\n ...others\n }: ParachainConstructorParams) {\n super({ type, ...others });\n\n this.genesisHash = genesisHash;\n this.parachainId = parachainId;\n this.ss58Format = ss58Format;\n this.usesChainDecimals = !!usesChainDecimals;\n this.weight = weight;\n this.ws = ws;\n }\n}\n"],"mappings":"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","names":["Asset","key","originSymbol","asset","toBigInt","ChainAsset","_ChainAsset","Asset","#symbol","address","decimals","ids","min","symbol","other","toBigInt","asset","params","_a","convertDecimals","toBigInt","toDecimal","Big","Big","AssetAmount","_AssetAmount","ChainAsset","amount","other","toBigInt","asset","params","decimals","convertDecimals","maxDecimal","roundType","toDecimal","ChainType","Ecosystem","Chain","#nativeAsset","assets","ecosystem","isTestChain","key","name","nativeAsset","type","data","keyOrAsset","chainAsset","defineChain","Parachain","Chain","genesisHash","parachainId","usesChainDecimals","ss58Format","weight","ws","type","others","EvmParachain","Parachain","id","rpc","isEvmSigner","contracts","others","defineChain"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moonbeam-network/xcm-types",
3
- "version": "1.0.0-dev.105",
3
+ "version": "1.0.0-dev.106",
4
4
  "description": "Moonbeam XCM Types",
5
5
  "scripts": {
6
6
  "build": "tsup",
@@ -48,7 +48,7 @@
48
48
  "types": "./build/index.d.ts",
49
49
  "main": "./build/index.cjs",
50
50
  "dependencies": {
51
- "@moonbeam-network/xcm-utils": "1.0.0-dev.105",
51
+ "@moonbeam-network/xcm-utils": "1.0.0-dev.106",
52
52
  "big.js": "^6.2.1"
53
53
  },
54
54
  "peerDependencies": {