@moonbeam-network/xcm-utils 2.1.7 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/build/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var x=Object.create;var c=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var U=Object.getOwnPropertyNames;var y=Object.getPrototypeOf,w=Object.prototype.hasOwnProperty;var h=(t,r)=>{for(var n in r)c(t,n,{get:r[n],enumerable:!0})},a=(t,r,n,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let e of U(r))!w.call(t,e)&&e!==n&&c(t,e,{get:()=>r[e],enumerable:!(o=A(r,e))||o.enumerable});return t};var v=(t,r,n)=>(n=t!=null?x(y(t)):{},a(r||!t||!t.__esModule?c(n,"default",{value:t,enumerable:!0}):n,t)),P=t=>a(c({},"__esModule",{value:!0}),t);var I={};h(I,{MRLTypes:()=>b,convertDecimals:()=>V,formatAssetIdToERC20:()=>R,getPolkadotApi:()=>L,getSovereignAccountAddresses:()=>S,hasDecimalOverflow:()=>X,toBigInt:()=>p,toDecimal:()=>u});module.exports=P(I);function R(t){if(t.startsWith("0x"))return t;if(!/^\d{38,39}$/.test(t))throw new Error(`Asset id: ${t} must be a string and have 38-39 digits`);return`0xffffffff${BigInt(t).toString(16).padStart(32,"0")}`}var s=v(require("big.js"),1);s.default.NE=-18;function u(t,r,n=6,o){let e=(0,s.default)(t.toString().replace(/[^0-9]/g,"")),l=(0,s.default)(10).pow(r);return e.div(l).round(n,o).toString()}function p(t,r){if(typeof t=="bigint")return t;let n=(0,s.default)(10).pow(r),o=(0,s.default)(t).mul(n);return BigInt(o.toFixed(0,s.default.roundDown))}function V(t,r,n){let o=u(t,r,r);return p(o.toString(),n)}function X(t,r){let n=t.toString().split(".");return n.length>1&&n[1].length>r}var m=require("@polkadot/api"),d=require("@polkadot/apps-config"),f=require("lru-cache"),b=(e=>(e.XcmVersionedMultiLocation="XcmVersionedMultiLocation",e.XcmVersionedLocation="XcmVersionedLocation",e.XcmRoutingUserAction="XcmRoutingUserAction",e.VersionedUserAction="VersionedUserAction",e))(b||{}),g=new f.LRUCache({max:20,dispose:async t=>{let r=await t;r.isConnected&&r.disconnect()}});async function L(t){let r=Array.isArray(t)?t.join(";"):t,n=g.get(r)||m.ApiPromise.create({noInitWarn:!0,provider:new m.WsProvider(t),types:{XcmRoutingUserAction:{destination:"XcmVersionedLocation"},VersionedUserAction:{_enum:{V1:"XcmRoutingUserAction"}}},typesBundle:d.typesBundle});g.set(r,n);let o=await n;return await o.isReady,o}var i=require("@polkadot/util");function S(t){let r=(0,i.bnToU8a)(t,{bitLength:32}),n=(0,i.u8aToHex)(new Uint8Array([...(0,i.stringToU8a)("para"),...r])).padEnd(66,"0"),o=(0,i.u8aToHex)(new Uint8Array([...(0,i.stringToU8a)("sibl"),...r])).padEnd(66,"0"),e=o.slice(0,42);return{generic:o,moonbeam:e,relay:n}}0&&(module.exports={MRLTypes,convertDecimals,formatAssetIdToERC20,getPolkadotApi,getSovereignAccountAddresses,hasDecimalOverflow,toBigInt,toDecimal});
1
+ "use strict";var l=Object.create;var c=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var U=Object.getPrototypeOf,w=Object.prototype.hasOwnProperty;var h=(t,n)=>{for(var r in n)c(t,r,{get:n[r],enumerable:!0})},a=(t,n,r,o)=>{if(n&&typeof n=="object"||typeof n=="function")for(let e of y(n))!w.call(t,e)&&e!==r&&c(t,e,{get:()=>n[e],enumerable:!(o=A(n,e))||o.enumerable});return t};var v=(t,n,r)=>(r=t!=null?l(U(t)):{},a(n||!t||!t.__esModule?c(r,"default",{value:t,enumerable:!0}):r,t)),P=t=>a(c({},"__esModule",{value:!0}),t);var B={};h(B,{MRLTypes:()=>x,convertDecimals:()=>X,formatAssetIdToERC20:()=>V,getPolkadotApi:()=>L,getSovereignAccountAddresses:()=>I,hasDecimalOverflow:()=>S,isHexString:()=>R,toBigInt:()=>p,toDecimal:()=>u});module.exports=P(B);function R(t){return typeof t=="string"&&t.startsWith("0x")}function V(t){if(t.startsWith("0x"))return t;if(!/^\d{38,39}$/.test(t))throw new Error(`Asset id: ${t} must be a string and have 38-39 digits`);return`0xffffffff${BigInt(t).toString(16).padStart(32,"0")}`}var s=v(require("big.js"),1);s.default.NE=-18;function u(t,n,r=6,o){let e=(0,s.default)(t.toString().replace(/[^0-9]/g,"")),b=(0,s.default)(10).pow(n);return e.div(b).round(r,o).toString()}function p(t,n){if(typeof t=="bigint")return t;let r=(0,s.default)(10).pow(n),o=(0,s.default)(t).mul(r);return BigInt(o.toFixed(0,s.default.roundDown))}function X(t,n,r){let o=u(t,n,n);return p(o.toString(),r)}function S(t,n){let r=t.toString().split(".");return r.length>1&&r[1].length>n}var m=require("@polkadot/api"),d=require("@polkadot/apps-config"),f=require("lru-cache"),x=(e=>(e.XcmVersionedMultiLocation="XcmVersionedMultiLocation",e.XcmVersionedLocation="XcmVersionedLocation",e.XcmRoutingUserAction="XcmRoutingUserAction",e.VersionedUserAction="VersionedUserAction",e))(x||{}),g=new f.LRUCache({max:20,dispose:async t=>{let n=await t;n.isConnected&&n.disconnect()}});async function L(t){let n=Array.isArray(t)?t.join(";"):t,r=g.get(n)||m.ApiPromise.create({noInitWarn:!0,provider:new m.WsProvider(t),types:{XcmRoutingUserAction:{destination:"XcmVersionedLocation"},VersionedUserAction:{_enum:{V1:"XcmRoutingUserAction"}}},typesBundle:d.typesBundle});g.set(n,r);let o=await r;return await o.isReady,o}var i=require("@polkadot/util");function I(t){let n=(0,i.bnToU8a)(t,{bitLength:32}),r=(0,i.u8aToHex)(new Uint8Array([...(0,i.stringToU8a)("para"),...n])).padEnd(66,"0"),o=(0,i.u8aToHex)(new Uint8Array([...(0,i.stringToU8a)("sibl"),...n])).padEnd(66,"0"),e=o.slice(0,42);return{generic:o,moonbeam:e,relay:r}}0&&(module.exports={MRLTypes,convertDecimals,formatAssetIdToERC20,getPolkadotApi,getSovereignAccountAddresses,hasDecimalOverflow,isHexString,toBigInt,toDecimal});
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/format/asset.ts","../src/numbers/decimals.ts","../src/polkadot/polkadot.api.ts","../src/polkadot/polkadot.address.ts"],"sourcesContent":["export * from './format';\nexport * from './numbers';\nexport * from './polkadot';\n","export function formatAssetIdToERC20(id: string) {\n if (id.startsWith('0x')) {\n return id;\n }\n\n if (!/^\\d{38,39}$/.test(id)) {\n throw new Error(`Asset id: ${id} must be a string and have 38-39 digits`);\n }\n\n return `0xffffffff${BigInt(id).toString(16).padStart(32, '0')}`;\n}\n","import Big, { RoundingMode } from 'big.js';\n\nBig.NE = -18;\n\nexport function toDecimal(\n number: bigint | number | string,\n decimals: number,\n maxDecimal = 6,\n roundType?: RoundingMode,\n): string {\n const dividend = Big(number.toString().replace(/[^0-9]/g, ''));\n const divisor = Big(10).pow(decimals);\n const result = dividend.div(divisor).round(maxDecimal, roundType);\n\n return result.toString();\n}\n\nexport function toBigInt(\n amount: bigint | string | number,\n decimals: number,\n): bigint {\n if (typeof amount === 'bigint') {\n return amount;\n }\n\n const multiplier = Big(10).pow(decimals);\n const result = Big(amount).mul(multiplier);\n\n return BigInt(result.toFixed(0, Big.roundDown));\n}\n\nexport function convertDecimals(\n number: string | bigint,\n decimals: number,\n targetDecimals: number,\n): bigint {\n const decimalNumber = toDecimal(number, decimals, decimals);\n\n return toBigInt(decimalNumber.toString(), targetDecimals);\n}\n\nexport function hasDecimalOverflow(fl: number | string, maxDecimal: number) {\n const parts = fl.toString().split('.');\n return parts.length > 1 && parts[1].length > maxDecimal;\n}\n","import { ApiPromise, WsProvider } from '@polkadot/api';\nimport { typesBundle } from '@polkadot/apps-config';\nimport { LRUCache } from 'lru-cache';\n\nexport enum MRLTypes {\n // TODO handle both types according to RT version\n XcmVersionedMultiLocation = 'XcmVersionedMultiLocation',\n XcmVersionedLocation = 'XcmVersionedLocation',\n XcmRoutingUserAction = 'XcmRoutingUserAction',\n VersionedUserAction = 'VersionedUserAction',\n}\n\nconst cache = new LRUCache<string, Promise<ApiPromise>>({\n max: 20,\n // eslint-disable-next-line sort-keys\n dispose: async (promise: Promise<ApiPromise>) => {\n const api = await promise;\n\n if (api.isConnected) {\n api.disconnect();\n }\n },\n});\n\nexport async function getPolkadotApi(\n ws: string | string[],\n): Promise<ApiPromise> {\n const key = Array.isArray(ws) ? ws.join(';') : ws;\n const promise =\n cache.get(key) ||\n ApiPromise.create({\n noInitWarn: true,\n provider: new WsProvider(ws),\n types: {\n [MRLTypes.XcmRoutingUserAction]: {\n destination: MRLTypes.XcmVersionedLocation,\n },\n [MRLTypes.VersionedUserAction]: {\n _enum: { V1: MRLTypes.XcmRoutingUserAction },\n },\n },\n typesBundle,\n });\n\n cache.set(key, promise);\n\n const api = await promise;\n\n await api.isReady;\n\n return api;\n}\n","import { bnToU8a, u8aToHex, stringToU8a } from '@polkadot/util';\n\nexport function getSovereignAccountAddresses(paraId: number) {\n const paraIdU8a = bnToU8a(paraId, { bitLength: 32 });\n const relay = u8aToHex(\n new Uint8Array([...stringToU8a('para'), ...paraIdU8a]),\n ).padEnd(66, '0');\n const generic = u8aToHex(\n new Uint8Array([...stringToU8a('sibl'), ...paraIdU8a]),\n ).padEnd(66, '0');\n const moonbeam = generic.slice(0, 42);\n\n return {\n generic,\n moonbeam,\n relay,\n };\n}\n"],"mappings":"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","names":["src_exports","__export","MRLTypes","convertDecimals","formatAssetIdToERC20","getPolkadotApi","getSovereignAccountAddresses","hasDecimalOverflow","toBigInt","toDecimal","__toCommonJS","formatAssetIdToERC20","id","import_big","Big","toDecimal","number","decimals","maxDecimal","roundType","dividend","divisor","toBigInt","amount","multiplier","result","convertDecimals","targetDecimals","decimalNumber","hasDecimalOverflow","fl","parts","import_api","import_apps_config","import_lru_cache","MRLTypes","cache","promise","api","getPolkadotApi","ws","key","import_util","getSovereignAccountAddresses","paraId","paraIdU8a","relay","generic","moonbeam"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/format/address.ts","../src/format/asset.ts","../src/numbers/decimals.ts","../src/polkadot/polkadot.api.ts","../src/polkadot/polkadot.address.ts"],"sourcesContent":["export * from './format';\nexport * from './numbers';\nexport * from './polkadot';\n","export function isHexString(asset: unknown): boolean {\n return typeof asset === 'string' && asset.startsWith('0x');\n}\n","export function formatAssetIdToERC20(id: string) {\n if (id.startsWith('0x')) {\n return id;\n }\n\n if (!/^\\d{38,39}$/.test(id)) {\n throw new Error(`Asset id: ${id} must be a string and have 38-39 digits`);\n }\n\n return `0xffffffff${BigInt(id).toString(16).padStart(32, '0')}`;\n}\n","import Big, { RoundingMode } from 'big.js';\n\nBig.NE = -18;\n\nexport function toDecimal(\n number: bigint | number | string,\n decimals: number,\n maxDecimal = 6,\n roundType?: RoundingMode,\n): string {\n const dividend = Big(number.toString().replace(/[^0-9]/g, ''));\n const divisor = Big(10).pow(decimals);\n const result = dividend.div(divisor).round(maxDecimal, roundType);\n\n return result.toString();\n}\n\nexport function toBigInt(\n amount: bigint | string | number,\n decimals: number,\n): bigint {\n if (typeof amount === 'bigint') {\n return amount;\n }\n\n const multiplier = Big(10).pow(decimals);\n const result = Big(amount).mul(multiplier);\n\n return BigInt(result.toFixed(0, Big.roundDown));\n}\n\nexport function convertDecimals(\n number: string | bigint,\n decimals: number,\n targetDecimals: number,\n): bigint {\n const decimalNumber = toDecimal(number, decimals, decimals);\n\n return toBigInt(decimalNumber.toString(), targetDecimals);\n}\n\nexport function hasDecimalOverflow(fl: number | string, maxDecimal: number) {\n const parts = fl.toString().split('.');\n return parts.length > 1 && parts[1].length > maxDecimal;\n}\n","import { ApiPromise, WsProvider } from '@polkadot/api';\nimport { typesBundle } from '@polkadot/apps-config';\nimport { LRUCache } from 'lru-cache';\n\nexport enum MRLTypes {\n // TODO handle both types according to RT version\n XcmVersionedMultiLocation = 'XcmVersionedMultiLocation',\n XcmVersionedLocation = 'XcmVersionedLocation',\n XcmRoutingUserAction = 'XcmRoutingUserAction',\n VersionedUserAction = 'VersionedUserAction',\n}\n\nconst cache = new LRUCache<string, Promise<ApiPromise>>({\n max: 20,\n // eslint-disable-next-line sort-keys\n dispose: async (promise: Promise<ApiPromise>) => {\n const api = await promise;\n\n if (api.isConnected) {\n api.disconnect();\n }\n },\n});\n\nexport async function getPolkadotApi(\n ws: string | string[],\n): Promise<ApiPromise> {\n const key = Array.isArray(ws) ? ws.join(';') : ws;\n const promise =\n cache.get(key) ||\n ApiPromise.create({\n noInitWarn: true,\n provider: new WsProvider(ws),\n types: {\n [MRLTypes.XcmRoutingUserAction]: {\n destination: MRLTypes.XcmVersionedLocation,\n },\n [MRLTypes.VersionedUserAction]: {\n _enum: { V1: MRLTypes.XcmRoutingUserAction },\n },\n },\n typesBundle,\n });\n\n cache.set(key, promise);\n\n const api = await promise;\n\n await api.isReady;\n\n return api;\n}\n","import { bnToU8a, u8aToHex, stringToU8a } from '@polkadot/util';\n\nexport function getSovereignAccountAddresses(paraId: number) {\n const paraIdU8a = bnToU8a(paraId, { bitLength: 32 });\n const relay = u8aToHex(\n new Uint8Array([...stringToU8a('para'), ...paraIdU8a]),\n ).padEnd(66, '0');\n const generic = u8aToHex(\n new Uint8Array([...stringToU8a('sibl'), ...paraIdU8a]),\n ).padEnd(66, '0');\n const moonbeam = generic.slice(0, 42);\n\n return {\n generic,\n moonbeam,\n relay,\n };\n}\n"],"mappings":"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","names":["src_exports","__export","MRLTypes","convertDecimals","formatAssetIdToERC20","getPolkadotApi","getSovereignAccountAddresses","hasDecimalOverflow","isHexString","toBigInt","toDecimal","__toCommonJS","isHexString","asset","formatAssetIdToERC20","id","import_big","Big","toDecimal","number","decimals","maxDecimal","roundType","dividend","divisor","toBigInt","amount","multiplier","result","convertDecimals","targetDecimals","decimalNumber","hasDecimalOverflow","fl","parts","import_api","import_apps_config","import_lru_cache","MRLTypes","cache","promise","api","getPolkadotApi","ws","key","import_util","getSovereignAccountAddresses","paraId","paraIdU8a","relay","generic","moonbeam"]}
package/build/index.d.cts CHANGED
@@ -1,6 +1,8 @@
1
1
  import { RoundingMode } from 'big.js';
2
2
  import { ApiPromise } from '@polkadot/api';
3
3
 
4
+ declare function isHexString(asset: unknown): boolean;
5
+
4
6
  declare function formatAssetIdToERC20(id: string): string;
5
7
 
6
8
  declare function toDecimal(number: bigint | number | string, decimals: number, maxDecimal?: number, roundType?: RoundingMode): string;
@@ -22,4 +24,4 @@ declare function getSovereignAccountAddresses(paraId: number): {
22
24
  relay: string;
23
25
  };
24
26
 
25
- export { MRLTypes, convertDecimals, formatAssetIdToERC20, getPolkadotApi, getSovereignAccountAddresses, hasDecimalOverflow, toBigInt, toDecimal };
27
+ export { MRLTypes, convertDecimals, formatAssetIdToERC20, getPolkadotApi, getSovereignAccountAddresses, hasDecimalOverflow, isHexString, toBigInt, toDecimal };
package/build/index.d.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  import { RoundingMode } from 'big.js';
2
2
  import { ApiPromise } from '@polkadot/api';
3
3
 
4
+ declare function isHexString(asset: unknown): boolean;
5
+
4
6
  declare function formatAssetIdToERC20(id: string): string;
5
7
 
6
8
  declare function toDecimal(
@@ -44,6 +46,7 @@ export {
44
46
  getPolkadotApi,
45
47
  getSovereignAccountAddresses,
46
48
  hasDecimalOverflow,
49
+ isHexString,
47
50
  toBigInt,
48
51
  toDecimal,
49
52
  };
package/build/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- function U(t){if(t.startsWith("0x"))return t;if(!/^\d{38,39}$/.test(t))throw new Error(`Asset id: ${t} must be a string and have 38-39 digits`);return`0xffffffff${BigInt(t).toString(16).padStart(32,"0")}`}import i from"big.js";i.NE=-18;function u(t,r,n=6,o){let e=i(t.toString().replace(/[^0-9]/g,"")),a=i(10).pow(r);return e.div(a).round(n,o).toString()}function p(t,r){if(typeof t=="bigint")return t;let n=i(10).pow(r),o=i(t).mul(n);return BigInt(o.toFixed(0,i.roundDown))}function R(t,r,n){let o=u(t,r,r);return p(o.toString(),n)}function V(t,r){let n=t.toString().split(".");return n.length>1&&n[1].length>r}import{ApiPromise as g,WsProvider as d}from"@polkadot/api";import{typesBundle as f}from"@polkadot/apps-config";import{LRUCache as b}from"lru-cache";var l=(e=>(e.XcmVersionedMultiLocation="XcmVersionedMultiLocation",e.XcmVersionedLocation="XcmVersionedLocation",e.XcmRoutingUserAction="XcmRoutingUserAction",e.VersionedUserAction="VersionedUserAction",e))(l||{}),s=new b({max:20,dispose:async t=>{let r=await t;r.isConnected&&r.disconnect()}});async function D(t){let r=Array.isArray(t)?t.join(";"):t,n=s.get(r)||g.create({noInitWarn:!0,provider:new d(t),types:{XcmRoutingUserAction:{destination:"XcmVersionedLocation"},VersionedUserAction:{_enum:{V1:"XcmRoutingUserAction"}}},typesBundle:f});s.set(r,n);let o=await n;return await o.isReady,o}import{bnToU8a as x,u8aToHex as c,stringToU8a as m}from"@polkadot/util";function C(t){let r=x(t,{bitLength:32}),n=c(new Uint8Array([...m("para"),...r])).padEnd(66,"0"),o=c(new Uint8Array([...m("sibl"),...r])).padEnd(66,"0"),e=o.slice(0,42);return{generic:o,moonbeam:e,relay:n}}export{l as MRLTypes,R as convertDecimals,U as formatAssetIdToERC20,D as getPolkadotApi,C as getSovereignAccountAddresses,V as hasDecimalOverflow,p as toBigInt,u as toDecimal};
1
+ function y(t){return typeof t=="string"&&t.startsWith("0x")}function w(t){if(t.startsWith("0x"))return t;if(!/^\d{38,39}$/.test(t))throw new Error(`Asset id: ${t} must be a string and have 38-39 digits`);return`0xffffffff${BigInt(t).toString(16).padStart(32,"0")}`}import i from"big.js";i.NE=-18;function u(t,n,r=6,o){let e=i(t.toString().replace(/[^0-9]/g,"")),a=i(10).pow(n);return e.div(a).round(r,o).toString()}function p(t,n){if(typeof t=="bigint")return t;let r=i(10).pow(n),o=i(t).mul(r);return BigInt(o.toFixed(0,i.roundDown))}function S(t,n,r){let o=u(t,n,n);return p(o.toString(),r)}function L(t,n){let r=t.toString().split(".");return r.length>1&&r[1].length>n}import{ApiPromise as g,WsProvider as d}from"@polkadot/api";import{typesBundle as f}from"@polkadot/apps-config";import{LRUCache as x}from"lru-cache";var b=(e=>(e.XcmVersionedMultiLocation="XcmVersionedMultiLocation",e.XcmVersionedLocation="XcmVersionedLocation",e.XcmRoutingUserAction="XcmRoutingUserAction",e.VersionedUserAction="VersionedUserAction",e))(b||{}),s=new x({max:20,dispose:async t=>{let n=await t;n.isConnected&&n.disconnect()}});async function W(t){let n=Array.isArray(t)?t.join(";"):t,r=s.get(n)||g.create({noInitWarn:!0,provider:new d(t),types:{XcmRoutingUserAction:{destination:"XcmVersionedLocation"},VersionedUserAction:{_enum:{V1:"XcmRoutingUserAction"}}},typesBundle:f});s.set(n,r);let o=await r;return await o.isReady,o}import{bnToU8a as l,u8aToHex as c,stringToU8a as m}from"@polkadot/util";function $(t){let n=l(t,{bitLength:32}),r=c(new Uint8Array([...m("para"),...n])).padEnd(66,"0"),o=c(new Uint8Array([...m("sibl"),...n])).padEnd(66,"0"),e=o.slice(0,42);return{generic:o,moonbeam:e,relay:r}}export{b as MRLTypes,S as convertDecimals,w as formatAssetIdToERC20,W as getPolkadotApi,$ as getSovereignAccountAddresses,L as hasDecimalOverflow,y as isHexString,p as toBigInt,u as toDecimal};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/format/asset.ts","../src/numbers/decimals.ts","../src/polkadot/polkadot.api.ts","../src/polkadot/polkadot.address.ts"],"sourcesContent":["export function formatAssetIdToERC20(id: string) {\n if (id.startsWith('0x')) {\n return id;\n }\n\n if (!/^\\d{38,39}$/.test(id)) {\n throw new Error(`Asset id: ${id} must be a string and have 38-39 digits`);\n }\n\n return `0xffffffff${BigInt(id).toString(16).padStart(32, '0')}`;\n}\n","import Big, { RoundingMode } from 'big.js';\n\nBig.NE = -18;\n\nexport function toDecimal(\n number: bigint | number | string,\n decimals: number,\n maxDecimal = 6,\n roundType?: RoundingMode,\n): string {\n const dividend = Big(number.toString().replace(/[^0-9]/g, ''));\n const divisor = Big(10).pow(decimals);\n const result = dividend.div(divisor).round(maxDecimal, roundType);\n\n return result.toString();\n}\n\nexport function toBigInt(\n amount: bigint | string | number,\n decimals: number,\n): bigint {\n if (typeof amount === 'bigint') {\n return amount;\n }\n\n const multiplier = Big(10).pow(decimals);\n const result = Big(amount).mul(multiplier);\n\n return BigInt(result.toFixed(0, Big.roundDown));\n}\n\nexport function convertDecimals(\n number: string | bigint,\n decimals: number,\n targetDecimals: number,\n): bigint {\n const decimalNumber = toDecimal(number, decimals, decimals);\n\n return toBigInt(decimalNumber.toString(), targetDecimals);\n}\n\nexport function hasDecimalOverflow(fl: number | string, maxDecimal: number) {\n const parts = fl.toString().split('.');\n return parts.length > 1 && parts[1].length > maxDecimal;\n}\n","import { ApiPromise, WsProvider } from '@polkadot/api';\nimport { typesBundle } from '@polkadot/apps-config';\nimport { LRUCache } from 'lru-cache';\n\nexport enum MRLTypes {\n // TODO handle both types according to RT version\n XcmVersionedMultiLocation = 'XcmVersionedMultiLocation',\n XcmVersionedLocation = 'XcmVersionedLocation',\n XcmRoutingUserAction = 'XcmRoutingUserAction',\n VersionedUserAction = 'VersionedUserAction',\n}\n\nconst cache = new LRUCache<string, Promise<ApiPromise>>({\n max: 20,\n // eslint-disable-next-line sort-keys\n dispose: async (promise: Promise<ApiPromise>) => {\n const api = await promise;\n\n if (api.isConnected) {\n api.disconnect();\n }\n },\n});\n\nexport async function getPolkadotApi(\n ws: string | string[],\n): Promise<ApiPromise> {\n const key = Array.isArray(ws) ? ws.join(';') : ws;\n const promise =\n cache.get(key) ||\n ApiPromise.create({\n noInitWarn: true,\n provider: new WsProvider(ws),\n types: {\n [MRLTypes.XcmRoutingUserAction]: {\n destination: MRLTypes.XcmVersionedLocation,\n },\n [MRLTypes.VersionedUserAction]: {\n _enum: { V1: MRLTypes.XcmRoutingUserAction },\n },\n },\n typesBundle,\n });\n\n cache.set(key, promise);\n\n const api = await promise;\n\n await api.isReady;\n\n return api;\n}\n","import { bnToU8a, u8aToHex, stringToU8a } from '@polkadot/util';\n\nexport function getSovereignAccountAddresses(paraId: number) {\n const paraIdU8a = bnToU8a(paraId, { bitLength: 32 });\n const relay = u8aToHex(\n new Uint8Array([...stringToU8a('para'), ...paraIdU8a]),\n ).padEnd(66, '0');\n const generic = u8aToHex(\n new Uint8Array([...stringToU8a('sibl'), ...paraIdU8a]),\n ).padEnd(66, '0');\n const moonbeam = generic.slice(0, 42);\n\n return {\n generic,\n moonbeam,\n relay,\n };\n}\n"],"mappings":"AAAO,SAASA,EAAqBC,EAAY,CAC/C,GAAIA,EAAG,WAAW,IAAI,EACpB,OAAOA,EAGT,GAAI,CAAC,cAAc,KAAKA,CAAE,EACxB,MAAM,IAAI,MAAM,aAAaA,CAAE,yCAAyC,EAG1E,MAAO,aAAa,OAAOA,CAAE,EAAE,SAAS,EAAE,EAAE,SAAS,GAAI,GAAG,CAAC,EAC/D,CCVA,OAAOC,MAA2B,SAElCA,EAAI,GAAK,IAEF,SAASC,EACdC,EACAC,EACAC,EAAa,EACbC,EACQ,CACR,IAAMC,EAAWN,EAAIE,EAAO,SAAS,EAAE,QAAQ,UAAW,EAAE,CAAC,EACvDK,EAAUP,EAAI,EAAE,EAAE,IAAIG,CAAQ,EAGpC,OAFeG,EAAS,IAAIC,CAAO,EAAE,MAAMH,EAAYC,CAAS,EAElD,SAAS,CACzB,CAEO,SAASG,EACdC,EACAN,EACQ,CACR,GAAI,OAAOM,GAAW,SACpB,OAAOA,EAGT,IAAMC,EAAaV,EAAI,EAAE,EAAE,IAAIG,CAAQ,EACjCQ,EAASX,EAAIS,CAAM,EAAE,IAAIC,CAAU,EAEzC,OAAO,OAAOC,EAAO,QAAQ,EAAGX,EAAI,SAAS,CAAC,CAChD,CAEO,SAASY,EACdV,EACAC,EACAU,EACQ,CACR,IAAMC,EAAgBb,EAAUC,EAAQC,EAAUA,CAAQ,EAE1D,OAAOK,EAASM,EAAc,SAAS,EAAGD,CAAc,CAC1D,CAEO,SAASE,EAAmBC,EAAqBZ,EAAoB,CAC1E,IAAMa,EAAQD,EAAG,SAAS,EAAE,MAAM,GAAG,EACrC,OAAOC,EAAM,OAAS,GAAKA,EAAM,CAAC,EAAE,OAASb,CAC/C,CC5CA,OAAS,cAAAc,EAAY,cAAAC,MAAkB,gBACvC,OAAS,eAAAC,MAAmB,wBAC5B,OAAS,YAAAC,MAAgB,YAElB,IAAKC,OAEVA,EAAA,0BAA4B,4BAC5BA,EAAA,qBAAuB,uBACvBA,EAAA,qBAAuB,uBACvBA,EAAA,oBAAsB,sBALZA,OAAA,IAQNC,EAAQ,IAAIF,EAAsC,CACtD,IAAK,GAEL,QAAS,MAAOG,GAAiC,CAC/C,IAAMC,EAAM,MAAMD,EAEdC,EAAI,aACNA,EAAI,WAAW,CAEnB,CACF,CAAC,EAED,eAAsBC,EACpBC,EACqB,CACrB,IAAMC,EAAM,MAAM,QAAQD,CAAE,EAAIA,EAAG,KAAK,GAAG,EAAIA,EACzCH,EACJD,EAAM,IAAIK,CAAG,GACbV,EAAW,OAAO,CAChB,WAAY,GACZ,SAAU,IAAIC,EAAWQ,CAAE,EAC3B,MAAO,CACJ,qBAAgC,CAC/B,YAAa,sBACf,EACC,oBAA+B,CAC9B,MAAO,CAAE,GAAI,sBAA8B,CAC7C,CACF,EACA,YAAAP,CACF,CAAC,EAEHG,EAAM,IAAIK,EAAKJ,CAAO,EAEtB,IAAMC,EAAM,MAAMD,EAElB,aAAMC,EAAI,QAEHA,CACT,CCnDA,OAAS,WAAAI,EAAS,YAAAC,EAAU,eAAAC,MAAmB,iBAExC,SAASC,EAA6BC,EAAgB,CAC3D,IAAMC,EAAYL,EAAQI,EAAQ,CAAE,UAAW,EAAG,CAAC,EAC7CE,EAAQL,EACZ,IAAI,WAAW,CAAC,GAAGC,EAAY,MAAM,EAAG,GAAGG,CAAS,CAAC,CACvD,EAAE,OAAO,GAAI,GAAG,EACVE,EAAUN,EACd,IAAI,WAAW,CAAC,GAAGC,EAAY,MAAM,EAAG,GAAGG,CAAS,CAAC,CACvD,EAAE,OAAO,GAAI,GAAG,EACVG,EAAWD,EAAQ,MAAM,EAAG,EAAE,EAEpC,MAAO,CACL,QAAAA,EACA,SAAAC,EACA,MAAAF,CACF,CACF","names":["formatAssetIdToERC20","id","Big","toDecimal","number","decimals","maxDecimal","roundType","dividend","divisor","toBigInt","amount","multiplier","result","convertDecimals","targetDecimals","decimalNumber","hasDecimalOverflow","fl","parts","ApiPromise","WsProvider","typesBundle","LRUCache","MRLTypes","cache","promise","api","getPolkadotApi","ws","key","bnToU8a","u8aToHex","stringToU8a","getSovereignAccountAddresses","paraId","paraIdU8a","relay","generic","moonbeam"]}
1
+ {"version":3,"sources":["../src/format/address.ts","../src/format/asset.ts","../src/numbers/decimals.ts","../src/polkadot/polkadot.api.ts","../src/polkadot/polkadot.address.ts"],"sourcesContent":["export function isHexString(asset: unknown): boolean {\n return typeof asset === 'string' && asset.startsWith('0x');\n}\n","export function formatAssetIdToERC20(id: string) {\n if (id.startsWith('0x')) {\n return id;\n }\n\n if (!/^\\d{38,39}$/.test(id)) {\n throw new Error(`Asset id: ${id} must be a string and have 38-39 digits`);\n }\n\n return `0xffffffff${BigInt(id).toString(16).padStart(32, '0')}`;\n}\n","import Big, { RoundingMode } from 'big.js';\n\nBig.NE = -18;\n\nexport function toDecimal(\n number: bigint | number | string,\n decimals: number,\n maxDecimal = 6,\n roundType?: RoundingMode,\n): string {\n const dividend = Big(number.toString().replace(/[^0-9]/g, ''));\n const divisor = Big(10).pow(decimals);\n const result = dividend.div(divisor).round(maxDecimal, roundType);\n\n return result.toString();\n}\n\nexport function toBigInt(\n amount: bigint | string | number,\n decimals: number,\n): bigint {\n if (typeof amount === 'bigint') {\n return amount;\n }\n\n const multiplier = Big(10).pow(decimals);\n const result = Big(amount).mul(multiplier);\n\n return BigInt(result.toFixed(0, Big.roundDown));\n}\n\nexport function convertDecimals(\n number: string | bigint,\n decimals: number,\n targetDecimals: number,\n): bigint {\n const decimalNumber = toDecimal(number, decimals, decimals);\n\n return toBigInt(decimalNumber.toString(), targetDecimals);\n}\n\nexport function hasDecimalOverflow(fl: number | string, maxDecimal: number) {\n const parts = fl.toString().split('.');\n return parts.length > 1 && parts[1].length > maxDecimal;\n}\n","import { ApiPromise, WsProvider } from '@polkadot/api';\nimport { typesBundle } from '@polkadot/apps-config';\nimport { LRUCache } from 'lru-cache';\n\nexport enum MRLTypes {\n // TODO handle both types according to RT version\n XcmVersionedMultiLocation = 'XcmVersionedMultiLocation',\n XcmVersionedLocation = 'XcmVersionedLocation',\n XcmRoutingUserAction = 'XcmRoutingUserAction',\n VersionedUserAction = 'VersionedUserAction',\n}\n\nconst cache = new LRUCache<string, Promise<ApiPromise>>({\n max: 20,\n // eslint-disable-next-line sort-keys\n dispose: async (promise: Promise<ApiPromise>) => {\n const api = await promise;\n\n if (api.isConnected) {\n api.disconnect();\n }\n },\n});\n\nexport async function getPolkadotApi(\n ws: string | string[],\n): Promise<ApiPromise> {\n const key = Array.isArray(ws) ? ws.join(';') : ws;\n const promise =\n cache.get(key) ||\n ApiPromise.create({\n noInitWarn: true,\n provider: new WsProvider(ws),\n types: {\n [MRLTypes.XcmRoutingUserAction]: {\n destination: MRLTypes.XcmVersionedLocation,\n },\n [MRLTypes.VersionedUserAction]: {\n _enum: { V1: MRLTypes.XcmRoutingUserAction },\n },\n },\n typesBundle,\n });\n\n cache.set(key, promise);\n\n const api = await promise;\n\n await api.isReady;\n\n return api;\n}\n","import { bnToU8a, u8aToHex, stringToU8a } from '@polkadot/util';\n\nexport function getSovereignAccountAddresses(paraId: number) {\n const paraIdU8a = bnToU8a(paraId, { bitLength: 32 });\n const relay = u8aToHex(\n new Uint8Array([...stringToU8a('para'), ...paraIdU8a]),\n ).padEnd(66, '0');\n const generic = u8aToHex(\n new Uint8Array([...stringToU8a('sibl'), ...paraIdU8a]),\n ).padEnd(66, '0');\n const moonbeam = generic.slice(0, 42);\n\n return {\n generic,\n moonbeam,\n relay,\n };\n}\n"],"mappings":"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","names":["isHexString","asset","formatAssetIdToERC20","id","Big","toDecimal","number","decimals","maxDecimal","roundType","dividend","divisor","toBigInt","amount","multiplier","result","convertDecimals","targetDecimals","decimalNumber","hasDecimalOverflow","fl","parts","ApiPromise","WsProvider","typesBundle","LRUCache","MRLTypes","cache","promise","api","getPolkadotApi","ws","key","bnToU8a","u8aToHex","stringToU8a","getSovereignAccountAddresses","paraId","paraIdU8a","relay","generic","moonbeam"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moonbeam-network/xcm-utils",
3
- "version": "2.1.7",
3
+ "version": "2.2.0",
4
4
  "description": "Moonbeam XCM utilities",
5
5
  "scripts": {
6
6
  "build": "tsup",