@moonbeam-network/xcm-types 1.0.0-dev.104 → 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:()=>b,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 P=require("@moonbeam-network/xcm-utils");var h=class s extends m{address;decimals;ids;min;symbol;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,P.toBigInt)(e,r):void 0,this.symbol=a}static fromAsset(t,r){return new s({...t,...r})}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||{}),b=(n=>(n.Polkadot="polkadot",n.Kusama="kusama",n.AlphanetRelay="alphanet-relay",n))(b||{});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 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","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":"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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","#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
@@ -30,13 +30,14 @@ type ChainAssetId = string | number | bigint | {
30
30
  [key: string]: ChainAssetId;
31
31
  };
32
32
  declare class ChainAsset extends Asset {
33
+ #private;
33
34
  readonly address?: string;
34
35
  readonly decimals: number;
35
36
  readonly ids?: ChainAssetIds;
36
37
  readonly min?: bigint;
37
- readonly symbol?: string;
38
38
  constructor({ address, decimals, ids, min, symbol, ...other }: ChainAssetConstructorParams);
39
39
  static fromAsset(asset: Asset, params: Omit<ChainAssetConstructorParams, keyof AssetConstructorParams>): ChainAsset;
40
+ get symbol(): string;
40
41
  getAssetId(): ChainAssetId;
41
42
  getBalanceAssetId(): ChainAssetId;
42
43
  getMinAssetId(): ChainAssetId;
@@ -65,7 +66,6 @@ declare class AssetAmount extends ChainAsset {
65
66
  type SetOptional<Base, Keys extends keyof Base> = Omit<Base, Keys> & Partial<Pick<Base, Keys>>;
66
67
 
67
68
  interface ParachainConstructorParams extends SetOptional<ChainConstructorParams, 'type'> {
68
- assets?: Map<string, ChainAsset> | ChainAsset[];
69
69
  genesisHash: string;
70
70
  parachainId: number;
71
71
  ss58Format: number;
@@ -74,39 +74,30 @@ interface ParachainConstructorParams extends SetOptional<ChainConstructorParams,
74
74
  ws: string | string[];
75
75
  }
76
76
  declare class Parachain extends Chain {
77
- readonly assets: Map<string, ChainAsset>;
78
77
  readonly genesisHash: string;
79
78
  readonly parachainId: number;
80
79
  readonly ss58Format: number;
81
80
  readonly usesChainDecimals: boolean;
82
81
  readonly weight: number | undefined;
83
82
  readonly ws: string | string[];
84
- constructor({ assets, genesisHash, parachainId, usesChainDecimals, ss58Format, weight, ws, type, ...others }: ParachainConstructorParams);
85
- getChainAsset(keyOrAsset: string | Asset | AssetAmount): ChainAsset;
83
+ constructor({ genesisHash, parachainId, usesChainDecimals, ss58Format, weight, ws, type, ...others }: ParachainConstructorParams);
86
84
  }
87
85
 
88
86
  interface EvmParachainConstructorParams extends Omit<ParachainConstructorParams, 'type'> {
89
87
  id: number;
90
88
  rpc: string;
91
- nativeCurrency: NativeCurrency;
92
89
  isEvmSigner?: boolean;
93
90
  contracts?: Contracts;
94
91
  }
95
- type NativeCurrency = {
96
- decimals: number;
97
- name: string;
98
- symbol: string;
99
- };
100
92
  type Contracts = {
101
93
  Xtokens?: Address;
102
94
  };
103
95
  declare class EvmParachain extends Parachain {
104
96
  readonly id: number;
105
97
  readonly rpc: string;
106
- readonly nativeCurrency: NativeCurrency;
107
98
  readonly isEvmSigner: boolean;
108
99
  readonly contracts?: Contracts;
109
- constructor({ id, rpc, nativeCurrency, isEvmSigner, contracts, ...others }: EvmParachainConstructorParams);
100
+ constructor({ id, rpc, isEvmSigner, contracts, ...others }: EvmParachainConstructorParams);
110
101
  getViemChain(): Chain$1;
111
102
  }
112
103
 
@@ -123,19 +114,25 @@ declare enum Ecosystem {
123
114
  }
124
115
 
125
116
  interface ChainConstructorParams {
117
+ assets: Map<string, ChainAsset> | ChainAsset[];
126
118
  ecosystem?: Ecosystem;
127
119
  isTestChain?: boolean;
128
120
  key: string;
129
121
  name: string;
122
+ nativeAsset: Asset;
130
123
  type: ChainType;
131
124
  }
132
125
  declare abstract class Chain {
126
+ #private;
127
+ readonly assets: Map<string, ChainAsset>;
133
128
  readonly ecosystem?: Ecosystem;
134
129
  readonly isTestChain: boolean;
135
130
  readonly key: string;
136
131
  readonly name: string;
137
132
  readonly type: ChainType;
138
- 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;
139
136
  isParachain(): this is Parachain;
140
137
  isEvmParachain(): this is EvmParachain;
141
138
  }
package/build/index.d.ts CHANGED
@@ -34,11 +34,11 @@ type ChainAssetId =
34
34
  [key: string]: ChainAssetId;
35
35
  };
36
36
  declare class ChainAsset extends Asset {
37
+ #private;
37
38
  readonly address?: string;
38
39
  readonly decimals: number;
39
40
  readonly ids?: ChainAssetIds;
40
41
  readonly min?: bigint;
41
- readonly symbol?: string;
42
42
  constructor({
43
43
  address,
44
44
  decimals,
@@ -51,6 +51,7 @@ declare class ChainAsset extends Asset {
51
51
  asset: Asset,
52
52
  params: Omit<ChainAssetConstructorParams, keyof AssetConstructorParams>,
53
53
  ): ChainAsset;
54
+ get symbol(): string;
54
55
  getAssetId(): ChainAssetId;
55
56
  getBalanceAssetId(): ChainAssetId;
56
57
  getMinAssetId(): ChainAssetId;
@@ -87,7 +88,6 @@ type SetOptional<Base, Keys extends keyof Base> = Omit<Base, Keys> &
87
88
 
88
89
  interface ParachainConstructorParams
89
90
  extends SetOptional<ChainConstructorParams, 'type'> {
90
- assets?: Map<string, ChainAsset> | ChainAsset[];
91
91
  genesisHash: string;
92
92
  parachainId: number;
93
93
  ss58Format: number;
@@ -96,7 +96,6 @@ interface ParachainConstructorParams
96
96
  ws: string | string[];
97
97
  }
98
98
  declare class Parachain extends Chain {
99
- readonly assets: Map<string, ChainAsset>;
100
99
  readonly genesisHash: string;
101
100
  readonly parachainId: number;
102
101
  readonly ss58Format: number;
@@ -104,7 +103,6 @@ declare class Parachain extends Chain {
104
103
  readonly weight: number | undefined;
105
104
  readonly ws: string | string[];
106
105
  constructor({
107
- assets,
108
106
  genesisHash,
109
107
  parachainId,
110
108
  usesChainDecimals,
@@ -114,35 +112,26 @@ declare class Parachain extends Chain {
114
112
  type,
115
113
  ...others
116
114
  }: ParachainConstructorParams);
117
- getChainAsset(keyOrAsset: string | Asset | AssetAmount): ChainAsset;
118
115
  }
119
116
 
120
117
  interface EvmParachainConstructorParams
121
118
  extends Omit<ParachainConstructorParams, 'type'> {
122
119
  id: number;
123
120
  rpc: string;
124
- nativeCurrency: NativeCurrency;
125
121
  isEvmSigner?: boolean;
126
122
  contracts?: Contracts;
127
123
  }
128
- type NativeCurrency = {
129
- decimals: number;
130
- name: string;
131
- symbol: string;
132
- };
133
124
  type Contracts = {
134
125
  Xtokens?: Address;
135
126
  };
136
127
  declare class EvmParachain extends Parachain {
137
128
  readonly id: number;
138
129
  readonly rpc: string;
139
- readonly nativeCurrency: NativeCurrency;
140
130
  readonly isEvmSigner: boolean;
141
131
  readonly contracts?: Contracts;
142
132
  constructor({
143
133
  id,
144
134
  rpc,
145
- nativeCurrency,
146
135
  isEvmSigner,
147
136
  contracts,
148
137
  ...others
@@ -163,25 +152,33 @@ declare enum Ecosystem {
163
152
  }
164
153
 
165
154
  interface ChainConstructorParams {
155
+ assets: Map<string, ChainAsset> | ChainAsset[];
166
156
  ecosystem?: Ecosystem;
167
157
  isTestChain?: boolean;
168
158
  key: string;
169
159
  name: string;
160
+ nativeAsset: Asset;
170
161
  type: ChainType;
171
162
  }
172
163
  declare abstract class Chain {
164
+ #private;
165
+ readonly assets: Map<string, ChainAsset>;
173
166
  readonly ecosystem?: Ecosystem;
174
167
  readonly isTestChain: boolean;
175
168
  readonly key: string;
176
169
  readonly name: string;
177
170
  readonly type: ChainType;
178
171
  constructor({
172
+ assets,
179
173
  ecosystem,
180
174
  isTestChain,
181
175
  key,
182
176
  name,
177
+ nativeAsset,
183
178
  type,
184
179
  }: ChainConstructorParams);
180
+ get nativeAsset(): ChainAsset;
181
+ getChainAsset(keyOrAsset: string | Asset | AssetAmount): ChainAsset;
185
182
  isParachain(): this is Parachain;
186
183
  isEvmParachain(): this is EvmParachain;
187
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 P}from"@moonbeam-network/xcm-utils";var m=class n extends o{address;decimals;ids;min;symbol;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?P(e,r):void 0,this.symbol=a}static fromAsset(t,r){return new n({...t,...r})}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 b,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:b(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 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","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.104",
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.104",
51
+ "@moonbeam-network/xcm-utils": "1.0.0-dev.106",
52
52
  "big.js": "^6.2.1"
53
53
  },
54
54
  "peerDependencies": {