@lombard.finance/sdk 4.3.1 → 4.3.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/CHANGELOG.md +27 -0
- package/dist/btc.cjs +1 -1
- package/dist/btc.js +2 -2
- package/dist/chains/btc/actions/deposit/BtcDeposit.d.ts +3 -2
- package/dist/chains/btc/actions/deposit/BtcDeposit.d.ts.map +1 -1
- package/dist/chains/btc/actions/deposit/types.d.ts +1 -1
- package/dist/chains/btc/actions/deposit/types.d.ts.map +1 -1
- package/dist/chains/btc/actions/depositAndDeploy/BtcDepositAndDeploy.d.ts +3 -2
- package/dist/chains/btc/actions/depositAndDeploy/BtcDepositAndDeploy.d.ts.map +1 -1
- package/dist/chains/btc/actions/depositAndDeploy/types.d.ts +1 -1
- package/dist/chains/btc/actions/depositAndDeploy/types.d.ts.map +1 -1
- package/dist/chains/btc/actions/shared/BaseBtcAction.d.ts +3 -2
- package/dist/chains/btc/actions/shared/BaseBtcAction.d.ts.map +1 -1
- package/dist/chains/btc/actions/stake/BtcStake.d.ts +3 -2
- package/dist/chains/btc/actions/stake/BtcStake.d.ts.map +1 -1
- package/dist/chains/btc/actions/stake/types.d.ts +1 -1
- package/dist/chains/btc/actions/stake/types.d.ts.map +1 -1
- package/dist/chains/btc/actions/stakeAndDeploy/BtcStakeAndDeploy.d.ts +3 -2
- package/dist/chains/btc/actions/stakeAndDeploy/BtcStakeAndDeploy.d.ts.map +1 -1
- package/dist/chains/btc/actions/stakeAndDeploy/types.d.ts +1 -1
- package/dist/chains/btc/actions/stakeAndDeploy/types.d.ts.map +1 -1
- package/dist/chunks/BtcActions-XbVRQEcM.cjs +2 -0
- package/dist/chunks/BtcActions-XbVRQEcM.cjs.map +1 -0
- package/dist/chunks/{BtcActions-1_ZaUpvL.js → BtcActions-k-qs1uO0.js} +83 -79
- package/dist/chunks/BtcActions-k-qs1uO0.js.map +1 -0
- package/dist/chunks/{EvmActions-CjExg-28.cjs → EvmActions-BVzQ3fLK.cjs} +2 -2
- package/dist/chunks/{EvmActions-CjExg-28.cjs.map → EvmActions-BVzQ3fLK.cjs.map} +1 -1
- package/dist/chunks/{EvmActions-fH7CLc6N.js → EvmActions-B_dF42So.js} +2 -2
- package/dist/chunks/{EvmActions-fH7CLc6N.js.map → EvmActions-B_dF42So.js.map} +1 -1
- package/dist/chunks/{events-bwurClEA.js → events-DdV_xi-2.js} +6 -5
- package/dist/chunks/events-DdV_xi-2.js.map +1 -0
- package/dist/chunks/events-DqIJRzJo.cjs +2 -0
- package/dist/chunks/events-DqIJRzJo.cjs.map +1 -0
- package/dist/chunks/{statusConstants-JFhg-q-u.cjs → statusConstants-BLiNBT6s.cjs} +2 -2
- package/dist/chunks/{statusConstants-JFhg-q-u.cjs.map → statusConstants-BLiNBT6s.cjs.map} +1 -1
- package/dist/chunks/{statusConstants-CZi3v4OC.js → statusConstants-DFxMrVob.js} +2 -2
- package/dist/chunks/{statusConstants-CZi3v4OC.js.map → statusConstants-DFxMrVob.js.map} +1 -1
- package/dist/core.cjs +1 -1
- package/dist/core.js +4 -4
- package/dist/evm.cjs +1 -1
- package/dist/evm.js +2 -2
- package/dist/index.cjs +1 -1
- package/dist/index.js +4 -4
- package/dist/services/ApiService.d.ts.map +1 -1
- package/package.json +2 -2
- package/dist/chunks/BtcActions-1_ZaUpvL.js.map +0 -1
- package/dist/chunks/BtcActions-DH_wPOz5.cjs +0 -2
- package/dist/chunks/BtcActions-DH_wPOz5.cjs.map +0 -1
- package/dist/chunks/events-DURabzL2.cjs +0 -2
- package/dist/chunks/events-DURabzL2.cjs.map +0 -1
- package/dist/chunks/events-bwurClEA.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,9 +1,36 @@
|
|
|
1
|
+
# 4.3.2
|
|
2
|
+
|
|
3
|
+
- Fixed `captchaToken` not being forwarded to the deposit address generation API. The parameter was accepted by the low-level `generateDepositBtcAddress()` function but was never reachable from action classes (`BtcStake`, `BtcDeposit`, `BtcDepositAndDeploy`, `BtcStakeAndDeploy`). All `generateDepositAddress()` methods now accept an optional `captchaToken` parameter.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
1
7
|
# 4.3.1
|
|
2
8
|
|
|
3
9
|
- Fixed EVM action `approve()` methods not awaiting transaction receipt before transitioning to READY status. Affected actions: `EvmWithdraw`, `EvmDeploy`, `EvmStake`. The approval transaction is now confirmed on-chain before the action proceeds.
|
|
4
10
|
|
|
5
11
|
---
|
|
6
12
|
|
|
13
|
+
# 4.3.0
|
|
14
|
+
|
|
15
|
+
- Added partner helper functions (`getLBTCMintingFee`, `signLbtcDestinationAddr`)
|
|
16
|
+
- Updated chain configurations and feature flags
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# 4.2.0
|
|
21
|
+
|
|
22
|
+
- Added `EvmWithdraw` and `EvmCancelWithdraw` actions for vault withdrawal flows
|
|
23
|
+
- Added code splitting with new subpath entry points (`/api`, `/btc`, `/evm`, `/contracts`, `/core`, `/defi`, `/metrics`, `/utils`, `/vaults`, `/bridge`, `/debug`) for tree-shaking support
|
|
24
|
+
- Added MegaETH support and CCIP bridge configuration
|
|
25
|
+
- Added Avalanche mainnet support
|
|
26
|
+
- Added BTCb to ETH bridge functionality
|
|
27
|
+
- Updated withdrawal deadline from 3 to 14 days
|
|
28
|
+
- Fixed BTCb claiming on Avalanche
|
|
29
|
+
- Fixed Starknet ref code handling
|
|
30
|
+
- Improved bridge status tracking
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
7
34
|
# 4.1.1
|
|
8
35
|
|
|
9
36
|
- Fixed BTCb claiming on Avalanche chains: `getBasculeDepositStatus` now uses `getBascule()` for Bridge Token Adapter contracts instead of `Bascule()`, resolving "Function 'Bascule' not found on ABI" errors
|
package/dist/btc.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./chunks/BtcActions-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./chunks/BtcActions-XbVRQEcM.cjs"),c=require("./chunks/statusConstants-BLiNBT6s.cjs");exports.BtcActions=t.BtcActions;exports.BtcDeposit=t.BtcDeposit;exports.BtcDepositAndDeploy=t.BtcDepositAndDeploy;exports.BtcStake=t.BtcStake;exports.BtcStakeAndDeploy=t.BtcStakeAndDeploy;exports.btcActions=t.btcActions;exports.btcModule=t.btcModule;exports.BtcActionStatus=c.BtcActionStatus;
|
|
2
2
|
//# sourceMappingURL=btc.cjs.map
|
package/dist/btc.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { B as a, a as c, b as o, c as e, d as B, e as p, f as i } from "./chunks/BtcActions-
|
|
2
|
-
import { B as A } from "./chunks/statusConstants-
|
|
1
|
+
import { B as a, a as c, b as o, c as e, d as B, e as p, f as i } from "./chunks/BtcActions-k-qs1uO0.js";
|
|
2
|
+
import { B as A } from "./chunks/statusConstants-DFxMrVob.js";
|
|
3
3
|
export {
|
|
4
4
|
A as BtcActionStatus,
|
|
5
5
|
a as BtcActions,
|
|
@@ -50,7 +50,7 @@ export declare class BtcDeposit extends BaseBtcAction<DepositEventMap, BtcAction
|
|
|
50
50
|
* Available after prepare() when fee authorization is required
|
|
51
51
|
*/
|
|
52
52
|
get mintingFee(): string | undefined;
|
|
53
|
-
protected getDepositAddressParams(): {
|
|
53
|
+
protected getDepositAddressParams(captchaToken?: string): {
|
|
54
54
|
address: string;
|
|
55
55
|
chainId: ChainId;
|
|
56
56
|
signature: string;
|
|
@@ -58,6 +58,7 @@ export declare class BtcDeposit extends BaseBtcAction<DepositEventMap, BtcAction
|
|
|
58
58
|
eip712Data: string | undefined;
|
|
59
59
|
partnerId: string | undefined;
|
|
60
60
|
referrerCode: string | undefined;
|
|
61
|
+
captchaToken: string | undefined;
|
|
61
62
|
};
|
|
62
63
|
/**
|
|
63
64
|
* Override to ensure we have a signature before generating deposit address.
|
|
@@ -65,7 +66,7 @@ export declare class BtcDeposit extends BaseBtcAction<DepositEventMap, BtcAction
|
|
|
65
66
|
* When fee auth exists on server but signature isn't available locally,
|
|
66
67
|
* we fall back to signing the destination address.
|
|
67
68
|
*/
|
|
68
|
-
generateDepositAddress(): Promise<string>;
|
|
69
|
+
generateDepositAddress(captchaToken?: string): Promise<string>;
|
|
69
70
|
/**
|
|
70
71
|
* Get expected token for this action (BTCb by default for BTC Deposit)
|
|
71
72
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BtcDeposit.d.ts","sourceRoot":"","sources":["../../../../../src/chains/btc/actions/deposit/BtcDeposit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAGzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAErE,OAAO,EAEL,aAAa,EACb,KAAK,YAAY,EACjB,KAAK,cAAc,EACpB,MAAM,WAAW,CAAC;AAQnB,OAAO,EACL,eAAe,EACf,KAAK,UAAU,IAAI,WAAW,EAC9B,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC7B,MAAM,SAAS,CAAC;AAkBjB;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,UACX,SAAQ,aAAa,CAAC,eAAe,EAAE,eAAe,EAAE,gBAAgB,CACxE,YAAW,WAAW;IAEtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6C;IAEvE,kEAAkE;IAClE,OAAO,CAAC,aAAa,CAAqC;gBAE9C,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,gBAAgB;IA4CzD,SAAS,CAAC,gBAAgB,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAI/C,SAAS,CAAC,eAAe,IAAI,YAAY,CAAC,eAAe,CAAC;IAQ1D,SAAS,CAAC,eAAe,IAAI,cAAc;IAQ3C,SAAS,CAAC,YAAY,IAAI,OAAO;IAIjC,SAAS,CAAC,UAAU,IAAI,OAAO;IAI/B;;;OAGG;IACH,IAAI,UAAU,IAAI,MAAM,GAAG,SAAS,CAEnC;IAED,SAAS,CAAC,uBAAuB
|
|
1
|
+
{"version":3,"file":"BtcDeposit.d.ts","sourceRoot":"","sources":["../../../../../src/chains/btc/actions/deposit/BtcDeposit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAGzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAErE,OAAO,EAEL,aAAa,EACb,KAAK,YAAY,EACjB,KAAK,cAAc,EACpB,MAAM,WAAW,CAAC;AAQnB,OAAO,EACL,eAAe,EACf,KAAK,UAAU,IAAI,WAAW,EAC9B,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC7B,MAAM,SAAS,CAAC;AAkBjB;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,UACX,SAAQ,aAAa,CAAC,eAAe,EAAE,eAAe,EAAE,gBAAgB,CACxE,YAAW,WAAW;IAEtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6C;IAEvE,kEAAkE;IAClE,OAAO,CAAC,aAAa,CAAqC;gBAE9C,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,gBAAgB;IA4CzD,SAAS,CAAC,gBAAgB,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAI/C,SAAS,CAAC,eAAe,IAAI,YAAY,CAAC,eAAe,CAAC;IAQ1D,SAAS,CAAC,eAAe,IAAI,cAAc;IAQ3C,SAAS,CAAC,YAAY,IAAI,OAAO;IAIjC,SAAS,CAAC,UAAU,IAAI,OAAO;IAI/B;;;OAGG;IACH,IAAI,UAAU,IAAI,MAAM,GAAG,SAAS,CAEnC;IAED,SAAS,CAAC,uBAAuB,CAAC,YAAY,CAAC,EAAE,MAAM;;;;;;;;;;IAcvD;;;;;OAKG;IACG,sBAAsB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAepE;;OAEG;IACH,SAAS,CAAC,gBAAgB,IAAI,MAAM;IAIpC,SAAS,CAAC,sBAAsB,IAAI,MAAM;IAUpC,OAAO,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IA+FvD,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAsC7B,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IA8B/B,OAAO,IAAI,OAAO,CAAC;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAI/D,cAAc,IAAI,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;CAG7D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/chains/btc/actions/deposit/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,KAAK,EACL,UAAU,EACV,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGrE,OAAO,EAAE,eAAe,EAAE,CAAC;AAM3B;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gEAAgE;IAChE,QAAQ,EAAE,OAAO,CAAC;IAClB,yCAAyC;IACzC,SAAS,EAAE,KAAK,CAAC;IACjB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,OAAO,KAAK,CAAC,eAAe,GAAG,OAAO,KAAK,CAAC,cAAc,CAAC;CAC1E;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAMD;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB,CAAC,eAAe,CAAC;IAC3E,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,EAAE;QACL,OAAO,EAAE,UAAU,CAAC;QACpB,SAAS,EAAE,UAAU,CAAC;QACtB,OAAO,EAAE,UAAU,CAAC;KACrB,CAAC;IACF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAMD;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,iBAAiB;IACnD,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExD;;;OAGG;IACH,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9B;;;OAGG;IACH,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhC;;OAEG;IACH,sBAAsB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/chains/btc/actions/deposit/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,KAAK,EACL,UAAU,EACV,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGrE,OAAO,EAAE,eAAe,EAAE,CAAC;AAM3B;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gEAAgE;IAChE,QAAQ,EAAE,OAAO,CAAC;IAClB,yCAAyC;IACzC,SAAS,EAAE,KAAK,CAAC;IACjB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,OAAO,KAAK,CAAC,eAAe,GAAG,OAAO,KAAK,CAAC,cAAc,CAAC;CAC1E;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAMD;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB,CAAC,eAAe,CAAC;IAC3E,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,EAAE;QACL,OAAO,EAAE,UAAU,CAAC;QACpB,SAAS,EAAE,UAAU,CAAC;QACtB,OAAO,EAAE,UAAU,CAAC;KACrB,CAAC;IACF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAMD;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,iBAAiB;IACnD,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExD;;;OAGG;IACH,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9B;;;OAGG;IACH,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhC;;OAEG;IACH,sBAAsB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE/D;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAEhE;;OAEG;IACH,cAAc,CAAC,IAAI,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAAC;CACzD"}
|
|
@@ -41,7 +41,7 @@ export declare class BtcDepositAndDeploy extends BaseBtcAction<DepositAndDeployE
|
|
|
41
41
|
protected getInitialSteps(): StepDefinition;
|
|
42
42
|
protected isAuthorized(): boolean;
|
|
43
43
|
protected getChainId(): ChainId;
|
|
44
|
-
protected getDepositAddressParams(): {
|
|
44
|
+
protected getDepositAddressParams(captchaToken?: string): {
|
|
45
45
|
address: string;
|
|
46
46
|
chainId: ChainId;
|
|
47
47
|
signature: string;
|
|
@@ -49,6 +49,7 @@ export declare class BtcDepositAndDeploy extends BaseBtcAction<DepositAndDeployE
|
|
|
49
49
|
signatureData: string | undefined;
|
|
50
50
|
partnerId: string | undefined;
|
|
51
51
|
referrerCode: string | undefined;
|
|
52
|
+
captchaToken: string | undefined;
|
|
52
53
|
};
|
|
53
54
|
/**
|
|
54
55
|
* Get expected token for this action (BTCb by default for DepositAndDeploy)
|
|
@@ -59,7 +60,7 @@ export declare class BtcDepositAndDeploy extends BaseBtcAction<DepositAndDeployE
|
|
|
59
60
|
get fee(): string | undefined;
|
|
60
61
|
prepare(params: BtcDepositAndDeployPrepareParams): Promise<void>;
|
|
61
62
|
authorizeDeposit(): Promise<void>;
|
|
62
|
-
generateDepositAddress(): Promise<string>;
|
|
63
|
+
generateDepositAddress(captchaToken?: string): Promise<string>;
|
|
63
64
|
execute(): Promise<{
|
|
64
65
|
depositAddress: string;
|
|
65
66
|
txHash?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BtcDepositAndDeploy.d.ts","sourceRoot":"","sources":["../../../../../src/chains/btc/actions/depositAndDeploy/BtcDepositAndDeploy.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAGzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,+BAA+B,CAAC;AAIvC,OAAO,EAEL,aAAa,EACb,KAAK,YAAY,EACjB,KAAK,cAAc,EACpB,MAAM,WAAW,CAAC;AASnB,OAAO,EACL,eAAe,EACf,KAAK,mBAAmB,IAAI,oBAAoB,EAChD,KAAK,yBAAyB,EAC9B,KAAK,gCAAgC,EACtC,MAAM,SAAS,CAAC;AAkBjB;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,mBACX,SAAQ,aAAa,CACnB,wBAAwB,EACxB,eAAe,EACf,yBAAyB,CAE3B,YAAW,oBAAoB;IAE/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoC;gBAElD,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,yBAAyB;IAqDlE,SAAS,CAAC,gBAAgB,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAI/C,SAAS,CAAC,eAAe,IAAI,YAAY,CAAC,eAAe,CAAC;IAQ1D,SAAS,CAAC,eAAe,IAAI,cAAc;IAS3C,SAAS,CAAC,YAAY,IAAI,OAAO;IAIjC,SAAS,CAAC,UAAU,IAAI,OAAO;IAI/B,SAAS,CAAC,uBAAuB
|
|
1
|
+
{"version":3,"file":"BtcDepositAndDeploy.d.ts","sourceRoot":"","sources":["../../../../../src/chains/btc/actions/depositAndDeploy/BtcDepositAndDeploy.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAGzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,+BAA+B,CAAC;AAIvC,OAAO,EAEL,aAAa,EACb,KAAK,YAAY,EACjB,KAAK,cAAc,EACpB,MAAM,WAAW,CAAC;AASnB,OAAO,EACL,eAAe,EACf,KAAK,mBAAmB,IAAI,oBAAoB,EAChD,KAAK,yBAAyB,EAC9B,KAAK,gCAAgC,EACtC,MAAM,SAAS,CAAC;AAkBjB;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,mBACX,SAAQ,aAAa,CACnB,wBAAwB,EACxB,eAAe,EACf,yBAAyB,CAE3B,YAAW,oBAAoB;IAE/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoC;gBAElD,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,yBAAyB;IAqDlE,SAAS,CAAC,gBAAgB,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAI/C,SAAS,CAAC,eAAe,IAAI,YAAY,CAAC,eAAe,CAAC;IAQ1D,SAAS,CAAC,eAAe,IAAI,cAAc;IAS3C,SAAS,CAAC,YAAY,IAAI,OAAO;IAIjC,SAAS,CAAC,UAAU,IAAI,OAAO;IAI/B,SAAS,CAAC,uBAAuB,CAAC,YAAY,CAAC,EAAE,MAAM;;;;;;;;;;IAevD;;OAEG;IACH,SAAS,CAAC,gBAAgB,IAAI,MAAM;IAIpC,SAAS,CAAC,sBAAsB,IAAI,MAAM;IAQ1C,6DAA6D;IAC7D,IAAI,GAAG,IAAI,MAAM,GAAG,SAAS,CAE5B;IAMK,OAAO,CAAC,MAAM,EAAE,gCAAgC,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBhE,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAqCjC,sBAAsB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA+B9D,OAAO,IAAI,OAAO,CAAC;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAgB/D,cAAc,IAAI,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;CAiD7D"}
|
|
@@ -77,7 +77,7 @@ export interface BtcDepositAndDeploy extends MonitorableAction {
|
|
|
77
77
|
/**
|
|
78
78
|
* Generate BTC deposit address
|
|
79
79
|
*/
|
|
80
|
-
generateDepositAddress(): Promise<string>;
|
|
80
|
+
generateDepositAddress(captchaToken?: string): Promise<string>;
|
|
81
81
|
/**
|
|
82
82
|
* Execute the operation
|
|
83
83
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/chains/btc/actions/depositAndDeploy/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,KAAK,EACL,cAAc,EACd,UAAU,EACV,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGrE,OAAO,EAAE,eAAe,EAAE,CAAC;AAM3B;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,wBAAwB;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wCAAwC;IACxC,QAAQ,EAAE,OAAO,CAAC;IAClB,6BAA6B;IAC7B,WAAW,CAAC,EAAE,OAAO,KAAK,CAAC,eAAe,GAAG,OAAO,KAAK,CAAC,cAAc,CAAC;IACzE,sEAAsE;IACtE,SAAS,EAAE,KAAK,CAAC;IACjB,+CAA+C;IAC/C,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAMD;;GAEG;AACH,MAAM,WAAW,2BACf,SAAQ,gBAAgB,CAAC,eAAe,CAAC;IACzC,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,EAAE;QACL,OAAO,EAAE,UAAU,CAAC;QACpB,SAAS,EAAE,UAAU,CAAC;QACtB,QAAQ,EAAE,UAAU,CAAC;QACrB,UAAU,EAAE,UAAU,CAAC;KACxB,CAAC;IACF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAMD;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC5D,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,gCAAgC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjE;;OAEG;IACH,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAElC;;OAEG;IACH,sBAAsB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/chains/btc/actions/depositAndDeploy/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,KAAK,EACL,cAAc,EACd,UAAU,EACV,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGrE,OAAO,EAAE,eAAe,EAAE,CAAC;AAM3B;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,wBAAwB;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wCAAwC;IACxC,QAAQ,EAAE,OAAO,CAAC;IAClB,6BAA6B;IAC7B,WAAW,CAAC,EAAE,OAAO,KAAK,CAAC,eAAe,GAAG,OAAO,KAAK,CAAC,cAAc,CAAC;IACzE,sEAAsE;IACtE,SAAS,EAAE,KAAK,CAAC;IACjB,+CAA+C;IAC/C,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAMD;;GAEG;AACH,MAAM,WAAW,2BACf,SAAQ,gBAAgB,CAAC,eAAe,CAAC;IACzC,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,EAAE;QACL,OAAO,EAAE,UAAU,CAAC;QACpB,SAAS,EAAE,UAAU,CAAC;QACtB,QAAQ,EAAE,UAAU,CAAC;QACrB,UAAU,EAAE,UAAU,CAAC;KACxB,CAAC;IACF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAMD;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC5D,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,gCAAgC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjE;;OAEG;IACH,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAElC;;OAEG;IACH,sBAAsB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE/D;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAEhE;;OAEG;IACH,cAAc,CAAC,IAAI,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAAC;CACzD"}
|
|
@@ -97,7 +97,7 @@ export declare abstract class BaseBtcAction<TEventMap extends Record<string, Eve
|
|
|
97
97
|
* Get API params for generateDepositAddress
|
|
98
98
|
* Subclasses provide action-specific parameters
|
|
99
99
|
*/
|
|
100
|
-
protected abstract getDepositAddressParams(): {
|
|
100
|
+
protected abstract getDepositAddressParams(captchaToken?: string): {
|
|
101
101
|
address: string;
|
|
102
102
|
chainId: ChainId | SuiChain | SolanaChain | StarknetChainId;
|
|
103
103
|
signature: string;
|
|
@@ -107,6 +107,7 @@ export declare abstract class BaseBtcAction<TEventMap extends Record<string, Eve
|
|
|
107
107
|
pubKey?: string;
|
|
108
108
|
partnerId?: string;
|
|
109
109
|
referrerCode?: string;
|
|
110
|
+
captchaToken?: string;
|
|
110
111
|
};
|
|
111
112
|
/**
|
|
112
113
|
* Get the expected destination token (LBTC, BTCb, etc.)
|
|
@@ -175,7 +176,7 @@ export declare abstract class BaseBtcAction<TEventMap extends Record<string, Eve
|
|
|
175
176
|
*
|
|
176
177
|
* Subclasses must implement getDepositAddressParams() to provide API params.
|
|
177
178
|
*/
|
|
178
|
-
protected generateDepositAddressImpl(): Promise<string>;
|
|
179
|
+
protected generateDepositAddressImpl(captchaToken?: string): Promise<string>;
|
|
179
180
|
/**
|
|
180
181
|
* Execute the action - generate address and optionally send BTC
|
|
181
182
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseBtcAction.d.ts","sourceRoot":"","sources":["../../../../../src/chains/btc/actions/shared/BaseBtcAction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,OAAO,EACP,WAAW,EACX,eAAe,EACf,QAAQ,EACT,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EACZ,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kDAAkD,CAAC;AAarF;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,EAAE,OAAO,KAAK,CAAC,eAAe,GAAG,OAAO,KAAK,CAAC,cAAc,CAAC;IACzE,SAAS,EAAE,KAAK,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,OAAO,SAAS,MAAM;IAClD,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,YAAY,EAAE,OAAO,CAAC;CACvB;AAMD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,8BAAsB,aAAa,CACjC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,EACzD,OAAO,SAAS,MAAM,EACtB,OAAO,SAAS,aAAa,CAC7B,SAAQ,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC;IAYpC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,cAAc;IACtC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO;IARpC,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IACnC,SAAS,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IACjC,SAAS,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;gBAGR,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,OAAO,EAClC,aAAa,EAAE,OAAO;IASxB,wDAAwD;IACxD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAExD,wDAAwD;IACxD,SAAS,CAAC,QAAQ,CAAC,eAAe,IAAI,YAAY,CAAC,OAAO,CAAC;IAE3D,qDAAqD;IACrD,SAAS,CAAC,QAAQ,CAAC,eAAe,IAAI,cAAc;IAEpD,8CAA8C;IAC9C,SAAS,CAAC,QAAQ,CAAC,YAAY,IAAI,OAAO;IAE1C,sDAAsD;IACtD,SAAS,CAAC,QAAQ,CAAC,UAAU,IACzB,OAAO,GACP,QAAQ,GACR,WAAW,GACX,eAAe;IAEnB;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,uBAAuB,
|
|
1
|
+
{"version":3,"file":"BaseBtcAction.d.ts","sourceRoot":"","sources":["../../../../../src/chains/btc/actions/shared/BaseBtcAction.ts"],"names":[],"mappings":"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"}
|
|
@@ -46,7 +46,7 @@ export declare class BtcStake extends BaseBtcAction<StakeEventMap, BtcActionStat
|
|
|
46
46
|
protected getInitialSteps(): StepDefinition;
|
|
47
47
|
protected isAuthorized(): boolean;
|
|
48
48
|
protected getChainId(): AnyChainId;
|
|
49
|
-
protected getDepositAddressParams(): {
|
|
49
|
+
protected getDepositAddressParams(captchaToken?: string): {
|
|
50
50
|
address: string;
|
|
51
51
|
chainId: AnyChainId;
|
|
52
52
|
signature: string;
|
|
@@ -55,6 +55,7 @@ export declare class BtcStake extends BaseBtcAction<StakeEventMap, BtcActionStat
|
|
|
55
55
|
pubKey: string | undefined;
|
|
56
56
|
partnerId: string | undefined;
|
|
57
57
|
referrerCode: string | undefined;
|
|
58
|
+
captchaToken: string | undefined;
|
|
58
59
|
};
|
|
59
60
|
/**
|
|
60
61
|
* Get expected token for this action (LBTC by default for BTC Stake)
|
|
@@ -69,7 +70,7 @@ export declare class BtcStake extends BaseBtcAction<StakeEventMap, BtcActionStat
|
|
|
69
70
|
referralCode?: string;
|
|
70
71
|
}): Promise<void>;
|
|
71
72
|
authorize(): Promise<void>;
|
|
72
|
-
generateDepositAddress(): Promise<string>;
|
|
73
|
+
generateDepositAddress(captchaToken?: string): Promise<string>;
|
|
73
74
|
execute(): Promise<{
|
|
74
75
|
depositAddress: string;
|
|
75
76
|
txHash?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BtcStake.d.ts","sourceRoot":"","sources":["../../../../../src/chains/btc/actions/stake/BtcStake.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EACR,OAAO,EACP,WAAW,EACX,eAAe,EACf,QAAQ,EACX,MAAM,2BAA2B,CAAC;AAMnC,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGrE,OAAO,EAEH,aAAa,EACb,KAAK,YAAY,EACjB,KAAK,cAAc,EACtB,MAAM,WAAW,CAAC;AAUnB,OAAO,KAAK,EAAE,QAAQ,IAAI,SAAS,EAAC,cAAc,EAAE,MAAM,SAAS,CAAC;AAMpE,KAAK,UAAU,GAAG,OAAO,GAAG,WAAW,GAAG,QAAQ,GAAG,eAAe,CAAC;AAgBrE;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,QACX,SAAQ,aAAa,CAAC,aAAa,EAAE,eAAe,EAAE,cAAc,CACpE,YAAW,SAAS;IAEpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6C;IAEvE,kEAAkE;IAClE,OAAO,CAAC,aAAa,CAA8B;gBAEvC,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc;IA8CvD,SAAS,CAAC,gBAAgB,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAI/C,SAAS,CAAC,eAAe,IAAI,YAAY,CAAC,eAAe,CAAC;IAQ1D,SAAS,CAAC,eAAe,IAAI,cAAc;IAQ3C,SAAS,CAAC,YAAY,IAAI,OAAO;IAIjC,SAAS,CAAC,UAAU,IAAI,UAAU;IAIlC,SAAS,CAAC,uBAAuB
|
|
1
|
+
{"version":3,"file":"BtcStake.d.ts","sourceRoot":"","sources":["../../../../../src/chains/btc/actions/stake/BtcStake.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EACR,OAAO,EACP,WAAW,EACX,eAAe,EACf,QAAQ,EACX,MAAM,2BAA2B,CAAC;AAMnC,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGrE,OAAO,EAEH,aAAa,EACb,KAAK,YAAY,EACjB,KAAK,cAAc,EACtB,MAAM,WAAW,CAAC;AAUnB,OAAO,KAAK,EAAE,QAAQ,IAAI,SAAS,EAAC,cAAc,EAAE,MAAM,SAAS,CAAC;AAMpE,KAAK,UAAU,GAAG,OAAO,GAAG,WAAW,GAAG,QAAQ,GAAG,eAAe,CAAC;AAgBrE;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,QACX,SAAQ,aAAa,CAAC,aAAa,EAAE,eAAe,EAAE,cAAc,CACpE,YAAW,SAAS;IAEpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6C;IAEvE,kEAAkE;IAClE,OAAO,CAAC,aAAa,CAA8B;gBAEvC,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc;IA8CvD,SAAS,CAAC,gBAAgB,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAI/C,SAAS,CAAC,eAAe,IAAI,YAAY,CAAC,eAAe,CAAC;IAQ1D,SAAS,CAAC,eAAe,IAAI,cAAc;IAQ3C,SAAS,CAAC,YAAY,IAAI,OAAO;IAIjC,SAAS,CAAC,UAAU,IAAI,UAAU;IAIlC,SAAS,CAAC,uBAAuB,CAAC,YAAY,CAAC,EAAE,MAAM;;;;;;;;;;;IAwBvD;;OAEG;IACH,SAAS,CAAC,gBAAgB,IAAI,MAAM;IAIpC,SAAS,CAAC,sBAAsB,IAAI,MAAM;IAQ1C,sEAAsE;IACtE,IAAI,UAAU,IAAI,MAAM,GAAG,SAAS,CAEnC;IAMK,OAAO,CAAC,MAAM,EAAE;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiGX,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAyC1B,sBAAsB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAyC9D,OAAO,IAAI,OAAO,CAAC;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAI/D,cAAc,IAAI,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IAQ5D,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,kBAAkB;CAM3B"}
|
|
@@ -126,7 +126,7 @@ export interface BtcStake extends MonitorableAction {
|
|
|
126
126
|
* @returns BTC deposit address (bc1...)
|
|
127
127
|
* @throws LombardError if not authorized or API fails
|
|
128
128
|
*/
|
|
129
|
-
generateDepositAddress(): Promise<string>;
|
|
129
|
+
generateDepositAddress(captchaToken?: string): Promise<string>;
|
|
130
130
|
/**
|
|
131
131
|
* Execute the stake operation
|
|
132
132
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/chains/btc/actions/stake/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,KAAK,EACL,UAAU,EACV,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGrE,OAAO,EAAE,eAAe,EAAE,CAAC;AAE3B;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,0BAA0B;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,wCAAwC;IACxC,SAAS,EAAE,KAAK,CAAC;IACjB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,OAAO,KAAK,CAAC,eAAe,GAAG,OAAO,KAAK,CAAC,cAAc,CAAC;CAC1E;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB,CAAC,eAAe,CAAC;IACzE,qBAAqB;IACrB,MAAM,EAAE,eAAe,CAAC;IAExB,oBAAoB;IACpB,KAAK,EAAE;QACL,OAAO,EAAE,UAAU,CAAC;QACpB,SAAS,EAAE,UAAU,CAAC;QACtB,OAAO,EAAE,UAAU,CAAC;KACrB,CAAC;IAEF,sCAAsC;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,uCAAuC;IACvC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B,yCAAyC;IACzC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC,mCAAmC;IACnC,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,oCAAoC;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,WAAW,QAAS,SAAQ,iBAAiB;IACjD,qBAAqB;IACrB,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IAEjC,2CAA2C;IAC3C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEzB,6CAA6C;IAC7C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAE5B,6CAA6C;IAC7C,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAEjC,qDAAqD;IACrD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAE/B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,MAAM,EAAE;QACd,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElB;;;;;;;;OAQG;IACH,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3B;;;;;;;;OAQG;IACH,sBAAsB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/chains/btc/actions/stake/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,KAAK,EACL,UAAU,EACV,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGrE,OAAO,EAAE,eAAe,EAAE,CAAC;AAE3B;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,0BAA0B;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,wCAAwC;IACxC,SAAS,EAAE,KAAK,CAAC;IACjB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,OAAO,KAAK,CAAC,eAAe,GAAG,OAAO,KAAK,CAAC,cAAc,CAAC;CAC1E;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB,CAAC,eAAe,CAAC;IACzE,qBAAqB;IACrB,MAAM,EAAE,eAAe,CAAC;IAExB,oBAAoB;IACpB,KAAK,EAAE;QACL,OAAO,EAAE,UAAU,CAAC;QACpB,SAAS,EAAE,UAAU,CAAC;QACtB,OAAO,EAAE,UAAU,CAAC;KACrB,CAAC;IAEF,sCAAsC;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,uCAAuC;IACvC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B,yCAAyC;IACzC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC,mCAAmC;IACnC,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,oCAAoC;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,WAAW,QAAS,SAAQ,iBAAiB;IACjD,qBAAqB;IACrB,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IAEjC,2CAA2C;IAC3C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEzB,6CAA6C;IAC7C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAE5B,6CAA6C;IAC7C,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAEjC,qDAAqD;IACrD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAE/B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,MAAM,EAAE;QACd,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElB;;;;;;;;OAQG;IACH,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3B;;;;;;;;OAQG;IACH,sBAAsB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE/D;;;;;;;OAOG;IACH,OAAO,IAAI,OAAO,CAAC;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAEhE;;;;;;;OAOG;IACH,cAAc,CAAC,IAAI,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAAC;CACzD"}
|
|
@@ -40,7 +40,7 @@ export declare class BtcStakeAndDeploy extends BaseBtcAction<StakeAndDeployEvent
|
|
|
40
40
|
protected getInitialSteps(): StepDefinition;
|
|
41
41
|
protected isAuthorized(): boolean;
|
|
42
42
|
protected getChainId(): ChainId;
|
|
43
|
-
protected getDepositAddressParams(): {
|
|
43
|
+
protected getDepositAddressParams(captchaToken?: string): {
|
|
44
44
|
address: string;
|
|
45
45
|
chainId: ChainId;
|
|
46
46
|
signature: string;
|
|
@@ -48,6 +48,7 @@ export declare class BtcStakeAndDeploy extends BaseBtcAction<StakeAndDeployEvent
|
|
|
48
48
|
signatureData: string | undefined;
|
|
49
49
|
partnerId: string | undefined;
|
|
50
50
|
referrerCode: string | undefined;
|
|
51
|
+
captchaToken: string | undefined;
|
|
51
52
|
};
|
|
52
53
|
/**
|
|
53
54
|
* Get expected token for this action (LBTC by default for StakeAndDeploy)
|
|
@@ -58,7 +59,7 @@ export declare class BtcStakeAndDeploy extends BaseBtcAction<StakeAndDeployEvent
|
|
|
58
59
|
get fee(): string | undefined;
|
|
59
60
|
prepare(params: BtcStakeAndDeployPrepareParams): Promise<void>;
|
|
60
61
|
authorizeDeposit(): Promise<void>;
|
|
61
|
-
generateDepositAddress(): Promise<string>;
|
|
62
|
+
generateDepositAddress(captchaToken?: string): Promise<string>;
|
|
62
63
|
execute(): Promise<{
|
|
63
64
|
depositAddress: string;
|
|
64
65
|
txHash?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BtcStakeAndDeploy.d.ts","sourceRoot":"","sources":["../../../../../src/chains/btc/actions/stakeAndDeploy/BtcStakeAndDeploy.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAGzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,+BAA+B,CAAC;AAIvC,OAAO,EAEL,aAAa,EACb,KAAK,YAAY,EACjB,KAAK,cAAc,EACpB,MAAM,WAAW,CAAC;AASnB,OAAO,EACL,eAAe,EACf,KAAK,iBAAiB,IAAI,kBAAkB,EAC5C,KAAK,uBAAuB,EAC5B,KAAK,8BAA8B,EACpC,MAAM,SAAS,CAAC;AAiBjB;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,iBACX,SAAQ,aAAa,CACnB,sBAAsB,EACtB,eAAe,EACf,uBAAuB,CAEzB,YAAW,kBAAkB;IAE7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoC;gBAElD,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,uBAAuB;IAkDhE,SAAS,CAAC,gBAAgB,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAI/C,SAAS,CAAC,eAAe,IAAI,YAAY,CAAC,eAAe,CAAC;IAQ1D,SAAS,CAAC,eAAe,IAAI,cAAc;IAS3C,SAAS,CAAC,YAAY,IAAI,OAAO;IAIjC,SAAS,CAAC,UAAU,IAAI,OAAO;IAI/B,SAAS,CAAC,uBAAuB
|
|
1
|
+
{"version":3,"file":"BtcStakeAndDeploy.d.ts","sourceRoot":"","sources":["../../../../../src/chains/btc/actions/stakeAndDeploy/BtcStakeAndDeploy.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAGzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,+BAA+B,CAAC;AAIvC,OAAO,EAEL,aAAa,EACb,KAAK,YAAY,EACjB,KAAK,cAAc,EACpB,MAAM,WAAW,CAAC;AASnB,OAAO,EACL,eAAe,EACf,KAAK,iBAAiB,IAAI,kBAAkB,EAC5C,KAAK,uBAAuB,EAC5B,KAAK,8BAA8B,EACpC,MAAM,SAAS,CAAC;AAiBjB;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,iBACX,SAAQ,aAAa,CACnB,sBAAsB,EACtB,eAAe,EACf,uBAAuB,CAEzB,YAAW,kBAAkB;IAE7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoC;gBAElD,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,uBAAuB;IAkDhE,SAAS,CAAC,gBAAgB,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAI/C,SAAS,CAAC,eAAe,IAAI,YAAY,CAAC,eAAe,CAAC;IAQ1D,SAAS,CAAC,eAAe,IAAI,cAAc;IAS3C,SAAS,CAAC,YAAY,IAAI,OAAO;IAIjC,SAAS,CAAC,UAAU,IAAI,OAAO;IAI/B,SAAS,CAAC,uBAAuB,CAAC,YAAY,CAAC,EAAE,MAAM;;;;;;;;;;IAevD;;OAEG;IACH,SAAS,CAAC,gBAAgB,IAAI,MAAM;IAIpC,SAAS,CAAC,sBAAsB,IAAI,MAAM;IAQ1C,yDAAyD;IACzD,IAAI,GAAG,IAAI,MAAM,GAAG,SAAS,CAE5B;IAMK,OAAO,CAAC,MAAM,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC;IAyE9D,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAwCjC,sBAAsB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA+B9D,OAAO,IAAI,OAAO,CAAC;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAgB/D,cAAc,IAAI,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;CAiD7D"}
|
|
@@ -75,7 +75,7 @@ export interface BtcStakeAndDeploy extends MonitorableAction {
|
|
|
75
75
|
/**
|
|
76
76
|
* Generate BTC deposit address
|
|
77
77
|
*/
|
|
78
|
-
generateDepositAddress(): Promise<string>;
|
|
78
|
+
generateDepositAddress(captchaToken?: string): Promise<string>;
|
|
79
79
|
/**
|
|
80
80
|
* Execute the operation
|
|
81
81
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/chains/btc/actions/stakeAndDeploy/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,KAAK,EACL,cAAc,EACd,UAAU,EACV,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGrE,OAAO,EAAE,eAAe,EAAE,CAAC;AAM3B;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,wBAAwB;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uCAAuC;IACvC,QAAQ,EAAE,OAAO,CAAC;IAClB,6BAA6B;IAC7B,WAAW,CAAC,EAAE,OAAO,KAAK,CAAC,eAAe,GAAG,OAAO,KAAK,CAAC,cAAc,CAAC;IACzE,2CAA2C;IAC3C,SAAS,EAAE,KAAK,CAAC;IACjB,kCAAkC;IAClC,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAMD;;GAEG;AACH,MAAM,WAAW,yBACf,SAAQ,gBAAgB,CAAC,eAAe,CAAC;IACzC,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,EAAE;QACL,OAAO,EAAE,UAAU,CAAC;QACpB,SAAS,EAAE,UAAU,CAAC;QACtB,OAAO,EAAE,UAAU,CAAC;QACpB,UAAU,EAAE,UAAU,CAAC;KACxB,CAAC;IACF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAMD;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;IAC1D,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/D;;OAEG;IACH,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAElC;;OAEG;IACH,sBAAsB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/chains/btc/actions/stakeAndDeploy/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,KAAK,EACL,cAAc,EACd,UAAU,EACV,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGrE,OAAO,EAAE,eAAe,EAAE,CAAC;AAM3B;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,wBAAwB;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uCAAuC;IACvC,QAAQ,EAAE,OAAO,CAAC;IAClB,6BAA6B;IAC7B,WAAW,CAAC,EAAE,OAAO,KAAK,CAAC,eAAe,GAAG,OAAO,KAAK,CAAC,cAAc,CAAC;IACzE,2CAA2C;IAC3C,SAAS,EAAE,KAAK,CAAC;IACjB,kCAAkC;IAClC,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAMD;;GAEG;AACH,MAAM,WAAW,yBACf,SAAQ,gBAAgB,CAAC,eAAe,CAAC;IACzC,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,EAAE;QACL,OAAO,EAAE,UAAU,CAAC;QACpB,SAAS,EAAE,UAAU,CAAC;QACtB,OAAO,EAAE,UAAU,CAAC;QACpB,UAAU,EAAE,UAAU,CAAC;KACxB,CAAC;IACF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAMD;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;IAC1D,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/D;;OAEG;IACH,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAElC;;OAEG;IACH,sBAAsB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE/D;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAEhE;;OAEG;IACH,cAAc,CAAC,IAAI,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAAC;CACzD"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var z=Object.defineProperty;var H=(s,r,i)=>r in s?z(s,r,{enumerable:!0,configurable:!0,writable:!0,value:i}):s[r]=i;var A=(s,r,i)=>H(s,typeof r!="symbol"?r+"":r,i);const Y=require("axios"),p=require("./token-addresses-DRBecUa7.cjs"),t=require("./statusConstants-BLiNBT6s.cjs"),u=require("./index-BKzxeh1Y.cjs"),f=require("./tokens-D_HeVB5p.cjs"),l=require("./satoshi-CZEsHl5X.cjs"),h=require("./defi-registry-BIRv_zkp.cjs"),b=require("./getUserStakeAndBakeSignature-BxRq2cI1.cjs"),q=require("./config-l4ZaZw_g.cjs"),$=require("viem"),U="ERR_NETWORK",G="This may be due to your Adblocker. Please disable any Adblocker and refresh the page to restore full functionality.";function K(s){const{code:r,message:i}=s;throw r===U?new Error(G):new Error(i)}const j={mempoolApiUrl:"https://mempool.space/signet"},Z={mempoolApiUrl:"https://mempool.space"},W=s=>s==="mainnet"?Z:j;async function X(s){const{mempoolApiUrl:r}=W(s),i=Math.floor(Date.now()/1e3),e=`${r}/api/v1/mining/blocks/timestamp/${i}`;try{const{data:n}=await Y.get(e);return n.height}catch(n){K(n)}}class J{async getCurrentBlockHeight(r){return X(r)}}function Q(){return{id:"btc",chain:"btc",register(){return new J}}}async function _(s){const{fetchDeposit:r,network:i,btcService:e,requiredConfirmations:n=6,onProgress:a,onComplete:o}=s,c=await r();if(!c)return;const d=c.blockHeight;if(typeof d!="number")return;const T=await e.getCurrentBlockHeight(i),B=Math.max(0,T-d),N=B>=n,y=c.isClaimed??!1,v={confirmations:B,requiredConfirmations:n,hasEnoughConfirmations:N,isClaimed:y,steps:{created:t.StepStatus.COMPLETE,verifying:N?t.StepStatus.COMPLETE:t.StepStatus.PENDING,issuing:y?t.StepStatus.COMPLETE:t.StepStatus.PENDING}};return a==null||a(v),y&&(o==null||o()),v}function I(s){if(s===b.SANCTIONED_ADDRESS)throw new t.LombardError(t.ValidationErrorCode.INVALID_PARAMETER,"Destination address is under sanctions")}class m extends t.BaseAction{constructor(i,e,n){super(n);A(this,"_amount");A(this,"_recipient");A(this,"_depositAddress");A(this,"_referralCode");A(this,"_chainId");this.ctx=i,this.params=e}get amount(){return this._amount}get recipient(){return this._recipient}get depositAddress(){return this._depositAddress}get referralCode(){return this._referralCode}get bitcoinNetwork(){return this.params.sourceChain===t.Chain.BITCOIN_MAINNET?"mainnet":"testnet"}get prepareSchema(){return t.objectType({amount:t.btcStakeAmountSchema,recipient:this.getAddressSchema(),referralCode:t.referralCodeSchema})}validatePrepareParams(i){return t.validatePrepareParams(this.prepareSchema,i,{destChain:this.params.destChain})}ensureRecipient(){if(!this._recipient)throw t.LombardError.missingParameter("recipient");return this._recipient}ensureAmount(){if(!this._amount)throw t.LombardError.missingParameter("amount");return this._amount}ensureDepositAddress(){if(!this._depositAddress)throw new t.LombardError(t.ValidationErrorCode.INVALID_PARAMETER,"Deposit address not generated. Call generateDepositAddress() first.");return this._depositAddress}getAuthRequiredMessage(){return"Authorization required. Complete the authorization step first."}ensureAuthorized(){if(!this.isAuthorized())throw new t.LombardError(t.ValidationErrorCode.INVALID_PARAMETER,this.getAuthRequiredMessage())}async resumeFromExistingDeposit(i){try{const e=await this.ctx.api.getDepositAddress({address:i,chainId:this.getChainId(),token:this.getExpectedToken(),partnerId:this.ctx.partner.getPartnerId()});return e?(this._depositAddress=e,!0):!1}catch{return!1}}async generateDepositAddressImpl(i){const e=this.getStatusConfig();return this.assertStatus(e.ready,"generateDepositAddress"),this.ensureAuthorized(),this._depositAddress?this._depositAddress:this.act(async()=>{const n=this.getDepositAddressParams(i),a=await this.ctx.api.generateDepositAddress(n);I(a),this._depositAddress=a;const o=this.getInitialSteps(),c=Object.fromEntries(Object.entries(o).map(([d],T)=>[d,T===0?t.StepStatus.COMPLETE:t.StepStatus.IDLE]));return this.emitProgress({status:e.addressReady,steps:c,metadata:{depositAddress:a}}),a},e.addressReady)}async executeImpl(){const i=this.getStatusConfig();return this.act(async()=>{this.assertStatus(i.addressReady,"execute"),this._depositAddress||await this.generateDepositAddressImpl();const e=this.ensureDepositAddress(),n=await this.trySendBitcoin(e);return n?{depositAddress:e,txHash:n}:{depositAddress:e}})}emitInitialProgress(){this.emitProgress({status:this.status,steps:this.getInitialSteps()})}async monitorDeposit(){const i=this._depositAddress,e=this._recipient;if(!i||!e)throw t.LombardError.missingParameter("depositAddress or recipient");return await _({network:this.bitcoinNetwork,btcService:this.ctx.btc,fetchDeposit:async()=>{const o=(await this.ctx.api.getDeposits(e)).find(c=>c.depositAddress===i);if(o)return{blockHeight:o.blockHeight,isClaimed:o.isClaimed}},onProgress:a=>{this.emitProgress({status:this.status,steps:a.steps,confirmations:a.confirmations,requiredConfirmations:a.requiredConfirmations,metadata:{isClaimed:a.isClaimed}})},onComplete:()=>{this.emitCompleted()}})}async trySendBitcoin(i){const e=this._amount;if(e)try{const n=await this.ctx.getProvider("bitcoin");if(!n)return;const a=n;if(a.sendBitcoin){const o=l.toSatoshi(e).toNumber();return a.sendBitcoin(i,o)}}catch{}}}function D(s,r=p.Token.LBTC){switch(s){case h.AssetId.LBTC:return p.Token.LBTC;case h.AssetId.BTCb:return p.Token.BTCb;default:return r}}async function tt(s,r){try{await s.request({method:"wallet_switchEthereumChain",params:[{chainId:`0x${r.toString(16)}`}]})}catch(i){const e=i;if(e.code===4902)try{await p.addChain({provider:s,chainId:r}),await s.request({method:"wallet_switchEthereumChain",params:[{chainId:`0x${r.toString(16)}`}]});return}catch(n){const a=n;throw a.code===4001?new t.LombardError(t.ValidationErrorCode.INVALID_PARAMETER,"User rejected adding chain to wallet."):new t.LombardError(t.ValidationErrorCode.INVALID_CHAIN,`Failed to add chain ${r} to wallet: ${a.message||"Unknown error"}`)}throw e.code===4001?new t.LombardError(t.ValidationErrorCode.INVALID_PARAMETER,"User rejected chain switch request."):new t.LombardError(t.ValidationErrorCode.INVALID_CHAIN,`Failed to switch to chain ${r}: ${e.message||"Unknown error"}`)}}async function et(s){const r=await s.request({method:"eth_chainId"});return parseInt(r,16)}async function E(s,r){await et(s)!==r&&await tt(s,r)}const st=[t.Chain.ETHEREUM,t.Chain.SEPOLIA],it={async getMintingFee(s,r){return s.capabilities.require("evm").getMintingFee(r,p.Token.BTCb)},async restoreFeeSignature(s,r,i){const e=await f.getTokenContractInfo(p.Token.BTCb,r,s.env),n=await s.api.getFeeSignature({address:i,chainId:r,tokenAddress:e.address});return!n.hasSignature||n.expirationDate&&new Date(Number(n.expirationDate)*1e3)<new Date?null:{hasSignature:!0,signature:n.signature,typedData:n.typedData}},async authorizeFee(s,{chainId:r,recipient:i,fee:e}){const n=s.capabilities.require("evm"),a=await s.getProvider("evm");if(!a)throw t.LombardError.providerMissing(String(r),"evm");await E(a,r);const o=l.toSatoshi(e).toString(),c=await f.getTokenContractInfo(p.Token.BTCb,r,s.env),d=await n.signNetworkFee({fee:o,account:i,chainId:r,provider:a,token:p.Token.BTCb});return await s.api.storeFeeSignature({address:i,signature:d.signature,typedData:d.typedData,tokenAddress:c.address}),{signature:d.signature,typedData:d.typedData}}},rt={chainType:"evm",routes:[{sourceChains:[t.Chain.BITCOIN_MAINNET],envs:[u.r.prod]},{sourceChains:[t.Chain.BITCOIN_SIGNET],envs:[u.r.stage,u.r.dev,u.r.testnet,u.r.ibc]}],destChains:t.getAllAssetChains(h.AssetId.BTCb).filter(s=>t.isEvmChain(s)),supportedAssetsOut:[h.AssetId.BTCb],addressSchema:t.evmAddressSchema,getFeeAuthConfig(s){return st.includes(s)?it:null},async signDestination(s,r,i){const e=s.capabilities.require("evm"),n=await s.getProvider("evm");if(!n)throw t.LombardError.providerMissing(String(i),"evm");return await E(n,i),{signature:(await e.signLbtcDestination({address:r,chainId:i,provider:n})).signature}}},g=rt;function at(s){return g.destChains.includes(s)}function nt(s){return g.supportedAssetsOut.includes(s)}function ot(s,r){return s?g.routes.some(i=>i.sourceChains.includes(s)&&i.envs.includes(r)):!0}class k extends m{constructor(i,e){super(i,e,t.BtcActionStatus.IDLE);A(this,"chainId");A(this,"authState",{authorized:!1});A(this,"feeAuthConfig",null);if(!nt(e.assetOut))throw new t.LombardError(t.ValidationErrorCode.INVALID_ASSET,`Asset ${e.assetOut} is not supported for BTC deposits. BTC Deposit produces BTC.b. For LBTC, use BtcStake instead.`);if(!at(e.destChain))throw new t.LombardError(t.ValidationErrorCode.INVALID_CHAIN,`Destination chain ${e.destChain} is not supported for BTC deposits. BTC.b is currently available on Avalanche and Katana.`);if(!ot(e.sourceChain,i.env))throw t.LombardError.routeNotFound({assetOut:e.assetOut,sourceChain:e.sourceChain,destChain:e.destChain,env:i.env});const n=t.parseChainIdentifier(e.destChain);if(typeof n!="number"||!p.isValidChain(n))throw new t.LombardError(t.ValidationErrorCode.INVALID_CHAIN,`Unsupported EVM chain: ${e.destChain}`);this.chainId=n}getAddressSchema(){return g.addressSchema}getStatusConfig(){return{idle:t.BtcActionStatus.IDLE,ready:t.BtcActionStatus.READY,addressReady:t.BtcActionStatus.ADDRESS_READY}}getInitialSteps(){return{created:t.StepStatus.IDLE,verifying:t.StepStatus.IDLE,issuing:t.StepStatus.IDLE}}isAuthorized(){return this.authState.authorized}getChainId(){return this.chainId}get mintingFee(){return this.authState.mintingFee}getDepositAddressParams(i){return{address:this.ensureRecipient(),chainId:this.chainId,signature:this.authState.signature,token:this.getExpectedToken(),eip712Data:this.authState.typedData,partnerId:this.ctx.partner.getPartnerId(),referrerCode:this._referralCode,captchaToken:i}}async generateDepositAddress(i){if(!this.authState.signature){const e=await g.signDestination(this.ctx,this.ensureRecipient(),this.chainId);this.authState.signature=e.signature,this.authState.typedData=e.typedData}return this.generateDepositAddressImpl(i)}getExpectedToken(){return D(this.params.assetOut,p.Token.BTCb)}getAuthRequiredMessage(){return this.feeAuthConfig?"Fee authorization required. Call authorizeFee() first.":"Address confirmation required. Call confirmAddress() first."}async prepare(i){return this.assertStatus(t.BtcActionStatus.IDLE,"prepare"),this.act(async()=>{const e=this.validatePrepareParams(i);if(this._amount=e.amount,this._recipient=e.recipient,this._referralCode=e.referralCode,this.feeAuthConfig=g.getFeeAuthConfig(this.params.destChain),await this.resumeFromExistingDeposit(e.recipient)){if(this.feeAuthConfig){const a=await this.feeAuthConfig.restoreFeeSignature(this.ctx,this.chainId,e.recipient);if(!(a!=null&&a.hasSignature)){this.authState.mintingFee=await this.feeAuthConfig.getMintingFee(this.ctx,this.chainId),this.updateStatus(t.BtcActionStatus.NEEDS_FEE_AUTHORIZATION),this.emitInitialProgress();return}a.signature&&(this.authState.signature=a.signature,this.authState.typedData=a.typedData),this.authState.authorized=!0}this.updateStatus(t.BtcActionStatus.ADDRESS_READY),this.emitInitialProgress();return}if(this.feeAuthConfig){const a=await this.feeAuthConfig.restoreFeeSignature(this.ctx,this.chainId,e.recipient);if(a!=null&&a.hasSignature){a.signature&&(this.authState.signature=a.signature,this.authState.typedData=a.typedData),this.authState.authorized=!0,this.updateStatus(t.BtcActionStatus.READY),this.emitInitialProgress();return}this.authState.mintingFee=await this.feeAuthConfig.getMintingFee(this.ctx,this.chainId),this.updateStatus(t.BtcActionStatus.NEEDS_FEE_AUTHORIZATION)}else this.updateStatus(t.BtcActionStatus.NEEDS_ADDRESS_CONFIRMATION);this.emitInitialProgress()})}async authorizeFee(){if(this.assertStatus([t.BtcActionStatus.NEEDS_FEE_AUTHORIZATION,t.BtcActionStatus.READY],"authorizeFee"),this.status===t.BtcActionStatus.READY)return;if(!this.feeAuthConfig)throw new t.LombardError(t.ValidationErrorCode.INVALID_PARAMETER,"Fee authorization is not required for this destination chain. Use confirmAddress() instead.");const i=this.ensureRecipient();if(!this.authState.mintingFee)throw new t.LombardError(t.ValidationErrorCode.INVALID_STATE,"Minting fee not available. Call prepare() first.");return this.act(async()=>{const e=await this.feeAuthConfig.authorizeFee(this.ctx,{chainId:this.chainId,recipient:i,fee:this.authState.mintingFee});this.authState.signature=e.signature,this.authState.typedData=e.typedData,this.authState.authorized=!0},t.BtcActionStatus.READY)}async confirmAddress(){if(this.assertStatus([t.BtcActionStatus.NEEDS_ADDRESS_CONFIRMATION,t.BtcActionStatus.READY],"confirmAddress"),this.status===t.BtcActionStatus.READY)return;if(this.feeAuthConfig)throw new t.LombardError(t.ValidationErrorCode.INVALID_PARAMETER,"This destination chain requires fee authorization. Use authorizeFee() instead.");const i=this.ensureRecipient();return this.act(async()=>{const e=await g.signDestination(this.ctx,i,this.chainId);this.authState.signature=e.signature,this.authState.typedData=e.typedData,this.authState.authorized=!0},t.BtcActionStatus.READY)}async execute(){return this.executeImpl()}async monitorDeposit(){return super.monitorDeposit()}}const ut=q.VEDA_VAULT_STAKE_AND_BAKE_CHAINS.map(s=>t.evmChainIdToChain(s)),dt={chainType:"evm",routes:[{sourceChains:[t.Chain.BITCOIN_MAINNET],envs:[u.r.prod]},{sourceChains:[t.Chain.BITCOIN_SIGNET],envs:[u.r.stage,u.r.dev,u.r.testnet,u.r.ibc]}],destChains:ut,supportedAssetsOut:[h.AssetId.LBTC],supportedProtocols:Dt(h.AssetId.LBTC),addressSchema:t.evmAddressSchema,async getStakeAndBakeFee(s,r,i){return s.capabilities.require("evm").getStakeAndBakeFee(r,i)},async authorizeStakeAndBake(s,{chainId:r,recipient:i,amount:e,vaultKey:n,token:a}){const o=s.capabilities.require("evm"),c=await s.getProvider("evm");if(!c)throw t.LombardError.providerMissing(String(r),"evm");await E(c,r);const d=await o.signStakeAndBake({value:e,account:i,chainId:r,provider:c,vaultKey:n,token:a});return await s.api.storeStakeAndBakeSignature({signature:d.signature,typedData:d.typedData}),{signature:d.signature,typedData:d.typedData}},async restoreStakeAndBakeSignature(s,r,i){try{const e=await b.getUserStakeAndBakeSignature({userDestinationAddress:i,chainId:r,env:s.env});return!(e.signature||e.expirationDate)||e.expirationDate&&Number(e.expirationDate)*1e3<Date.now()?null:{hasSignature:!0,signature:e.signature,depositAmount:e.depositAmount,expirationDate:e.expirationDate}}catch{return null}}},S=dt;function ct(s){return S.destChains.includes(s)}function ht(s){return S.supportedAssetsOut.includes(s)}function pt(s,r){return s?S.routes.some(i=>i.sourceChains.includes(s)&&i.envs.includes(r)):!0}function O(s){return s in h.DEFI_REGISTRY}function At(s){if(!O(s)){const r=Object.keys(h.DEFI_REGISTRY).join(", ");throw new Error(`Unsupported protocol: ${s}. Supported protocols: ${r}`)}return s}function St(s){return Object.entries(h.DEFI_REGISTRY).filter(([r,i])=>s in i).map(([r])=>r)}const L={mainnet:[t.Chain.AVALANCHE],testnet:[t.Chain.AVALANCHE_FUJI]},gt={chainType:"evm",routes:[{sourceChains:[t.Chain.BITCOIN_MAINNET],envs:[u.r.prod]},{sourceChains:[t.Chain.BITCOIN_SIGNET],envs:[u.r.stage,u.r.dev,u.r.testnet,u.r.ibc]}],destChains:[...L.mainnet,...L.testnet],supportedAssetsOut:[h.AssetId.BTCb],supportedProtocols:St(h.AssetId.BTCb),addressSchema:t.evmAddressSchema,async getDepositAndDeployFee(s,r,i){return s.capabilities.require("evm").getStakeAndBakeFee(r,i)},async authorizeDepositAndDeploy(s,{chainId:r,recipient:i,amount:e,vaultKey:n,token:a}){const o=s.capabilities.require("evm"),c=await s.getProvider("evm");if(!c)throw t.LombardError.providerMissing(String(r),"evm");await E(c,r);const d=await o.signStakeAndBake({value:e,account:i,chainId:r,provider:c,vaultKey:n,token:a});return await s.api.storeStakeAndBakeSignature({signature:d.signature,typedData:d.typedData}),{signature:d.signature,typedData:d.typedData,approvalTxHash:d.approvalTxHash}}},C=gt;function Ct(s){return C.destChains.includes(s)}function Et(s){return C.supportedAssetsOut.includes(s)}function P(s){return s in h.DEFI_REGISTRY}function R(s){if(!P(s)){const r=Object.keys(h.DEFI_REGISTRY).join(", ");throw new Error(`Unsupported protocol: ${s}. Supported protocols: ${r}`)}return s}function Dt(s){return Object.entries(h.DEFI_REGISTRY).filter(([r,i])=>s in i).map(([r])=>r)}function lt(s,r){return C.routes.some(i=>i.sourceChains.includes(s)&&i.envs.includes(r))}class F extends m{constructor(i,e){super(i,e,t.BtcActionStatus.IDLE);A(this,"chainId");A(this,"authState",{authorized:!1});if(!Et(e.assetOut))throw new t.LombardError(t.ValidationErrorCode.INVALID_ASSET,`Asset ${e.assetOut} is not supported for deposit and deploy. DepositAndDeploy produces BTC.b which is then deployed to a vault like Silo.`);if(!Ct(e.destChain))throw new t.LombardError(t.ValidationErrorCode.INVALID_CHAIN,`Destination chain ${e.destChain} is not supported for deposit and deploy. Supported chains: Avalanche, Avalanche Fuji`);if(!P(e.protocol))throw new t.LombardError(t.ValidationErrorCode.INVALID_PARAMETER,`Protocol ${e.protocol} is not supported for deposit and deploy. DepositAndDeploy with BTC.b only supports Silo protocol.`);const n=e.sourceChain??t.Chain.BITCOIN_MAINNET;if(!lt(n,i.env))throw t.LombardError.routeNotFound({assetOut:e.assetOut,sourceChain:n,destChain:e.destChain,env:i.env});const a=t.parseChainIdentifier(e.destChain);if(typeof a!="number"||!p.isValidChain(a))throw new t.LombardError(t.ValidationErrorCode.INVALID_CHAIN,`Unsupported EVM chain: ${e.destChain}`);this.chainId=a}getAddressSchema(){return C.addressSchema}getStatusConfig(){return{idle:t.BtcActionStatus.IDLE,ready:t.BtcActionStatus.READY,addressReady:t.BtcActionStatus.ADDRESS_READY}}getInitialSteps(){return{created:t.StepStatus.IDLE,verifying:t.StepStatus.IDLE,wrapping:t.StepStatus.IDLE,depositing:t.StepStatus.IDLE}}isAuthorized(){return this.authState.authorized}getChainId(){return this.chainId}getDepositAddressParams(i){return{address:this.ensureRecipient(),chainId:this.chainId,signature:this.authState.signature,token:this.getExpectedToken(),signatureData:this.authState.typedData,partnerId:this.ctx.partner.getPartnerId(),referrerCode:this._referralCode,captchaToken:i}}getExpectedToken(){return D(this.params.assetOut,p.Token.BTCb)}getAuthRequiredMessage(){return"Deposit authorization required. Call authorizeDeposit() first."}get fee(){return this.authState.fee}async prepare(i){return this.assertStatus(t.BtcActionStatus.IDLE,"prepare"),this.act(async()=>{const e=this.validatePrepareParams(i);this._amount=e.amount,this._recipient=e.recipient,this._referralCode=e.referralCode,this.authState.fee=await C.getDepositAndDeployFee(this.ctx,this.chainId,R(this.params.protocol)),this.updateStatus(t.BtcActionStatus.NEEDS_DEPLOY_AUTHORIZATION),this.emitInitialProgress()},t.BtcActionStatus.NEEDS_DEPLOY_AUTHORIZATION)}async authorizeDeposit(){if(this.assertStatus([t.BtcActionStatus.NEEDS_DEPLOY_AUTHORIZATION,t.BtcActionStatus.READY],"authorizeDeposit"),this.status===t.BtcActionStatus.READY)return;const i=this.ensureRecipient(),e=this.ensureAmount();return this.act(async()=>{const n=l.toSatoshi(e),a=D(this.params.assetOut,p.Token.BTCb),o=await C.authorizeDepositAndDeploy(this.ctx,{chainId:this.chainId,recipient:i,amount:n.toString(),vaultKey:R(this.params.protocol),token:a});this.authState.signature=o.signature,this.authState.typedData=o.typedData,this.authState.authorized=!0},t.BtcActionStatus.READY)}async generateDepositAddress(i){return this.assertStatus(t.BtcActionStatus.READY,"generateDepositAddress"),this.ensureAuthorized(),this._depositAddress?this._depositAddress:this.act(async()=>{const e=this.getDepositAddressParams(i),n=await this.ctx.api.generateDepositAddress(e);return I(n),this._depositAddress=n,this.emitProgress({status:t.BtcActionStatus.ADDRESS_READY,steps:{created:t.StepStatus.COMPLETE,verifying:t.StepStatus.IDLE,wrapping:t.StepStatus.IDLE,depositing:t.StepStatus.IDLE},metadata:{depositAddress:n}}),n},t.BtcActionStatus.ADDRESS_READY)}async execute(){return this.act(async()=>{this.assertStatus(t.BtcActionStatus.ADDRESS_READY,"execute"),this._depositAddress||await this.generateDepositAddress();const i=this.ensureDepositAddress(),e=await this.trySendBitcoin(i);return e?{depositAddress:i,txHash:e}:{depositAddress:i}})}async monitorDeposit(){const i=this._depositAddress,e=this._recipient;if(!i||!e)throw t.LombardError.missingParameter("depositAddress or recipient");return await _({network:this.bitcoinNetwork,btcService:this.ctx.btc,fetchDeposit:async()=>{const o=(await this.ctx.api.getDeposits(e)).find(c=>c.depositAddress===i);if(o)return{blockHeight:o.blockHeight,isClaimed:o.isClaimed}},onProgress:a=>{this.emitProgress({status:this.status,steps:{created:t.StepStatus.COMPLETE,verifying:a.hasEnoughConfirmations?t.StepStatus.COMPLETE:t.StepStatus.PENDING,wrapping:a.isClaimed?t.StepStatus.COMPLETE:t.StepStatus.PENDING,depositing:t.StepStatus.PENDING},confirmations:a.confirmations,requiredConfirmations:a.requiredConfirmations,metadata:{isClaimed:a.isClaimed}})},onComplete:()=>{this.emitCompleted()}})}}const w=s=>`${s}${t.CAIP2_SEPARATOR}`;function ft(s){return String(s).startsWith(w(t.CHAIN_PREFIXES.EIP155))}function It(s){return String(s).startsWith(w(t.CHAIN_PREFIXES.SOLANA))}function mt(s){return String(s).startsWith(w(t.CHAIN_PREFIXES.SUI))}function wt(s){return String(s).startsWith(w(t.CHAIN_PREFIXES.STARKNET))}const Tt=[t.Chain.ETHEREUM,t.Chain.SEPOLIA],yt={async getMintingFee(s,r){return s.capabilities.require("evm").getMintingFee(r)},async restoreFeeSignature(s,r,i){const e=await f.getTokenContractInfo(p.Token.LBTC,r,s.env),n=await s.api.getFeeSignature({address:i,chainId:r,tokenAddress:e.address});return!n.hasSignature||n.expirationDate&&new Date(Number(n.expirationDate)*1e3)<new Date?null:{hasSignature:!0,signature:n.signature,typedData:n.typedData}},async authorizeFee(s,{chainId:r,recipient:i,fee:e}){const n=s.capabilities.require("evm"),a=await s.getProvider("evm");if(!a)throw t.LombardError.providerMissing(String(r),"evm");await E(a,r);const o=l.toSatoshi(e).toString(),c=await f.getTokenContractInfo(p.Token.LBTC,r,s.env),d=await n.signNetworkFee({fee:o,account:i,chainId:r,provider:a,token:p.Token.LBTC});return await s.api.storeFeeSignature({address:i,signature:d.signature,typedData:d.typedData,tokenAddress:c.address}),{signature:d.signature,typedData:d.typedData}}},_t={chainType:"evm",routes:[{sourceChains:[t.Chain.BITCOIN_MAINNET],envs:[u.r.prod]},{sourceChains:[t.Chain.BITCOIN_SIGNET],envs:[u.r.testnet,u.r.stage,u.r.dev,u.r.ibc]}],destChains:t.getAllAssetChains(h.AssetId.LBTC).filter(s=>ft(s)),supportedAssetsOut:[h.AssetId.LBTC],addressSchema:t.evmAddressSchema,getFeeAuthConfig(s){return Tt.includes(s)?yt:null},async getSignature(s,r,i){const e=s.capabilities.require("evm"),n=await s.getProvider("evm");if(!n)throw t.LombardError.providerMissing(String(i),"evm");return await E(n,i),e.signLbtcDestination({chainId:i,address:r,provider:n})}};function Bt(s){const r={[t.Chain.SOLANA_MAINNET]:"mainnet-beta",[t.Chain.SOLANA_DEVNET]:"devnet",[t.Chain.SOLANA_TESTNET]:"testnet","solana:mainnet-beta":"mainnet-beta","solana:devnet":"devnet","solana:testnet":"testnet"},i=r[s];if(!i)throw new t.LombardError(t.ValidationErrorCode.INVALID_CHAIN,`Unknown Solana chain: ${s}. Expected one of: ${Object.keys(r).join(", ")}`);return i}const Nt={chainType:"solana",routes:[{sourceChains:[t.Chain.BITCOIN_MAINNET],envs:[u.r.prod]},{sourceChains:[t.Chain.BITCOIN_SIGNET],envs:[u.r.testnet,u.r.stage,u.r.dev,u.r.ibc]}],destChains:t.getAllAssetChains(h.AssetId.LBTC).filter(s=>It(s)),supportedAssetsOut:[h.AssetId.LBTC],addressSchema:t.solanaAddressSchema,getFeeAuthConfig:()=>null,async getSignature(s,r,i){const e=s.capabilities.require("solana"),n=Bt(i),{signature:a}=await e.signLbtcDestination({network:n});return{signature:a}}},vt={chainType:"starknet",routes:[{sourceChains:[t.Chain.BITCOIN_MAINNET],envs:[u.r.prod]},{sourceChains:[t.Chain.BITCOIN_SIGNET],envs:[u.r.testnet,u.r.stage,u.r.dev,u.r.ibc]}],destChains:t.getAllAssetChains(h.AssetId.LBTC).filter(s=>wt(s)),supportedAssetsOut:[h.AssetId.LBTC],addressSchema:t.starknetAddressSchema,getFeeAuthConfig:()=>null,async getSignature(s,r,i){const e=s.capabilities.require("starknet"),{signature:n,pubKey:a}=await e.signLbtcDestination({chainId:i}),o=$.pad(r,{size:32});return{signature:n,pubKey:a,paddedAddress:o}}},Lt={chainType:"sui",routes:[{sourceChains:[t.Chain.BITCOIN_MAINNET],envs:[u.r.prod]},{sourceChains:[t.Chain.BITCOIN_SIGNET],envs:[u.r.testnet,u.r.stage,u.r.dev,u.r.ibc]}],destChains:t.getAllAssetChains(h.AssetId.LBTC).filter(s=>mt(s)),supportedAssetsOut:[h.AssetId.LBTC],addressSchema:t.suiAddressSchema,getFeeAuthConfig:()=>null,async getSignature(s,r,i){const e=s.capabilities.require("sui"),{signature:n}=await e.signLbtcDestination({chainId:i});return{signature:n}}},Rt={evm:_t,solana:Nt,sui:Lt,starknet:vt};function bt(s){return Rt[s]}function kt(s,r,i){return r?s.routes.some(e=>e.sourceChains.includes(r)&&e.envs.includes(i)):!0}function Ot(s,r){return s.destChains.includes(r)}function Pt(s,r){return s.supportedAssetsOut.includes(r)}class x extends m{constructor(i,e){super(i,e,t.BtcActionStatus.IDLE);A(this,"config");A(this,"chainId");A(this,"authState",{authorized:!1});A(this,"feeAuthConfig",null);const n=t.getChainType(e.destChain),a=bt(n);if(!a)throw new t.LombardError(t.ValidationErrorCode.INVALID_CHAIN,`Unsupported destination chain type: ${n} (${e.destChain})`);if(!Pt(a,e.assetOut))throw new t.LombardError(t.ValidationErrorCode.INVALID_ASSET,`Asset ${e.assetOut} is not supported for BTC staking. BTC Stake produces LBTC. For BTC.b, use BtcDeposit instead.`);if(!Ot(a,e.destChain))throw new t.LombardError(t.ValidationErrorCode.INVALID_CHAIN,`Destination chain ${e.destChain} is not supported for ${n}`);if(!kt(a,e.sourceChain,i.env))throw t.LombardError.routeNotFound({assetOut:e.assetOut,sourceChain:e.sourceChain,destChain:e.destChain,env:i.env});this.config=a,this.chainId=t.parseChainIdentifier(e.destChain)}getAddressSchema(){return this.config.addressSchema}getStatusConfig(){return{idle:t.BtcActionStatus.IDLE,ready:t.BtcActionStatus.READY,addressReady:t.BtcActionStatus.ADDRESS_READY}}getInitialSteps(){return{created:t.StepStatus.IDLE,verifying:t.StepStatus.IDLE,issuing:t.StepStatus.IDLE}}isAuthorized(){return this.authState.authorized}getChainId(){return this.chainId}getDepositAddressParams(i){var a;const e=this.ensureRecipient(),n=this.getActiveSignature();if(!n)throw new t.LombardError(t.ValidationErrorCode.INVALID_PARAMETER,"Missing signature. Complete authorization first.");return{address:n.paddedAddress??e,chainId:this.chainId,signature:n.signature,token:this.getExpectedToken(),eip712Data:(a=this.authState.networkFee)==null?void 0:a.typedData,pubKey:n.pubKey,partnerId:this.ctx.partner.getPartnerId(),referrerCode:this._referralCode,captchaToken:i}}getExpectedToken(){return D(this.params.assetOut,p.Token.LBTC)}getAuthRequiredMessage(){return"Authorization required. Call authorize() first."}get mintingFee(){return this.authState.mintingFee}async prepare(i){return this.assertStatus(t.BtcActionStatus.IDLE,"prepare"),this.act(async()=>{const e=this.validatePrepareParams(i);if(this._amount=e.amount,this._recipient=e.recipient,this._referralCode=e.referralCode,this.feeAuthConfig=this.config.getFeeAuthConfig(this.params.destChain),await this.resumeFromExistingDeposit(e.recipient)){if(this.feeAuthConfig){const a=await this.feeAuthConfig.restoreFeeSignature(this.ctx,this.chainId,e.recipient);if(!(a!=null&&a.hasSignature)){this.authState.mintingFee=await this.feeAuthConfig.getMintingFee(this.ctx,this.chainId),this.updateStatus(t.BtcActionStatus.NEEDS_FEE_AUTHORIZATION),this.emitInitialProgress();return}a.signature&&(this.authState.networkFee={signature:a.signature,typedData:a.typedData}),this.authState.authorized=!0}this.updateStatus(t.BtcActionStatus.ADDRESS_READY),this.emitInitialProgress();return}if(this.feeAuthConfig){const a=await this.feeAuthConfig.restoreFeeSignature(this.ctx,this.chainId,e.recipient);if(a!=null&&a.hasSignature){a.signature&&(this.authState.networkFee={signature:a.signature,typedData:a.typedData}),this.authState.authorized=!0,this.updateStatus(t.BtcActionStatus.READY),this.emitInitialProgress();return}this.authState.mintingFee=await this.feeAuthConfig.getMintingFee(this.ctx,this.chainId),this.updateStatus(t.BtcActionStatus.NEEDS_FEE_AUTHORIZATION)}else this.updateStatus(t.BtcActionStatus.NEEDS_ADDRESS_CONFIRMATION);this.emitInitialProgress()})}async authorize(){if(this.assertStatus([t.BtcActionStatus.NEEDS_FEE_AUTHORIZATION,t.BtcActionStatus.NEEDS_ADDRESS_CONFIRMATION,t.BtcActionStatus.READY],"authorize"),this.status===t.BtcActionStatus.READY)return;const i=this.ensureRecipient(),e=this.feeAuthConfig!==null;return this.act(async()=>{if(e){const n=this.ensureMintingFee(),a=await this.feeAuthConfig.authorizeFee(this.ctx,{chainId:this.chainId,recipient:i,fee:n});this.authState.networkFee={signature:a.signature,typedData:a.typedData}}else this.authState.destinationSignature=await this.config.getSignature(this.ctx,i,this.chainId);this.authState.authorized=!0},t.BtcActionStatus.READY)}async generateDepositAddress(i){if(this.assertStatus(t.BtcActionStatus.READY,"generateDepositAddress"),this.ensureAuthorized(),this._depositAddress)return this._depositAddress;if(!this.getActiveSignature()){const e=await this.config.getSignature(this.ctx,this.ensureRecipient(),this.chainId);this.authState.destinationSignature=e}return this.act(async()=>{const e=this.getDepositAddressParams(i),n=await this.ctx.api.generateDepositAddress(e);return I(n),this._depositAddress=n,this.emitProgress({status:t.BtcActionStatus.ADDRESS_READY,steps:{created:t.StepStatus.COMPLETE,verifying:t.StepStatus.IDLE,issuing:t.StepStatus.IDLE},metadata:{depositAddress:n}}),n},t.BtcActionStatus.ADDRESS_READY)}async execute(){return this.executeImpl()}async monitorDeposit(){return super.monitorDeposit()}ensureMintingFee(){if(!this.authState.mintingFee)throw new t.LombardError(t.ValidationErrorCode.INVALID_PARAMETER,"Minting fee not fetched. Call prepare() first.");return this.authState.mintingFee}getActiveSignature(){var i;return(i=this.authState.networkFee)!=null&&i.signature?{signature:this.authState.networkFee.signature}:this.authState.destinationSignature}}class M extends m{constructor(i,e){super(i,e,t.BtcActionStatus.IDLE);A(this,"chainId");A(this,"authState",{authorized:!1});if(!ht(e.assetOut))throw new t.LombardError(t.ValidationErrorCode.INVALID_ASSET,`Asset ${e.assetOut} is not supported for stake and deploy. StakeAndDeploy produces LBTC which is then deployed to a vault.`);if(!ct(e.destChain))throw new t.LombardError(t.ValidationErrorCode.INVALID_CHAIN,`Destination chain ${e.destChain} is not supported for stake and deploy`);if(!O(e.protocol))throw new t.LombardError(t.ValidationErrorCode.INVALID_PARAMETER,`Protocol ${e.protocol} is not supported for stake and deploy`);if(!pt(e.sourceChain,i.env))throw t.LombardError.routeNotFound({assetOut:e.assetOut,sourceChain:e.sourceChain,destChain:e.destChain,env:i.env});const n=t.parseChainIdentifier(e.destChain);if(typeof n!="number"||!p.isValidChain(n))throw new t.LombardError(t.ValidationErrorCode.INVALID_CHAIN,`Unsupported EVM chain: ${e.destChain}`);this.chainId=n}getAddressSchema(){return S.addressSchema}getStatusConfig(){return{idle:t.BtcActionStatus.IDLE,ready:t.BtcActionStatus.READY,addressReady:t.BtcActionStatus.ADDRESS_READY}}getInitialSteps(){return{created:t.StepStatus.IDLE,verifying:t.StepStatus.IDLE,issuing:t.StepStatus.IDLE,depositing:t.StepStatus.IDLE}}isAuthorized(){return this.authState.authorized}getChainId(){return this.chainId}getDepositAddressParams(i){return{address:this.ensureRecipient(),chainId:this.chainId,signature:this.authState.signature,token:this.getExpectedToken(),signatureData:this.authState.typedData,partnerId:this.ctx.partner.getPartnerId(),referrerCode:this._referralCode,captchaToken:i}}getExpectedToken(){return D(this.params.assetOut,p.Token.LBTC)}getAuthRequiredMessage(){return"Deposit authorization required. Call authorizeDeposit() first."}get fee(){return this.authState.fee}async prepare(i){return this.assertStatus(t.BtcActionStatus.IDLE,"prepare"),this.act(async()=>{const e=this.validatePrepareParams(i);if(this._amount=e.amount,this._recipient=e.recipient,this._referralCode=e.referralCode,this.authState.fee=await S.getStakeAndBakeFee(this.ctx,this.chainId,this.params.protocol),await this.resumeFromExistingDeposit(e.recipient)){const o=await S.restoreStakeAndBakeSignature(this.ctx,this.chainId,e.recipient);if(o!=null&&o.hasSignature){o.signature&&(this.authState.signature=o.signature),this.authState.authorized=!0,this.updateStatus(t.BtcActionStatus.ADDRESS_READY),this.emitInitialProgress();return}this.updateStatus(t.BtcActionStatus.NEEDS_DEPLOY_AUTHORIZATION),this.emitInitialProgress();return}const a=await S.restoreStakeAndBakeSignature(this.ctx,this.chainId,e.recipient);if(a!=null&&a.hasSignature){a.signature&&(this.authState.signature=a.signature),this.authState.authorized=!0,this.updateStatus(t.BtcActionStatus.READY),this.emitInitialProgress();return}this.updateStatus(t.BtcActionStatus.NEEDS_DEPLOY_AUTHORIZATION),this.emitInitialProgress()})}async authorizeDeposit(){if(this.assertStatus([t.BtcActionStatus.NEEDS_DEPLOY_AUTHORIZATION,t.BtcActionStatus.READY],"authorizeDeposit"),this.status===t.BtcActionStatus.READY)return;const i=this.ensureRecipient(),e=this.ensureAmount();return this.act(async()=>{const n=l.toSatoshi(e),a=this.params.assetIn??h.AssetId.BTC,o=await S.authorizeStakeAndBake(this.ctx,{chainId:this.chainId,recipient:i,amount:n.toString(),vaultKey:At(this.params.protocol),token:a});this.authState.signature=o.signature,this.authState.typedData=o.typedData,this.authState.authorized=!0},t.BtcActionStatus.READY)}async generateDepositAddress(i){return this.assertStatus(t.BtcActionStatus.READY,"generateDepositAddress"),this.ensureAuthorized(),this._depositAddress?this._depositAddress:this.act(async()=>{const e=this.getDepositAddressParams(i),n=await this.ctx.api.generateDepositAddress(e);return I(n),this._depositAddress=n,this.emitProgress({status:t.BtcActionStatus.ADDRESS_READY,steps:{created:t.StepStatus.COMPLETE,verifying:t.StepStatus.IDLE,issuing:t.StepStatus.IDLE,depositing:t.StepStatus.IDLE},metadata:{depositAddress:n}}),n},t.BtcActionStatus.ADDRESS_READY)}async execute(){return this.act(async()=>{this.assertStatus(t.BtcActionStatus.ADDRESS_READY,"execute"),this._depositAddress||await this.generateDepositAddress();const i=this.ensureDepositAddress(),e=await this.trySendBitcoin(i);return e?{depositAddress:i,txHash:e}:{depositAddress:i}})}async monitorDeposit(){const i=this._depositAddress,e=this._recipient;if(!i||!e)throw t.LombardError.missingParameter("depositAddress or recipient");return await _({network:this.bitcoinNetwork,btcService:this.ctx.btc,fetchDeposit:async()=>{const o=(await this.ctx.api.getDeposits(e)).find(c=>c.depositAddress===i);if(o)return{blockHeight:o.blockHeight,isClaimed:o.isClaimed}},onProgress:a=>{this.emitProgress({status:this.status,steps:{created:t.StepStatus.COMPLETE,verifying:a.hasEnoughConfirmations?t.StepStatus.COMPLETE:t.StepStatus.PENDING,issuing:a.isClaimed?t.StepStatus.COMPLETE:t.StepStatus.PENDING,depositing:t.StepStatus.PENDING},confirmations:a.confirmations,requiredConfirmations:a.requiredConfirmations,metadata:{isClaimed:a.isClaimed}})},onComplete:()=>{this.emitCompleted()}})}}class V{constructor(r){A(this,"ctx");this.ctx=t.createBtcCoreContext(r)}stake(r){return new x(this.ctx,r)}stakeAndDeploy(r){return new M(this.ctx,r)}deposit(r){return new k(this.ctx,r)}depositAndDeploy(r){return new F(this.ctx,r)}}function Ft(s){return new V(s)}exports.BtcActions=V;exports.BtcDeposit=k;exports.BtcDepositAndDeploy=F;exports.BtcStake=x;exports.BtcStakeAndDeploy=M;exports.btcActions=Ft;exports.btcModule=Q;
|
|
2
|
+
//# sourceMappingURL=BtcActions-XbVRQEcM.cjs.map
|