@moonbeam-network/xcm-types 1.0.0-dev.102 → 1.0.0-dev.104

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 v=Object.create;var c=Object.defineProperty;var k=Object.getOwnPropertyDescriptor;var I=Object.getOwnPropertyNames;var E=Object.getPrototypeOf,D=Object.prototype.hasOwnProperty;var S=(e,t)=>{for(var r in t)c(e,r,{get:t[r],enumerable:!0})},g=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of I(t))!D.call(e,a)&&a!==r&&c(e,a,{get:()=>t[a],enumerable:!(s=k(t,a))||s.enumerable});return e};var w=(e,t,r)=>(r=e!=null?v(E(e)):{},g(t||!e||!e.__esModule?c(r,"default",{value:e,enumerable:!0}):r,e)),M=e=>g(c({},"__esModule",{value:!0}),e);var B={};S(B,{Asset:()=>i,AssetAmount:()=>l,Chain:()=>m,ChainType:()=>o,Ecosystem:()=>C,EvmParachain:()=>y,Parachain:()=>h});module.exports=M(B);var i=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 A=require("@moonbeam-network/xcm-utils"),u=w(require("big.js"),1);u.default.NE=-18;var l=class e extends i{amount;decimals;symbol;constructor({amount:t,decimals:r,symbol:s,...a}){super(a),this.amount=BigInt(t),this.decimals=r,this.symbol=s||this.originSymbol}static fromAsset(t,r){return new e({...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 e({...this,...t})}toBig(){return(0,u.default)(this.amount.toString())}toBigDecimal(t,r){return(0,u.default)(this.toDecimal(t,r))}toDecimal(t,r){return(0,A.toDecimal)(this.amount,this.decimals,t,r)}};var o=(r=>(r.Parachain="parachain",r.EvmParachain="evm-parachain",r))(o||{}),C=(s=>(s.Polkadot="polkadot",s.Kusama="kusama",s.AlphanetRelay="alphanet-relay",s))(C||{});var m=class{ecosystem;isTestChain;key;name;type;constructor({ecosystem:t,isTestChain:r=!1,key:s,name:a,type:n}){this.ecosystem=t,this.isTestChain=r,this.key=s,this.name=a,this.type=n}isParachain(){return this.type==="parachain"}isEvmParachain(){return this.type==="evm-parachain"}};var P=require("viem");var h=class extends m{assetsData;genesisHash;parachainId;ss58Format;usesChainDecimals;weight;ws;constructor({assetsData:t,genesisHash:r,parachainId:s,usesChainDecimals:a,ss58Format:n,weight:p,ws:b,type:f="parachain",...x}){super({type:f,...x}),this.assetsData=t instanceof Map?t:new Map(t==null?void 0:t.map(d=>[d.asset.key,d])),this.genesisHash=r,this.parachainId=s,this.ss58Format=n,this.usesChainDecimals=!!a,this.weight=p,this.ws=b}getAssetId(t){var r;return((r=this.assetsData.get(t.key))==null?void 0:r.id)??t.originSymbol}getBalanceAssetId(t){var r;return((r=this.assetsData.get(t.key))==null?void 0:r.balanceId)??this.getAssetId(t)}getMinAssetId(t){var r;return((r=this.assetsData.get(t.key))==null?void 0:r.minId)??this.getAssetId(t)}getMetadataAssetId(t){var r;return((r=this.assetsData.get(t.key))==null?void 0:r.metadataId)??this.getAssetId(t)}getAssetPalletInstance(t){var r;return(r=this.assetsData.get(t.key))==null?void 0:r.palletInstance}getAssetDecimals(t){var r;return(r=this.assetsData.get(t.key))==null?void 0:r.decimals}getAssetMin(t){var r;return((r=this.assetsData.get(t.key))==null?void 0:r.min)??0}};var y=class extends h{id;rpc;nativeCurrency;isEvmSigner;contracts;constructor({id:t,rpc:r,nativeCurrency:s,isEvmSigner:a=!1,contracts:n,...p}){super({type:"evm-parachain",...p}),this.contracts=n,this.id=t,this.rpc=r,this.nativeCurrency=s,this.isEvmSigner=a}getViemChain(){return(0,P.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,ChainType,Ecosystem,EvmParachain,Parachain});
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});
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/asset/Asset.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 { toDecimal } from '@moonbeam-network/xcm-utils';\nimport Big, { RoundingMode } from 'big.js';\nimport { Asset, AssetConstructorParams } from './Asset';\n\nBig.NE = -18;\n\nexport interface AssetAmountParams {\n amount: bigint;\n decimals: number;\n symbol?: string;\n}\n\nexport interface AssetAmountConstructorParams\n extends AssetConstructorParams,\n AssetAmountParams {}\n\nexport class AssetAmount extends Asset {\n readonly amount: bigint;\n\n readonly decimals: number;\n\n readonly symbol: string;\n\n constructor({\n amount,\n decimals,\n symbol,\n ...other\n }: AssetAmountConstructorParams) {\n super(other);\n\n this.amount = BigInt(amount);\n this.decimals = decimals;\n this.symbol = symbol || this.originSymbol;\n }\n\n static fromAsset(asset: Asset, params: AssetAmountParams) {\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 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 } from '../../asset';\nimport { SetOptional } from '../../common.interfaces';\nimport { Chain, ChainConstructorParams } from '../Chain';\nimport { ChainType } from '../Chain.interfaces';\nimport { ChainAssetId, ChainAssetsData } from './Parachain.interfaces';\n\nexport interface ParachainConstructorParams\n extends SetOptional<ChainConstructorParams, 'type'> {\n assetsData?: Map<string, ChainAssetsData> | ChainAssetsData[];\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 assetsData: Map<string, ChainAssetsData>;\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 assetsData,\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.assetsData =\n assetsData instanceof Map\n ? assetsData\n : new Map(assetsData?.map((data) => [data.asset.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 getAssetId(asset: Asset): ChainAssetId {\n return this.assetsData.get(asset.key)?.id ?? asset.originSymbol;\n }\n\n getBalanceAssetId(asset: Asset): ChainAssetId {\n return this.assetsData.get(asset.key)?.balanceId ?? this.getAssetId(asset);\n }\n\n getMinAssetId(asset: Asset): ChainAssetId {\n return this.assetsData.get(asset.key)?.minId ?? this.getAssetId(asset);\n }\n\n getMetadataAssetId(asset: Asset): ChainAssetId {\n return this.assetsData.get(asset.key)?.metadataId ?? this.getAssetId(asset);\n }\n\n getAssetPalletInstance(asset: Asset): number | undefined {\n return this.assetsData.get(asset.key)?.palletInstance;\n }\n\n getAssetDecimals(asset: Asset): number | undefined {\n return this.assetsData.get(asset.key)?.decimals;\n }\n\n getAssetMin(asset: Asset): number {\n return this.assetsData.get(asset.key)?.min ?? 0;\n }\n}\n"],"mappings":"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","names":["src_exports","__export","Asset","AssetAmount","Chain","ChainType","Ecosystem","EvmParachain","Parachain","__toCommonJS","Asset","key","originSymbol","asset","import_xcm_utils","import_big","Big","AssetAmount","_AssetAmount","Asset","amount","decimals","symbol","other","asset","params","maxDecimal","roundType","ChainType","Ecosystem","Chain","ecosystem","isTestChain","key","name","type","import_viem","Parachain","Chain","assetsData","genesisHash","parachainId","usesChainDecimals","ss58Format","weight","ws","type","others","data","asset","_a","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 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"]}
package/build/index.d.cts CHANGED
@@ -13,22 +13,50 @@ declare class Asset {
13
13
  isEqual(asset: Asset): boolean;
14
14
  }
15
15
 
16
- interface AssetAmountParams {
17
- amount: bigint;
16
+ interface ChainAssetConstructorParams extends AssetConstructorParams {
17
+ address?: string;
18
18
  decimals: number;
19
+ ids?: ChainAssetIds;
20
+ min?: number | bigint;
19
21
  symbol?: string;
20
22
  }
21
- interface AssetAmountConstructorParams extends AssetConstructorParams, AssetAmountParams {
23
+ interface ChainAssetIds {
24
+ balanceId?: ChainAssetId;
25
+ id?: ChainAssetId;
26
+ minId?: ChainAssetId;
27
+ palletInstance?: number;
22
28
  }
23
- declare class AssetAmount extends Asset {
24
- readonly amount: bigint;
29
+ type ChainAssetId = string | number | bigint | {
30
+ [key: string]: ChainAssetId;
31
+ };
32
+ declare class ChainAsset extends Asset {
33
+ readonly address?: string;
25
34
  readonly decimals: number;
26
- readonly symbol: string;
27
- constructor({ amount, decimals, symbol, ...other }: AssetAmountConstructorParams);
28
- static fromAsset(asset: Asset, params: AssetAmountParams): AssetAmount;
35
+ readonly ids?: ChainAssetIds;
36
+ readonly min?: bigint;
37
+ readonly symbol?: string;
38
+ constructor({ address, decimals, ids, min, symbol, ...other }: ChainAssetConstructorParams);
39
+ static fromAsset(asset: Asset, params: Omit<ChainAssetConstructorParams, keyof AssetConstructorParams>): ChainAsset;
40
+ getAssetId(): ChainAssetId;
41
+ getBalanceAssetId(): ChainAssetId;
42
+ getMinAssetId(): ChainAssetId;
43
+ getAssetPalletInstance(): number | undefined;
44
+ getAssetMin(): bigint;
45
+ }
46
+
47
+ interface AssetAmountConstructorParams extends ChainAssetConstructorParams {
48
+ amount: number | bigint;
49
+ decimals: number;
50
+ symbol?: string;
51
+ }
52
+ declare class AssetAmount extends ChainAsset {
53
+ readonly amount: bigint;
54
+ constructor({ amount, ...other }: AssetAmountConstructorParams);
55
+ static fromChainAsset(asset: ChainAsset, params: Omit<AssetAmountConstructorParams, keyof ChainAssetConstructorParams>): AssetAmount;
29
56
  isSame(asset: AssetAmount): boolean;
30
57
  isEqual(asset: AssetAmount): boolean;
31
58
  copyWith(params: Partial<AssetAmountConstructorParams>): AssetAmount;
59
+ convertDecimals(decimals: number): AssetAmount;
32
60
  toBig(): Big;
33
61
  toBigDecimal(maxDecimal?: number, roundType?: RoundingMode): Big;
34
62
  toDecimal(maxDecimal?: number, roundType?: RoundingMode): string;
@@ -36,23 +64,8 @@ declare class AssetAmount extends Asset {
36
64
 
37
65
  type SetOptional<Base, Keys extends keyof Base> = Omit<Base, Keys> & Partial<Pick<Base, Keys>>;
38
66
 
39
- type ChainAssetId = string | number | bigint | {
40
- [key: string]: ChainAssetId;
41
- };
42
- interface ChainAssetsData {
43
- asset: Asset;
44
- address?: string;
45
- balanceId?: ChainAssetId;
46
- decimals?: number;
47
- id?: ChainAssetId;
48
- metadataId?: ChainAssetId;
49
- minId?: ChainAssetId;
50
- palletInstance?: number;
51
- min?: number;
52
- }
53
-
54
67
  interface ParachainConstructorParams extends SetOptional<ChainConstructorParams, 'type'> {
55
- assetsData?: Map<string, ChainAssetsData> | ChainAssetsData[];
68
+ assets?: Map<string, ChainAsset> | ChainAsset[];
56
69
  genesisHash: string;
57
70
  parachainId: number;
58
71
  ss58Format: number;
@@ -61,21 +74,15 @@ interface ParachainConstructorParams extends SetOptional<ChainConstructorParams,
61
74
  ws: string | string[];
62
75
  }
63
76
  declare class Parachain extends Chain {
64
- readonly assetsData: Map<string, ChainAssetsData>;
77
+ readonly assets: Map<string, ChainAsset>;
65
78
  readonly genesisHash: string;
66
79
  readonly parachainId: number;
67
80
  readonly ss58Format: number;
68
81
  readonly usesChainDecimals: boolean;
69
82
  readonly weight: number | undefined;
70
83
  readonly ws: string | string[];
71
- constructor({ assetsData, genesisHash, parachainId, usesChainDecimals, ss58Format, weight, ws, type, ...others }: ParachainConstructorParams);
72
- getAssetId(asset: Asset): ChainAssetId;
73
- getBalanceAssetId(asset: Asset): ChainAssetId;
74
- getMinAssetId(asset: Asset): ChainAssetId;
75
- getMetadataAssetId(asset: Asset): ChainAssetId;
76
- getAssetPalletInstance(asset: Asset): number | undefined;
77
- getAssetDecimals(asset: Asset): number | undefined;
78
- getAssetMin(asset: Asset): number;
84
+ constructor({ assets, genesisHash, parachainId, usesChainDecimals, ss58Format, weight, ws, type, ...others }: ParachainConstructorParams);
85
+ getChainAsset(keyOrAsset: string | Asset | AssetAmount): ChainAsset;
79
86
  }
80
87
 
81
88
  interface EvmParachainConstructorParams extends Omit<ParachainConstructorParams, 'type'> {
@@ -133,4 +140,4 @@ declare abstract class Chain {
133
140
  isEvmParachain(): this is EvmParachain;
134
141
  }
135
142
 
136
- export { type AnyChain, type AnyParachain, Asset, AssetAmount, type AssetAmountConstructorParams, type AssetAmountParams, type AssetConstructorParams, Chain, type ChainAssetId, type ChainAssetsData, type ChainConstructorParams, ChainType, Ecosystem, EvmParachain, type EvmParachainConstructorParams, Parachain, type ParachainConstructorParams, type SetOptional };
143
+ export { type AnyChain, type AnyParachain, Asset, AssetAmount, type AssetAmountConstructorParams, type AssetConstructorParams, Chain, ChainAsset, type ChainAssetConstructorParams, type ChainAssetId, type ChainAssetIds, type ChainConstructorParams, ChainType, Ecosystem, EvmParachain, type EvmParachainConstructorParams, Parachain, type ParachainConstructorParams, type SetOptional };
package/build/index.d.ts CHANGED
@@ -13,28 +13,70 @@ declare class Asset {
13
13
  isEqual(asset: Asset): boolean;
14
14
  }
15
15
 
16
- interface AssetAmountParams {
17
- amount: bigint;
16
+ interface ChainAssetConstructorParams extends AssetConstructorParams {
17
+ address?: string;
18
18
  decimals: number;
19
+ ids?: ChainAssetIds;
20
+ min?: number | bigint;
19
21
  symbol?: string;
20
22
  }
21
- interface AssetAmountConstructorParams
22
- extends AssetConstructorParams,
23
- AssetAmountParams {}
24
- declare class AssetAmount extends Asset {
25
- readonly amount: bigint;
23
+ interface ChainAssetIds {
24
+ balanceId?: ChainAssetId;
25
+ id?: ChainAssetId;
26
+ minId?: ChainAssetId;
27
+ palletInstance?: number;
28
+ }
29
+ type ChainAssetId =
30
+ | string
31
+ | number
32
+ | bigint
33
+ | {
34
+ [key: string]: ChainAssetId;
35
+ };
36
+ declare class ChainAsset extends Asset {
37
+ readonly address?: string;
26
38
  readonly decimals: number;
27
- readonly symbol: string;
39
+ readonly ids?: ChainAssetIds;
40
+ readonly min?: bigint;
41
+ readonly symbol?: string;
28
42
  constructor({
29
- amount,
43
+ address,
30
44
  decimals,
45
+ ids,
46
+ min,
31
47
  symbol,
32
48
  ...other
33
- }: AssetAmountConstructorParams);
34
- static fromAsset(asset: Asset, params: AssetAmountParams): AssetAmount;
49
+ }: ChainAssetConstructorParams);
50
+ static fromAsset(
51
+ asset: Asset,
52
+ params: Omit<ChainAssetConstructorParams, keyof AssetConstructorParams>,
53
+ ): ChainAsset;
54
+ getAssetId(): ChainAssetId;
55
+ getBalanceAssetId(): ChainAssetId;
56
+ getMinAssetId(): ChainAssetId;
57
+ getAssetPalletInstance(): number | undefined;
58
+ getAssetMin(): bigint;
59
+ }
60
+
61
+ interface AssetAmountConstructorParams extends ChainAssetConstructorParams {
62
+ amount: number | bigint;
63
+ decimals: number;
64
+ symbol?: string;
65
+ }
66
+ declare class AssetAmount extends ChainAsset {
67
+ readonly amount: bigint;
68
+ constructor({ amount, ...other }: AssetAmountConstructorParams);
69
+ static fromChainAsset(
70
+ asset: ChainAsset,
71
+ params: Omit<
72
+ AssetAmountConstructorParams,
73
+ keyof ChainAssetConstructorParams
74
+ >,
75
+ ): AssetAmount;
35
76
  isSame(asset: AssetAmount): boolean;
36
77
  isEqual(asset: AssetAmount): boolean;
37
78
  copyWith(params: Partial<AssetAmountConstructorParams>): AssetAmount;
79
+ convertDecimals(decimals: number): AssetAmount;
38
80
  toBig(): Big;
39
81
  toBigDecimal(maxDecimal?: number, roundType?: RoundingMode): Big;
40
82
  toDecimal(maxDecimal?: number, roundType?: RoundingMode): string;
@@ -43,28 +85,9 @@ declare class AssetAmount extends Asset {
43
85
  type SetOptional<Base, Keys extends keyof Base> = Omit<Base, Keys> &
44
86
  Partial<Pick<Base, Keys>>;
45
87
 
46
- type ChainAssetId =
47
- | string
48
- | number
49
- | bigint
50
- | {
51
- [key: string]: ChainAssetId;
52
- };
53
- interface ChainAssetsData {
54
- asset: Asset;
55
- address?: string;
56
- balanceId?: ChainAssetId;
57
- decimals?: number;
58
- id?: ChainAssetId;
59
- metadataId?: ChainAssetId;
60
- minId?: ChainAssetId;
61
- palletInstance?: number;
62
- min?: number;
63
- }
64
-
65
88
  interface ParachainConstructorParams
66
89
  extends SetOptional<ChainConstructorParams, 'type'> {
67
- assetsData?: Map<string, ChainAssetsData> | ChainAssetsData[];
90
+ assets?: Map<string, ChainAsset> | ChainAsset[];
68
91
  genesisHash: string;
69
92
  parachainId: number;
70
93
  ss58Format: number;
@@ -73,7 +96,7 @@ interface ParachainConstructorParams
73
96
  ws: string | string[];
74
97
  }
75
98
  declare class Parachain extends Chain {
76
- readonly assetsData: Map<string, ChainAssetsData>;
99
+ readonly assets: Map<string, ChainAsset>;
77
100
  readonly genesisHash: string;
78
101
  readonly parachainId: number;
79
102
  readonly ss58Format: number;
@@ -81,7 +104,7 @@ declare class Parachain extends Chain {
81
104
  readonly weight: number | undefined;
82
105
  readonly ws: string | string[];
83
106
  constructor({
84
- assetsData,
107
+ assets,
85
108
  genesisHash,
86
109
  parachainId,
87
110
  usesChainDecimals,
@@ -91,13 +114,7 @@ declare class Parachain extends Chain {
91
114
  type,
92
115
  ...others
93
116
  }: ParachainConstructorParams);
94
- getAssetId(asset: Asset): ChainAssetId;
95
- getBalanceAssetId(asset: Asset): ChainAssetId;
96
- getMinAssetId(asset: Asset): ChainAssetId;
97
- getMetadataAssetId(asset: Asset): ChainAssetId;
98
- getAssetPalletInstance(asset: Asset): number | undefined;
99
- getAssetDecimals(asset: Asset): number | undefined;
100
- getAssetMin(asset: Asset): number;
117
+ getChainAsset(keyOrAsset: string | Asset | AssetAmount): ChainAsset;
101
118
  }
102
119
 
103
120
  interface EvmParachainConstructorParams
@@ -175,11 +192,12 @@ export {
175
192
  Asset,
176
193
  AssetAmount,
177
194
  type AssetAmountConstructorParams,
178
- type AssetAmountParams,
179
195
  type AssetConstructorParams,
180
196
  Chain,
197
+ ChainAsset,
198
+ type ChainAssetConstructorParams,
181
199
  type ChainAssetId,
182
- type ChainAssetsData,
200
+ type ChainAssetIds,
183
201
  type ChainConstructorParams,
184
202
  ChainType,
185
203
  Ecosystem,
package/build/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- var i=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{toDecimal as C}from"@moonbeam-network/xcm-utils";import u from"big.js";u.NE=-18;var l=class a extends i{amount;decimals;symbol;constructor({amount:t,decimals:r,symbol:e,...s}){super(s),this.amount=BigInt(t),this.decimals=r,this.symbol=e||this.originSymbol}static fromAsset(t,r){return new a({...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 a({...this,...t})}toBig(){return u(this.amount.toString())}toBigDecimal(t,r){return u(this.toDecimal(t,r))}toDecimal(t,r){return C(this.amount,this.decimals,t,r)}};var o=(r=>(r.Parachain="parachain",r.EvmParachain="evm-parachain",r))(o||{}),P=(e=>(e.Polkadot="polkadot",e.Kusama="kusama",e.AlphanetRelay="alphanet-relay",e))(P||{});var m=class{ecosystem;isTestChain;key;name;type;constructor({ecosystem:t,isTestChain:r=!1,key:e,name:s,type:n}){this.ecosystem=t,this.isTestChain=r,this.key=e,this.name=s,this.type=n}isParachain(){return this.type==="parachain"}isEvmParachain(){return this.type==="evm-parachain"}};import{defineChain as b}from"viem";var h=class extends m{assetsData;genesisHash;parachainId;ss58Format;usesChainDecimals;weight;ws;constructor({assetsData:t,genesisHash:r,parachainId:e,usesChainDecimals:s,ss58Format:n,weight:c,ws:d,type:g="parachain",...A}){super({type:g,...A}),this.assetsData=t instanceof Map?t:new Map(t==null?void 0:t.map(p=>[p.asset.key,p])),this.genesisHash=r,this.parachainId=e,this.ss58Format=n,this.usesChainDecimals=!!s,this.weight=c,this.ws=d}getAssetId(t){var r;return((r=this.assetsData.get(t.key))==null?void 0:r.id)??t.originSymbol}getBalanceAssetId(t){var r;return((r=this.assetsData.get(t.key))==null?void 0:r.balanceId)??this.getAssetId(t)}getMinAssetId(t){var r;return((r=this.assetsData.get(t.key))==null?void 0:r.minId)??this.getAssetId(t)}getMetadataAssetId(t){var r;return((r=this.assetsData.get(t.key))==null?void 0:r.metadataId)??this.getAssetId(t)}getAssetPalletInstance(t){var r;return(r=this.assetsData.get(t.key))==null?void 0:r.palletInstance}getAssetDecimals(t){var r;return(r=this.assetsData.get(t.key))==null?void 0:r.decimals}getAssetMin(t){var r;return((r=this.assetsData.get(t.key))==null?void 0:r.min)??0}};var y=class extends h{id;rpc;nativeCurrency;isEvmSigner;contracts;constructor({id:t,rpc:r,nativeCurrency:e,isEvmSigner:s=!1,contracts:n,...c}){super({type:"evm-parachain",...c}),this.contracts=n,this.id=t,this.rpc=r,this.nativeCurrency=e,this.isEvmSigner=s}getViemChain(){return b({id:this.id,name:this.name,nativeCurrency:this.nativeCurrency,rpcUrls:{default:{http:[this.rpc],webSocket:Array.isArray(this.ws)?this.ws:[this.ws]}}})}};export{i as Asset,l as AssetAmount,m as Chain,o as ChainType,P as Ecosystem,y as EvmParachain,h as Parachain};
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};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/asset/Asset.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 { toDecimal } from '@moonbeam-network/xcm-utils';\nimport Big, { RoundingMode } from 'big.js';\nimport { Asset, AssetConstructorParams } from './Asset';\n\nBig.NE = -18;\n\nexport interface AssetAmountParams {\n amount: bigint;\n decimals: number;\n symbol?: string;\n}\n\nexport interface AssetAmountConstructorParams\n extends AssetConstructorParams,\n AssetAmountParams {}\n\nexport class AssetAmount extends Asset {\n readonly amount: bigint;\n\n readonly decimals: number;\n\n readonly symbol: string;\n\n constructor({\n amount,\n decimals,\n symbol,\n ...other\n }: AssetAmountConstructorParams) {\n super(other);\n\n this.amount = BigInt(amount);\n this.decimals = decimals;\n this.symbol = symbol || this.originSymbol;\n }\n\n static fromAsset(asset: Asset, params: AssetAmountParams) {\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 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 } from '../../asset';\nimport { SetOptional } from '../../common.interfaces';\nimport { Chain, ChainConstructorParams } from '../Chain';\nimport { ChainType } from '../Chain.interfaces';\nimport { ChainAssetId, ChainAssetsData } from './Parachain.interfaces';\n\nexport interface ParachainConstructorParams\n extends SetOptional<ChainConstructorParams, 'type'> {\n assetsData?: Map<string, ChainAssetsData> | ChainAssetsData[];\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 assetsData: Map<string, ChainAssetsData>;\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 assetsData,\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.assetsData =\n assetsData instanceof Map\n ? assetsData\n : new Map(assetsData?.map((data) => [data.asset.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 getAssetId(asset: Asset): ChainAssetId {\n return this.assetsData.get(asset.key)?.id ?? asset.originSymbol;\n }\n\n getBalanceAssetId(asset: Asset): ChainAssetId {\n return this.assetsData.get(asset.key)?.balanceId ?? this.getAssetId(asset);\n }\n\n getMinAssetId(asset: Asset): ChainAssetId {\n return this.assetsData.get(asset.key)?.minId ?? this.getAssetId(asset);\n }\n\n getMetadataAssetId(asset: Asset): ChainAssetId {\n return this.assetsData.get(asset.key)?.metadataId ?? this.getAssetId(asset);\n }\n\n getAssetPalletInstance(asset: Asset): number | undefined {\n return this.assetsData.get(asset.key)?.palletInstance;\n }\n\n getAssetDecimals(asset: Asset): number | undefined {\n return this.assetsData.get(asset.key)?.decimals;\n }\n\n getAssetMin(asset: Asset): number {\n return this.assetsData.get(asset.key)?.min ?? 0;\n }\n}\n"],"mappings":"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","names":["Asset","key","originSymbol","asset","toDecimal","Big","Big","AssetAmount","_AssetAmount","Asset","amount","decimals","symbol","other","asset","params","maxDecimal","roundType","toDecimal","ChainType","Ecosystem","Chain","ecosystem","isTestChain","key","name","type","defineChain","Parachain","Chain","assetsData","genesisHash","parachainId","usesChainDecimals","ss58Format","weight","ws","type","others","data","asset","_a","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 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"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moonbeam-network/xcm-types",
3
- "version": "1.0.0-dev.102",
3
+ "version": "1.0.0-dev.104",
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.102",
51
+ "@moonbeam-network/xcm-utils": "1.0.0-dev.104",
52
52
  "big.js": "^6.2.1"
53
53
  },
54
54
  "peerDependencies": {