@lifi/sdk-provider-bitcoin 4.0.0-alpha.21 → 4.0.0-alpha.23

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.
Files changed (141) hide show
  1. package/dist/cjs/BitcoinProvider.d.ts +7 -2
  2. package/dist/cjs/BitcoinProvider.js +31 -34
  3. package/dist/cjs/BitcoinProvider.js.map +1 -1
  4. package/dist/cjs/_virtual/_rolldown/runtime.js +23 -0
  5. package/dist/cjs/actions/getBitcoinBalance.d.ts +7 -2
  6. package/dist/cjs/actions/getBitcoinBalance.js +17 -24
  7. package/dist/cjs/actions/getBitcoinBalance.js.map +1 -1
  8. package/dist/cjs/actions/resolveBitcoinAddress.d.ts +5 -1
  9. package/dist/cjs/actions/resolveBitcoinAddress.js +6 -4
  10. package/dist/cjs/actions/resolveBitcoinAddress.js.map +1 -1
  11. package/dist/cjs/client/publicClient.d.ts +15 -4
  12. package/dist/cjs/client/publicClient.js +39 -42
  13. package/dist/cjs/client/publicClient.js.map +1 -1
  14. package/dist/cjs/core/BitcoinStepExecutor.d.ts +16 -12
  15. package/dist/cjs/core/BitcoinStepExecutor.js +46 -51
  16. package/dist/cjs/core/BitcoinStepExecutor.js.map +1 -1
  17. package/dist/cjs/core/tasks/BitcoinSignAndExecuteTask.d.ts +9 -4
  18. package/dist/cjs/core/tasks/BitcoinSignAndExecuteTask.js +73 -99
  19. package/dist/cjs/core/tasks/BitcoinSignAndExecuteTask.js.map +1 -1
  20. package/dist/cjs/core/tasks/BitcoinWaitForTransactionTask.d.ts +9 -4
  21. package/dist/cjs/core/tasks/BitcoinWaitForTransactionTask.js +37 -43
  22. package/dist/cjs/core/tasks/BitcoinWaitForTransactionTask.js.map +1 -1
  23. package/dist/cjs/errors/parseBitcoinErrors.d.ts +7 -2
  24. package/dist/cjs/errors/parseBitcoinErrors.js +18 -26
  25. package/dist/cjs/errors/parseBitcoinErrors.js.map +1 -1
  26. package/dist/cjs/index.d.ts +3 -3
  27. package/dist/cjs/index.js +5 -8
  28. package/dist/cjs/types.d.ts +17 -12
  29. package/dist/cjs/types.js +8 -5
  30. package/dist/cjs/types.js.map +1 -1
  31. package/dist/cjs/utils/generateRedeemScript.d.ts +10 -1
  32. package/dist/cjs/utils/generateRedeemScript.js +12 -5
  33. package/dist/cjs/utils/generateRedeemScript.js.map +1 -1
  34. package/dist/cjs/utils/isPsbtFinalized.d.ts +7 -2
  35. package/dist/cjs/utils/isPsbtFinalized.js +11 -10
  36. package/dist/cjs/utils/isPsbtFinalized.js.map +1 -1
  37. package/dist/cjs/utils/toBigmiChainId.d.ts +8 -3
  38. package/dist/cjs/utils/toBigmiChainId.js +11 -11
  39. package/dist/cjs/utils/toBigmiChainId.js.map +1 -1
  40. package/dist/cjs/utils/toXOnly.d.ts +5 -1
  41. package/dist/cjs/utils/toXOnly.js +4 -3
  42. package/dist/cjs/utils/toXOnly.js.map +1 -1
  43. package/dist/cjs/version.d.ts +6 -2
  44. package/dist/cjs/version.js +8 -5
  45. package/dist/cjs/version.js.map +1 -1
  46. package/dist/esm/BitcoinProvider.d.ts +7 -2
  47. package/dist/esm/BitcoinProvider.d.ts.map +1 -0
  48. package/dist/esm/BitcoinProvider.js +30 -32
  49. package/dist/esm/BitcoinProvider.js.map +1 -1
  50. package/dist/esm/actions/getBitcoinBalance.d.ts +7 -2
  51. package/dist/esm/actions/getBitcoinBalance.d.ts.map +1 -0
  52. package/dist/esm/actions/getBitcoinBalance.js +17 -22
  53. package/dist/esm/actions/getBitcoinBalance.js.map +1 -1
  54. package/dist/esm/actions/resolveBitcoinAddress.d.ts +5 -1
  55. package/dist/esm/actions/resolveBitcoinAddress.d.ts.map +1 -0
  56. package/dist/esm/actions/resolveBitcoinAddress.js +6 -3
  57. package/dist/esm/actions/resolveBitcoinAddress.js.map +1 -1
  58. package/dist/esm/client/publicClient.d.ts +14 -9
  59. package/dist/esm/client/publicClient.d.ts.map +1 -0
  60. package/dist/esm/client/publicClient.js +38 -46
  61. package/dist/esm/client/publicClient.js.map +1 -1
  62. package/dist/esm/core/BitcoinStepExecutor.d.ts +16 -12
  63. package/dist/esm/core/BitcoinStepExecutor.d.ts.map +1 -0
  64. package/dist/esm/core/BitcoinStepExecutor.js +45 -50
  65. package/dist/esm/core/BitcoinStepExecutor.js.map +1 -1
  66. package/dist/esm/core/tasks/BitcoinSignAndExecuteTask.d.ts +9 -4
  67. package/dist/esm/core/tasks/BitcoinSignAndExecuteTask.d.ts.map +1 -0
  68. package/dist/esm/core/tasks/BitcoinSignAndExecuteTask.js +71 -105
  69. package/dist/esm/core/tasks/BitcoinSignAndExecuteTask.js.map +1 -1
  70. package/dist/esm/core/tasks/BitcoinWaitForTransactionTask.d.ts +9 -4
  71. package/dist/esm/core/tasks/BitcoinWaitForTransactionTask.d.ts.map +1 -0
  72. package/dist/esm/core/tasks/BitcoinWaitForTransactionTask.js +36 -40
  73. package/dist/esm/core/tasks/BitcoinWaitForTransactionTask.js.map +1 -1
  74. package/dist/esm/errors/parseBitcoinErrors.d.ts +7 -2
  75. package/dist/esm/errors/parseBitcoinErrors.d.ts.map +1 -0
  76. package/dist/esm/errors/parseBitcoinErrors.js +17 -24
  77. package/dist/esm/errors/parseBitcoinErrors.js.map +1 -1
  78. package/dist/esm/index.d.ts +3 -3
  79. package/dist/esm/index.js +3 -4
  80. package/dist/esm/package.json +1 -1
  81. package/dist/esm/types.d.ts +17 -12
  82. package/dist/esm/types.d.ts.map +1 -0
  83. package/dist/esm/types.js +7 -3
  84. package/dist/esm/types.js.map +1 -1
  85. package/dist/esm/utils/generateRedeemScript.d.ts +9 -5
  86. package/dist/esm/utils/generateRedeemScript.d.ts.map +1 -0
  87. package/dist/esm/utils/generateRedeemScript.js +10 -8
  88. package/dist/esm/utils/generateRedeemScript.js.map +1 -1
  89. package/dist/esm/utils/isPsbtFinalized.d.ts +7 -2
  90. package/dist/esm/utils/isPsbtFinalized.d.ts.map +1 -0
  91. package/dist/esm/utils/isPsbtFinalized.js +11 -8
  92. package/dist/esm/utils/isPsbtFinalized.js.map +1 -1
  93. package/dist/esm/utils/toBigmiChainId.d.ts +8 -3
  94. package/dist/esm/utils/toBigmiChainId.d.ts.map +1 -0
  95. package/dist/esm/utils/toBigmiChainId.js +11 -9
  96. package/dist/esm/utils/toBigmiChainId.js.map +1 -1
  97. package/dist/esm/utils/toXOnly.d.ts +5 -1
  98. package/dist/esm/utils/toXOnly.d.ts.map +1 -0
  99. package/dist/esm/utils/toXOnly.js +5 -2
  100. package/dist/esm/utils/toXOnly.js.map +1 -1
  101. package/dist/esm/version.d.ts +6 -2
  102. package/dist/esm/version.d.ts.map +1 -0
  103. package/dist/esm/version.js +6 -2
  104. package/dist/esm/version.js.map +1 -1
  105. package/package.json +6 -6
  106. package/src/core/BitcoinStepExecutor.ts +4 -2
  107. package/src/utils/generateRedeemScript.ts +3 -1
  108. package/src/utils/toXOnly.ts +1 -1
  109. package/src/version.ts +1 -1
  110. package/dist/cjs/index.js.map +0 -1
  111. package/dist/esm/index.js.map +0 -1
  112. package/dist/types/BitcoinProvider.d.ts +0 -3
  113. package/dist/types/BitcoinProvider.d.ts.map +0 -1
  114. package/dist/types/actions/getBitcoinBalance.d.ts +0 -3
  115. package/dist/types/actions/getBitcoinBalance.d.ts.map +0 -1
  116. package/dist/types/actions/resolveBitcoinAddress.d.ts +0 -2
  117. package/dist/types/actions/resolveBitcoinAddress.d.ts.map +0 -1
  118. package/dist/types/client/publicClient.d.ts +0 -11
  119. package/dist/types/client/publicClient.d.ts.map +0 -1
  120. package/dist/types/core/BitcoinStepExecutor.d.ts +0 -16
  121. package/dist/types/core/BitcoinStepExecutor.d.ts.map +0 -1
  122. package/dist/types/core/tasks/BitcoinSignAndExecuteTask.d.ts +0 -6
  123. package/dist/types/core/tasks/BitcoinSignAndExecuteTask.d.ts.map +0 -1
  124. package/dist/types/core/tasks/BitcoinWaitForTransactionTask.d.ts +0 -6
  125. package/dist/types/core/tasks/BitcoinWaitForTransactionTask.d.ts.map +0 -1
  126. package/dist/types/errors/parseBitcoinErrors.d.ts +0 -3
  127. package/dist/types/errors/parseBitcoinErrors.d.ts.map +0 -1
  128. package/dist/types/index.d.ts +0 -4
  129. package/dist/types/index.d.ts.map +0 -1
  130. package/dist/types/types.d.ts +0 -16
  131. package/dist/types/types.d.ts.map +0 -1
  132. package/dist/types/utils/generateRedeemScript.d.ts +0 -7
  133. package/dist/types/utils/generateRedeemScript.d.ts.map +0 -1
  134. package/dist/types/utils/isPsbtFinalized.d.ts +0 -3
  135. package/dist/types/utils/isPsbtFinalized.d.ts.map +0 -1
  136. package/dist/types/utils/toBigmiChainId.d.ts +0 -4
  137. package/dist/types/utils/toBigmiChainId.d.ts.map +0 -1
  138. package/dist/types/utils/toXOnly.d.ts +0 -2
  139. package/dist/types/utils/toXOnly.d.ts.map +0 -1
  140. package/dist/types/version.d.ts +0 -3
  141. package/dist/types/version.d.ts.map +0 -1
@@ -1,15 +1,15 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toBigmiChainId = void 0;
4
- const core_1 = require("@bigmi/core");
5
- const sdk_1 = require("@lifi/sdk");
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ require("../_virtual/_rolldown/runtime.js");
3
+ let _bigmi_core = require("@bigmi/core");
4
+ let _lifi_sdk = require("@lifi/sdk");
5
+ //#region src/utils/toBigmiChainId.ts
6
6
  const toBigmiChainId = (chainId) => {
7
- switch (chainId) {
8
- case sdk_1.ChainId.BTC:
9
- return core_1.ChainId.BITCOIN_MAINNET;
10
- default:
11
- throw new Error(`Unsupported chainId mapping: ${chainId}`);
12
- }
7
+ switch (chainId) {
8
+ case _lifi_sdk.ChainId.BTC: return _bigmi_core.ChainId.BITCOIN_MAINNET;
9
+ default: throw new Error(`Unsupported chainId mapping: ${chainId}`);
10
+ }
13
11
  };
12
+ //#endregion
14
13
  exports.toBigmiChainId = toBigmiChainId;
14
+
15
15
  //# sourceMappingURL=toBigmiChainId.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"toBigmiChainId.js","sourceRoot":"","sources":["../../../src/utils/toBigmiChainId.ts"],"names":[],"mappings":";;;AAAA,sCAAqD;AACrD,mCAAmC;AAE5B,MAAM,cAAc,GAAG,CAAC,OAAgB,EAAgB,EAAE;IAC/D,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,aAAO,CAAC,GAAG;YACd,OAAO,cAAY,CAAC,eAAe,CAAA;QACrC;YACE,MAAM,IAAI,KAAK,CAAC,gCAAgC,OAAO,EAAE,CAAC,CAAA;IAC9D,CAAC;AACH,CAAC,CAAA;AAPY,QAAA,cAAc,kBAO1B"}
1
+ {"version":3,"file":"toBigmiChainId.js","names":["ChainId","BigmiChainId"],"sources":["../../../src/utils/toBigmiChainId.ts"],"sourcesContent":["import { ChainId as BigmiChainId } from '@bigmi/core'\nimport { ChainId } from '@lifi/sdk'\n\nexport const toBigmiChainId = (chainId: ChainId): BigmiChainId => {\n switch (chainId) {\n case ChainId.BTC:\n return BigmiChainId.BITCOIN_MAINNET\n default:\n throw new Error(`Unsupported chainId mapping: ${chainId}`)\n }\n}\n"],"mappings":";;;;;AAGA,MAAa,kBAAkB,YAAmC;AAChE,SAAQ,SAAR;EACE,KAAKA,UAAAA,QAAQ,IACX,QAAOC,YAAAA,QAAa;EACtB,QACE,OAAM,IAAI,MAAM,gCAAgC,UAAU"}
@@ -1 +1,5 @@
1
- export declare const toXOnly: (pubKey: Uint8Array) => Uint8Array<ArrayBufferLike>;
1
+ //#region src/utils/toXOnly.d.ts
2
+ declare const toXOnly: (pubKey: Uint8Array) => Uint8Array;
3
+ //#endregion
4
+ export { toXOnly };
5
+ //# sourceMappingURL=toXOnly.d.ts.map
@@ -1,6 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toXOnly = void 0;
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ //#region src/utils/toXOnly.ts
4
3
  const toXOnly = (pubKey) => pubKey.length === 32 ? pubKey : pubKey.subarray(1, 33);
4
+ //#endregion
5
5
  exports.toXOnly = toXOnly;
6
+
6
7
  //# sourceMappingURL=toXOnly.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"toXOnly.js","sourceRoot":"","sources":["../../../src/utils/toXOnly.ts"],"names":[],"mappings":";;;AACO,MAAM,OAAO,GAAG,CAAC,MAAkB,EAAE,EAAE,CAC5C,MAAM,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAD3C,QAAA,OAAO,WACoC"}
1
+ {"version":3,"file":"toXOnly.js","names":[],"sources":["../../../src/utils/toXOnly.ts"],"sourcesContent":["// helper function to convert full public key (33 bytes) to x-only compressed format (32 bytes) required after taproot update\nexport const toXOnly = (pubKey: Uint8Array): Uint8Array =>\n pubKey.length === 32 ? pubKey : pubKey.subarray(1, 33)\n"],"mappings":";;AACA,MAAa,WAAW,WACtB,OAAO,WAAW,KAAK,SAAS,OAAO,SAAS,GAAG,GAAG"}
@@ -1,2 +1,6 @@
1
- export declare const name = "@lifi/sdk-provider-bitcoin";
2
- export declare const version = "4.0.0-alpha.21";
1
+ //#region src/version.d.ts
2
+ declare const name = "@lifi/sdk-provider-bitcoin";
3
+ declare const version = "4.0.0-alpha.23";
4
+ //#endregion
5
+ export { name, version };
6
+ //# sourceMappingURL=version.d.ts.map
@@ -1,6 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.version = exports.name = void 0;
4
- exports.name = '@lifi/sdk-provider-bitcoin';
5
- exports.version = '4.0.0-alpha.21';
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ //#region src/version.ts
3
+ const name = "@lifi/sdk-provider-bitcoin";
4
+ const version = "4.0.0-alpha.23";
5
+ //#endregion
6
+ exports.name = name;
7
+ exports.version = version;
8
+
6
9
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,IAAI,GAAG,4BAA4B,CAAA;AACnC,QAAA,OAAO,GAAG,gBAAgB,CAAA"}
1
+ {"version":3,"file":"version.js","names":[],"sources":["../../src/version.ts"],"sourcesContent":["export const name = '@lifi/sdk-provider-bitcoin'\nexport const version = '4.0.0-alpha.23'\n"],"mappings":";;AAAA,MAAa,OAAO;AACpB,MAAa,UAAU"}
@@ -1,2 +1,7 @@
1
- import type { BitcoinProviderOptions, BitcoinSDKProvider } from './types.js';
2
- export declare function BitcoinProvider(options?: BitcoinProviderOptions): BitcoinSDKProvider;
1
+ import { BitcoinProviderOptions, BitcoinSDKProvider } from "./types.js";
2
+
3
+ //#region src/BitcoinProvider.d.ts
4
+ declare function BitcoinProvider(options?: BitcoinProviderOptions): BitcoinSDKProvider;
5
+ //#endregion
6
+ export { BitcoinProvider };
7
+ //# sourceMappingURL=BitcoinProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BitcoinProvider.d.ts","names":[],"sources":["../../src/BitcoinProvider.ts"],"mappings":";;;iBAOgB,eAAA,CACd,OAAA,GAAU,sBAAA,GACT,kBAAA"}
@@ -1,34 +1,32 @@
1
- import { isUTXOAddress } from '@bigmi/core';
2
- import { ChainType } from '@lifi/sdk';
3
- import { getBitcoinBalance } from './actions/getBitcoinBalance.js';
4
- import { resolveBitcoinAddress } from './actions/resolveBitcoinAddress.js';
5
- import { BitcoinStepExecutor } from './core/BitcoinStepExecutor.js';
6
- export function BitcoinProvider(options) {
7
- const _options = options ?? {};
8
- return {
9
- get type() {
10
- return ChainType.UTXO;
11
- },
12
- isAddress: isUTXOAddress,
13
- resolveAddress: resolveBitcoinAddress,
14
- getBalance: getBitcoinBalance,
15
- async getStepExecutor(options) {
16
- if (!_options.getWalletClient) {
17
- throw new Error('Client is not provided.');
18
- }
19
- const walletClient = await _options.getWalletClient();
20
- const executor = new BitcoinStepExecutor({
21
- client: walletClient,
22
- routeId: options.routeId,
23
- executionOptions: {
24
- ...options.executionOptions,
25
- },
26
- });
27
- return executor;
28
- },
29
- setOptions(options) {
30
- Object.assign(_options, options);
31
- },
32
- };
1
+ import { getBitcoinBalance } from "./actions/getBitcoinBalance.js";
2
+ import { resolveBitcoinAddress } from "./actions/resolveBitcoinAddress.js";
3
+ import { BitcoinStepExecutor } from "./core/BitcoinStepExecutor.js";
4
+ import { isUTXOAddress } from "@bigmi/core";
5
+ import { ChainType } from "@lifi/sdk";
6
+ //#region src/BitcoinProvider.ts
7
+ function BitcoinProvider(options) {
8
+ const _options = options ?? {};
9
+ return {
10
+ get type() {
11
+ return ChainType.UTXO;
12
+ },
13
+ isAddress: isUTXOAddress,
14
+ resolveAddress: resolveBitcoinAddress,
15
+ getBalance: getBitcoinBalance,
16
+ async getStepExecutor(options) {
17
+ if (!_options.getWalletClient) throw new Error("Client is not provided.");
18
+ return new BitcoinStepExecutor({
19
+ client: await _options.getWalletClient(),
20
+ routeId: options.routeId,
21
+ executionOptions: { ...options.executionOptions }
22
+ });
23
+ },
24
+ setOptions(options) {
25
+ Object.assign(_options, options);
26
+ }
27
+ };
33
28
  }
29
+ //#endregion
30
+ export { BitcoinProvider };
31
+
34
32
  //# sourceMappingURL=BitcoinProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BitcoinProvider.js","sourceRoot":"","sources":["../../src/BitcoinProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,SAAS,EAA4B,MAAM,WAAW,CAAA;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AAGnE,MAAM,UAAU,eAAe,CAC7B,OAAgC;IAEhC,MAAM,QAAQ,GAA2B,OAAO,IAAI,EAAE,CAAA;IACtD,OAAO;QACL,IAAI,IAAI;YACN,OAAO,SAAS,CAAC,IAAI,CAAA;QACvB,CAAC;QACD,SAAS,EAAE,aAAa;QACxB,cAAc,EAAE,qBAAqB;QACrC,UAAU,EAAE,iBAAiB;QAC7B,KAAK,CAAC,eAAe,CACnB,OAA4B;YAE5B,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;YAC5C,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,eAAe,EAAE,CAAA;YAErD,MAAM,QAAQ,GAAG,IAAI,mBAAmB,CAAC;gBACvC,MAAM,EAAE,YAAY;gBACpB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,gBAAgB,EAAE;oBAChB,GAAG,OAAO,CAAC,gBAAgB;iBAC5B;aACF,CAAC,CAAA;YAEF,OAAO,QAAQ,CAAA;QACjB,CAAC;QACD,UAAU,CAAC,OAA+B;YACxC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAClC,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"BitcoinProvider.js","names":[],"sources":["../../src/BitcoinProvider.ts"],"sourcesContent":["import { isUTXOAddress } from '@bigmi/core'\nimport { ChainType, type StepExecutorOptions } from '@lifi/sdk'\nimport { getBitcoinBalance } from './actions/getBitcoinBalance.js'\nimport { resolveBitcoinAddress } from './actions/resolveBitcoinAddress.js'\nimport { BitcoinStepExecutor } from './core/BitcoinStepExecutor.js'\nimport type { BitcoinProviderOptions, BitcoinSDKProvider } from './types.js'\n\nexport function BitcoinProvider(\n options?: BitcoinProviderOptions\n): BitcoinSDKProvider {\n const _options: BitcoinProviderOptions = options ?? {}\n return {\n get type() {\n return ChainType.UTXO\n },\n isAddress: isUTXOAddress,\n resolveAddress: resolveBitcoinAddress,\n getBalance: getBitcoinBalance,\n async getStepExecutor(\n options: StepExecutorOptions\n ): Promise<BitcoinStepExecutor> {\n if (!_options.getWalletClient) {\n throw new Error('Client is not provided.')\n }\n\n const walletClient = await _options.getWalletClient()\n\n const executor = new BitcoinStepExecutor({\n client: walletClient,\n routeId: options.routeId,\n executionOptions: {\n ...options.executionOptions,\n },\n })\n\n return executor\n },\n setOptions(options: BitcoinProviderOptions) {\n Object.assign(_options, options)\n },\n }\n}\n"],"mappings":";;;;;;AAOA,SAAgB,gBACd,SACoB;CACpB,MAAM,WAAmC,WAAW,EAAE;AACtD,QAAO;EACL,IAAI,OAAO;AACT,UAAO,UAAU;;EAEnB,WAAW;EACX,gBAAgB;EAChB,YAAY;EACZ,MAAM,gBACJ,SAC8B;AAC9B,OAAI,CAAC,SAAS,gBACZ,OAAM,IAAI,MAAM,0BAA0B;AAa5C,UARiB,IAAI,oBAAoB;IACvC,QAHmB,MAAM,SAAS,iBAAiB;IAInD,SAAS,QAAQ;IACjB,kBAAkB,EAChB,GAAG,QAAQ,kBACZ;IACF,CAAC;;EAIJ,WAAW,SAAiC;AAC1C,UAAO,OAAO,UAAU,QAAQ;;EAEnC"}
@@ -1,2 +1,7 @@
1
- import { type SDKClient, type Token, type TokenAmount } from '@lifi/sdk';
2
- export declare const getBitcoinBalance: (client: SDKClient, walletAddress: string, tokens: Token[]) => Promise<TokenAmount[]>;
1
+ import { SDKClient, Token, TokenAmount } from "@lifi/sdk";
2
+
3
+ //#region src/actions/getBitcoinBalance.d.ts
4
+ declare const getBitcoinBalance: (client: SDKClient, walletAddress: string, tokens: Token[]) => Promise<TokenAmount[]>;
5
+ //#endregion
6
+ export { getBitcoinBalance };
7
+ //# sourceMappingURL=getBitcoinBalance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getBitcoinBalance.d.ts","names":[],"sources":["../../../src/actions/getBitcoinBalance.ts"],"mappings":";;;cAQa,iBAAA,GACX,MAAA,EAAQ,SAAA,EACR,aAAA,UACA,MAAA,EAAQ,KAAA,OACP,OAAA,CAAQ,WAAA"}
@@ -1,24 +1,19 @@
1
- import { ChainId, } from '@lifi/sdk';
2
- import { getBitcoinPublicClient } from '../client/publicClient.js';
3
- export const getBitcoinBalance = async (client, walletAddress, tokens) => {
4
- if (tokens.length === 0) {
5
- return [];
6
- }
7
- const { chainId } = tokens[0];
8
- for (const token of tokens) {
9
- if (token.chainId !== chainId) {
10
- console.warn('Requested tokens have to be on the same chain.');
11
- }
12
- }
13
- const bigmiClient = await getBitcoinPublicClient(client, ChainId.BTC);
14
- const [balance, blockCount] = await Promise.all([
15
- bigmiClient.getBalance({ address: walletAddress }),
16
- bigmiClient.getBlockCount(),
17
- ]);
18
- return tokens.map((token) => ({
19
- ...token,
20
- amount: balance,
21
- blockNumber: BigInt(blockCount),
22
- }));
1
+ import { getBitcoinPublicClient } from "../client/publicClient.js";
2
+ import { ChainId } from "@lifi/sdk";
3
+ //#region src/actions/getBitcoinBalance.ts
4
+ const getBitcoinBalance = async (client, walletAddress, tokens) => {
5
+ if (tokens.length === 0) return [];
6
+ const { chainId } = tokens[0];
7
+ for (const token of tokens) if (token.chainId !== chainId) console.warn("Requested tokens have to be on the same chain.");
8
+ const bigmiClient = await getBitcoinPublicClient(client, ChainId.BTC);
9
+ const [balance, blockCount] = await Promise.all([bigmiClient.getBalance({ address: walletAddress }), bigmiClient.getBlockCount()]);
10
+ return tokens.map((token) => ({
11
+ ...token,
12
+ amount: balance,
13
+ blockNumber: BigInt(blockCount)
14
+ }));
23
15
  };
16
+ //#endregion
17
+ export { getBitcoinBalance };
18
+
24
19
  //# sourceMappingURL=getBitcoinBalance.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getBitcoinBalance.js","sourceRoot":"","sources":["../../../src/actions/getBitcoinBalance.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,GAIR,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAA;AAElE,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EACpC,MAAiB,EACjB,aAAqB,EACrB,MAAe,EACS,EAAE;IAC1B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,CAAA;IACX,CAAC;IACD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IAC7B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAA;QAChE,CAAC;IACH,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;IACrE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC9C,WAAW,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;QAClD,WAAW,CAAC,aAAa,EAAE;KAC5B,CAAC,CAAA;IAEF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5B,GAAG,KAAK;QACR,MAAM,EAAE,OAAO;QACf,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC;KAChC,CAAC,CAAC,CAAA;AACL,CAAC,CAAA"}
1
+ {"version":3,"file":"getBitcoinBalance.js","names":[],"sources":["../../../src/actions/getBitcoinBalance.ts"],"sourcesContent":["import {\n ChainId,\n type SDKClient,\n type Token,\n type TokenAmount,\n} from '@lifi/sdk'\nimport { getBitcoinPublicClient } from '../client/publicClient.js'\n\nexport const getBitcoinBalance = async (\n client: SDKClient,\n walletAddress: string,\n tokens: Token[]\n): Promise<TokenAmount[]> => {\n if (tokens.length === 0) {\n return []\n }\n const { chainId } = tokens[0]\n for (const token of tokens) {\n if (token.chainId !== chainId) {\n console.warn('Requested tokens have to be on the same chain.')\n }\n }\n const bigmiClient = await getBitcoinPublicClient(client, ChainId.BTC)\n const [balance, blockCount] = await Promise.all([\n bigmiClient.getBalance({ address: walletAddress }),\n bigmiClient.getBlockCount(),\n ])\n\n return tokens.map((token) => ({\n ...token,\n amount: balance,\n blockNumber: BigInt(blockCount),\n }))\n}\n"],"mappings":";;;AAQA,MAAa,oBAAoB,OAC/B,QACA,eACA,WAC2B;AAC3B,KAAI,OAAO,WAAW,EACpB,QAAO,EAAE;CAEX,MAAM,EAAE,YAAY,OAAO;AAC3B,MAAK,MAAM,SAAS,OAClB,KAAI,MAAM,YAAY,QACpB,SAAQ,KAAK,iDAAiD;CAGlE,MAAM,cAAc,MAAM,uBAAuB,QAAQ,QAAQ,IAAI;CACrE,MAAM,CAAC,SAAS,cAAc,MAAM,QAAQ,IAAI,CAC9C,YAAY,WAAW,EAAE,SAAS,eAAe,CAAC,EAClD,YAAY,eAAe,CAC5B,CAAC;AAEF,QAAO,OAAO,KAAK,WAAW;EAC5B,GAAG;EACH,QAAQ;EACR,aAAa,OAAO,WAAW;EAChC,EAAE"}
@@ -1 +1,5 @@
1
- export declare function resolveBitcoinAddress(name: string): Promise<string | undefined>;
1
+ //#region src/actions/resolveBitcoinAddress.d.ts
2
+ declare function resolveBitcoinAddress(name: string): Promise<string | undefined>;
3
+ //#endregion
4
+ export { resolveBitcoinAddress };
5
+ //# sourceMappingURL=resolveBitcoinAddress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveBitcoinAddress.d.ts","names":[],"sources":["../../../src/actions/resolveBitcoinAddress.ts"],"mappings":";iBAAsB,qBAAA,CACpB,IAAA,WACC,OAAA"}
@@ -1,5 +1,8 @@
1
- export async function resolveBitcoinAddress(name) {
2
- // Not supported on UTXO yet
3
- return name;
1
+ //#region src/actions/resolveBitcoinAddress.ts
2
+ async function resolveBitcoinAddress(name) {
3
+ return name;
4
4
  }
5
+ //#endregion
6
+ export { resolveBitcoinAddress };
7
+
5
8
  //# sourceMappingURL=resolveBitcoinAddress.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolveBitcoinAddress.js","sourceRoot":"","sources":["../../../src/actions/resolveBitcoinAddress.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,IAAY;IAEZ,4BAA4B;IAC5B,OAAO,IAAI,CAAA;AACb,CAAC"}
1
+ {"version":3,"file":"resolveBitcoinAddress.js","names":[],"sources":["../../../src/actions/resolveBitcoinAddress.ts"],"sourcesContent":["export async function resolveBitcoinAddress(\n name: string\n): Promise<string | undefined> {\n // Not supported on UTXO yet\n return name\n}\n"],"mappings":";AAAA,eAAsB,sBACpB,MAC6B;AAE7B,QAAO"}
@@ -1,10 +1,15 @@
1
- import { type Account, type Chain, type Client, type FallbackTransport, type HttpTransport, type PublicActions, type UTXOSchema, type WalletActions } from '@bigmi/core';
2
- import type { SDKClient } from '@lifi/sdk';
3
- export type PublicClient = Client<FallbackTransport<readonly HttpTransport[]>, Chain, Account | undefined, UTXOSchema, PublicActions & WalletActions>;
1
+ import { Account, Chain, Client, FallbackTransport, HttpTransport, PublicActions, UTXOSchema, WalletActions } from "@bigmi/core";
2
+ import { SDKClient } from "@lifi/sdk";
3
+
4
+ //#region src/client/publicClient.d.ts
5
+ type PublicClient = Client<FallbackTransport<readonly HttpTransport[]>, Chain, Account | undefined, UTXOSchema, PublicActions & WalletActions>;
4
6
  /**
5
- * Get an instance of a provider for a specific chain
6
- * @param client - The SDK client
7
- * @param chainId - Id of the chain the provider is for
8
- * @returns The public client for the given chain
9
- */
10
- export declare const getBitcoinPublicClient: (client: SDKClient, chainId: number) => Promise<PublicClient>;
7
+ * Get an instance of a provider for a specific chain
8
+ * @param client - The SDK client
9
+ * @param chainId - Id of the chain the provider is for
10
+ * @returns The public client for the given chain
11
+ */
12
+ declare const getBitcoinPublicClient: (client: SDKClient, chainId: number) => Promise<PublicClient>;
13
+ //#endregion
14
+ export { PublicClient, getBitcoinPublicClient };
15
+ //# sourceMappingURL=publicClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publicClient.d.ts","names":[],"sources":["../../../src/client/publicClient.ts"],"mappings":";;;;KAsBY,YAAA,GAAe,MAAA,CACzB,iBAAA,UAA2B,aAAA,KAC3B,KAAA,EACA,OAAA,cACA,UAAA,EACA,aAAA,GAAgB,aAAA;;AALlB;;;;;cAiBa,sBAAA,GACX,MAAA,EAAQ,SAAA,EACR,OAAA,aACC,OAAA,CAAQ,YAAA"}
@@ -1,50 +1,42 @@
1
- import { blockchair, blockcypher, createClient, fallback, http, mempool, publicActions, rpcSchema, walletActions, } from '@bigmi/core';
2
- import { toBigmiChainId } from '../utils/toBigmiChainId.js';
3
- // cached providers
1
+ import { toBigmiChainId } from "../utils/toBigmiChainId.js";
2
+ import { blockchair, blockcypher, createClient, fallback, http, mempool, publicActions, rpcSchema, walletActions } from "@bigmi/core";
3
+ //#region src/client/publicClient.ts
4
4
  const publicClients = {};
5
5
  /**
6
- * Get an instance of a provider for a specific chain
7
- * @param client - The SDK client
8
- * @param chainId - Id of the chain the provider is for
9
- * @returns The public client for the given chain
10
- */
11
- export const getBitcoinPublicClient = async (client, chainId) => {
12
- if (!publicClients[chainId]) {
13
- const urls = await client.getRpcUrlsByChainId(chainId);
14
- const fallbackTransports = urls.map((url) => http(url, {
15
- fetchOptions: {
16
- method: 'POST',
17
- },
18
- }));
19
- const _chain = await client.getChainById(chainId);
20
- const chain = {
21
- ..._chain,
22
- ..._chain.metamask,
23
- id: toBigmiChainId(_chain.id),
24
- name: _chain.metamask.chainName,
25
- rpcUrls: {
26
- default: { http: _chain.metamask.rpcUrls },
27
- public: { http: _chain.metamask.rpcUrls },
28
- },
29
- };
30
- const bigmiClient = createClient({
31
- chain,
32
- rpcSchema: rpcSchema(),
33
- transport: fallback([
34
- blockchair(),
35
- blockcypher(),
36
- mempool(),
37
- ...fallbackTransports,
38
- ]),
39
- pollingInterval: 10_000,
40
- })
41
- .extend(publicActions)
42
- .extend(walletActions);
43
- publicClients[chainId] = bigmiClient;
44
- }
45
- if (!publicClients[chainId]) {
46
- throw new Error(`Unable to configure provider for chain ${chainId}`);
47
- }
48
- return publicClients[chainId];
6
+ * Get an instance of a provider for a specific chain
7
+ * @param client - The SDK client
8
+ * @param chainId - Id of the chain the provider is for
9
+ * @returns The public client for the given chain
10
+ */
11
+ const getBitcoinPublicClient = async (client, chainId) => {
12
+ if (!publicClients[chainId]) {
13
+ const fallbackTransports = (await client.getRpcUrlsByChainId(chainId)).map((url) => http(url, { fetchOptions: { method: "POST" } }));
14
+ const _chain = await client.getChainById(chainId);
15
+ publicClients[chainId] = createClient({
16
+ chain: {
17
+ ..._chain,
18
+ ..._chain.metamask,
19
+ id: toBigmiChainId(_chain.id),
20
+ name: _chain.metamask.chainName,
21
+ rpcUrls: {
22
+ default: { http: _chain.metamask.rpcUrls },
23
+ public: { http: _chain.metamask.rpcUrls }
24
+ }
25
+ },
26
+ rpcSchema: rpcSchema(),
27
+ transport: fallback([
28
+ blockchair(),
29
+ blockcypher(),
30
+ mempool(),
31
+ ...fallbackTransports
32
+ ]),
33
+ pollingInterval: 1e4
34
+ }).extend(publicActions).extend(walletActions);
35
+ }
36
+ if (!publicClients[chainId]) throw new Error(`Unable to configure provider for chain ${chainId}`);
37
+ return publicClients[chainId];
49
38
  };
39
+ //#endregion
40
+ export { getBitcoinPublicClient };
41
+
50
42
  //# sourceMappingURL=publicClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"publicClient.js","sourceRoot":"","sources":["../../../src/client/publicClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EACV,WAAW,EAGX,YAAY,EAEZ,QAAQ,EAER,IAAI,EACJ,OAAO,EAEP,aAAa,EACb,SAAS,EAGT,aAAa,GACd,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAU3D,mBAAmB;AACnB,MAAM,aAAa,GAAiC,EAAE,CAAA;AAEtD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,EACzC,MAAiB,EACjB,OAAe,EACQ,EAAE;IACzB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAA;QACtD,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAC1C,IAAI,CAAC,GAAG,EAAE;YACR,YAAY,EAAE;gBACZ,MAAM,EAAE,MAAM;aACf;SACF,CAAC,CACH,CAAA;QACD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;QACjD,MAAM,KAAK,GAAU;YACnB,GAAG,MAAM;YACT,GAAG,MAAM,CAAC,QAAQ;YAClB,EAAE,EAAE,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS;YAC/B,OAAO,EAAE;gBACP,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE;gBAC1C,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE;aAC1C;SACF,CAAA;QACD,MAAM,WAAW,GAAG,YAAY,CAAC;YAC/B,KAAK;YACL,SAAS,EAAE,SAAS,EAAc;YAClC,SAAS,EAAE,QAAQ,CAAC;gBAClB,UAAU,EAAE;gBACZ,WAAW,EAAE;gBACb,OAAO,EAAE;gBACT,GAAG,kBAAkB;aACtB,CAAC;YACF,eAAe,EAAE,MAAM;SACxB,CAAC;aACC,MAAM,CAAC,aAAa,CAAC;aACrB,MAAM,CAAC,aAAa,CAAC,CAAA;QACxB,aAAa,CAAC,OAAO,CAAC,GAAG,WAAW,CAAA;IACtC,CAAC;IAED,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,0CAA0C,OAAO,EAAE,CAAC,CAAA;IACtE,CAAC;IAED,OAAO,aAAa,CAAC,OAAO,CAAC,CAAA;AAC/B,CAAC,CAAA"}
1
+ {"version":3,"file":"publicClient.js","names":[],"sources":["../../../src/client/publicClient.ts"],"sourcesContent":["import {\n type Account,\n blockchair,\n blockcypher,\n type Chain,\n type Client,\n createClient,\n type FallbackTransport,\n fallback,\n type HttpTransport,\n http,\n mempool,\n type PublicActions,\n publicActions,\n rpcSchema,\n type UTXOSchema,\n type WalletActions,\n walletActions,\n} from '@bigmi/core'\nimport type { SDKClient } from '@lifi/sdk'\nimport { toBigmiChainId } from '../utils/toBigmiChainId.js'\n\nexport type PublicClient = Client<\n FallbackTransport<readonly HttpTransport[]>,\n Chain,\n Account | undefined,\n UTXOSchema,\n PublicActions & WalletActions\n>\n\n// cached providers\nconst publicClients: Record<number, PublicClient> = {}\n\n/**\n * Get an instance of a provider for a specific chain\n * @param client - The SDK client\n * @param chainId - Id of the chain the provider is for\n * @returns The public client for the given chain\n */\nexport const getBitcoinPublicClient = async (\n client: SDKClient,\n chainId: number\n): Promise<PublicClient> => {\n if (!publicClients[chainId]) {\n const urls = await client.getRpcUrlsByChainId(chainId)\n const fallbackTransports = urls.map((url) =>\n http(url, {\n fetchOptions: {\n method: 'POST',\n },\n })\n )\n const _chain = await client.getChainById(chainId)\n const chain: Chain = {\n ..._chain,\n ..._chain.metamask,\n id: toBigmiChainId(_chain.id),\n name: _chain.metamask.chainName,\n rpcUrls: {\n default: { http: _chain.metamask.rpcUrls },\n public: { http: _chain.metamask.rpcUrls },\n },\n }\n const bigmiClient = createClient({\n chain,\n rpcSchema: rpcSchema<UTXOSchema>(),\n transport: fallback([\n blockchair(),\n blockcypher(),\n mempool(),\n ...fallbackTransports,\n ]),\n pollingInterval: 10_000,\n })\n .extend(publicActions)\n .extend(walletActions)\n publicClients[chainId] = bigmiClient\n }\n\n if (!publicClients[chainId]) {\n throw new Error(`Unable to configure provider for chain ${chainId}`)\n }\n\n return publicClients[chainId]\n}\n"],"mappings":";;;AA+BA,MAAM,gBAA8C,EAAE;;;;;;;AAQtD,MAAa,yBAAyB,OACpC,QACA,YAC0B;AAC1B,KAAI,CAAC,cAAc,UAAU;EAE3B,MAAM,sBADO,MAAM,OAAO,oBAAoB,QAAQ,EACtB,KAAK,QACnC,KAAK,KAAK,EACR,cAAc,EACZ,QAAQ,QACT,EACF,CAAC,CACH;EACD,MAAM,SAAS,MAAM,OAAO,aAAa,QAAQ;AAwBjD,gBAAc,WAbM,aAAa;GAC/B,OAXmB;IACnB,GAAG;IACH,GAAG,OAAO;IACV,IAAI,eAAe,OAAO,GAAG;IAC7B,MAAM,OAAO,SAAS;IACtB,SAAS;KACP,SAAS,EAAE,MAAM,OAAO,SAAS,SAAS;KAC1C,QAAQ,EAAE,MAAM,OAAO,SAAS,SAAS;KAC1C;IACF;GAGC,WAAW,WAAuB;GAClC,WAAW,SAAS;IAClB,YAAY;IACZ,aAAa;IACb,SAAS;IACT,GAAG;IACJ,CAAC;GACF,iBAAiB;GAClB,CAAC,CACC,OAAO,cAAc,CACrB,OAAO,cAAc;;AAI1B,KAAI,CAAC,cAAc,SACjB,OAAM,IAAI,MAAM,0CAA0C,UAAU;AAGtE,QAAO,cAAc"}
@@ -1,15 +1,19 @@
1
- import type { Client } from '@bigmi/core';
2
- import { BaseStepExecutor, type ExecutionAction, type LiFiStepExtended, type SDKError, type StepExecutorBaseContext, type StepExecutorOptions, TaskPipeline } from '@lifi/sdk';
3
- import type { BitcoinStepExecutorContext } from '../types.js';
1
+ import { BitcoinStepExecutorContext } from "../types.js";
2
+ import { Client } from "@bigmi/core";
3
+ import { BaseStepExecutor, ExecutionAction, LiFiStepExtended, SDKError, StepExecutorBaseContext, StepExecutorOptions, TaskPipeline } from "@lifi/sdk";
4
+
5
+ //#region src/core/BitcoinStepExecutor.d.ts
4
6
  interface BitcoinStepExecutorOptions extends StepExecutorOptions {
5
- client: Client;
7
+ client: Client;
6
8
  }
7
- export declare class BitcoinStepExecutor extends BaseStepExecutor {
8
- private client;
9
- constructor(options: BitcoinStepExecutorOptions);
10
- checkClient: (step: LiFiStepExtended) => void;
11
- createPipeline: (context: BitcoinStepExecutorContext) => TaskPipeline;
12
- parseErrors: (error: Error, step?: LiFiStepExtended, action?: ExecutionAction) => Promise<SDKError>;
13
- createContext: (baseContext: StepExecutorBaseContext) => Promise<BitcoinStepExecutorContext>;
9
+ declare class BitcoinStepExecutor extends BaseStepExecutor {
10
+ private client;
11
+ constructor(options: BitcoinStepExecutorOptions);
12
+ checkClient: (step: LiFiStepExtended) => void;
13
+ override createPipeline: (context: BitcoinStepExecutorContext) => TaskPipeline;
14
+ override parseErrors: (error: Error, step?: LiFiStepExtended, action?: ExecutionAction) => Promise<SDKError>;
15
+ override createContext: (baseContext: StepExecutorBaseContext) => Promise<BitcoinStepExecutorContext>;
14
16
  }
15
- export {};
17
+ //#endregion
18
+ export { BitcoinStepExecutor };
19
+ //# sourceMappingURL=BitcoinStepExecutor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BitcoinStepExecutor.d.ts","names":[],"sources":["../../../src/core/BitcoinStepExecutor.ts"],"mappings":";;;;;UAqBU,0BAAA,SAAmC,mBAAA;EAC3C,MAAA,EAAQ,MAAA;AAAA;AAAA,cAGG,mBAAA,SAA4B,gBAAA;EAAA,QAC/B,MAAA;EAER,WAAA,CAAY,OAAA,EAAS,0BAAA;EAKrB,WAAA,GAAe,IAAA,EAAM,gBAAA;EAAA,SAWZ,cAAA,GACP,OAAA,EAAS,0BAAA,KACR,YAAA;EAAA,SAgCM,WAAA,GACP,KAAA,EAAO,KAAA,EACP,IAAA,GAAO,gBAAA,EACP,MAAA,GAAS,eAAA,KACR,OAAA,CAAQ,QAAA;EAAA,SAEF,aAAA,GACP,WAAA,EAAa,uBAAA,KACZ,OAAA,CAAQ,0BAAA;AAAA"}
@@ -1,51 +1,46 @@
1
- import { BaseStepExecutor, CheckBalanceTask, LiFiErrorCode, PrepareTransactionTask, TaskPipeline, TransactionError, WaitForTransactionStatusTask, } from '@lifi/sdk';
2
- import { getBitcoinPublicClient } from '../client/publicClient.js';
3
- import { parseBitcoinErrors } from '../errors/parseBitcoinErrors.js';
4
- import { BitcoinSignAndExecuteTask } from './tasks/BitcoinSignAndExecuteTask.js';
5
- import { BitcoinWaitForTransactionTask } from './tasks/BitcoinWaitForTransactionTask.js';
6
- export class BitcoinStepExecutor extends BaseStepExecutor {
7
- client;
8
- constructor(options) {
9
- super(options);
10
- this.client = options.client;
11
- }
12
- checkClient = (step) => {
13
- // TODO: check chain and possibly implement chain switch?
14
- // Prevent execution of the quote by wallet different from the one which requested the quote
15
- if (this.client.account?.address !== step.action.fromAddress) {
16
- throw new TransactionError(LiFiErrorCode.WalletChangedDuringExecution, 'The wallet address that requested the quote does not match the wallet address attempting to sign the transaction.');
17
- }
18
- };
19
- createPipeline = (context) => {
20
- const { step, isBridgeExecution } = context;
21
- const tasks = [
22
- new CheckBalanceTask(),
23
- new PrepareTransactionTask(),
24
- new BitcoinSignAndExecuteTask(),
25
- new BitcoinWaitForTransactionTask(),
26
- new WaitForTransactionStatusTask(isBridgeExecution ? 'RECEIVING_CHAIN' : 'SWAP'),
27
- ];
28
- const swapOrBridgeAction = this.statusManager.findAction(step, isBridgeExecution ? 'CROSS_CHAIN' : 'SWAP');
29
- const taskName = swapOrBridgeAction?.txHash
30
- ? swapOrBridgeAction?.status === 'DONE'
31
- ? WaitForTransactionStatusTask.name
32
- : BitcoinWaitForTransactionTask.name
33
- : CheckBalanceTask.name;
34
- const firstTaskIndex = tasks.findIndex((task) => task.constructor.name === taskName);
35
- const tasksToRun = tasks.slice(firstTaskIndex);
36
- return new TaskPipeline(tasksToRun);
37
- };
38
- parseErrors = (error, step, action) => parseBitcoinErrors(error, step, action);
39
- createContext = async (baseContext) => {
40
- const { client, fromChain } = baseContext;
41
- const publicClient = await getBitcoinPublicClient(client, fromChain.id);
42
- return {
43
- ...baseContext,
44
- pollingIntervalMs: 10_000,
45
- checkClient: this.checkClient,
46
- walletClient: this.client,
47
- publicClient,
48
- };
49
- };
50
- }
1
+ import { getBitcoinPublicClient } from "../client/publicClient.js";
2
+ import { parseBitcoinErrors } from "../errors/parseBitcoinErrors.js";
3
+ import { BitcoinSignAndExecuteTask } from "./tasks/BitcoinSignAndExecuteTask.js";
4
+ import { BitcoinWaitForTransactionTask } from "./tasks/BitcoinWaitForTransactionTask.js";
5
+ import { BaseStepExecutor, CheckBalanceTask, LiFiErrorCode, PrepareTransactionTask, TaskPipeline, TransactionError, WaitForTransactionStatusTask } from "@lifi/sdk";
6
+ //#region src/core/BitcoinStepExecutor.ts
7
+ var BitcoinStepExecutor = class extends BaseStepExecutor {
8
+ client;
9
+ constructor(options) {
10
+ super(options);
11
+ this.client = options.client;
12
+ }
13
+ checkClient = (step) => {
14
+ if (this.client.account?.address !== step.action.fromAddress) throw new TransactionError(LiFiErrorCode.WalletChangedDuringExecution, "The wallet address that requested the quote does not match the wallet address attempting to sign the transaction.");
15
+ };
16
+ createPipeline = (context) => {
17
+ const { step, isBridgeExecution } = context;
18
+ const tasks = [
19
+ new CheckBalanceTask(),
20
+ new PrepareTransactionTask(),
21
+ new BitcoinSignAndExecuteTask(),
22
+ new BitcoinWaitForTransactionTask(),
23
+ new WaitForTransactionStatusTask(isBridgeExecution ? "RECEIVING_CHAIN" : "SWAP")
24
+ ];
25
+ const swapOrBridgeAction = this.statusManager.findAction(step, isBridgeExecution ? "CROSS_CHAIN" : "SWAP");
26
+ const taskName = swapOrBridgeAction?.txHash ? swapOrBridgeAction?.status === "DONE" ? WaitForTransactionStatusTask.name : BitcoinWaitForTransactionTask.name : CheckBalanceTask.name;
27
+ const firstTaskIndex = tasks.findIndex((task) => task.constructor.name === taskName);
28
+ return new TaskPipeline(tasks.slice(firstTaskIndex));
29
+ };
30
+ parseErrors = (error, step, action) => parseBitcoinErrors(error, step, action);
31
+ createContext = async (baseContext) => {
32
+ const { client, fromChain } = baseContext;
33
+ const publicClient = await getBitcoinPublicClient(client, fromChain.id);
34
+ return {
35
+ ...baseContext,
36
+ pollingIntervalMs: 1e4,
37
+ checkClient: this.checkClient,
38
+ walletClient: this.client,
39
+ publicClient
40
+ };
41
+ };
42
+ };
43
+ //#endregion
44
+ export { BitcoinStepExecutor };
45
+
51
46
  //# sourceMappingURL=BitcoinStepExecutor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BitcoinStepExecutor.js","sourceRoot":"","sources":["../../../src/core/BitcoinStepExecutor.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAEhB,aAAa,EAEb,sBAAsB,EAItB,YAAY,EACZ,gBAAgB,EAChB,4BAA4B,GAC7B,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAA;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AAEpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAA;AAChF,OAAO,EAAE,6BAA6B,EAAE,MAAM,0CAA0C,CAAA;AAMxF,MAAM,OAAO,mBAAoB,SAAQ,gBAAgB;IAC/C,MAAM,CAAQ;IAEtB,YAAY,OAAmC;QAC7C,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAC9B,CAAC;IAED,WAAW,GAAG,CAAC,IAAsB,EAAE,EAAE;QACvC,yDAAyD;QACzD,4FAA4F;QAC5F,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC7D,MAAM,IAAI,gBAAgB,CACxB,aAAa,CAAC,4BAA4B,EAC1C,mHAAmH,CACpH,CAAA;QACH,CAAC;IACH,CAAC,CAAA;IAEQ,cAAc,GAAG,CAAC,OAAmC,EAAE,EAAE;QAChE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAA;QAE3C,MAAM,KAAK,GAAG;YACZ,IAAI,gBAAgB,EAAE;YACtB,IAAI,sBAAsB,EAAE;YAC5B,IAAI,yBAAyB,EAAE;YAC/B,IAAI,6BAA6B,EAAE;YACnC,IAAI,4BAA4B,CAC9B,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAC/C;SACF,CAAA;QACD,MAAM,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CACtD,IAAI,EACJ,iBAAiB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAC3C,CAAA;QAED,MAAM,QAAQ,GAAG,kBAAkB,EAAE,MAAM;YACzC,CAAC,CAAC,kBAAkB,EAAE,MAAM,KAAK,MAAM;gBACrC,CAAC,CAAC,4BAA4B,CAAC,IAAI;gBACnC,CAAC,CAAC,6BAA6B,CAAC,IAAI;YACtC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAA;QAEzB,MAAM,cAAc,GAAG,KAAK,CAAC,SAAS,CACpC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ,CAC7C,CAAA;QAED,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;QAE9C,OAAO,IAAI,YAAY,CAAC,UAAU,CAAC,CAAA;IACrC,CAAC,CAAA;IAEQ,WAAW,GAAG,CACrB,KAAY,EACZ,IAAuB,EACvB,MAAwB,EACL,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;IAEtD,aAAa,GAAG,KAAK,EAC5B,WAAoC,EACC,EAAE;QACvC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,WAAW,CAAA;QAEzC,MAAM,YAAY,GAAG,MAAM,sBAAsB,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,CAAA;QAEvE,OAAO;YACL,GAAG,WAAW;YACd,iBAAiB,EAAE,MAAM;YACzB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,YAAY,EAAE,IAAI,CAAC,MAAM;YACzB,YAAY;SACb,CAAA;IACH,CAAC,CAAA;CACF"}
1
+ {"version":3,"file":"BitcoinStepExecutor.js","names":[],"sources":["../../../src/core/BitcoinStepExecutor.ts"],"sourcesContent":["import type { Client } from '@bigmi/core'\nimport {\n BaseStepExecutor,\n CheckBalanceTask,\n type ExecutionAction,\n LiFiErrorCode,\n type LiFiStepExtended,\n PrepareTransactionTask,\n type SDKError,\n type StepExecutorBaseContext,\n type StepExecutorOptions,\n TaskPipeline,\n TransactionError,\n WaitForTransactionStatusTask,\n} from '@lifi/sdk'\nimport { getBitcoinPublicClient } from '../client/publicClient.js'\nimport { parseBitcoinErrors } from '../errors/parseBitcoinErrors.js'\nimport type { BitcoinStepExecutorContext } from '../types.js'\nimport { BitcoinSignAndExecuteTask } from './tasks/BitcoinSignAndExecuteTask.js'\nimport { BitcoinWaitForTransactionTask } from './tasks/BitcoinWaitForTransactionTask.js'\n\ninterface BitcoinStepExecutorOptions extends StepExecutorOptions {\n client: Client\n}\n\nexport class BitcoinStepExecutor extends BaseStepExecutor {\n private client: Client\n\n constructor(options: BitcoinStepExecutorOptions) {\n super(options)\n this.client = options.client\n }\n\n checkClient = (step: LiFiStepExtended): void => {\n // TODO: check chain and possibly implement chain switch?\n // Prevent execution of the quote by wallet different from the one which requested the quote\n if (this.client.account?.address !== step.action.fromAddress) {\n throw new TransactionError(\n LiFiErrorCode.WalletChangedDuringExecution,\n 'The wallet address that requested the quote does not match the wallet address attempting to sign the transaction.'\n )\n }\n }\n\n override createPipeline = (\n context: BitcoinStepExecutorContext\n ): TaskPipeline => {\n const { step, isBridgeExecution } = context\n\n const tasks = [\n new CheckBalanceTask(),\n new PrepareTransactionTask(),\n new BitcoinSignAndExecuteTask(),\n new BitcoinWaitForTransactionTask(),\n new WaitForTransactionStatusTask(\n isBridgeExecution ? 'RECEIVING_CHAIN' : 'SWAP'\n ),\n ]\n const swapOrBridgeAction = this.statusManager.findAction(\n step,\n isBridgeExecution ? 'CROSS_CHAIN' : 'SWAP'\n )\n\n const taskName = swapOrBridgeAction?.txHash\n ? swapOrBridgeAction?.status === 'DONE'\n ? WaitForTransactionStatusTask.name\n : BitcoinWaitForTransactionTask.name\n : CheckBalanceTask.name\n\n const firstTaskIndex = tasks.findIndex(\n (task) => task.constructor.name === taskName\n )\n\n const tasksToRun = tasks.slice(firstTaskIndex)\n\n return new TaskPipeline(tasksToRun)\n }\n\n override parseErrors = (\n error: Error,\n step?: LiFiStepExtended,\n action?: ExecutionAction\n ): Promise<SDKError> => parseBitcoinErrors(error, step, action)\n\n override createContext = async (\n baseContext: StepExecutorBaseContext\n ): Promise<BitcoinStepExecutorContext> => {\n const { client, fromChain } = baseContext\n\n const publicClient = await getBitcoinPublicClient(client, fromChain.id)\n\n return {\n ...baseContext,\n pollingIntervalMs: 10_000,\n checkClient: this.checkClient,\n walletClient: this.client,\n publicClient,\n }\n }\n}\n"],"mappings":";;;;;;AAyBA,IAAa,sBAAb,cAAyC,iBAAiB;CACxD;CAEA,YAAY,SAAqC;AAC/C,QAAM,QAAQ;AACd,OAAK,SAAS,QAAQ;;CAGxB,eAAe,SAAiC;AAG9C,MAAI,KAAK,OAAO,SAAS,YAAY,KAAK,OAAO,YAC/C,OAAM,IAAI,iBACR,cAAc,8BACd,oHACD;;CAIL,kBACE,YACiB;EACjB,MAAM,EAAE,MAAM,sBAAsB;EAEpC,MAAM,QAAQ;GACZ,IAAI,kBAAkB;GACtB,IAAI,wBAAwB;GAC5B,IAAI,2BAA2B;GAC/B,IAAI,+BAA+B;GACnC,IAAI,6BACF,oBAAoB,oBAAoB,OACzC;GACF;EACD,MAAM,qBAAqB,KAAK,cAAc,WAC5C,MACA,oBAAoB,gBAAgB,OACrC;EAED,MAAM,WAAW,oBAAoB,SACjC,oBAAoB,WAAW,SAC7B,6BAA6B,OAC7B,8BAA8B,OAChC,iBAAiB;EAErB,MAAM,iBAAiB,MAAM,WAC1B,SAAS,KAAK,YAAY,SAAS,SACrC;AAID,SAAO,IAAI,aAFQ,MAAM,MAAM,eAAe,CAEX;;CAGrC,eACE,OACA,MACA,WACsB,mBAAmB,OAAO,MAAM,OAAO;CAE/D,gBAAyB,OACvB,gBACwC;EACxC,MAAM,EAAE,QAAQ,cAAc;EAE9B,MAAM,eAAe,MAAM,uBAAuB,QAAQ,UAAU,GAAG;AAEvE,SAAO;GACL,GAAG;GACH,mBAAmB;GACnB,aAAa,KAAK;GAClB,cAAc,KAAK;GACnB;GACD"}
@@ -1,5 +1,10 @@
1
- import { BaseStepExecutionTask, type TaskResult } from '@lifi/sdk';
2
- import type { BitcoinStepExecutorContext } from '../../types.js';
3
- export declare class BitcoinSignAndExecuteTask extends BaseStepExecutionTask {
4
- run(context: BitcoinStepExecutorContext): Promise<TaskResult>;
1
+ import { BitcoinStepExecutorContext } from "../../types.js";
2
+ import { BaseStepExecutionTask, TaskResult } from "@lifi/sdk";
3
+
4
+ //#region src/core/tasks/BitcoinSignAndExecuteTask.d.ts
5
+ declare class BitcoinSignAndExecuteTask extends BaseStepExecutionTask {
6
+ run(context: BitcoinStepExecutorContext): Promise<TaskResult>;
5
7
  }
8
+ //#endregion
9
+ export { BitcoinSignAndExecuteTask };
10
+ //# sourceMappingURL=BitcoinSignAndExecuteTask.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BitcoinSignAndExecuteTask.d.ts","names":[],"sources":["../../../../src/core/tasks/BitcoinSignAndExecuteTask.ts"],"mappings":";;;;cAqBa,yBAAA,SAAkC,qBAAA;EAC7C,GAAA,CAAU,OAAA,EAAS,0BAAA,GAA6B,OAAA,CAAQ,UAAA;AAAA"}