@lifi/sdk-provider-bitcoin 4.0.0-alpha.7 → 4.0.0-alpha.9
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/dist/cjs/BitcoinStepExecutor.js +16 -17
- package/dist/cjs/BitcoinStepExecutor.js.map +1 -1
- package/dist/cjs/errors/parseBitcoinErrors.d.ts +2 -2
- package/dist/cjs/errors/parseBitcoinErrors.js +3 -3
- package/dist/cjs/errors/parseBitcoinErrors.js.map +1 -1
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/BitcoinStepExecutor.js +16 -18
- package/dist/esm/BitcoinStepExecutor.js.map +1 -1
- package/dist/esm/errors/parseBitcoinErrors.d.ts +2 -2
- package/dist/esm/errors/parseBitcoinErrors.js +3 -3
- package/dist/esm/errors/parseBitcoinErrors.js.map +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/types/BitcoinStepExecutor.d.ts.map +1 -1
- package/dist/types/errors/parseBitcoinErrors.d.ts +2 -2
- package/dist/types/errors/parseBitcoinErrors.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +4 -4
- package/src/BitcoinStepExecutor.ts +25 -36
- package/src/errors/parseBitcoinErrors.ts +4 -4
- package/src/version.ts +1 -1
|
@@ -26,24 +26,24 @@ class BitcoinStepExecutor extends sdk_1.BaseStepExecutor {
|
|
|
26
26
|
const fromChain = await client.getChainById(step.action.fromChainId);
|
|
27
27
|
const toChain = await client.getChainById(step.action.toChainId);
|
|
28
28
|
const isBridgeExecution = fromChain.id !== toChain.id;
|
|
29
|
-
const
|
|
30
|
-
let
|
|
29
|
+
const currentActionType = isBridgeExecution ? 'CROSS_CHAIN' : 'SWAP';
|
|
30
|
+
let action = this.statusManager.findOrCreateAction({
|
|
31
31
|
step,
|
|
32
|
-
type:
|
|
32
|
+
type: currentActionType,
|
|
33
33
|
chainId: fromChain.id,
|
|
34
34
|
});
|
|
35
35
|
const publicClient = await (0, publicClient_js_1.getBitcoinPublicClient)(client, sdk_1.ChainId.BTC);
|
|
36
|
-
if (
|
|
36
|
+
if (action.status !== 'DONE') {
|
|
37
37
|
try {
|
|
38
38
|
let txHash;
|
|
39
39
|
let txHex;
|
|
40
|
-
if (
|
|
40
|
+
if (action.txHash) {
|
|
41
41
|
this.checkClient(step);
|
|
42
|
-
txHash =
|
|
43
|
-
txHex =
|
|
42
|
+
txHash = action.txHash;
|
|
43
|
+
txHex = action.txHex;
|
|
44
44
|
}
|
|
45
45
|
else {
|
|
46
|
-
|
|
46
|
+
action = this.statusManager.updateAction(step, action.type, 'STARTED');
|
|
47
47
|
await (0, sdk_1.checkBalance)(client, this.client.account.address, step);
|
|
48
48
|
if (!step.transactionRequest) {
|
|
49
49
|
const { execution, ...stepBase } = step;
|
|
@@ -57,7 +57,7 @@ class BitcoinStepExecutor extends sdk_1.BaseStepExecutor {
|
|
|
57
57
|
if (!step.transactionRequest?.data) {
|
|
58
58
|
throw new sdk_1.TransactionError(sdk_1.LiFiErrorCode.TransactionUnprepared, 'Unable to prepare transaction.');
|
|
59
59
|
}
|
|
60
|
-
|
|
60
|
+
action = this.statusManager.updateAction(step, action.type, 'ACTION_REQUIRED');
|
|
61
61
|
if (!this.allowUserInteraction) {
|
|
62
62
|
return step;
|
|
63
63
|
}
|
|
@@ -147,7 +147,7 @@ class BitcoinStepExecutor extends sdk_1.BaseStepExecutor {
|
|
|
147
147
|
txHash = await publicClient.sendUTXOTransaction({
|
|
148
148
|
hex: txHex,
|
|
149
149
|
});
|
|
150
|
-
|
|
150
|
+
action = this.statusManager.updateAction(step, action.type, 'PENDING', {
|
|
151
151
|
txHash: txHash,
|
|
152
152
|
txLink: `${fromChain.metamask.blockExplorerUrls[0]}tx/${txHash}`,
|
|
153
153
|
txHex,
|
|
@@ -160,7 +160,7 @@ class BitcoinStepExecutor extends sdk_1.BaseStepExecutor {
|
|
|
160
160
|
senderAddress: this.client.account?.address,
|
|
161
161
|
onReplaced: (response) => {
|
|
162
162
|
replacementReason = response.reason;
|
|
163
|
-
|
|
163
|
+
action = this.statusManager.updateAction(step, action.type, 'PENDING', {
|
|
164
164
|
txHash: response.transaction.txid,
|
|
165
165
|
txLink: `${fromChain.metamask.blockExplorerUrls[0]}tx/${response.transaction.txid}`,
|
|
166
166
|
});
|
|
@@ -170,28 +170,27 @@ class BitcoinStepExecutor extends sdk_1.BaseStepExecutor {
|
|
|
170
170
|
throw new sdk_1.TransactionError(sdk_1.LiFiErrorCode.TransactionCanceled, 'User canceled transaction.');
|
|
171
171
|
}
|
|
172
172
|
if (transaction.txid !== txHash) {
|
|
173
|
-
|
|
173
|
+
action = this.statusManager.updateAction(step, action.type, 'PENDING', {
|
|
174
174
|
txHash: transaction.txid,
|
|
175
175
|
txLink: `${fromChain.metamask.blockExplorerUrls[0]}tx/${transaction.txid}`,
|
|
176
176
|
});
|
|
177
177
|
}
|
|
178
178
|
if (isBridgeExecution) {
|
|
179
|
-
|
|
179
|
+
action = this.statusManager.updateAction(step, action.type, 'DONE');
|
|
180
180
|
}
|
|
181
181
|
}
|
|
182
182
|
catch (e) {
|
|
183
|
-
const error = await (0, parseBitcoinErrors_js_1.parseBitcoinErrors)(e, step,
|
|
184
|
-
|
|
183
|
+
const error = await (0, parseBitcoinErrors_js_1.parseBitcoinErrors)(e, step, action);
|
|
184
|
+
action = this.statusManager.updateAction(step, action.type, 'FAILED', {
|
|
185
185
|
error: {
|
|
186
186
|
message: error.cause.message,
|
|
187
187
|
code: error.code,
|
|
188
188
|
},
|
|
189
189
|
});
|
|
190
|
-
this.statusManager.updateExecution(step, 'FAILED');
|
|
191
190
|
throw error;
|
|
192
191
|
}
|
|
193
192
|
}
|
|
194
|
-
await (0, sdk_1.waitForDestinationChainTransaction)(client, step,
|
|
193
|
+
await (0, sdk_1.waitForDestinationChainTransaction)(client, step, action, fromChain, toChain, this.statusManager, 10_000);
|
|
195
194
|
return step;
|
|
196
195
|
};
|
|
197
196
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BitcoinStepExecutor.js","sourceRoot":"","sources":["../../src/BitcoinStepExecutor.ts"],"names":[],"mappings":";;;AACA,sCAOoB;AACpB,+CAA8C;AAC9C,mCAakB;AAClB,iDAAmE;AACnE,8DAAiE;AACjE,0EAAmE;AACnE,6EAAsE;AACtE,mEAA4D;AAC5D,mDAA4C;AAM5C,MAAa,mBAAoB,SAAQ,sBAAgB;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;QAGvC,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC7D,MAAM,IAAI,sBAAgB,CACxB,mBAAa,CAAC,4BAA4B,EAC1C,mHAAmH,CACpH,CAAA;QACH,CAAC;IACH,CAAC,CAAA;IAED,WAAW,GAAG,KAAK,EACjB,MAAiB,EACjB,IAAsB,EACK,EAAE;QAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAA;QAE7D,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QACpE,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QAEhE,MAAM,iBAAiB,GAAG,SAAS,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAA;QACrD,MAAM,
|
|
1
|
+
{"version":3,"file":"BitcoinStepExecutor.js","sourceRoot":"","sources":["../../src/BitcoinStepExecutor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
export declare const parseBitcoinErrors: (e: Error, step?: LiFiStep,
|
|
1
|
+
import { type ExecutionAction, type LiFiStep, SDKError } from '@lifi/sdk';
|
|
2
|
+
export declare const parseBitcoinErrors: (e: Error, step?: LiFiStep, action?: ExecutionAction) => Promise<SDKError>;
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.parseBitcoinErrors = void 0;
|
|
4
4
|
const sdk_1 = require("@lifi/sdk");
|
|
5
|
-
const parseBitcoinErrors = async (e, step,
|
|
5
|
+
const parseBitcoinErrors = async (e, step, action) => {
|
|
6
6
|
if (e instanceof sdk_1.SDKError) {
|
|
7
7
|
e.step = e.step ?? step;
|
|
8
|
-
e.
|
|
8
|
+
e.action = e.action ?? action;
|
|
9
9
|
return e;
|
|
10
10
|
}
|
|
11
11
|
const baseError = handleSpecificErrors(e);
|
|
12
|
-
return new sdk_1.SDKError(baseError, step,
|
|
12
|
+
return new sdk_1.SDKError(baseError, step, action);
|
|
13
13
|
};
|
|
14
14
|
exports.parseBitcoinErrors = parseBitcoinErrors;
|
|
15
15
|
const handleSpecificErrors = (e) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseBitcoinErrors.js","sourceRoot":"","sources":["../../../src/errors/parseBitcoinErrors.ts"],"names":[],"mappings":";;;AAAA,mCASkB;AAEX,MAAM,kBAAkB,GAAG,KAAK,EACrC,CAAQ,EACR,IAAe,EACf,
|
|
1
|
+
{"version":3,"file":"parseBitcoinErrors.js","sourceRoot":"","sources":["../../../src/errors/parseBitcoinErrors.ts"],"names":[],"mappings":";;;AAAA,mCASkB;AAEX,MAAM,kBAAkB,GAAG,KAAK,EACrC,CAAQ,EACR,IAAe,EACf,MAAwB,EACL,EAAE;IACrB,IAAI,CAAC,YAAY,cAAQ,EAAE,CAAC;QAC1B,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,IAAI,CAAA;QACvB,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,MAAM,CAAA;QAC7B,OAAO,CAAC,CAAA;IACV,CAAC;IAED,MAAM,SAAS,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAA;IAEzC,OAAO,IAAI,cAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;AAC9C,CAAC,CAAA;AAdY,QAAA,kBAAkB,sBAc9B;AAED,MAAM,oBAAoB,GAAG,CAAC,CAAM,EAAE,EAAE;IAEtC,IACE,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC;QACjC,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EACxC,CAAC;QACD,OAAO,IAAI,sBAAgB,CACzB,mBAAa,CAAC,mBAAmB,EACjC,wIAAwI,EACxI,CAAC,CACF,CAAA;IACH,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5E,OAAO,IAAI,sBAAgB,CAAC,mBAAa,CAAC,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;IAC5E,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC5D,OAAO,IAAI,sBAAgB,CAAC,mBAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;IACnE,CAAC;IAED,IAAI,CAAC,YAAY,eAAS,EAAE,CAAC;QAC3B,OAAO,CAAC,CAAA;IACV,CAAC;IAED,OAAO,IAAI,kBAAY,CAAC,CAAC,CAAC,OAAO,IAAI,kBAAY,CAAC,YAAY,EAAE,CAAC,CAAC,CAAA;AACpE,CAAC,CAAA"}
|
package/dist/cjs/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export declare const name = "@lifi/sdk-provider-bitcoin";
|
|
2
|
-
export declare const version = "4.0.0-alpha.
|
|
2
|
+
export declare const version = "4.0.0-alpha.9";
|
package/dist/cjs/version.js
CHANGED
|
@@ -25,31 +25,30 @@ export class BitcoinStepExecutor extends BaseStepExecutor {
|
|
|
25
25
|
const fromChain = await client.getChainById(step.action.fromChainId);
|
|
26
26
|
const toChain = await client.getChainById(step.action.toChainId);
|
|
27
27
|
const isBridgeExecution = fromChain.id !== toChain.id;
|
|
28
|
-
const
|
|
29
|
-
let
|
|
28
|
+
const currentActionType = isBridgeExecution ? 'CROSS_CHAIN' : 'SWAP';
|
|
29
|
+
let action = this.statusManager.findOrCreateAction({
|
|
30
30
|
step,
|
|
31
|
-
type:
|
|
31
|
+
type: currentActionType,
|
|
32
32
|
chainId: fromChain.id,
|
|
33
33
|
});
|
|
34
34
|
const publicClient = await getBitcoinPublicClient(client, ChainId.BTC);
|
|
35
|
-
if (
|
|
35
|
+
if (action.status !== 'DONE') {
|
|
36
36
|
try {
|
|
37
37
|
let txHash;
|
|
38
38
|
let txHex;
|
|
39
|
-
if (
|
|
39
|
+
if (action.txHash) {
|
|
40
40
|
// Make sure that the chain is still correct
|
|
41
41
|
this.checkClient(step);
|
|
42
42
|
// Wait for exiting transaction
|
|
43
|
-
txHash =
|
|
44
|
-
txHex =
|
|
43
|
+
txHash = action.txHash;
|
|
44
|
+
txHex = action.txHex;
|
|
45
45
|
}
|
|
46
46
|
else {
|
|
47
|
-
|
|
47
|
+
action = this.statusManager.updateAction(step, action.type, 'STARTED');
|
|
48
48
|
// Check balance
|
|
49
49
|
await checkBalance(client, this.client.account.address, step);
|
|
50
50
|
// Create new transaction
|
|
51
51
|
if (!step.transactionRequest) {
|
|
52
|
-
// biome-ignore lint/correctness/noUnusedVariables: destructuring
|
|
53
52
|
const { execution, ...stepBase } = step;
|
|
54
53
|
const updatedStep = await getStepTransaction(client, stepBase);
|
|
55
54
|
const comparedStep = await stepComparison(this.statusManager, step, updatedStep, this.allowUserInteraction, this.executionOptions);
|
|
@@ -61,7 +60,7 @@ export class BitcoinStepExecutor extends BaseStepExecutor {
|
|
|
61
60
|
if (!step.transactionRequest?.data) {
|
|
62
61
|
throw new TransactionError(LiFiErrorCode.TransactionUnprepared, 'Unable to prepare transaction.');
|
|
63
62
|
}
|
|
64
|
-
|
|
63
|
+
action = this.statusManager.updateAction(step, action.type, 'ACTION_REQUIRED');
|
|
65
64
|
if (!this.allowUserInteraction) {
|
|
66
65
|
return step;
|
|
67
66
|
}
|
|
@@ -160,7 +159,7 @@ export class BitcoinStepExecutor extends BaseStepExecutor {
|
|
|
160
159
|
txHash = await publicClient.sendUTXOTransaction({
|
|
161
160
|
hex: txHex,
|
|
162
161
|
});
|
|
163
|
-
|
|
162
|
+
action = this.statusManager.updateAction(step, action.type, 'PENDING', {
|
|
164
163
|
txHash: txHash,
|
|
165
164
|
txLink: `${fromChain.metamask.blockExplorerUrls[0]}tx/${txHash}`,
|
|
166
165
|
txHex,
|
|
@@ -173,7 +172,7 @@ export class BitcoinStepExecutor extends BaseStepExecutor {
|
|
|
173
172
|
senderAddress: this.client.account?.address,
|
|
174
173
|
onReplaced: (response) => {
|
|
175
174
|
replacementReason = response.reason;
|
|
176
|
-
|
|
175
|
+
action = this.statusManager.updateAction(step, action.type, 'PENDING', {
|
|
177
176
|
txHash: response.transaction.txid,
|
|
178
177
|
txLink: `${fromChain.metamask.blockExplorerUrls[0]}tx/${response.transaction.txid}`,
|
|
179
178
|
});
|
|
@@ -183,28 +182,27 @@ export class BitcoinStepExecutor extends BaseStepExecutor {
|
|
|
183
182
|
throw new TransactionError(LiFiErrorCode.TransactionCanceled, 'User canceled transaction.');
|
|
184
183
|
}
|
|
185
184
|
if (transaction.txid !== txHash) {
|
|
186
|
-
|
|
185
|
+
action = this.statusManager.updateAction(step, action.type, 'PENDING', {
|
|
187
186
|
txHash: transaction.txid,
|
|
188
187
|
txLink: `${fromChain.metamask.blockExplorerUrls[0]}tx/${transaction.txid}`,
|
|
189
188
|
});
|
|
190
189
|
}
|
|
191
190
|
if (isBridgeExecution) {
|
|
192
|
-
|
|
191
|
+
action = this.statusManager.updateAction(step, action.type, 'DONE');
|
|
193
192
|
}
|
|
194
193
|
}
|
|
195
194
|
catch (e) {
|
|
196
|
-
const error = await parseBitcoinErrors(e, step,
|
|
197
|
-
|
|
195
|
+
const error = await parseBitcoinErrors(e, step, action);
|
|
196
|
+
action = this.statusManager.updateAction(step, action.type, 'FAILED', {
|
|
198
197
|
error: {
|
|
199
198
|
message: error.cause.message,
|
|
200
199
|
code: error.code,
|
|
201
200
|
},
|
|
202
201
|
});
|
|
203
|
-
this.statusManager.updateExecution(step, 'FAILED');
|
|
204
202
|
throw error;
|
|
205
203
|
}
|
|
206
204
|
}
|
|
207
|
-
await waitForDestinationChainTransaction(client, step,
|
|
205
|
+
await waitForDestinationChainTransaction(client, step, action, fromChain, toChain, this.statusManager, 10_000);
|
|
208
206
|
// DONE
|
|
209
207
|
return step;
|
|
210
208
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BitcoinStepExecutor.js","sourceRoot":"","sources":["../../src/BitcoinStepExecutor.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,cAAc,EACd,eAAe,EACf,QAAQ,EACR,kBAAkB,EAClB,WAAW,GACZ,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAA;AAC9C,OAAO,EACL,gBAAgB,EAChB,OAAO,EACP,YAAY,EACZ,kBAAkB,EAClB,aAAa,EAIb,cAAc,EACd,gBAAgB,EAEhB,kCAAkC,GACnC,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAM5C,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;IAED,WAAW,GAAG,KAAK,EACjB,MAAiB,EACjB,IAAsB,EACK,EAAE;QAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAA;QAE7D,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QACpE,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QAEhE,MAAM,iBAAiB,GAAG,SAAS,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAA;QACrD,MAAM,
|
|
1
|
+
{"version":3,"file":"BitcoinStepExecutor.js","sourceRoot":"","sources":["../../src/BitcoinStepExecutor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
export declare const parseBitcoinErrors: (e: Error, step?: LiFiStep,
|
|
1
|
+
import { type ExecutionAction, type LiFiStep, SDKError } from '@lifi/sdk';
|
|
2
|
+
export declare const parseBitcoinErrors: (e: Error, step?: LiFiStep, action?: ExecutionAction) => Promise<SDKError>;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { BaseError, ErrorMessage, LiFiErrorCode, SDKError, TransactionError, UnknownError, } from '@lifi/sdk';
|
|
2
|
-
export const parseBitcoinErrors = async (e, step,
|
|
2
|
+
export const parseBitcoinErrors = async (e, step, action) => {
|
|
3
3
|
if (e instanceof SDKError) {
|
|
4
4
|
e.step = e.step ?? step;
|
|
5
|
-
e.
|
|
5
|
+
e.action = e.action ?? action;
|
|
6
6
|
return e;
|
|
7
7
|
}
|
|
8
8
|
const baseError = handleSpecificErrors(e);
|
|
9
|
-
return new SDKError(baseError, step,
|
|
9
|
+
return new SDKError(baseError, step, action);
|
|
10
10
|
};
|
|
11
11
|
const handleSpecificErrors = (e) => {
|
|
12
12
|
// txn-mempool-conflict
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseBitcoinErrors.js","sourceRoot":"","sources":["../../../src/errors/parseBitcoinErrors.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,YAAY,
|
|
1
|
+
{"version":3,"file":"parseBitcoinErrors.js","sourceRoot":"","sources":["../../../src/errors/parseBitcoinErrors.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,YAAY,EAEZ,aAAa,EAEb,QAAQ,EACR,gBAAgB,EAChB,YAAY,GACb,MAAM,WAAW,CAAA;AAElB,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EACrC,CAAQ,EACR,IAAe,EACf,MAAwB,EACL,EAAE;IACrB,IAAI,CAAC,YAAY,QAAQ,EAAE,CAAC;QAC1B,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,IAAI,CAAA;QACvB,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,MAAM,CAAA;QAC7B,OAAO,CAAC,CAAA;IACV,CAAC;IAED,MAAM,SAAS,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAA;IAEzC,OAAO,IAAI,QAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;AAC9C,CAAC,CAAA;AAED,MAAM,oBAAoB,GAAG,CAAC,CAAM,EAAE,EAAE;IACtC,uBAAuB;IACvB,IACE,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC;QACjC,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EACxC,CAAC;QACD,OAAO,IAAI,gBAAgB,CACzB,aAAa,CAAC,mBAAmB,EACjC,wIAAwI,EACxI,CAAC,CACF,CAAA;IACH,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5E,OAAO,IAAI,gBAAgB,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;IAC5E,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC5D,OAAO,IAAI,gBAAgB,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;IACnE,CAAC;IAED,IAAI,CAAC,YAAY,SAAS,EAAE,CAAC;QAC3B,OAAO,CAAC,CAAA;IACV,CAAC;IAED,OAAO,IAAI,YAAY,CAAC,CAAC,CAAC,OAAO,IAAI,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC,CAAA;AACpE,CAAC,CAAA"}
|
package/dist/esm/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export declare const name = "@lifi/sdk-provider-bitcoin";
|
|
2
|
-
export declare const version = "4.0.0-alpha.
|
|
2
|
+
export declare const version = "4.0.0-alpha.9";
|
package/dist/esm/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BitcoinStepExecutor.d.ts","sourceRoot":"","sources":["../../src/BitcoinStepExecutor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAqB,MAAM,aAAa,CAAA;AAU5D,OAAO,EACL,gBAAgB,EAKhB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,mBAAmB,EAKzB,MAAM,WAAW,CAAA;AAQlB,UAAU,0BAA2B,SAAQ,mBAAmB;IAC9D,MAAM,EAAE,MAAM,CAAA;CACf;AAED,qBAAa,mBAAoB,SAAQ,gBAAgB;IACvD,OAAO,CAAC,MAAM,CAAQ;gBAEV,OAAO,EAAE,0BAA0B;IAK/C,WAAW,GAAI,MAAM,gBAAgB,UASpC;IAED,WAAW,GACT,QAAQ,SAAS,EACjB,MAAM,gBAAgB,KACrB,OAAO,CAAC,gBAAgB,CAAC,
|
|
1
|
+
{"version":3,"file":"BitcoinStepExecutor.d.ts","sourceRoot":"","sources":["../../src/BitcoinStepExecutor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAqB,MAAM,aAAa,CAAA;AAU5D,OAAO,EACL,gBAAgB,EAKhB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,mBAAmB,EAKzB,MAAM,WAAW,CAAA;AAQlB,UAAU,0BAA2B,SAAQ,mBAAmB;IAC9D,MAAM,EAAE,MAAM,CAAA;CACf;AAED,qBAAa,mBAAoB,SAAQ,gBAAgB;IACvD,OAAO,CAAC,MAAM,CAAQ;gBAEV,OAAO,EAAE,0BAA0B;IAK/C,WAAW,GAAI,MAAM,gBAAgB,UASpC;IAED,WAAW,GACT,QAAQ,SAAS,EACjB,MAAM,gBAAgB,KACrB,OAAO,CAAC,gBAAgB,CAAC,CAkR3B;CACF"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
export declare const parseBitcoinErrors: (e: Error, step?: LiFiStep,
|
|
1
|
+
import { type ExecutionAction, type LiFiStep, SDKError } from '@lifi/sdk';
|
|
2
|
+
export declare const parseBitcoinErrors: (e: Error, step?: LiFiStep, action?: ExecutionAction) => Promise<SDKError>;
|
|
3
3
|
//# sourceMappingURL=parseBitcoinErrors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseBitcoinErrors.d.ts","sourceRoot":"","sources":["../../../src/errors/parseBitcoinErrors.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"parseBitcoinErrors.d.ts","sourceRoot":"","sources":["../../../src/errors/parseBitcoinErrors.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,eAAe,EAEpB,KAAK,QAAQ,EACb,QAAQ,EAGT,MAAM,WAAW,CAAA;AAElB,eAAO,MAAM,kBAAkB,GAC7B,GAAG,KAAK,EACR,OAAO,QAAQ,EACf,SAAS,eAAe,KACvB,OAAO,CAAC,QAAQ,CAUlB,CAAA"}
|
package/dist/types/version.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lifi/sdk-provider-bitcoin",
|
|
3
|
-
"version": "4.0.0-alpha.
|
|
3
|
+
"version": "4.0.0-alpha.9",
|
|
4
4
|
"description": "LI.FI Bitcoin SDK Provider for Any-to-Any Cross-Chain-Swap",
|
|
5
5
|
"homepage": "https://github.com/lifinance/sdk",
|
|
6
6
|
"bugs": {
|
|
@@ -28,11 +28,11 @@
|
|
|
28
28
|
"./package.json": "./package.json"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@bigmi/core": "^0.6.
|
|
31
|
+
"@bigmi/core": "^0.6.5",
|
|
32
32
|
"@bitcoinerlab/secp256k1": "^1.2.0",
|
|
33
33
|
"bech32": "^2.0.0",
|
|
34
|
-
"bitcoinjs-lib": "^7.0.
|
|
35
|
-
"@lifi/sdk": "4.0.0-alpha.
|
|
34
|
+
"bitcoinjs-lib": "^7.0.1",
|
|
35
|
+
"@lifi/sdk": "4.0.0-alpha.9"
|
|
36
36
|
},
|
|
37
37
|
"publishConfig": {
|
|
38
38
|
"access": "public"
|
|
@@ -62,40 +62,35 @@ export class BitcoinStepExecutor extends BaseStepExecutor {
|
|
|
62
62
|
const toChain = await client.getChainById(step.action.toChainId)
|
|
63
63
|
|
|
64
64
|
const isBridgeExecution = fromChain.id !== toChain.id
|
|
65
|
-
const
|
|
65
|
+
const currentActionType = isBridgeExecution ? 'CROSS_CHAIN' : 'SWAP'
|
|
66
66
|
|
|
67
|
-
let
|
|
67
|
+
let action = this.statusManager.findOrCreateAction({
|
|
68
68
|
step,
|
|
69
|
-
type:
|
|
69
|
+
type: currentActionType,
|
|
70
70
|
chainId: fromChain.id,
|
|
71
71
|
})
|
|
72
72
|
|
|
73
73
|
const publicClient = await getBitcoinPublicClient(client, ChainId.BTC)
|
|
74
74
|
|
|
75
|
-
if (
|
|
75
|
+
if (action.status !== 'DONE') {
|
|
76
76
|
try {
|
|
77
77
|
let txHash: string
|
|
78
78
|
let txHex: string
|
|
79
|
-
if (
|
|
79
|
+
if (action.txHash) {
|
|
80
80
|
// Make sure that the chain is still correct
|
|
81
81
|
this.checkClient(step)
|
|
82
82
|
|
|
83
83
|
// Wait for exiting transaction
|
|
84
|
-
txHash =
|
|
85
|
-
txHex =
|
|
84
|
+
txHash = action.txHash
|
|
85
|
+
txHex = action.txHex
|
|
86
86
|
} else {
|
|
87
|
-
|
|
88
|
-
step,
|
|
89
|
-
process.type,
|
|
90
|
-
'STARTED'
|
|
91
|
-
)
|
|
87
|
+
action = this.statusManager.updateAction(step, action.type, 'STARTED')
|
|
92
88
|
|
|
93
89
|
// Check balance
|
|
94
90
|
await checkBalance(client, this.client.account!.address, step)
|
|
95
91
|
|
|
96
92
|
// Create new transaction
|
|
97
93
|
if (!step.transactionRequest) {
|
|
98
|
-
// biome-ignore lint/correctness/noUnusedVariables: destructuring
|
|
99
94
|
const { execution, ...stepBase } = step
|
|
100
95
|
const updatedStep = await getStepTransaction(client, stepBase)
|
|
101
96
|
const comparedStep = await stepComparison(
|
|
@@ -118,9 +113,9 @@ export class BitcoinStepExecutor extends BaseStepExecutor {
|
|
|
118
113
|
)
|
|
119
114
|
}
|
|
120
115
|
|
|
121
|
-
|
|
116
|
+
action = this.statusManager.updateAction(
|
|
122
117
|
step,
|
|
123
|
-
|
|
118
|
+
action.type,
|
|
124
119
|
'ACTION_REQUIRED'
|
|
125
120
|
)
|
|
126
121
|
|
|
@@ -257,9 +252,9 @@ export class BitcoinStepExecutor extends BaseStepExecutor {
|
|
|
257
252
|
hex: txHex,
|
|
258
253
|
})
|
|
259
254
|
|
|
260
|
-
|
|
255
|
+
action = this.statusManager.updateAction(
|
|
261
256
|
step,
|
|
262
|
-
|
|
257
|
+
action.type,
|
|
263
258
|
'PENDING',
|
|
264
259
|
{
|
|
265
260
|
txHash: txHash,
|
|
@@ -276,9 +271,9 @@ export class BitcoinStepExecutor extends BaseStepExecutor {
|
|
|
276
271
|
senderAddress: this.client.account?.address,
|
|
277
272
|
onReplaced: (response) => {
|
|
278
273
|
replacementReason = response.reason
|
|
279
|
-
|
|
274
|
+
action = this.statusManager.updateAction(
|
|
280
275
|
step,
|
|
281
|
-
|
|
276
|
+
action.type,
|
|
282
277
|
'PENDING',
|
|
283
278
|
{
|
|
284
279
|
txHash: response.transaction.txid,
|
|
@@ -296,9 +291,9 @@ export class BitcoinStepExecutor extends BaseStepExecutor {
|
|
|
296
291
|
}
|
|
297
292
|
|
|
298
293
|
if (transaction.txid !== txHash) {
|
|
299
|
-
|
|
294
|
+
action = this.statusManager.updateAction(
|
|
300
295
|
step,
|
|
301
|
-
|
|
296
|
+
action.type,
|
|
302
297
|
'PENDING',
|
|
303
298
|
{
|
|
304
299
|
txHash: transaction.txid,
|
|
@@ -308,22 +303,16 @@ export class BitcoinStepExecutor extends BaseStepExecutor {
|
|
|
308
303
|
}
|
|
309
304
|
|
|
310
305
|
if (isBridgeExecution) {
|
|
311
|
-
|
|
306
|
+
action = this.statusManager.updateAction(step, action.type, 'DONE')
|
|
312
307
|
}
|
|
313
308
|
} catch (e: any) {
|
|
314
|
-
const error = await parseBitcoinErrors(e, step,
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
message: error.cause.message,
|
|
322
|
-
code: error.code,
|
|
323
|
-
},
|
|
324
|
-
}
|
|
325
|
-
)
|
|
326
|
-
this.statusManager.updateExecution(step, 'FAILED')
|
|
309
|
+
const error = await parseBitcoinErrors(e, step, action)
|
|
310
|
+
action = this.statusManager.updateAction(step, action.type, 'FAILED', {
|
|
311
|
+
error: {
|
|
312
|
+
message: error.cause.message,
|
|
313
|
+
code: error.code,
|
|
314
|
+
},
|
|
315
|
+
})
|
|
327
316
|
throw error
|
|
328
317
|
}
|
|
329
318
|
}
|
|
@@ -331,7 +320,7 @@ export class BitcoinStepExecutor extends BaseStepExecutor {
|
|
|
331
320
|
await waitForDestinationChainTransaction(
|
|
332
321
|
client,
|
|
333
322
|
step,
|
|
334
|
-
|
|
323
|
+
action,
|
|
335
324
|
fromChain,
|
|
336
325
|
toChain,
|
|
337
326
|
this.statusManager,
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
BaseError,
|
|
3
3
|
ErrorMessage,
|
|
4
|
+
type ExecutionAction,
|
|
4
5
|
LiFiErrorCode,
|
|
5
6
|
type LiFiStep,
|
|
6
|
-
type Process,
|
|
7
7
|
SDKError,
|
|
8
8
|
TransactionError,
|
|
9
9
|
UnknownError,
|
|
@@ -12,17 +12,17 @@ import {
|
|
|
12
12
|
export const parseBitcoinErrors = async (
|
|
13
13
|
e: Error,
|
|
14
14
|
step?: LiFiStep,
|
|
15
|
-
|
|
15
|
+
action?: ExecutionAction
|
|
16
16
|
): Promise<SDKError> => {
|
|
17
17
|
if (e instanceof SDKError) {
|
|
18
18
|
e.step = e.step ?? step
|
|
19
|
-
e.
|
|
19
|
+
e.action = e.action ?? action
|
|
20
20
|
return e
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
const baseError = handleSpecificErrors(e)
|
|
24
24
|
|
|
25
|
-
return new SDKError(baseError, step,
|
|
25
|
+
return new SDKError(baseError, step, action)
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
const handleSpecificErrors = (e: any) => {
|
package/src/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export const name = '@lifi/sdk-provider-bitcoin'
|
|
2
|
-
export const version = '4.0.0-alpha.
|
|
2
|
+
export const version = '4.0.0-alpha.9'
|