@bsv/sdk 1.4.15 → 1.4.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/dist/cjs/mod.js +1 -0
  2. package/dist/cjs/mod.js.map +1 -1
  3. package/dist/cjs/package.json +9 -9
  4. package/dist/cjs/src/kvstore/LocalKVStore.js +279 -0
  5. package/dist/cjs/src/kvstore/LocalKVStore.js.map +1 -0
  6. package/dist/cjs/src/kvstore/index.js +9 -0
  7. package/dist/cjs/src/kvstore/index.js.map +1 -0
  8. package/dist/cjs/src/wallet/WERR_REVIEW_ACTIONS.js +29 -0
  9. package/dist/cjs/src/wallet/WERR_REVIEW_ACTIONS.js.map +1 -0
  10. package/dist/cjs/src/wallet/WalletError.js +4 -3
  11. package/dist/cjs/src/wallet/WalletError.js.map +1 -1
  12. package/dist/cjs/src/wallet/index.js +4 -1
  13. package/dist/cjs/src/wallet/index.js.map +1 -1
  14. package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js +13 -6
  15. package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
  16. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  17. package/dist/esm/mod.js +1 -0
  18. package/dist/esm/mod.js.map +1 -1
  19. package/dist/esm/src/kvstore/LocalKVStore.js +273 -0
  20. package/dist/esm/src/kvstore/LocalKVStore.js.map +1 -0
  21. package/dist/esm/src/kvstore/index.js +2 -0
  22. package/dist/esm/src/kvstore/index.js.map +1 -0
  23. package/dist/esm/src/wallet/WERR_REVIEW_ACTIONS.js +31 -0
  24. package/dist/esm/src/wallet/WERR_REVIEW_ACTIONS.js.map +1 -0
  25. package/dist/esm/src/wallet/WalletError.js +3 -2
  26. package/dist/esm/src/wallet/WalletError.js.map +1 -1
  27. package/dist/esm/src/wallet/index.js +2 -0
  28. package/dist/esm/src/wallet/index.js.map +1 -1
  29. package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js +13 -6
  30. package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
  31. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  32. package/dist/types/mod.d.ts +1 -0
  33. package/dist/types/mod.d.ts.map +1 -1
  34. package/dist/types/src/kvstore/LocalKVStore.d.ts +85 -0
  35. package/dist/types/src/kvstore/LocalKVStore.d.ts.map +1 -0
  36. package/dist/types/src/kvstore/index.d.ts +2 -0
  37. package/dist/types/src/kvstore/index.d.ts.map +1 -0
  38. package/dist/types/src/wallet/WERR_REVIEW_ACTIONS.d.ts +23 -0
  39. package/dist/types/src/wallet/WERR_REVIEW_ACTIONS.d.ts.map +1 -0
  40. package/dist/types/src/wallet/Wallet.interfaces.d.ts +22 -0
  41. package/dist/types/src/wallet/Wallet.interfaces.d.ts.map +1 -1
  42. package/dist/types/src/wallet/WalletError.d.ts +4 -3
  43. package/dist/types/src/wallet/WalletError.d.ts.map +1 -1
  44. package/dist/types/src/wallet/index.d.ts +1 -0
  45. package/dist/types/src/wallet/index.d.ts.map +1 -1
  46. package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts.map +1 -1
  47. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  48. package/dist/umd/bundle.js +1 -1
  49. package/docs/identity.md +225 -0
  50. package/docs/kvstore.md +133 -0
  51. package/docs/registry.md +383 -0
  52. package/docs/transaction.md +3 -3
  53. package/docs/wallet.md +146 -38
  54. package/mod.ts +2 -1
  55. package/package.json +19 -9
  56. package/src/kvstore/LocalKVStore.ts +287 -0
  57. package/src/kvstore/__tests/LocalKVStore.test.ts +614 -0
  58. package/src/kvstore/index.ts +1 -0
  59. package/src/wallet/WERR_REVIEW_ACTIONS.ts +30 -0
  60. package/src/wallet/Wallet.interfaces.ts +24 -0
  61. package/src/wallet/WalletError.ts +4 -2
  62. package/src/wallet/index.ts +2 -0
  63. package/src/wallet/substrates/HTTPWalletJSON.ts +12 -6
  64. package/docs/wallet-substrates.md +0 -1194
@@ -0,0 +1,273 @@
1
+ import PushDrop from '../script/templates/PushDrop.js';
2
+ import * as Utils from '../primitives/utils.js';
3
+ import WalletClient from '../wallet/WalletClient.js';
4
+ import Transaction from '../transaction/Transaction.js';
5
+ import { Beef } from '../transaction/Beef.js';
6
+ /**
7
+ * Implements a key-value storage system backed by transaction outputs managed by a wallet.
8
+ * Each key-value pair is represented by a PushDrop token output in a specific context (basket).
9
+ * Allows setting, getting, and removing key-value pairs, with optional encryption.
10
+ */
11
+ export default class LocalKVStore {
12
+ /**
13
+ * The wallet interface used to manage outputs and perform cryptographic operations.
14
+ * @private
15
+ * @readonly
16
+ */
17
+ wallet;
18
+ /**
19
+ * The context (basket name) used to namespace the key-value pairs within the wallet.
20
+ * @private
21
+ * @readonly
22
+ */
23
+ context;
24
+ /**
25
+ * Flag indicating whether values should be encrypted before storing.
26
+ * @private
27
+ * @readonly
28
+ */
29
+ encrypt;
30
+ /**
31
+ * An originator to use with PushDrop and the wallet.
32
+ * @private
33
+ * @readonly
34
+ */
35
+ originator;
36
+ /**
37
+ * Creates an instance of the localKVStore.
38
+ *
39
+ * @param {WalletInterface} [wallet=new WalletClient()] - The wallet interface to use. Defaults to a new WalletClient instance.
40
+ * @param {string} [context='kvstoredefault'] - The context (basket) for namespacing keys. Defaults to 'kvstore default'.
41
+ * @param {boolean} [encrypt=true] - Whether to encrypt values. Defaults to true.
42
+ * @param {string} [originator] — An originator to use with PushDrop and the wallet, if provided.
43
+ * @throws {Error} If the context is missing or empty.
44
+ */
45
+ constructor(wallet = new WalletClient(), context = 'kvstore default', encrypt = true, originator) {
46
+ if (typeof context !== 'string' || context.length < 1) {
47
+ throw new Error('A context in which to operate is required.');
48
+ }
49
+ this.wallet = wallet;
50
+ this.context = context;
51
+ this.encrypt = encrypt;
52
+ this.originator = originator;
53
+ }
54
+ getProtocol(key) {
55
+ return { protocolID: [2, this.context], keyID: key };
56
+ }
57
+ async getOutputs(key, limit) {
58
+ const results = await this.wallet.listOutputs({
59
+ basket: this.context,
60
+ tags: [key],
61
+ tagQueryMode: 'all',
62
+ include: 'entire transactions',
63
+ limit
64
+ });
65
+ return results;
66
+ }
67
+ /**
68
+ * Retrieves the value associated with a given key.
69
+ *
70
+ * @param {string} key - The key to retrieve the value for.
71
+ * @param {string | undefined} [defaultValue=undefined] - The value to return if the key is not found.
72
+ * @returns {Promise<string | undefined>} A promise that resolves to the value as a string,
73
+ * the defaultValue if the key is not found, or undefined if no defaultValue is provided.
74
+ * @throws {Error} If too many outputs are found for the key (ambiguous state).
75
+ * @throws {Error} If the found output's locking script cannot be decoded or represents an invalid token format.
76
+ */
77
+ async get(key, defaultValue = undefined) {
78
+ const r = await this.lookupValue(key, defaultValue, 5);
79
+ return r.value;
80
+ }
81
+ getLockingScript(output, beef) {
82
+ const [txid, vout] = output.outpoint.split('.');
83
+ const tx = beef.findTxid(txid)?.tx;
84
+ if (tx == null) {
85
+ throw new Error(`beef must contain txid ${txid}`);
86
+ }
87
+ const lockingScript = tx.outputs[Number(vout)].lockingScript;
88
+ return lockingScript;
89
+ }
90
+ async lookupValue(key, defaultValue, limit) {
91
+ const lor = await this.getOutputs(key, limit);
92
+ const r = { value: defaultValue, outpoint: undefined, lor };
93
+ const { outputs } = lor;
94
+ if (outputs.length === 0) {
95
+ return r;
96
+ }
97
+ const output = outputs.slice(-1)[0];
98
+ r.outpoint = output.outpoint;
99
+ let field;
100
+ try {
101
+ if (lor.BEEF === undefined) {
102
+ throw new Error('entire transactions listOutputs option must return valid BEEF');
103
+ }
104
+ const lockingScript = this.getLockingScript(output, Beef.fromBinary(lor.BEEF));
105
+ const decoded = PushDrop.decode(lockingScript);
106
+ if (decoded.fields.length < 1 || decoded.fields.length > 2) {
107
+ throw new Error('Invalid token.');
108
+ }
109
+ field = decoded.fields[0];
110
+ }
111
+ catch (_) {
112
+ throw new Error(`Invalid value found. You need to call set to collapse the corrupted state (or relinquish the corrupted ${outputs[0].outpoint} output from the ${this.context} basket) before you can get this value again.`);
113
+ }
114
+ if (!this.encrypt) {
115
+ r.value = Utils.toUTF8(field);
116
+ }
117
+ else {
118
+ const { plaintext } = await this.wallet.decrypt({
119
+ ...this.getProtocol(key),
120
+ ciphertext: field
121
+ });
122
+ r.value = Utils.toUTF8(plaintext);
123
+ }
124
+ return r;
125
+ }
126
+ getInputs(outputs) {
127
+ const inputs = [];
128
+ for (let i = 0; i < outputs.length; i++) {
129
+ inputs.push({
130
+ outpoint: outputs[i].outpoint,
131
+ unlockingScriptLength: 74,
132
+ inputDescription: 'Previous key-value token'
133
+ });
134
+ }
135
+ return inputs;
136
+ }
137
+ async getSpends(key, outputs, pushdrop, atomicBEEF) {
138
+ const p = this.getProtocol(key);
139
+ const tx = Transaction.fromAtomicBEEF(atomicBEEF);
140
+ const spends = {};
141
+ for (let i = 0; i < outputs.length; i++) {
142
+ const unlocker = pushdrop.unlock(p.protocolID, p.keyID, 'self');
143
+ const unlockingScript = await unlocker.sign(tx, i);
144
+ spends[i] = {
145
+ unlockingScript: unlockingScript.toHex()
146
+ };
147
+ }
148
+ return spends;
149
+ }
150
+ /**
151
+ * Sets or updates the value associated with a given key.
152
+ * If the key already exists (one or more outputs found), it spends the existing output(s)
153
+ * and creates a new one with the updated value. If multiple outputs exist for the key,
154
+ * they are collapsed into a single new output.
155
+ * If the key does not exist, it creates a new output.
156
+ * Handles encryption if enabled.
157
+ * If signing the update/collapse transaction fails, it relinquishes the original outputs and starts over with a new chain.
158
+ *
159
+ * @param {string} key - The key to set or update.
160
+ * @param {string} value - The value to associate with the key.
161
+ * @returns {Promise<OutpointString>} A promise that resolves to the outpoint string (txid.vout) of the new or updated token output.
162
+ */
163
+ async set(key, value) {
164
+ const current = await this.lookupValue(key, undefined, 10);
165
+ if (current.value === value) {
166
+ if (current.outpoint === undefined) {
167
+ throw new Error('outpoint must be valid when value is valid and unchanged');
168
+ }
169
+ // Don't create a new transaction if the value doesn't need to change...
170
+ return current.outpoint;
171
+ }
172
+ const protocol = this.getProtocol(key);
173
+ let valueAsArray = Utils.toArray(value, 'utf8');
174
+ if (this.encrypt) {
175
+ const { ciphertext } = await this.wallet.encrypt({
176
+ ...protocol,
177
+ plaintext: valueAsArray
178
+ });
179
+ valueAsArray = ciphertext;
180
+ }
181
+ const pushdrop = new PushDrop(this.wallet, this.originator);
182
+ const lockingScript = await pushdrop.lock([valueAsArray], protocol.protocolID, protocol.keyID, 'self');
183
+ const { outputs, BEEF: inputBEEF } = current.lor;
184
+ let outpoint;
185
+ try {
186
+ const inputs = this.getInputs(outputs);
187
+ const { txid, signableTransaction } = await this.wallet.createAction({
188
+ description: `Update ${key} in ${this.context}`,
189
+ inputBEEF,
190
+ inputs,
191
+ outputs: [{
192
+ basket: this.context,
193
+ tags: [key],
194
+ lockingScript: lockingScript.toHex(),
195
+ satoshis: 1,
196
+ outputDescription: 'Key-value token'
197
+ }],
198
+ options: {
199
+ acceptDelayedBroadcast: false,
200
+ randomizeOutputs: false
201
+ }
202
+ });
203
+ if (outputs.length > 0 && typeof signableTransaction !== 'object') {
204
+ throw new Error('Wallet did not return a signable transaction when expected.');
205
+ }
206
+ if (signableTransaction == null) {
207
+ outpoint = `${txid}.0`;
208
+ }
209
+ else {
210
+ const spends = await this.getSpends(key, outputs, pushdrop, signableTransaction.tx);
211
+ const { txid } = await this.wallet.signAction({
212
+ reference: signableTransaction.reference,
213
+ spends
214
+ });
215
+ outpoint = `${txid}.0`;
216
+ }
217
+ }
218
+ catch (_) {
219
+ throw new Error(`There are ${outputs.length} outputs with tag ${key} that cannot be unlocked.`);
220
+ }
221
+ return outpoint;
222
+ }
223
+ /**
224
+ * Removes the key-value pair associated with the given key.
225
+ * It finds the existing output(s) for the key and spends them without creating a new output.
226
+ * If multiple outputs exist, they are all spent in the same transaction.
227
+ * If the key does not exist, it does nothing.
228
+ * If signing the removal transaction fails, it relinquishes the original outputs instead of spending.
229
+ *
230
+ * @param {string} key - The key to remove.
231
+ * @returns {Promise<string[]>} A promise that resolves to the txids of the removal transactions if successful.
232
+ */
233
+ async remove(key) {
234
+ const txids = [];
235
+ for (;;) {
236
+ const { outputs, BEEF: inputBEEF, totalOutputs } = await this.getOutputs(key);
237
+ if (outputs.length > 0) {
238
+ const pushdrop = new PushDrop(this.wallet, this.originator);
239
+ try {
240
+ const inputs = this.getInputs(outputs);
241
+ const { signableTransaction } = await this.wallet.createAction({
242
+ description: `Remove ${key} in ${this.context}`,
243
+ inputBEEF,
244
+ inputs,
245
+ options: {
246
+ acceptDelayedBroadcast: false
247
+ }
248
+ });
249
+ if (typeof signableTransaction !== 'object') {
250
+ throw new Error('Wallet did not return a signable transaction when expected.');
251
+ }
252
+ const spends = await this.getSpends(key, outputs, pushdrop, signableTransaction.tx);
253
+ const { txid } = await this.wallet.signAction({
254
+ reference: signableTransaction.reference,
255
+ spends
256
+ });
257
+ if (txid === undefined) {
258
+ throw new Error('signAction must return a valid txid');
259
+ }
260
+ txids.push(txid);
261
+ }
262
+ catch (_) {
263
+ throw new Error(`There are ${totalOutputs} outputs with tag ${key} that cannot be unlocked.`);
264
+ }
265
+ }
266
+ if (outputs.length === totalOutputs) {
267
+ break;
268
+ }
269
+ }
270
+ return txids;
271
+ }
272
+ }
273
+ //# sourceMappingURL=LocalKVStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocalKVStore.js","sourceRoot":"","sources":["../../../../src/kvstore/LocalKVStore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { default as LocalKVStore } from './LocalKVStore.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/kvstore/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAA"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * When a `createAction` or `signAction` is completed in undelayed mode (`acceptDelayedBroadcast`: false),
3
+ * any unsucccessful result will return the results by way of this exception to ensure attention is
4
+ * paid to processing errors.
5
+ */
6
+ export class WERR_REVIEW_ACTIONS extends Error {
7
+ reviewActionResults;
8
+ sendWithResults;
9
+ txid;
10
+ tx;
11
+ noSendChange;
12
+ code;
13
+ isError = true;
14
+ /**
15
+ * All parameters correspond to their comparable `createAction` or `signSction` results
16
+ * with the exception of `reviewActionResults`;
17
+ * which contains more details, particularly for double spend results.
18
+ */
19
+ constructor(reviewActionResults, sendWithResults, txid, tx, noSendChange) {
20
+ super('Undelayed createAction or signAction results require review.');
21
+ this.reviewActionResults = reviewActionResults;
22
+ this.sendWithResults = sendWithResults;
23
+ this.txid = txid;
24
+ this.tx = tx;
25
+ this.noSendChange = noSendChange;
26
+ this.code = 5;
27
+ this.name = this.constructor.name;
28
+ }
29
+ }
30
+ export default WERR_REVIEW_ACTIONS;
31
+ //# sourceMappingURL=WERR_REVIEW_ACTIONS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WERR_REVIEW_ACTIONS.js","sourceRoot":"","sources":["../../../../src/wallet/WERR_REVIEW_ACTIONS.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAUnC;IACA;IACA;IACA;IACA;IAbT,IAAI,CAAQ;IACZ,OAAO,GAAY,IAAI,CAAA;IAEvB;;;;OAIG;IACH,YACS,mBAAyC,EACzC,eAAiC,EACjC,IAAoB,EACpB,EAAe,EACf,YAA+B;QAEtC,KAAK,CAAC,8DAA8D,CAAC,CAAA;QAN9D,wBAAmB,GAAnB,mBAAmB,CAAsB;QACzC,oBAAe,GAAf,eAAe,CAAkB;QACjC,SAAI,GAAJ,IAAI,CAAgB;QACpB,OAAE,GAAF,EAAE,CAAa;QACf,iBAAY,GAAZ,YAAY,CAAmB;QAGtC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;QACb,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IACnC,CAAC;CACF;AAED,eAAe,mBAAmB,CAAA"}
@@ -14,12 +14,13 @@ export class WalletError extends Error {
14
14
  }
15
15
  }
16
16
  // NOTE: Enum values must not exceed the UInt8 range (0–255)
17
- var walletErrors;
17
+ export var walletErrors;
18
18
  (function (walletErrors) {
19
19
  walletErrors[walletErrors["unknownError"] = 1] = "unknownError";
20
20
  walletErrors[walletErrors["unsupportedAction"] = 2] = "unsupportedAction";
21
21
  walletErrors[walletErrors["invalidHmac"] = 3] = "invalidHmac";
22
22
  walletErrors[walletErrors["invalidSignature"] = 4] = "invalidSignature";
23
+ walletErrors[walletErrors["reviewActions"] = 5] = "reviewActions";
23
24
  })(walletErrors || (walletErrors = {}));
24
- export default walletErrors;
25
+ export default WalletError;
25
26
  //# 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,IAAK,YAKJ;AALD,WAAK,YAAY;IACf,+DAAgB,CAAA;IAChB,yEAAqB,CAAA;IACrB,6DAAe,CAAA;IACf,uEAAoB,CAAA;AACtB,CAAC,EALI,YAAY,KAAZ,YAAY,QAKhB;AAED,eAAe,YAAY,CAAA"}
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,YAMX;AAND,WAAY,YAAY;IACtB,+DAAgB,CAAA;IAChB,yEAAqB,CAAA;IACrB,6DAAe,CAAA;IACf,uEAAoB,CAAA;IACpB,iEAAiB,CAAA;AACnB,CAAC,EANW,YAAY,KAAZ,YAAY,QAMvB;AAID,eAAe,WAAW,CAAA"}
@@ -3,7 +3,9 @@ export * from './KeyDeriver.js';
3
3
  export { default as CachedKeyDeriver } from './CachedKeyDeriver.js';
4
4
  export { default as ProtoWallet } from './ProtoWallet.js';
5
5
  export { default as WalletClient } from './WalletClient.js';
6
+ // Is this an error? should it be 'walletErrors', the enum not the class?
6
7
  export { default as WalletErrors } from './WalletError.js';
8
+ export { default as WERR_REVIEW_ACTIONS } from './WERR_REVIEW_ACTIONS.js';
7
9
  export * from './WalletError.js';
8
10
  export * from './substrates/index.js';
9
11
  //# 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,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC1D,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,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA"}
@@ -1,3 +1,4 @@
1
+ import { WERR_REVIEW_ACTIONS } from '../WERR_REVIEW_ACTIONS.js';
1
2
  export default class HTTPWalletJSON {
2
3
  baseUrl;
3
4
  httpClient;
@@ -20,12 +21,18 @@ export default class HTTPWalletJSON {
20
21
  const data = await res.json();
21
22
  // Check the HTTP status on the original response
22
23
  if (!res.ok) {
23
- const err = {
24
- call,
25
- args,
26
- message: data.message ?? `HTTP Client error ${res.status}`
27
- };
28
- throw new Error(JSON.stringify(err));
24
+ if (res.status === 400 && data.isError && data.code === 5) {
25
+ const err = new WERR_REVIEW_ACTIONS(data.reviewActionResults, data.sendWithResults, data.txid, data.tx, data.noSendChange);
26
+ throw err;
27
+ }
28
+ else {
29
+ const err = {
30
+ call,
31
+ args,
32
+ message: data.message ?? `HTTP Client error ${res.status}`
33
+ };
34
+ throw new Error(JSON.stringify(err));
35
+ }
29
36
  }
30
37
  return data;
31
38
  };
@@ -1 +1 @@
1
- {"version":3,"file":"HTTPWalletJSON.js","sourceRoot":"","sources":["../../../../../src/wallet/substrates/HTTPWalletJSON.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HTTPWalletJSON.js","sourceRoot":"","sources":["../../../../../src/wallet/substrates/HTTPWalletJSON.ts"],"names":[],"mappings":"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"}