@moonbeam-network/xcm-utils 0.0.0 → 0.0.1-beta.2
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 +2 -0
- package/build/index.cjs.map +1 -0
- package/build/index.d.ts +72 -0
- package/build/index.mjs +2 -0
- package/build/index.mjs.map +1 -0
- package/package.json +29 -10
- package/build/cjs/package.json +0 -43
- package/build/cjs/src/api/index.d.ts +0 -1
- package/build/cjs/src/api/index.js +0 -18
- package/build/cjs/src/api/index.js.map +0 -1
- package/build/cjs/src/api/polkadot.api.d.ts +0 -2
- package/build/cjs/src/api/polkadot.api.js +0 -33
- package/build/cjs/src/api/polkadot.api.js.map +0 -1
- package/build/cjs/src/handlers/createExtrinsicEventHandler.d.ts +0 -3
- package/build/cjs/src/handlers/createExtrinsicEventHandler.js +0 -46
- package/build/cjs/src/handlers/createExtrinsicEventHandler.js.map +0 -1
- package/build/cjs/src/handlers/createTxEventHandler.d.ts +0 -3
- package/build/cjs/src/handlers/createTxEventHandler.js +0 -33
- package/build/cjs/src/handlers/createTxEventHandler.js.map +0 -1
- package/build/cjs/src/handlers/handlers.interfaces.d.ts +0 -23
- package/build/cjs/src/handlers/handlers.interfaces.js +0 -10
- package/build/cjs/src/handlers/handlers.interfaces.js.map +0 -1
- package/build/cjs/src/handlers/index.d.ts +0 -3
- package/build/cjs/src/handlers/index.js +0 -20
- package/build/cjs/src/handlers/index.js.map +0 -1
- package/build/cjs/src/index.d.ts +0 -2
- package/build/cjs/src/index.js +0 -19
- package/build/cjs/src/index.js.map +0 -1
- package/build/cjs/tsconfig.cjs.json +0 -10
- package/build/cjs/tsconfig.json +0 -9
- package/build/mjs/package.json +0 -43
- package/build/mjs/src/api/index.d.ts +0 -1
- package/build/mjs/src/api/index.js +0 -18
- package/build/mjs/src/api/index.js.map +0 -1
- package/build/mjs/src/api/polkadot.api.d.ts +0 -2
- package/build/mjs/src/api/polkadot.api.js +0 -33
- package/build/mjs/src/api/polkadot.api.js.map +0 -1
- package/build/mjs/src/handlers/createExtrinsicEventHandler.d.ts +0 -3
- package/build/mjs/src/handlers/createExtrinsicEventHandler.js +0 -46
- package/build/mjs/src/handlers/createExtrinsicEventHandler.js.map +0 -1
- package/build/mjs/src/handlers/createTxEventHandler.d.ts +0 -3
- package/build/mjs/src/handlers/createTxEventHandler.js +0 -33
- package/build/mjs/src/handlers/createTxEventHandler.js.map +0 -1
- package/build/mjs/src/handlers/handlers.interfaces.d.ts +0 -23
- package/build/mjs/src/handlers/handlers.interfaces.js +0 -10
- package/build/mjs/src/handlers/handlers.interfaces.js.map +0 -1
- package/build/mjs/src/handlers/index.d.ts +0 -3
- package/build/mjs/src/handlers/index.js +0 -20
- package/build/mjs/src/handlers/index.js.map +0 -1
- package/build/mjs/src/index.d.ts +0 -2
- package/build/mjs/src/index.js +0 -19
- package/build/mjs/src/index.js.map +0 -1
- package/build/mjs/tsconfig.cjs.json +0 -10
- package/build/mjs/tsconfig.json +0 -9
package/build/index.cjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var b=Object.create;var a=Object.defineProperty;var k=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var F=Object.getPrototypeOf,P=Object.prototype.hasOwnProperty;var w=(t,e)=>{for(var s in e)a(t,s,{get:e[s],enumerable:!0})},v=(t,e,s,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of y(e))!P.call(t,r)&&r!==s&&a(t,r,{get:()=>e[r],enumerable:!(i=k(e,r))||i.enumerable});return t};var g=(t,e,s)=>(s=t!=null?b(F(t)):{},v(e||!t||!t.__esModule?a(s,"default",{value:t,enumerable:!0}):s,t)),I=t=>v(a({},"__esModule",{value:!0}),t);var T={};w(T,{ExtrinsicStatus:()=>p,createExtrinsicEventHandler:()=>A,createTxEventHandler:()=>S,getPolkadotApi:()=>R,toBigInt:()=>B,toDecimal:()=>C});module.exports=I(T);var c=require("@polkadot/api"),H=g(require("lru-cache"),1),h=new H.default({max:20,dispose:async t=>{let e=await t;e.isConnected&&e.disconnect()}});async function R(t,e){let s=h.get(t)||c.ApiPromise.create({provider:new c.WsProvider(t)});h.set(t,s);let i=await s;return await i.isReady,e&&i.once("disconnected",e),i}var p=(i=>(i.Failed="Failed",i.Sent="Sent",i.Success="Success",i))(p||{});function A(t,e,s){return({events:i=[],status:r,txHash:u})=>{let n=u.toHex();if(r.isReady&&s({status:"Sent",txHash:n}),r.isInBlock){let l=r.asInBlock.toString();i.forEach(({event:{data:x,method:m,section:f}})=>{var d;if(f===t&&m===e){if(m==="Attempted"){let E=x.at(0);if(E.isIncomplete){s({status:"Failed",blockHash:l,txHash:n,message:(d=E.asIncomplete)==null?void 0:d.toHuman().join("; ")});return}}s({status:"Success",blockHash:l,txHash:n})}f==="system"&&m==="ExtrinsicFailed"&&s({status:"Failed",blockHash:l,txHash:n,message:x.join("; ")})})}}}async function S(t,e,s,i=!1){if(!t.provider)throw new Error("options.ethersSigner has not provider");i||s({status:"Sent",txHash:e});let r=await t.provider.getTransactionReceipt(e);if(!r){setTimeout(()=>S(t,e,s,!0),2e3);return}r.status===1?s({status:"Success",blockHash:r.blockHash,txHash:e}):s({status:"Failed",blockHash:r.blockHash,txHash:e})}var o=g(require("big.js"),1);function C(t,e,s=6,i){let r=(0,o.default)(t.toString().replace(/[^0-9]/g,"")),u=(0,o.default)(10).pow(e);return r.div(u).round(s,i).toNumber()}function B(t,e){let s=(0,o.default)(10).pow(e),i=(0,o.default)(t).mul(s);return BigInt(i.toFixed())}0&&(module.exports={ExtrinsicStatus,createExtrinsicEventHandler,createTxEventHandler,getPolkadotApi,toBigInt,toDecimal});
|
|
2
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/api/polkadot.api.ts","../src/handlers/handlers.interfaces.ts","../src/handlers/createExtrinsicEventHandler.ts","../src/handlers/createTxEventHandler.ts","../src/numbers/decimals.ts"],"sourcesContent":["export * from './api';\nexport * from './handlers';\nexport * from './numbers';\n","import { ApiPromise, WsProvider } from '@polkadot/api';\nimport LRU from 'lru-cache';\n\nconst cache = new LRU<string, Promise<ApiPromise>>({\n max: 20,\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,\n onDisconnect?: VoidFunction,\n): Promise<ApiPromise> {\n const promise =\n cache.get(ws) ||\n ApiPromise.create({\n provider: new WsProvider(ws),\n });\n\n cache.set(ws, promise);\n\n const api = await promise;\n\n await api.isReady;\n\n if (onDisconnect) {\n api.once('disconnected', onDisconnect);\n }\n\n return api;\n}\n","export type Hash = string;\n\nexport type ExtrinsicEventsCallback = (event: ExtrinsicEvent) => void;\n\nexport type ExtrinsicEvent =\n | ExtrinsicFailedEvent\n | ExtrinsicSentEvent\n | ExtrinsicSuccessEvent;\n\nexport interface ExtrinsicFailedEvent {\n blockHash: Hash;\n message?: string;\n status: ExtrinsicStatus.Failed;\n txHash: Hash;\n}\n\nexport interface ExtrinsicSentEvent {\n status: ExtrinsicStatus.Sent;\n txHash: Hash;\n}\n\nexport interface ExtrinsicSuccessEvent {\n blockHash: Hash;\n status: ExtrinsicStatus.Success;\n txHash: Hash;\n}\n\nexport enum ExtrinsicStatus {\n Failed = 'Failed',\n Sent = 'Sent',\n Success = 'Success',\n}\n","import type { ISubmittableResult } from '@polkadot/types/types';\nimport {\n ExtrinsicEventsCallback,\n ExtrinsicStatus,\n} from './handlers.interfaces';\n\nexport function createExtrinsicEventHandler(\n pallet: string,\n successEvent: string,\n cb: ExtrinsicEventsCallback,\n) {\n return ({ events = [], status, txHash }: ISubmittableResult) => {\n const hash = txHash.toHex();\n\n if (status.isReady) {\n cb({ status: ExtrinsicStatus.Sent, txHash: hash });\n }\n\n if (status.isInBlock) {\n const block = status.asInBlock.toString();\n\n events.forEach(({ event: { data, method, section } }) => {\n if (section === pallet && method === successEvent) {\n if (method === 'Attempted') {\n const eventData = data.at(0) as any;\n\n if (eventData.isIncomplete) {\n cb({\n status: ExtrinsicStatus.Failed,\n blockHash: block,\n txHash: hash,\n message: eventData.asIncomplete?.toHuman().join('; '),\n });\n\n return;\n }\n }\n\n cb({\n status: ExtrinsicStatus.Success,\n blockHash: block,\n txHash: hash,\n });\n }\n\n if (section === 'system' && method === 'ExtrinsicFailed') {\n cb({\n status: ExtrinsicStatus.Failed,\n blockHash: block,\n txHash: hash,\n message: data.join('; '),\n });\n }\n });\n }\n };\n}\n","import type { Signer as EthersSigner } from 'ethers';\nimport {\n ExtrinsicEventsCallback,\n ExtrinsicStatus,\n Hash,\n} from './handlers.interfaces';\n\nexport async function createTxEventHandler(\n ethersSigner: EthersSigner,\n txHash: Hash,\n cb: ExtrinsicEventsCallback,\n skipSentEvent = false,\n) {\n if (!ethersSigner.provider) {\n throw new Error('options.ethersSigner has not provider');\n }\n\n if (!skipSentEvent) {\n cb({ status: ExtrinsicStatus.Sent, txHash });\n }\n\n const tx = await ethersSigner.provider.getTransactionReceipt(txHash);\n\n if (!tx) {\n setTimeout(\n () => createTxEventHandler(ethersSigner, txHash, cb, true),\n 2000,\n );\n return;\n }\n\n if (tx.status === 1) {\n cb({\n status: ExtrinsicStatus.Success,\n blockHash: tx.blockHash,\n txHash,\n });\n } else {\n cb({\n status: ExtrinsicStatus.Failed,\n blockHash: tx.blockHash,\n txHash,\n });\n }\n}\n","import Big, { RoundingMode } from 'big.js';\n\nexport function toDecimal(\n number: bigint | number | string,\n decimals: number,\n maxDecimal = 6,\n roundType?: RoundingMode,\n): number {\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.toNumber();\n}\n\nexport function toBigInt(amount: string | number, decimals: number): bigint {\n const multiplier = Big(10).pow(decimals);\n const result = Big(amount).mul(multiplier);\n\n return BigInt(result.toFixed());\n}\n"],"mappings":"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","names":["src_exports","__export","ExtrinsicStatus","createExtrinsicEventHandler","createTxEventHandler","getPolkadotApi","toBigInt","toDecimal","__toCommonJS","import_api","import_lru_cache","cache","LRU","promise","api","getPolkadotApi","ws","onDisconnect","ExtrinsicStatus","createExtrinsicEventHandler","pallet","successEvent","cb","events","status","txHash","hash","block","data","method","section","_a","eventData","createTxEventHandler","ethersSigner","txHash","cb","skipSentEvent","tx","import_big","toDecimal","number","decimals","maxDecimal","roundType","dividend","Big","divisor","toBigInt","amount","multiplier","result"]}
|
package/build/index.d.ts
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { ApiPromise } from '@polkadot/api';
|
|
2
|
+
import { ISubmittableResult } from '@polkadot/types/types';
|
|
3
|
+
import { Signer } from 'ethers';
|
|
4
|
+
import { RoundingMode } from 'big.js';
|
|
5
|
+
|
|
6
|
+
declare function getPolkadotApi(
|
|
7
|
+
ws: string,
|
|
8
|
+
onDisconnect?: VoidFunction,
|
|
9
|
+
): Promise<ApiPromise>;
|
|
10
|
+
|
|
11
|
+
declare type Hash = string;
|
|
12
|
+
declare type ExtrinsicEventsCallback = (event: ExtrinsicEvent) => void;
|
|
13
|
+
declare type ExtrinsicEvent =
|
|
14
|
+
| ExtrinsicFailedEvent
|
|
15
|
+
| ExtrinsicSentEvent
|
|
16
|
+
| ExtrinsicSuccessEvent;
|
|
17
|
+
interface ExtrinsicFailedEvent {
|
|
18
|
+
blockHash: Hash;
|
|
19
|
+
message?: string;
|
|
20
|
+
status: ExtrinsicStatus.Failed;
|
|
21
|
+
txHash: Hash;
|
|
22
|
+
}
|
|
23
|
+
interface ExtrinsicSentEvent {
|
|
24
|
+
status: ExtrinsicStatus.Sent;
|
|
25
|
+
txHash: Hash;
|
|
26
|
+
}
|
|
27
|
+
interface ExtrinsicSuccessEvent {
|
|
28
|
+
blockHash: Hash;
|
|
29
|
+
status: ExtrinsicStatus.Success;
|
|
30
|
+
txHash: Hash;
|
|
31
|
+
}
|
|
32
|
+
declare enum ExtrinsicStatus {
|
|
33
|
+
Failed = 'Failed',
|
|
34
|
+
Sent = 'Sent',
|
|
35
|
+
Success = 'Success',
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
declare function createExtrinsicEventHandler(
|
|
39
|
+
pallet: string,
|
|
40
|
+
successEvent: string,
|
|
41
|
+
cb: ExtrinsicEventsCallback,
|
|
42
|
+
): ({ events, status, txHash }: ISubmittableResult) => void;
|
|
43
|
+
|
|
44
|
+
declare function createTxEventHandler(
|
|
45
|
+
ethersSigner: Signer,
|
|
46
|
+
txHash: Hash,
|
|
47
|
+
cb: ExtrinsicEventsCallback,
|
|
48
|
+
skipSentEvent?: boolean,
|
|
49
|
+
): Promise<void>;
|
|
50
|
+
|
|
51
|
+
declare function toDecimal(
|
|
52
|
+
number: bigint | number | string,
|
|
53
|
+
decimals: number,
|
|
54
|
+
maxDecimal?: number,
|
|
55
|
+
roundType?: RoundingMode,
|
|
56
|
+
): number;
|
|
57
|
+
declare function toBigInt(amount: string | number, decimals: number): bigint;
|
|
58
|
+
|
|
59
|
+
export {
|
|
60
|
+
ExtrinsicEvent,
|
|
61
|
+
ExtrinsicEventsCallback,
|
|
62
|
+
ExtrinsicFailedEvent,
|
|
63
|
+
ExtrinsicSentEvent,
|
|
64
|
+
ExtrinsicStatus,
|
|
65
|
+
ExtrinsicSuccessEvent,
|
|
66
|
+
Hash,
|
|
67
|
+
createExtrinsicEventHandler,
|
|
68
|
+
createTxEventHandler,
|
|
69
|
+
getPolkadotApi,
|
|
70
|
+
toBigInt,
|
|
71
|
+
toDecimal,
|
|
72
|
+
};
|
package/build/index.mjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{ApiPromise as E,WsProvider as v}from"@polkadot/api";import g from"lru-cache";var d=new g({max:20,dispose:async s=>{let t=await s;t.isConnected&&t.disconnect()}});async function b(s,t){let e=d.get(s)||E.create({provider:new v(s)});d.set(s,e);let i=await e;return await i.isReady,t&&i.once("disconnected",t),i}var u=(i=>(i.Failed="Failed",i.Sent="Sent",i.Success="Success",i))(u||{});function R(s,t,e){return({events:i=[],status:r,txHash:a})=>{let n=a.toHex();if(r.isReady&&e({status:"Sent",txHash:n}),r.isInBlock){let c=r.asInBlock.toString();i.forEach(({event:{data:l,method:p,section:m}})=>{var x;if(m===s&&p===t){if(p==="Attempted"){let f=l.at(0);if(f.isIncomplete){e({status:"Failed",blockHash:c,txHash:n,message:(x=f.asIncomplete)==null?void 0:x.toHuman().join("; ")});return}}e({status:"Success",blockHash:c,txHash:n})}m==="system"&&p==="ExtrinsicFailed"&&e({status:"Failed",blockHash:c,txHash:n,message:l.join("; ")})})}}}async function h(s,t,e,i=!1){if(!s.provider)throw new Error("options.ethersSigner has not provider");i||e({status:"Sent",txHash:t});let r=await s.provider.getTransactionReceipt(t);if(!r){setTimeout(()=>h(s,t,e,!0),2e3);return}r.status===1?e({status:"Success",blockHash:r.blockHash,txHash:t}):e({status:"Failed",blockHash:r.blockHash,txHash:t})}import o from"big.js";function W(s,t,e=6,i){let r=o(s.toString().replace(/[^0-9]/g,"")),a=o(10).pow(t);return r.div(a).round(e,i).toNumber()}function q(s,t){let e=o(10).pow(t),i=o(s).mul(e);return BigInt(i.toFixed())}export{u as ExtrinsicStatus,R as createExtrinsicEventHandler,h as createTxEventHandler,b as getPolkadotApi,q as toBigInt,W as toDecimal};
|
|
2
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/api/polkadot.api.ts","../src/handlers/handlers.interfaces.ts","../src/handlers/createExtrinsicEventHandler.ts","../src/handlers/createTxEventHandler.ts","../src/numbers/decimals.ts"],"sourcesContent":["import { ApiPromise, WsProvider } from '@polkadot/api';\nimport LRU from 'lru-cache';\n\nconst cache = new LRU<string, Promise<ApiPromise>>({\n max: 20,\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,\n onDisconnect?: VoidFunction,\n): Promise<ApiPromise> {\n const promise =\n cache.get(ws) ||\n ApiPromise.create({\n provider: new WsProvider(ws),\n });\n\n cache.set(ws, promise);\n\n const api = await promise;\n\n await api.isReady;\n\n if (onDisconnect) {\n api.once('disconnected', onDisconnect);\n }\n\n return api;\n}\n","export type Hash = string;\n\nexport type ExtrinsicEventsCallback = (event: ExtrinsicEvent) => void;\n\nexport type ExtrinsicEvent =\n | ExtrinsicFailedEvent\n | ExtrinsicSentEvent\n | ExtrinsicSuccessEvent;\n\nexport interface ExtrinsicFailedEvent {\n blockHash: Hash;\n message?: string;\n status: ExtrinsicStatus.Failed;\n txHash: Hash;\n}\n\nexport interface ExtrinsicSentEvent {\n status: ExtrinsicStatus.Sent;\n txHash: Hash;\n}\n\nexport interface ExtrinsicSuccessEvent {\n blockHash: Hash;\n status: ExtrinsicStatus.Success;\n txHash: Hash;\n}\n\nexport enum ExtrinsicStatus {\n Failed = 'Failed',\n Sent = 'Sent',\n Success = 'Success',\n}\n","import type { ISubmittableResult } from '@polkadot/types/types';\nimport {\n ExtrinsicEventsCallback,\n ExtrinsicStatus,\n} from './handlers.interfaces';\n\nexport function createExtrinsicEventHandler(\n pallet: string,\n successEvent: string,\n cb: ExtrinsicEventsCallback,\n) {\n return ({ events = [], status, txHash }: ISubmittableResult) => {\n const hash = txHash.toHex();\n\n if (status.isReady) {\n cb({ status: ExtrinsicStatus.Sent, txHash: hash });\n }\n\n if (status.isInBlock) {\n const block = status.asInBlock.toString();\n\n events.forEach(({ event: { data, method, section } }) => {\n if (section === pallet && method === successEvent) {\n if (method === 'Attempted') {\n const eventData = data.at(0) as any;\n\n if (eventData.isIncomplete) {\n cb({\n status: ExtrinsicStatus.Failed,\n blockHash: block,\n txHash: hash,\n message: eventData.asIncomplete?.toHuman().join('; '),\n });\n\n return;\n }\n }\n\n cb({\n status: ExtrinsicStatus.Success,\n blockHash: block,\n txHash: hash,\n });\n }\n\n if (section === 'system' && method === 'ExtrinsicFailed') {\n cb({\n status: ExtrinsicStatus.Failed,\n blockHash: block,\n txHash: hash,\n message: data.join('; '),\n });\n }\n });\n }\n };\n}\n","import type { Signer as EthersSigner } from 'ethers';\nimport {\n ExtrinsicEventsCallback,\n ExtrinsicStatus,\n Hash,\n} from './handlers.interfaces';\n\nexport async function createTxEventHandler(\n ethersSigner: EthersSigner,\n txHash: Hash,\n cb: ExtrinsicEventsCallback,\n skipSentEvent = false,\n) {\n if (!ethersSigner.provider) {\n throw new Error('options.ethersSigner has not provider');\n }\n\n if (!skipSentEvent) {\n cb({ status: ExtrinsicStatus.Sent, txHash });\n }\n\n const tx = await ethersSigner.provider.getTransactionReceipt(txHash);\n\n if (!tx) {\n setTimeout(\n () => createTxEventHandler(ethersSigner, txHash, cb, true),\n 2000,\n );\n return;\n }\n\n if (tx.status === 1) {\n cb({\n status: ExtrinsicStatus.Success,\n blockHash: tx.blockHash,\n txHash,\n });\n } else {\n cb({\n status: ExtrinsicStatus.Failed,\n blockHash: tx.blockHash,\n txHash,\n });\n }\n}\n","import Big, { RoundingMode } from 'big.js';\n\nexport function toDecimal(\n number: bigint | number | string,\n decimals: number,\n maxDecimal = 6,\n roundType?: RoundingMode,\n): number {\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.toNumber();\n}\n\nexport function toBigInt(amount: string | number, decimals: number): bigint {\n const multiplier = Big(10).pow(decimals);\n const result = Big(amount).mul(multiplier);\n\n return BigInt(result.toFixed());\n}\n"],"mappings":"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","names":["ApiPromise","WsProvider","LRU","cache","promise","api","getPolkadotApi","ws","onDisconnect","ExtrinsicStatus","createExtrinsicEventHandler","pallet","successEvent","cb","events","status","txHash","hash","block","data","method","section","_a","eventData","createTxEventHandler","ethersSigner","txHash","cb","skipSentEvent","tx","Big","toDecimal","number","decimals","maxDecimal","roundType","dividend","divisor","toBigInt","amount","multiplier","result"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@moonbeam-network/xcm-utils",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.1-beta.2",
|
|
4
|
+
"description": "Moonbeam XCM utilities",
|
|
5
|
+
"scripts": {
|
|
6
|
+
"build": "tsup",
|
|
7
|
+
"dev": "npm run build -- --watch",
|
|
8
|
+
"link": "npm ln",
|
|
9
|
+
"lint": "eslint . --ext .js,.ts",
|
|
10
|
+
"lint:fix": "npm run lint -- --fix",
|
|
11
|
+
"test": "jest /src",
|
|
12
|
+
"test:watch": "npm test -- --watch",
|
|
13
|
+
"test:update": "npm test -- -u",
|
|
14
|
+
"test:ci": "npm test -- --ci",
|
|
15
|
+
"prepack": "prettier --write build/index.d.ts"
|
|
16
|
+
},
|
|
4
17
|
"author": "PureStake",
|
|
5
18
|
"license": "MIT",
|
|
6
19
|
"repository": {
|
|
@@ -21,23 +34,29 @@
|
|
|
21
34
|
"files": [
|
|
22
35
|
"build"
|
|
23
36
|
],
|
|
24
|
-
"type": "
|
|
37
|
+
"type": "module",
|
|
25
38
|
"exports": {
|
|
26
39
|
".": {
|
|
27
40
|
"import": {
|
|
28
|
-
"types": "./build/
|
|
29
|
-
"default": "./build/
|
|
41
|
+
"types": "./build/index.d.ts",
|
|
42
|
+
"default": "./build/index.mjs"
|
|
30
43
|
},
|
|
31
44
|
"require": {
|
|
32
|
-
"types": "./build/
|
|
33
|
-
"default": "./build/
|
|
45
|
+
"types": "./build/index.d.ts",
|
|
46
|
+
"default": "./build/index.cjs"
|
|
34
47
|
}
|
|
35
48
|
}
|
|
36
49
|
},
|
|
37
|
-
"types": "./build/
|
|
38
|
-
"main": "./build/
|
|
50
|
+
"types": "./build/index.d.ts",
|
|
51
|
+
"main": "./build/index.cjs",
|
|
39
52
|
"dependencies": {
|
|
40
|
-
"
|
|
41
|
-
"lru-cache": "^7.
|
|
53
|
+
"big.js": "^6.2.1",
|
|
54
|
+
"lru-cache": "^7.17.0"
|
|
55
|
+
},
|
|
56
|
+
"devDependencies": {
|
|
57
|
+
"@types/big.js": "^6.1.6"
|
|
58
|
+
},
|
|
59
|
+
"peerDependencies": {
|
|
60
|
+
"@polkadot/api": "9.x"
|
|
42
61
|
}
|
|
43
62
|
}
|
package/build/cjs/package.json
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@moonbeam-network/xcm-utils",
|
|
3
|
-
"version": "0.0.0",
|
|
4
|
-
"author": "PureStake",
|
|
5
|
-
"license": "MIT",
|
|
6
|
-
"repository": {
|
|
7
|
-
"directory": "packages/utils",
|
|
8
|
-
"type": "git",
|
|
9
|
-
"url": "git+https://github.com/PureStake/xcm-sdk.git"
|
|
10
|
-
},
|
|
11
|
-
"keywords": [
|
|
12
|
-
"moonbeam",
|
|
13
|
-
"moonriver",
|
|
14
|
-
"xcm",
|
|
15
|
-
"utils"
|
|
16
|
-
],
|
|
17
|
-
"bugs": {
|
|
18
|
-
"url": "https://github.com/PureStake/xcm-sdk/issues"
|
|
19
|
-
},
|
|
20
|
-
"homepage": "https://docs.moonbeam.network/builders/xcm/xcm-sdk/xcm-sdk/",
|
|
21
|
-
"files": [
|
|
22
|
-
"build"
|
|
23
|
-
],
|
|
24
|
-
"type": "commonjs",
|
|
25
|
-
"exports": {
|
|
26
|
-
".": {
|
|
27
|
-
"import": {
|
|
28
|
-
"types": "./build/mjs/src/index.d.ts",
|
|
29
|
-
"default": "./build/mjs/src/index.js"
|
|
30
|
-
},
|
|
31
|
-
"require": {
|
|
32
|
-
"types": "./build/cjs/src/index.d.ts",
|
|
33
|
-
"default": "./build/cjs/src/index.js"
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
},
|
|
37
|
-
"types": "./build/cjs/src/index.d.ts",
|
|
38
|
-
"main": "./build/cjs/src/index.js",
|
|
39
|
-
"dependencies": {
|
|
40
|
-
"@polkadot/api": "^9.5.2",
|
|
41
|
-
"lru-cache": "^7.14.0"
|
|
42
|
-
}
|
|
43
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './polkadot.api';
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./polkadot.api"), exports);
|
|
18
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getPolkadotApi = void 0;
|
|
7
|
-
const api_1 = require("@polkadot/api");
|
|
8
|
-
const lru_cache_1 = __importDefault(require("lru-cache"));
|
|
9
|
-
const tenMin = 10 * 60 * 1000;
|
|
10
|
-
const cache = new lru_cache_1.default({
|
|
11
|
-
max: 20,
|
|
12
|
-
ttl: tenMin,
|
|
13
|
-
updateAgeOnGet: true,
|
|
14
|
-
ttlAutopurge: true,
|
|
15
|
-
dispose: async (promise) => {
|
|
16
|
-
const api = await promise;
|
|
17
|
-
if (api.isConnected) {
|
|
18
|
-
api.disconnect();
|
|
19
|
-
}
|
|
20
|
-
},
|
|
21
|
-
});
|
|
22
|
-
async function getPolkadotApi(ws) {
|
|
23
|
-
const promise = cache.get(ws) ||
|
|
24
|
-
api_1.ApiPromise.create({
|
|
25
|
-
provider: new api_1.WsProvider(ws),
|
|
26
|
-
});
|
|
27
|
-
cache.set(ws, promise);
|
|
28
|
-
const api = await promise;
|
|
29
|
-
await api.isReady;
|
|
30
|
-
return api;
|
|
31
|
-
}
|
|
32
|
-
exports.getPolkadotApi = getPolkadotApi;
|
|
33
|
-
//# sourceMappingURL=polkadot.api.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"polkadot.api.js","sourceRoot":"","sources":["../../../../src/api/polkadot.api.ts"],"names":[],"mappings":";;;;;;AAAA,uCAAuD;AACvD,0DAA4B;AAE5B,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAE9B,MAAM,KAAK,GAAG,IAAI,mBAAG,CAA8B;IACjD,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,MAAM;IACX,cAAc,EAAE,IAAI;IACpB,YAAY,EAAE,IAAI;IAClB,OAAO,EAAE,KAAK,EAAE,OAA4B,EAAE,EAAE;QAC9C,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC;QAE1B,IAAI,GAAG,CAAC,WAAW,EAAE;YACnB,GAAG,CAAC,UAAU,EAAE,CAAC;SAClB;IACH,CAAC;CACF,CAAC,CAAC;AAEI,KAAK,UAAU,cAAc,CAAC,EAAU;IAC7C,MAAM,OAAO,GACX,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACb,gBAAU,CAAC,MAAM,CAAC;YAChB,QAAQ,EAAE,IAAI,gBAAU,CAAC,EAAE,CAAC;SAC7B,CAAC,CAAC;IAEL,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAEvB,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC;IAE1B,MAAM,GAAG,CAAC,OAAO,CAAC;IAElB,OAAO,GAAG,CAAC;AACb,CAAC;AAdD,wCAcC"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import type { ISubmittableResult } from '@polkadot/types/types';
|
|
2
|
-
import { ExtrinsicEventsCallback } from './handlers.interfaces';
|
|
3
|
-
export declare function createExtrinsicEventHandler(pallet: string, successEvent: string, cb: ExtrinsicEventsCallback): ({ events, status, txHash }: ISubmittableResult) => void;
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createExtrinsicEventHandler = void 0;
|
|
4
|
-
const handlers_interfaces_1 = require("./handlers.interfaces");
|
|
5
|
-
function createExtrinsicEventHandler(pallet, successEvent, cb) {
|
|
6
|
-
return ({ events = [], status, txHash }) => {
|
|
7
|
-
const hash = txHash.toHex();
|
|
8
|
-
if (status.isReady) {
|
|
9
|
-
cb({ status: handlers_interfaces_1.ExtrinsicStatus.Sent, txHash: hash });
|
|
10
|
-
}
|
|
11
|
-
if (status.isInBlock) {
|
|
12
|
-
const block = status.asInBlock.toString();
|
|
13
|
-
events.forEach(({ event: { data, method, section } }) => {
|
|
14
|
-
if (section === pallet && method === successEvent) {
|
|
15
|
-
if (method === 'Attempted') {
|
|
16
|
-
const eventData = data.at(0);
|
|
17
|
-
if (eventData.isIncomplete) {
|
|
18
|
-
cb({
|
|
19
|
-
status: handlers_interfaces_1.ExtrinsicStatus.Failed,
|
|
20
|
-
blockHash: block,
|
|
21
|
-
txHash: hash,
|
|
22
|
-
message: eventData.asIncomplete.toHuman().join('; '),
|
|
23
|
-
});
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
cb({
|
|
28
|
-
status: handlers_interfaces_1.ExtrinsicStatus.Success,
|
|
29
|
-
blockHash: block,
|
|
30
|
-
txHash: hash,
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
if (section === 'system' && method === 'ExtrinsicFailed') {
|
|
34
|
-
cb({
|
|
35
|
-
status: handlers_interfaces_1.ExtrinsicStatus.Failed,
|
|
36
|
-
blockHash: block,
|
|
37
|
-
txHash: hash,
|
|
38
|
-
message: data.join('; '),
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
exports.createExtrinsicEventHandler = createExtrinsicEventHandler;
|
|
46
|
-
//# sourceMappingURL=createExtrinsicEventHandler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createExtrinsicEventHandler.js","sourceRoot":"","sources":["../../../../src/handlers/createExtrinsicEventHandler.ts"],"names":[],"mappings":";;;AACA,+DAG+B;AAE/B,SAAgB,2BAA2B,CACzC,MAAc,EACd,YAAoB,EACpB,EAA2B;IAE3B,OAAO,CAAC,EAAE,MAAM,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAsB,EAAE,EAAE;QAC7D,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;QAE5B,IAAI,MAAM,CAAC,OAAO,EAAE;YAClB,EAAE,CAAC,EAAE,MAAM,EAAE,qCAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;SACpD;QAED,IAAI,MAAM,CAAC,SAAS,EAAE;YACpB,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YAE1C,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE;gBACtD,IAAI,OAAO,KAAK,MAAM,IAAI,MAAM,KAAK,YAAY,EAAE;oBACjD,IAAI,MAAM,KAAK,WAAW,EAAE;wBAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAQ,CAAC;wBAEpC,IAAI,SAAS,CAAC,YAAY,EAAE;4BAC1B,EAAE,CAAC;gCACD,MAAM,EAAE,qCAAe,CAAC,MAAM;gCAC9B,SAAS,EAAE,KAAK;gCAChB,MAAM,EAAE,IAAI;gCACZ,OAAO,EAAE,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;6BACrD,CAAC,CAAC;4BAEH,OAAO;yBACR;qBACF;oBAED,EAAE,CAAC;wBACD,MAAM,EAAE,qCAAe,CAAC,OAAO;wBAC/B,SAAS,EAAE,KAAK;wBAChB,MAAM,EAAE,IAAI;qBACb,CAAC,CAAC;iBACJ;gBAED,IAAI,OAAO,KAAK,QAAQ,IAAI,MAAM,KAAK,iBAAiB,EAAE;oBACxD,EAAE,CAAC;wBACD,MAAM,EAAE,qCAAe,CAAC,MAAM;wBAC9B,SAAS,EAAE,KAAK;wBAChB,MAAM,EAAE,IAAI;wBACZ,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;qBACzB,CAAC,CAAC;iBACJ;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC,CAAC;AACJ,CAAC;AAlDD,kEAkDC"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import type { Signer as EthersSigner } from 'ethers';
|
|
2
|
-
import { ExtrinsicEventsCallback, Hash } from './handlers.interfaces';
|
|
3
|
-
export declare function createTxEventHandler(ethersSigner: EthersSigner, txHash: Hash, cb: ExtrinsicEventsCallback, skipSentEvent?: boolean): Promise<void>;
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createTxEventHandler = void 0;
|
|
4
|
-
const handlers_interfaces_1 = require("./handlers.interfaces");
|
|
5
|
-
async function createTxEventHandler(ethersSigner, txHash, cb, skipSentEvent = false) {
|
|
6
|
-
if (!ethersSigner.provider) {
|
|
7
|
-
throw new Error('options.ethersSigner has not provider');
|
|
8
|
-
}
|
|
9
|
-
if (!skipSentEvent) {
|
|
10
|
-
cb({ status: handlers_interfaces_1.ExtrinsicStatus.Sent, txHash });
|
|
11
|
-
}
|
|
12
|
-
const tx = await ethersSigner.provider.getTransactionReceipt(txHash);
|
|
13
|
-
if (!tx) {
|
|
14
|
-
setTimeout(() => createTxEventHandler(ethersSigner, txHash, cb, true), 2000);
|
|
15
|
-
return;
|
|
16
|
-
}
|
|
17
|
-
if (tx.status === 1) {
|
|
18
|
-
cb({
|
|
19
|
-
status: handlers_interfaces_1.ExtrinsicStatus.Success,
|
|
20
|
-
blockHash: tx.blockHash,
|
|
21
|
-
txHash,
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
cb({
|
|
26
|
-
status: handlers_interfaces_1.ExtrinsicStatus.Failed,
|
|
27
|
-
blockHash: tx.blockHash,
|
|
28
|
-
txHash,
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
exports.createTxEventHandler = createTxEventHandler;
|
|
33
|
-
//# sourceMappingURL=createTxEventHandler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createTxEventHandler.js","sourceRoot":"","sources":["../../../../src/handlers/createTxEventHandler.ts"],"names":[],"mappings":";;;AACA,+DAI+B;AAExB,KAAK,UAAU,oBAAoB,CACxC,YAA0B,EAC1B,MAAY,EACZ,EAA2B,EAC3B,aAAa,GAAG,KAAK;IAErB,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE;QAC1B,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;KAC1D;IAED,IAAI,CAAC,aAAa,EAAE;QAClB,EAAE,CAAC,EAAE,MAAM,EAAE,qCAAe,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;KAC9C;IAED,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAErE,IAAI,CAAC,EAAE,EAAE;QACP,UAAU,CACR,GAAG,EAAE,CAAC,oBAAoB,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,EAC1D,IAAI,CACL,CAAC;QACF,OAAO;KACR;IAED,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;QACnB,EAAE,CAAC;YACD,MAAM,EAAE,qCAAe,CAAC,OAAO;YAC/B,SAAS,EAAE,EAAE,CAAC,SAAS;YACvB,MAAM;SACP,CAAC,CAAC;KACJ;SAAM;QACL,EAAE,CAAC;YACD,MAAM,EAAE,qCAAe,CAAC,MAAM;YAC9B,SAAS,EAAE,EAAE,CAAC,SAAS;YACvB,MAAM;SACP,CAAC,CAAC;KACJ;AACH,CAAC;AArCD,oDAqCC"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
export declare type Hash = string;
|
|
2
|
-
export declare type ExtrinsicEventsCallback = (event: ExtrinsicEvent) => void;
|
|
3
|
-
export declare type ExtrinsicEvent = ExtrinsicFailedEvent | ExtrinsicSentEvent | ExtrinsicSuccessEvent;
|
|
4
|
-
export interface ExtrinsicFailedEvent {
|
|
5
|
-
blockHash: Hash;
|
|
6
|
-
message?: string;
|
|
7
|
-
status: ExtrinsicStatus.Failed;
|
|
8
|
-
txHash: Hash;
|
|
9
|
-
}
|
|
10
|
-
export interface ExtrinsicSentEvent {
|
|
11
|
-
status: ExtrinsicStatus.Sent;
|
|
12
|
-
txHash: Hash;
|
|
13
|
-
}
|
|
14
|
-
export interface ExtrinsicSuccessEvent {
|
|
15
|
-
blockHash: Hash;
|
|
16
|
-
status: ExtrinsicStatus.Success;
|
|
17
|
-
txHash: Hash;
|
|
18
|
-
}
|
|
19
|
-
export declare enum ExtrinsicStatus {
|
|
20
|
-
Failed = "Failed",
|
|
21
|
-
Sent = "Sent",
|
|
22
|
-
Success = "Success"
|
|
23
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ExtrinsicStatus = void 0;
|
|
4
|
-
var ExtrinsicStatus;
|
|
5
|
-
(function (ExtrinsicStatus) {
|
|
6
|
-
ExtrinsicStatus["Failed"] = "Failed";
|
|
7
|
-
ExtrinsicStatus["Sent"] = "Sent";
|
|
8
|
-
ExtrinsicStatus["Success"] = "Success";
|
|
9
|
-
})(ExtrinsicStatus = exports.ExtrinsicStatus || (exports.ExtrinsicStatus = {}));
|
|
10
|
-
//# sourceMappingURL=handlers.interfaces.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.interfaces.js","sourceRoot":"","sources":["../../../../src/handlers/handlers.interfaces.ts"],"names":[],"mappings":";;;AA2BA,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,oCAAiB,CAAA;IACjB,gCAAa,CAAA;IACb,sCAAmB,CAAA;AACrB,CAAC,EAJW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAI1B"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./createExtrinsicEventHandler"), exports);
|
|
18
|
-
__exportStar(require("./createTxEventHandler"), exports);
|
|
19
|
-
__exportStar(require("./handlers.interfaces"), exports);
|
|
20
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/handlers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gEAA8C;AAC9C,yDAAuC;AACvC,wDAAsC"}
|
package/build/cjs/src/index.d.ts
DELETED
package/build/cjs/src/index.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./api"), exports);
|
|
18
|
-
__exportStar(require("./handlers"), exports);
|
|
19
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,6CAA2B"}
|
package/build/cjs/tsconfig.json
DELETED
package/build/mjs/package.json
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@moonbeam-network/xcm-utils",
|
|
3
|
-
"version": "0.0.0",
|
|
4
|
-
"author": "PureStake",
|
|
5
|
-
"license": "MIT",
|
|
6
|
-
"repository": {
|
|
7
|
-
"directory": "packages/utils",
|
|
8
|
-
"type": "git",
|
|
9
|
-
"url": "git+https://github.com/PureStake/xcm-sdk.git"
|
|
10
|
-
},
|
|
11
|
-
"keywords": [
|
|
12
|
-
"moonbeam",
|
|
13
|
-
"moonriver",
|
|
14
|
-
"xcm",
|
|
15
|
-
"utils"
|
|
16
|
-
],
|
|
17
|
-
"bugs": {
|
|
18
|
-
"url": "https://github.com/PureStake/xcm-sdk/issues"
|
|
19
|
-
},
|
|
20
|
-
"homepage": "https://docs.moonbeam.network/builders/xcm/xcm-sdk/xcm-sdk/",
|
|
21
|
-
"files": [
|
|
22
|
-
"build"
|
|
23
|
-
],
|
|
24
|
-
"type": "commonjs",
|
|
25
|
-
"exports": {
|
|
26
|
-
".": {
|
|
27
|
-
"import": {
|
|
28
|
-
"types": "./build/mjs/src/index.d.ts",
|
|
29
|
-
"default": "./build/mjs/src/index.js"
|
|
30
|
-
},
|
|
31
|
-
"require": {
|
|
32
|
-
"types": "./build/cjs/src/index.d.ts",
|
|
33
|
-
"default": "./build/cjs/src/index.js"
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
},
|
|
37
|
-
"types": "./build/cjs/src/index.d.ts",
|
|
38
|
-
"main": "./build/cjs/src/index.js",
|
|
39
|
-
"dependencies": {
|
|
40
|
-
"@polkadot/api": "^9.5.2",
|
|
41
|
-
"lru-cache": "^7.14.0"
|
|
42
|
-
}
|
|
43
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './polkadot.api';
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./polkadot.api"), exports);
|
|
18
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getPolkadotApi = void 0;
|
|
7
|
-
const api_1 = require("@polkadot/api");
|
|
8
|
-
const lru_cache_1 = __importDefault(require("lru-cache"));
|
|
9
|
-
const tenMin = 10 * 60 * 1000;
|
|
10
|
-
const cache = new lru_cache_1.default({
|
|
11
|
-
max: 20,
|
|
12
|
-
ttl: tenMin,
|
|
13
|
-
updateAgeOnGet: true,
|
|
14
|
-
ttlAutopurge: true,
|
|
15
|
-
dispose: async (promise) => {
|
|
16
|
-
const api = await promise;
|
|
17
|
-
if (api.isConnected) {
|
|
18
|
-
api.disconnect();
|
|
19
|
-
}
|
|
20
|
-
},
|
|
21
|
-
});
|
|
22
|
-
async function getPolkadotApi(ws) {
|
|
23
|
-
const promise = cache.get(ws) ||
|
|
24
|
-
api_1.ApiPromise.create({
|
|
25
|
-
provider: new api_1.WsProvider(ws),
|
|
26
|
-
});
|
|
27
|
-
cache.set(ws, promise);
|
|
28
|
-
const api = await promise;
|
|
29
|
-
await api.isReady;
|
|
30
|
-
return api;
|
|
31
|
-
}
|
|
32
|
-
exports.getPolkadotApi = getPolkadotApi;
|
|
33
|
-
//# sourceMappingURL=polkadot.api.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"polkadot.api.js","sourceRoot":"","sources":["../../../../src/api/polkadot.api.ts"],"names":[],"mappings":";;;;;;AAAA,uCAAuD;AACvD,0DAA4B;AAE5B,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAE9B,MAAM,KAAK,GAAG,IAAI,mBAAG,CAA8B;IACjD,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,MAAM;IACX,cAAc,EAAE,IAAI;IACpB,YAAY,EAAE,IAAI;IAClB,OAAO,EAAE,KAAK,EAAE,OAA4B,EAAE,EAAE;QAC9C,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC;QAE1B,IAAI,GAAG,CAAC,WAAW,EAAE;YACnB,GAAG,CAAC,UAAU,EAAE,CAAC;SAClB;IACH,CAAC;CACF,CAAC,CAAC;AAEI,KAAK,UAAU,cAAc,CAAC,EAAU;IAC7C,MAAM,OAAO,GACX,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACb,gBAAU,CAAC,MAAM,CAAC;YAChB,QAAQ,EAAE,IAAI,gBAAU,CAAC,EAAE,CAAC;SAC7B,CAAC,CAAC;IAEL,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAEvB,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC;IAE1B,MAAM,GAAG,CAAC,OAAO,CAAC;IAElB,OAAO,GAAG,CAAC;AACb,CAAC;AAdD,wCAcC"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import type { ISubmittableResult } from '@polkadot/types/types';
|
|
2
|
-
import { ExtrinsicEventsCallback } from './handlers.interfaces';
|
|
3
|
-
export declare function createExtrinsicEventHandler(pallet: string, successEvent: string, cb: ExtrinsicEventsCallback): ({ events, status, txHash }: ISubmittableResult) => void;
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createExtrinsicEventHandler = void 0;
|
|
4
|
-
const handlers_interfaces_1 = require("./handlers.interfaces");
|
|
5
|
-
function createExtrinsicEventHandler(pallet, successEvent, cb) {
|
|
6
|
-
return ({ events = [], status, txHash }) => {
|
|
7
|
-
const hash = txHash.toHex();
|
|
8
|
-
if (status.isReady) {
|
|
9
|
-
cb({ status: handlers_interfaces_1.ExtrinsicStatus.Sent, txHash: hash });
|
|
10
|
-
}
|
|
11
|
-
if (status.isInBlock) {
|
|
12
|
-
const block = status.asInBlock.toString();
|
|
13
|
-
events.forEach(({ event: { data, method, section } }) => {
|
|
14
|
-
if (section === pallet && method === successEvent) {
|
|
15
|
-
if (method === 'Attempted') {
|
|
16
|
-
const eventData = data.at(0);
|
|
17
|
-
if (eventData.isIncomplete) {
|
|
18
|
-
cb({
|
|
19
|
-
status: handlers_interfaces_1.ExtrinsicStatus.Failed,
|
|
20
|
-
blockHash: block,
|
|
21
|
-
txHash: hash,
|
|
22
|
-
message: eventData.asIncomplete.toHuman().join('; '),
|
|
23
|
-
});
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
cb({
|
|
28
|
-
status: handlers_interfaces_1.ExtrinsicStatus.Success,
|
|
29
|
-
blockHash: block,
|
|
30
|
-
txHash: hash,
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
if (section === 'system' && method === 'ExtrinsicFailed') {
|
|
34
|
-
cb({
|
|
35
|
-
status: handlers_interfaces_1.ExtrinsicStatus.Failed,
|
|
36
|
-
blockHash: block,
|
|
37
|
-
txHash: hash,
|
|
38
|
-
message: data.join('; '),
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
exports.createExtrinsicEventHandler = createExtrinsicEventHandler;
|
|
46
|
-
//# sourceMappingURL=createExtrinsicEventHandler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createExtrinsicEventHandler.js","sourceRoot":"","sources":["../../../../src/handlers/createExtrinsicEventHandler.ts"],"names":[],"mappings":";;;AACA,+DAG+B;AAE/B,SAAgB,2BAA2B,CACzC,MAAc,EACd,YAAoB,EACpB,EAA2B;IAE3B,OAAO,CAAC,EAAE,MAAM,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAsB,EAAE,EAAE;QAC7D,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;QAE5B,IAAI,MAAM,CAAC,OAAO,EAAE;YAClB,EAAE,CAAC,EAAE,MAAM,EAAE,qCAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;SACpD;QAED,IAAI,MAAM,CAAC,SAAS,EAAE;YACpB,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YAE1C,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE;gBACtD,IAAI,OAAO,KAAK,MAAM,IAAI,MAAM,KAAK,YAAY,EAAE;oBACjD,IAAI,MAAM,KAAK,WAAW,EAAE;wBAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAQ,CAAC;wBAEpC,IAAI,SAAS,CAAC,YAAY,EAAE;4BAC1B,EAAE,CAAC;gCACD,MAAM,EAAE,qCAAe,CAAC,MAAM;gCAC9B,SAAS,EAAE,KAAK;gCAChB,MAAM,EAAE,IAAI;gCACZ,OAAO,EAAE,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;6BACrD,CAAC,CAAC;4BAEH,OAAO;yBACR;qBACF;oBAED,EAAE,CAAC;wBACD,MAAM,EAAE,qCAAe,CAAC,OAAO;wBAC/B,SAAS,EAAE,KAAK;wBAChB,MAAM,EAAE,IAAI;qBACb,CAAC,CAAC;iBACJ;gBAED,IAAI,OAAO,KAAK,QAAQ,IAAI,MAAM,KAAK,iBAAiB,EAAE;oBACxD,EAAE,CAAC;wBACD,MAAM,EAAE,qCAAe,CAAC,MAAM;wBAC9B,SAAS,EAAE,KAAK;wBAChB,MAAM,EAAE,IAAI;wBACZ,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;qBACzB,CAAC,CAAC;iBACJ;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC,CAAC;AACJ,CAAC;AAlDD,kEAkDC"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import type { Signer as EthersSigner } from 'ethers';
|
|
2
|
-
import { ExtrinsicEventsCallback, Hash } from './handlers.interfaces';
|
|
3
|
-
export declare function createTxEventHandler(ethersSigner: EthersSigner, txHash: Hash, cb: ExtrinsicEventsCallback, skipSentEvent?: boolean): Promise<void>;
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createTxEventHandler = void 0;
|
|
4
|
-
const handlers_interfaces_1 = require("./handlers.interfaces");
|
|
5
|
-
async function createTxEventHandler(ethersSigner, txHash, cb, skipSentEvent = false) {
|
|
6
|
-
if (!ethersSigner.provider) {
|
|
7
|
-
throw new Error('options.ethersSigner has not provider');
|
|
8
|
-
}
|
|
9
|
-
if (!skipSentEvent) {
|
|
10
|
-
cb({ status: handlers_interfaces_1.ExtrinsicStatus.Sent, txHash });
|
|
11
|
-
}
|
|
12
|
-
const tx = await ethersSigner.provider.getTransactionReceipt(txHash);
|
|
13
|
-
if (!tx) {
|
|
14
|
-
setTimeout(() => createTxEventHandler(ethersSigner, txHash, cb, true), 2000);
|
|
15
|
-
return;
|
|
16
|
-
}
|
|
17
|
-
if (tx.status === 1) {
|
|
18
|
-
cb({
|
|
19
|
-
status: handlers_interfaces_1.ExtrinsicStatus.Success,
|
|
20
|
-
blockHash: tx.blockHash,
|
|
21
|
-
txHash,
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
cb({
|
|
26
|
-
status: handlers_interfaces_1.ExtrinsicStatus.Failed,
|
|
27
|
-
blockHash: tx.blockHash,
|
|
28
|
-
txHash,
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
exports.createTxEventHandler = createTxEventHandler;
|
|
33
|
-
//# sourceMappingURL=createTxEventHandler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createTxEventHandler.js","sourceRoot":"","sources":["../../../../src/handlers/createTxEventHandler.ts"],"names":[],"mappings":";;;AACA,+DAI+B;AAExB,KAAK,UAAU,oBAAoB,CACxC,YAA0B,EAC1B,MAAY,EACZ,EAA2B,EAC3B,aAAa,GAAG,KAAK;IAErB,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE;QAC1B,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;KAC1D;IAED,IAAI,CAAC,aAAa,EAAE;QAClB,EAAE,CAAC,EAAE,MAAM,EAAE,qCAAe,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;KAC9C;IAED,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAErE,IAAI,CAAC,EAAE,EAAE;QACP,UAAU,CACR,GAAG,EAAE,CAAC,oBAAoB,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,EAC1D,IAAI,CACL,CAAC;QACF,OAAO;KACR;IAED,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;QACnB,EAAE,CAAC;YACD,MAAM,EAAE,qCAAe,CAAC,OAAO;YAC/B,SAAS,EAAE,EAAE,CAAC,SAAS;YACvB,MAAM;SACP,CAAC,CAAC;KACJ;SAAM;QACL,EAAE,CAAC;YACD,MAAM,EAAE,qCAAe,CAAC,MAAM;YAC9B,SAAS,EAAE,EAAE,CAAC,SAAS;YACvB,MAAM;SACP,CAAC,CAAC;KACJ;AACH,CAAC;AArCD,oDAqCC"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
export declare type Hash = string;
|
|
2
|
-
export declare type ExtrinsicEventsCallback = (event: ExtrinsicEvent) => void;
|
|
3
|
-
export declare type ExtrinsicEvent = ExtrinsicFailedEvent | ExtrinsicSentEvent | ExtrinsicSuccessEvent;
|
|
4
|
-
export interface ExtrinsicFailedEvent {
|
|
5
|
-
blockHash: Hash;
|
|
6
|
-
message?: string;
|
|
7
|
-
status: ExtrinsicStatus.Failed;
|
|
8
|
-
txHash: Hash;
|
|
9
|
-
}
|
|
10
|
-
export interface ExtrinsicSentEvent {
|
|
11
|
-
status: ExtrinsicStatus.Sent;
|
|
12
|
-
txHash: Hash;
|
|
13
|
-
}
|
|
14
|
-
export interface ExtrinsicSuccessEvent {
|
|
15
|
-
blockHash: Hash;
|
|
16
|
-
status: ExtrinsicStatus.Success;
|
|
17
|
-
txHash: Hash;
|
|
18
|
-
}
|
|
19
|
-
export declare enum ExtrinsicStatus {
|
|
20
|
-
Failed = "Failed",
|
|
21
|
-
Sent = "Sent",
|
|
22
|
-
Success = "Success"
|
|
23
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ExtrinsicStatus = void 0;
|
|
4
|
-
var ExtrinsicStatus;
|
|
5
|
-
(function (ExtrinsicStatus) {
|
|
6
|
-
ExtrinsicStatus["Failed"] = "Failed";
|
|
7
|
-
ExtrinsicStatus["Sent"] = "Sent";
|
|
8
|
-
ExtrinsicStatus["Success"] = "Success";
|
|
9
|
-
})(ExtrinsicStatus = exports.ExtrinsicStatus || (exports.ExtrinsicStatus = {}));
|
|
10
|
-
//# sourceMappingURL=handlers.interfaces.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.interfaces.js","sourceRoot":"","sources":["../../../../src/handlers/handlers.interfaces.ts"],"names":[],"mappings":";;;AA2BA,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,oCAAiB,CAAA;IACjB,gCAAa,CAAA;IACb,sCAAmB,CAAA;AACrB,CAAC,EAJW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAI1B"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./createExtrinsicEventHandler"), exports);
|
|
18
|
-
__exportStar(require("./createTxEventHandler"), exports);
|
|
19
|
-
__exportStar(require("./handlers.interfaces"), exports);
|
|
20
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/handlers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gEAA8C;AAC9C,yDAAuC;AACvC,wDAAsC"}
|
package/build/mjs/src/index.d.ts
DELETED
package/build/mjs/src/index.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./api"), exports);
|
|
18
|
-
__exportStar(require("./handlers"), exports);
|
|
19
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,6CAA2B"}
|