@moonbeam-network/xcm-utils 1.0.2 → 1.0.4
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 +1 -1
- package/build/index.cjs.map +1 -1
- package/build/index.mjs +1 -1
- package/build/index.mjs.map +1 -1
- package/package.json +5 -5
package/build/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var l=Object.create;var s=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var w=Object.getOwnPropertyNames;var P=Object.getPrototypeOf,v=Object.prototype.hasOwnProperty;var h=(t,r)=>{for(var
|
|
1
|
+
"use strict";var l=Object.create;var s=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var w=Object.getOwnPropertyNames;var P=Object.getPrototypeOf,v=Object.prototype.hasOwnProperty;var h=(t,r)=>{for(var n in r)s(t,n,{get:r[n],enumerable:!0})},p=(t,r,n,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of w(r))!v.call(t,o)&&o!==n&&s(t,o,{get:()=>r[o],enumerable:!(i=x(r,o))||i.enumerable});return t};var u=(t,r,n)=>(n=t!=null?l(P(t)):{},p(r||!t||!t.__esModule?s(n,"default",{value:t,enumerable:!0}):n,t)),A=t=>p(s({},"__esModule",{value:!0}),t);var R={};h(R,{convertDecimals:()=>y,formatAssetIdToERC20:()=>S,getPolkadotApi:()=>I,hasDecimalOverflow:()=>B,toBigInt:()=>f,toDecimal:()=>g});module.exports=A(R);function S(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 e=u(require("big.js"),1);e.default.NE=-18;function g(t,r,n=6,i){let o=(0,e.default)(t.toString().replace(/[^0-9]/g,"")),b=(0,e.default)(10).pow(r);return o.div(b).round(n,i).toString()}function f(t,r){if(typeof t=="bigint")return t;let n=(0,e.default)(10).pow(r),i=(0,e.default)(t).mul(n);return BigInt(i.toFixed(0,e.default.roundDown))}function y(t,r,n){let i=g(t,r,r);return f(i.toString(),n)}function B(t,r){let n=t.toString().split(".");return n.length>1&&n[1].length>r}var m=require("@polkadot/api"),a=require("@polkadot/apps-config"),d=u(require("lru-cache"),1),c=new d.default({max:20,dispose:async t=>{let r=await t;r.isConnected&&r.disconnect()}});async function I(t){let r=c.get(t)||m.ApiPromise.create({noInitWarn:!0,provider:new m.WsProvider(t),typesBundle:a.typesBundle});c.set(t,r);let n=await r;return await n.isReady,n}0&&(module.exports={convertDecimals,formatAssetIdToERC20,getPolkadotApi,hasDecimalOverflow,toBigInt,toDecimal});
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/build/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/format/asset.ts","../src/numbers/decimals.ts","../src/polkadot/polkadot.api.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 LRU from 'lru-cache';\n\nconst cache = new LRU<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(ws: string): Promise<ApiPromise> {\n const promise =\n cache.get(ws) ||\n ApiPromise.create({\n provider: new WsProvider(ws),\n typesBundle,\n });\n\n cache.set(ws, promise);\n\n const api = await promise;\n\n await api.isReady;\n\n return api;\n}\n"],"mappings":"0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,qBAAAE,EAAA,yBAAAC,EAAA,mBAAAC,EAAA,uBAAAC,EAAA,aAAAC,EAAA,cAAAC,IAAA,eAAAC,EAAAR,GCAO,SAASS,EAAqBC,EAAY,CAC/C,GAAIA,EAAG,WAAW,IAAI,EACpB,OAAOA,EAGT,GAAI,CAAC,cAAc,KAAKA,CAAE,EACxB,MAAM,IAAI,MAAM,aAAaA,0CAA2C,EAG1E,MAAO,aAAa,OAAOA,CAAE,EAAE,SAAS,EAAE,EAAE,SAAS,GAAI,GAAG,GAC9D,CCVA,IAAAC,EAAkC,uBAElC,EAAAC,QAAI,GAAK,IAEF,SAASC,EACdC,EACAC,EACAC,EAAa,EACbC,EACQ,CACR,IAAMC,KAAW,EAAAN,SAAIE,EAAO,SAAS,EAAE,QAAQ,UAAW,EAAE,CAAC,EACvDK,KAAU,EAAAP,SAAI,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,KAAa,EAAAV,SAAI,EAAE,EAAE,IAAIG,CAAQ,EACjCQ,KAAS,EAAAX,SAAIS,CAAM,EAAE,IAAIC,CAAU,EAEzC,OAAO,OAAOC,EAAO,QAAQ,EAAG,EAAAX,QAAI,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,IAAAc,EAAuC,yBACvCC,EAA4B,iCAC5BC,EAAgB,0BAEVC,EAAQ,IAAI,EAAAC,QAAiC,CACjD,IAAK,GAEL,QAAS,MAAOC,GAAiC,CAC/C,IAAMC,EAAM,MAAMD,EAEdC,EAAI,aACNA,EAAI,WAAW,CAEnB,CACF,CAAC,EAED,eAAsBC,EAAeC,EAAiC,CACpE,IAAMH,EACJF,EAAM,IAAIK,CAAE,GACZ,aAAW,OAAO,CAChB,SAAU,IAAI,aAAWA,CAAE,EAC3B,yBACF,CAAC,EAEHL,EAAM,IAAIK,EAAIH,CAAO,EAErB,IAAMC,EAAM,MAAMD,EAElB,aAAMC,EAAI,QAEHA,CACT","names":["src_exports","__export","convertDecimals","formatAssetIdToERC20","getPolkadotApi","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","cache","LRU","promise","api","getPolkadotApi","ws"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/format/asset.ts","../src/numbers/decimals.ts","../src/polkadot/polkadot.api.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 LRU from 'lru-cache';\n\nconst cache = new LRU<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(ws: string): Promise<ApiPromise> {\n const promise =\n cache.get(ws) ||\n ApiPromise.create({\n noInitWarn: true,\n provider: new WsProvider(ws),\n typesBundle,\n });\n\n cache.set(ws, promise);\n\n const api = await promise;\n\n await api.isReady;\n\n return api;\n}\n"],"mappings":"0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,qBAAAE,EAAA,yBAAAC,EAAA,mBAAAC,EAAA,uBAAAC,EAAA,aAAAC,EAAA,cAAAC,IAAA,eAAAC,EAAAR,GCAO,SAASS,EAAqBC,EAAY,CAC/C,GAAIA,EAAG,WAAW,IAAI,EACpB,OAAOA,EAGT,GAAI,CAAC,cAAc,KAAKA,CAAE,EACxB,MAAM,IAAI,MAAM,aAAaA,0CAA2C,EAG1E,MAAO,aAAa,OAAOA,CAAE,EAAE,SAAS,EAAE,EAAE,SAAS,GAAI,GAAG,GAC9D,CCVA,IAAAC,EAAkC,uBAElC,EAAAC,QAAI,GAAK,IAEF,SAASC,EACdC,EACAC,EACAC,EAAa,EACbC,EACQ,CACR,IAAMC,KAAW,EAAAN,SAAIE,EAAO,SAAS,EAAE,QAAQ,UAAW,EAAE,CAAC,EACvDK,KAAU,EAAAP,SAAI,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,KAAa,EAAAV,SAAI,EAAE,EAAE,IAAIG,CAAQ,EACjCQ,KAAS,EAAAX,SAAIS,CAAM,EAAE,IAAIC,CAAU,EAEzC,OAAO,OAAOC,EAAO,QAAQ,EAAG,EAAAX,QAAI,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,IAAAc,EAAuC,yBACvCC,EAA4B,iCAC5BC,EAAgB,0BAEVC,EAAQ,IAAI,EAAAC,QAAiC,CACjD,IAAK,GAEL,QAAS,MAAOC,GAAiC,CAC/C,IAAMC,EAAM,MAAMD,EAEdC,EAAI,aACNA,EAAI,WAAW,CAEnB,CACF,CAAC,EAED,eAAsBC,EAAeC,EAAiC,CACpE,IAAMH,EACJF,EAAM,IAAIK,CAAE,GACZ,aAAW,OAAO,CAChB,WAAY,GACZ,SAAU,IAAI,aAAWA,CAAE,EAC3B,yBACF,CAAC,EAEHL,EAAM,IAAIK,EAAIH,CAAO,EAErB,IAAMC,EAAM,MAAMD,EAElB,aAAMC,EAAI,QAEHA,CACT","names":["src_exports","__export","convertDecimals","formatAssetIdToERC20","getPolkadotApi","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","cache","LRU","promise","api","getPolkadotApi","ws"]}
|
package/build/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function b(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
|
|
1
|
+
function b(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 p(t,r,n=6,o){let s=i(t.toString().replace(/[^0-9]/g,"")),m=i(10).pow(r);return s.div(m).round(n,o).toString()}function u(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 h(t,r,n){let o=p(t,r,r);return u(o.toString(),n)}function A(t,r){let n=t.toString().split(".");return n.length>1&&n[1].length>r}import{ApiPromise as g,WsProvider as f}from"@polkadot/api";import{typesBundle as c}from"@polkadot/apps-config";import a from"lru-cache";var e=new a({max:20,dispose:async t=>{let r=await t;r.isConnected&&r.disconnect()}});async function E(t){let r=e.get(t)||g.create({noInitWarn:!0,provider:new f(t),typesBundle:c});e.set(t,r);let n=await r;return await n.isReady,n}export{h as convertDecimals,b as formatAssetIdToERC20,E as getPolkadotApi,A as hasDecimalOverflow,u as toBigInt,p as toDecimal};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
package/build/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/format/asset.ts","../src/numbers/decimals.ts","../src/polkadot/polkadot.api.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 LRU from 'lru-cache';\n\nconst cache = new LRU<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(ws: string): Promise<ApiPromise> {\n const promise =\n cache.get(ws) ||\n ApiPromise.create({\n provider: new WsProvider(ws),\n typesBundle,\n });\n\n cache.set(ws, promise);\n\n const api = await promise;\n\n await api.isReady;\n\n return api;\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,0CAA2C,EAG1E,MAAO,aAAa,OAAOA,CAAE,EAAE,SAAS,EAAE,EAAE,SAAS,GAAI,GAAG,GAC9D,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,OAAOC,MAAS,YAEhB,IAAMC,EAAQ,IAAID,EAAiC,CACjD,IAAK,GAEL,QAAS,MAAOE,GAAiC,CAC/C,IAAMC,EAAM,MAAMD,EAEdC,EAAI,aACNA,EAAI,WAAW,CAEnB,CACF,CAAC,EAED,eAAsBC,EAAeC,EAAiC,CACpE,IAAMH,EACJD,EAAM,IAAII,CAAE,GACZR,EAAW,OAAO,CAChB,SAAU,IAAIC,EAAWO,CAAE,EAC3B,YAAAN,CACF,CAAC,EAEHE,EAAM,IAAII,EAAIH,CAAO,EAErB,IAAMC,EAAM,MAAMD,EAElB,aAAMC,EAAI,QAEHA,CACT","names":["formatAssetIdToERC20","id","Big","toDecimal","number","decimals","maxDecimal","roundType","dividend","divisor","toBigInt","amount","multiplier","result","convertDecimals","targetDecimals","decimalNumber","hasDecimalOverflow","fl","parts","ApiPromise","WsProvider","typesBundle","LRU","cache","promise","api","getPolkadotApi","ws"]}
|
|
1
|
+
{"version":3,"sources":["../src/format/asset.ts","../src/numbers/decimals.ts","../src/polkadot/polkadot.api.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 LRU from 'lru-cache';\n\nconst cache = new LRU<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(ws: string): Promise<ApiPromise> {\n const promise =\n cache.get(ws) ||\n ApiPromise.create({\n noInitWarn: true,\n provider: new WsProvider(ws),\n typesBundle,\n });\n\n cache.set(ws, promise);\n\n const api = await promise;\n\n await api.isReady;\n\n return api;\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,0CAA2C,EAG1E,MAAO,aAAa,OAAOA,CAAE,EAAE,SAAS,EAAE,EAAE,SAAS,GAAI,GAAG,GAC9D,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,OAAOC,MAAS,YAEhB,IAAMC,EAAQ,IAAID,EAAiC,CACjD,IAAK,GAEL,QAAS,MAAOE,GAAiC,CAC/C,IAAMC,EAAM,MAAMD,EAEdC,EAAI,aACNA,EAAI,WAAW,CAEnB,CACF,CAAC,EAED,eAAsBC,EAAeC,EAAiC,CACpE,IAAMH,EACJD,EAAM,IAAII,CAAE,GACZR,EAAW,OAAO,CAChB,WAAY,GACZ,SAAU,IAAIC,EAAWO,CAAE,EAC3B,YAAAN,CACF,CAAC,EAEHE,EAAM,IAAII,EAAIH,CAAO,EAErB,IAAMC,EAAM,MAAMD,EAElB,aAAMC,EAAI,QAEHA,CACT","names":["formatAssetIdToERC20","id","Big","toDecimal","number","decimals","maxDecimal","roundType","dividend","divisor","toBigInt","amount","multiplier","result","convertDecimals","targetDecimals","decimalNumber","hasDecimalOverflow","fl","parts","ApiPromise","WsProvider","typesBundle","LRU","cache","promise","api","getPolkadotApi","ws"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@moonbeam-network/xcm-utils",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"description": "Moonbeam XCM utilities",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "tsup",
|
|
@@ -15,12 +15,12 @@
|
|
|
15
15
|
"test:ci": "npm test -- --ci",
|
|
16
16
|
"prepack": "prettier --write build/index.d.ts"
|
|
17
17
|
},
|
|
18
|
-
"author": "
|
|
18
|
+
"author": "moonbeam-foundation",
|
|
19
19
|
"license": "MIT",
|
|
20
20
|
"repository": {
|
|
21
21
|
"directory": "packages/utils",
|
|
22
22
|
"type": "git",
|
|
23
|
-
"url": "git+https://github.com/
|
|
23
|
+
"url": "git+https://github.com/moonbeam-foundation/xcm-sdk.git"
|
|
24
24
|
},
|
|
25
25
|
"keywords": [
|
|
26
26
|
"moonbeam",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"utils"
|
|
30
30
|
],
|
|
31
31
|
"bugs": {
|
|
32
|
-
"url": "https://github.com/
|
|
32
|
+
"url": "https://github.com/moonbeam-foundation/xcm-sdk/issues"
|
|
33
33
|
},
|
|
34
34
|
"homepage": "https://docs.moonbeam.network/builders/xcm/xcm-sdk/xcm-sdk/",
|
|
35
35
|
"files": [
|
|
@@ -59,6 +59,6 @@
|
|
|
59
59
|
},
|
|
60
60
|
"peerDependencies": {
|
|
61
61
|
"@polkadot/apps-config": "^0.132.1",
|
|
62
|
-
"@polkadot/api": "^10.
|
|
62
|
+
"@polkadot/api": "^10.10.1"
|
|
63
63
|
}
|
|
64
64
|
}
|