@bsv/sdk 1.8.9 → 1.8.11
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/package.json +1 -1
- package/dist/cjs/src/primitives/utils.js +19 -1
- package/dist/cjs/src/primitives/utils.js.map +1 -1
- package/dist/cjs/src/script/templates/P2PKH.js +2 -7
- package/dist/cjs/src/script/templates/P2PKH.js.map +1 -1
- package/dist/cjs/src/script/templates/PushDrop.js +3 -8
- package/dist/cjs/src/script/templates/PushDrop.js.map +1 -1
- package/dist/cjs/src/transaction/Beef.js +3 -7
- package/dist/cjs/src/transaction/Beef.js.map +1 -1
- package/dist/cjs/src/transaction/Transaction.js +3 -3
- package/dist/cjs/src/transaction/Transaction.js.map +1 -1
- package/dist/cjs/src/wallet/WERR_INSUFFICIENT_FUNDS.js +26 -0
- package/dist/cjs/src/wallet/WERR_INSUFFICIENT_FUNDS.js.map +1 -0
- package/dist/cjs/src/wallet/WERR_INVALID_PARAMETER.js +20 -0
- package/dist/cjs/src/wallet/WERR_INVALID_PARAMETER.js.map +1 -0
- package/dist/cjs/src/wallet/WalletClient.js +23 -0
- package/dist/cjs/src/wallet/WalletClient.js.map +1 -1
- package/dist/cjs/src/wallet/WalletError.js +55 -0
- package/dist/cjs/src/wallet/WalletError.js.map +1 -1
- package/dist/cjs/src/wallet/index.js +18 -1
- package/dist/cjs/src/wallet/index.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js +28 -11
- package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
- package/dist/cjs/src/wallet/validationHelpers.js +920 -0
- package/dist/cjs/src/wallet/validationHelpers.js.map +1 -0
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/src/primitives/utils.js +17 -0
- package/dist/esm/src/primitives/utils.js.map +1 -1
- package/dist/esm/src/script/templates/P2PKH.js +3 -8
- package/dist/esm/src/script/templates/P2PKH.js.map +1 -1
- package/dist/esm/src/script/templates/PushDrop.js +3 -8
- package/dist/esm/src/script/templates/PushDrop.js.map +1 -1
- package/dist/esm/src/transaction/Beef.js +4 -8
- package/dist/esm/src/transaction/Beef.js.map +1 -1
- package/dist/esm/src/transaction/Transaction.js +3 -3
- package/dist/esm/src/transaction/Transaction.js.map +1 -1
- package/dist/esm/src/wallet/WERR_INSUFFICIENT_FUNDS.js +25 -0
- package/dist/esm/src/wallet/WERR_INSUFFICIENT_FUNDS.js.map +1 -0
- package/dist/esm/src/wallet/WERR_INVALID_PARAMETER.js +18 -0
- package/dist/esm/src/wallet/WERR_INVALID_PARAMETER.js.map +1 -0
- package/dist/esm/src/wallet/WalletClient.js +23 -0
- package/dist/esm/src/wallet/WalletClient.js.map +1 -1
- package/dist/esm/src/wallet/WalletError.js +55 -0
- package/dist/esm/src/wallet/WalletError.js.map +1 -1
- package/dist/esm/src/wallet/index.js +3 -0
- package/dist/esm/src/wallet/index.js.map +1 -1
- package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js +25 -11
- package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
- package/dist/esm/src/wallet/validationHelpers.js +859 -0
- package/dist/esm/src/wallet/validationHelpers.js.map +1 -0
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/types/src/primitives/utils.d.ts +13 -0
- package/dist/types/src/primitives/utils.d.ts.map +1 -1
- package/dist/types/src/script/templates/P2PKH.d.ts.map +1 -1
- package/dist/types/src/script/templates/PushDrop.d.ts.map +1 -1
- package/dist/types/src/transaction/Beef.d.ts +1 -0
- package/dist/types/src/transaction/Beef.d.ts.map +1 -1
- package/dist/types/src/wallet/WERR_INSUFFICIENT_FUNDS.d.ts +19 -0
- package/dist/types/src/wallet/WERR_INSUFFICIENT_FUNDS.d.ts.map +1 -0
- package/dist/types/src/wallet/WERR_INVALID_PARAMETER.d.ts +13 -0
- package/dist/types/src/wallet/WERR_INVALID_PARAMETER.d.ts.map +1 -0
- package/dist/types/src/wallet/WalletClient.d.ts.map +1 -1
- package/dist/types/src/wallet/WalletError.d.ts +14 -1
- package/dist/types/src/wallet/WalletError.d.ts.map +1 -1
- package/dist/types/src/wallet/index.d.ts +3 -0
- package/dist/types/src/wallet/index.d.ts.map +1 -1
- package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts.map +1 -1
- package/dist/types/src/wallet/validationHelpers.d.ts +512 -0
- package/dist/types/src/wallet/validationHelpers.d.ts.map +1 -0
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/dist/umd/bundle.js +4 -4
- package/dist/umd/bundle.js.map +1 -1
- package/docs/reference/wallet.md +1808 -400
- package/package.json +1 -1
- package/src/primitives/__tests/utils.test.ts +27 -1
- package/src/primitives/utils.ts +17 -0
- package/src/script/__tests/Spend.test.ts +74 -1
- package/src/script/__tests/SpendComplex.test.ts +5 -9
- package/src/script/templates/P2PKH.ts +3 -8
- package/src/script/templates/PushDrop.ts +3 -7
- package/src/transaction/Beef.ts +5 -8
- package/src/transaction/Transaction.ts +3 -3
- package/src/wallet/WERR_INSUFFICIENT_FUNDS.ts +25 -0
- package/src/wallet/WERR_INVALID_PARAMETER.ts +20 -0
- package/src/wallet/WalletClient.ts +30 -0
- package/src/wallet/WalletError.ts +52 -0
- package/src/wallet/__tests/WalletClient.test.ts +31 -0
- package/src/wallet/index.ts +3 -0
- package/src/wallet/substrates/HTTPWalletJSON.ts +19 -9
- package/src/wallet/validationHelpers.ts +1211 -0
|
@@ -12,6 +12,59 @@ export class WalletError extends Error {
|
|
|
12
12
|
Error.captureStackTrace(this, this.constructor);
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* Safely serializes a WalletError (including special cases), Error or unknown error to JSON.
|
|
17
|
+
*
|
|
18
|
+
* Safely means avoiding deep, large, circular issues.
|
|
19
|
+
*
|
|
20
|
+
* Example deserialization can be found in HTTPWalletJSON.ts of bsv ts-sdk.
|
|
21
|
+
*
|
|
22
|
+
* @param error
|
|
23
|
+
* @returns stringified JSON representation of the error such that it can be deserialized to a WalletError.
|
|
24
|
+
*/
|
|
25
|
+
static unknownToJson(error) {
|
|
26
|
+
let e;
|
|
27
|
+
if (typeof error.constructor.name === 'string' && String(error.constructor.name).startsWith('WERR_')) {
|
|
28
|
+
e = {
|
|
29
|
+
name: error.constructor.name,
|
|
30
|
+
message: error.message,
|
|
31
|
+
isError: true
|
|
32
|
+
};
|
|
33
|
+
if (e.name === 'WERR_REVIEW_ACTIONS') {
|
|
34
|
+
e.reviewActionResults = error.reviewActionResults;
|
|
35
|
+
e.sendWithResults = error.sendWithResults;
|
|
36
|
+
e.txid = error.txid;
|
|
37
|
+
e.tx = error.tx;
|
|
38
|
+
e.noSendChange = error.noSendChange;
|
|
39
|
+
e.code = 5;
|
|
40
|
+
}
|
|
41
|
+
else if (e.name === 'WERR_INVALID_PARAMETER') {
|
|
42
|
+
e.parameter = error.parameter;
|
|
43
|
+
e.code = 6;
|
|
44
|
+
}
|
|
45
|
+
else if (e.name === 'WERR_INSUFFICIENT_FUNDS') {
|
|
46
|
+
e.totalSatoshisNeeded = error.totalSatoshisNeeded;
|
|
47
|
+
e.moreSatoshisNeeded = error.moreSatoshisNeeded;
|
|
48
|
+
e.code = 7;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
else if (error instanceof Error) {
|
|
52
|
+
e = {
|
|
53
|
+
name: error.constructor.name,
|
|
54
|
+
message: error.message,
|
|
55
|
+
isError: true
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
e = {
|
|
60
|
+
name: 'WERR_UNKNOWN',
|
|
61
|
+
message: String(error),
|
|
62
|
+
isError: true
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
const json = JSON.stringify(e);
|
|
66
|
+
return json;
|
|
67
|
+
}
|
|
15
68
|
}
|
|
16
69
|
// NOTE: Enum values must not exceed the UInt8 range (0–255)
|
|
17
70
|
export var walletErrors;
|
|
@@ -21,6 +74,8 @@ export var walletErrors;
|
|
|
21
74
|
walletErrors[walletErrors["invalidHmac"] = 3] = "invalidHmac";
|
|
22
75
|
walletErrors[walletErrors["invalidSignature"] = 4] = "invalidSignature";
|
|
23
76
|
walletErrors[walletErrors["reviewActions"] = 5] = "reviewActions";
|
|
77
|
+
walletErrors[walletErrors["invalidParameter"] = 6] = "invalidParameter";
|
|
78
|
+
walletErrors[walletErrors["insufficientFunds"] = 7] = "insufficientFunds";
|
|
24
79
|
})(walletErrors || (walletErrors = {}));
|
|
25
80
|
export default WalletError;
|
|
26
81
|
//# sourceMappingURL=WalletError.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WalletError.js","sourceRoot":"","sources":["../../../../src/wallet/WalletError.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpC,IAAI,CAAQ;IACZ,OAAO,GAAY,IAAI,CAAA;IAEvB,YAAa,OAAe,EAAE,IAAI,GAAG,CAAC,EAAE,KAAc;QACpD,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;QAEjC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE;YACzD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;SACnB;aAAM;YACL,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;SAChD;IACH,CAAC;CACF;AAED,4DAA4D;AAC5D,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"WalletError.js","sourceRoot":"","sources":["../../../../src/wallet/WalletError.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpC,IAAI,CAAQ;IACZ,OAAO,GAAY,IAAI,CAAA;IAEvB,YAAa,OAAe,EAAE,IAAI,GAAG,CAAC,EAAE,KAAc;QACpD,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;QAEjC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE;YACzD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;SACnB;aAAM;YACL,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;SAChD;IACH,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,aAAa,CAAE,KAAU;QAC9B,IAAI,CAAkB,CAAA;QACtB,IAAI,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;YACpG,CAAC,GAAG;gBACF,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,IAAI;gBAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,OAAO,EAAE,IAAI;aACd,CAAA;YACD,IAAI,CAAC,CAAC,IAAI,KAAK,qBAAqB,EAAE;gBACpC,CAAC,CAAC,mBAAmB,GAAG,KAAK,CAAC,mBAAmB,CAAA;gBACjD,CAAC,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAA;gBACzC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;gBACnB,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAA;gBACf,CAAC,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAA;gBACnC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAA;aACX;iBAAM,IAAI,CAAC,CAAC,IAAI,KAAK,wBAAwB,EAAE;gBAC9C,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAA;gBAC7B,CAAC,CAAC,IAAI,GAAG,CAAC,CAAA;aACX;iBAAM,IAAI,CAAC,CAAC,IAAI,KAAK,yBAAyB,EAAE;gBAC/C,CAAC,CAAC,mBAAmB,GAAG,KAAK,CAAC,mBAAmB,CAAA;gBACjD,CAAC,CAAC,kBAAkB,GAAG,KAAK,CAAC,kBAAkB,CAAA;gBAC/C,CAAC,CAAC,IAAI,GAAG,CAAC,CAAA;aACX;SACF;aAAM,IAAI,KAAK,YAAY,KAAK,EAAE;YACjC,CAAC,GAAG;gBACF,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,IAAI;gBAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,OAAO,EAAE,IAAI;aACd,CAAA;SACF;aAAM;YACL,CAAC,GAAG;gBACF,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC;gBACtB,OAAO,EAAE,IAAI;aACd,CAAA;SACF;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAC9B,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAED,4DAA4D;AAC5D,MAAM,CAAN,IAAY,YAQX;AARD,WAAY,YAAY;IACtB,+DAAgB,CAAA;IAChB,yEAAqB,CAAA;IACrB,6DAAe,CAAA;IACf,uEAAoB,CAAA;IACpB,iEAAiB,CAAA;IACjB,uEAAoB,CAAA;IACpB,yEAAqB,CAAA;AACvB,CAAC,EARW,YAAY,KAAZ,YAAY,QAQvB;AAID,eAAe,WAAW,CAAA"}
|
|
@@ -6,6 +6,9 @@ export { default as WalletClient } from './WalletClient.js';
|
|
|
6
6
|
// Is this an error? should it be 'walletErrors', the enum not the class?
|
|
7
7
|
export { default as WalletErrors } from './WalletError.js';
|
|
8
8
|
export { default as WERR_REVIEW_ACTIONS } from './WERR_REVIEW_ACTIONS.js';
|
|
9
|
+
export { default as WERR_INVALID_PARAMETER } from './WERR_INVALID_PARAMETER.js';
|
|
10
|
+
export { default as WERR_INSUFFICIENT_FUNDS } from './WERR_INSUFFICIENT_FUNDS.js';
|
|
9
11
|
export * from './WalletError.js';
|
|
12
|
+
export * as Validation from './validationHelpers.js';
|
|
10
13
|
export * from './substrates/index.js';
|
|
11
14
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/wallet/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACnE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAC3D,yEAAyE;AACzE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AACzE,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/wallet/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACnE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAC3D,yEAAyE;AACzE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AACzE,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAC/E,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AACjF,cAAc,kBAAkB,CAAA;AAChC,OAAO,KAAK,UAAU,MAAM,wBAAwB,CAAA;AACpD,cAAc,uBAAuB,CAAA"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { WERR_REVIEW_ACTIONS } from '../WERR_REVIEW_ACTIONS.js';
|
|
2
|
+
import { WERR_INVALID_PARAMETER } from '../WERR_INVALID_PARAMETER.js';
|
|
2
3
|
import { toOriginHeader } from './utils/toOriginHeader.js';
|
|
4
|
+
import WERR_INSUFFICIENT_FUNDS from '../WERR_INSUFFICIENT_FUNDS.js';
|
|
3
5
|
export default class HTTPWalletJSON {
|
|
4
6
|
baseUrl;
|
|
5
7
|
httpClient;
|
|
@@ -33,18 +35,30 @@ export default class HTTPWalletJSON {
|
|
|
33
35
|
const data = await res.json();
|
|
34
36
|
// Check the HTTP status on the original response
|
|
35
37
|
if (!res.ok) {
|
|
36
|
-
if (res.status === 400 && data.isError
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
38
|
+
if (res.status === 400 && data.isError) {
|
|
39
|
+
let err;
|
|
40
|
+
switch (data.code) {
|
|
41
|
+
case 5:
|
|
42
|
+
err = new WERR_REVIEW_ACTIONS(data.reviewActionResults, data.sendWithResults, data.txid, data.tx, data.noSendChange);
|
|
43
|
+
break;
|
|
44
|
+
case 6:
|
|
45
|
+
err = new WERR_INVALID_PARAMETER(data.parameter);
|
|
46
|
+
err.message = data.message;
|
|
47
|
+
break;
|
|
48
|
+
case 7:
|
|
49
|
+
err = new WERR_INSUFFICIENT_FUNDS(data.totalSatoshisNeeded, data.moreSatoshisNeeded);
|
|
50
|
+
break;
|
|
51
|
+
default: break;
|
|
52
|
+
}
|
|
53
|
+
if (err)
|
|
54
|
+
throw err;
|
|
47
55
|
}
|
|
56
|
+
const err = {
|
|
57
|
+
call,
|
|
58
|
+
args,
|
|
59
|
+
message: data.message ?? `HTTP Client error ${res.status}`
|
|
60
|
+
};
|
|
61
|
+
throw new Error(JSON.stringify(err));
|
|
48
62
|
}
|
|
49
63
|
return data;
|
|
50
64
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HTTPWalletJSON.js","sourceRoot":"","sources":["../../../../../src/wallet/substrates/HTTPWalletJSON.ts"],"names":[],"mappings":"AAqCA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"HTTPWalletJSON.js","sourceRoot":"","sources":["../../../../../src/wallet/substrates/HTTPWalletJSON.ts"],"names":[],"mappings":"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"}
|