hodl-wallet 2.0.6 → 2.1.0

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 (43) hide show
  1. package/README.md +9 -0
  2. package/browser/index.d.ts +1 -0
  3. package/browser/index.js +1 -0
  4. package/browser/package.json +5 -0
  5. package/dist/browser-core.d.ts +13 -0
  6. package/dist/browser-core.js +9 -0
  7. package/dist/browser-core.js.map +1 -0
  8. package/dist/environment-node.d.ts +2 -0
  9. package/dist/environment-node.js +8 -0
  10. package/dist/environment-node.js.map +1 -0
  11. package/dist/environment.d.ts +2 -0
  12. package/dist/environment.js +8 -0
  13. package/dist/environment.js.map +1 -0
  14. package/dist/index.js +5 -0
  15. package/dist/index.js.map +1 -1
  16. package/dist/network/lib/BaseNetwork.d.ts +3 -1
  17. package/dist/network/lib/BaseNetwork.js +8 -0
  18. package/dist/network/lib/BaseNetwork.js.map +1 -1
  19. package/dist/network/lib/BitcoinNetwork.d.ts +4 -1
  20. package/dist/network/lib/BitcoinNetwork.js +32 -22
  21. package/dist/network/lib/BitcoinNetwork.js.map +1 -1
  22. package/dist/network/lib/Web3Network.d.ts +3 -1
  23. package/dist/network/lib/Web3Network.js +34 -33
  24. package/dist/network/lib/Web3Network.js.map +1 -1
  25. package/dist/network/types.d.ts +5 -1
  26. package/dist/persist.d.ts +2 -1
  27. package/dist/persist.js +3 -17
  28. package/dist/persist.js.map +1 -1
  29. package/dist/sensitive-data.d.ts +2 -0
  30. package/dist/sensitive-data.js +21 -0
  31. package/dist/sensitive-data.js.map +1 -0
  32. package/dist/swap/config.d.ts +2 -2
  33. package/dist/swap/routes.d.ts +4 -4
  34. package/dist/swap/service.d.ts +3 -3
  35. package/dist/swap/service.js +14 -14
  36. package/dist/swap/service.js.map +1 -1
  37. package/dist/transfer-service.d.ts +3 -2
  38. package/dist/transfer-service.js +37 -12
  39. package/dist/transfer-service.js.map +1 -1
  40. package/dist/wallet-store.d.ts +11 -0
  41. package/dist/wallet-store.js +2 -0
  42. package/dist/wallet-store.js.map +1 -0
  43. package/package.json +105 -99
@@ -1,5 +1,5 @@
1
1
  import BaseNetwork from './BaseNetwork.js';
2
- import { Web3 } from 'web3';
2
+ import { Web3, TransactionNotFound } from 'web3';
3
3
  import { ERC20_ABI } from '../abis/erc20.js';
4
4
  import bip39 from 'bip39';
5
5
  import hdkey from 'hdkey';
@@ -87,8 +87,8 @@ export default class Web3Network extends BaseNetwork {
87
87
  decimals
88
88
  };
89
89
  }
90
- async prepareTransfer(from, to, amount, asset, options = {}) {
91
- if (!this.validateAddress(from.address) || !this.validateAddress(to)) {
90
+ async buildTransfer(from, to, amount, asset, options = {}) {
91
+ if (!this.validateAddress(from) || !this.validateAddress(to)) {
92
92
  throw new Error('Invalid EVM address.');
93
93
  }
94
94
  const configuredChainId = this.config.chainId;
@@ -100,7 +100,7 @@ export default class Web3Network extends BaseNetwork {
100
100
  throw new Error(`RPC chain ID mismatch: expected ${configuredChainId}, received ${providerChainId}.`);
101
101
  }
102
102
  const symbol = asset.toUpperCase();
103
- const balance = await this.getAssetBalance(from.address, symbol);
103
+ const balance = await this.getAssetBalance(from, symbol);
104
104
  const maximum = amount.trim().toLowerCase() === 'max';
105
105
  let amountBaseUnits = maximum ? BigInt(balance.baseUnits) : parseDecimalToUnits(amount, balance.decimals);
106
106
  if (amountBaseUnits <= 0n)
@@ -111,11 +111,11 @@ export default class Web3Network extends BaseNetwork {
111
111
  const gasPrice = options.gasPrice !== undefined
112
112
  ? BigInt(options.gasPrice)
113
113
  : await this.getGasPrice();
114
- const nonce = await this.web3.eth.getTransactionCount(from.address, 'pending');
114
+ const nonce = await this.web3.eth.getTransactionCount(from, 'pending');
115
115
  let transaction;
116
116
  if (symbol === this.config.nativeToken) {
117
117
  transaction = {
118
- from: from.address,
118
+ from: from,
119
119
  to,
120
120
  value: maximum ? '0' : amountBaseUnits.toString()
121
121
  };
@@ -127,7 +127,7 @@ export default class Web3Network extends BaseNetwork {
127
127
  }
128
128
  const contract = new this.web3.eth.Contract(ERC20_ABI, tokenConfig.address);
129
129
  transaction = {
130
- from: from.address,
130
+ from: from,
131
131
  to: tokenConfig.address,
132
132
  data: contract.methods.transfer(to, amountBaseUnits.toString()).encodeABI(),
133
133
  value: '0'
@@ -137,7 +137,7 @@ export default class Web3Network extends BaseNetwork {
137
137
  ? BigInt(options.gasLimit)
138
138
  : await this.web3.eth.estimateGas(transaction);
139
139
  const feeBaseUnits = gas * gasPrice;
140
- const nativeBalance = await this.getAssetBalance(from.address, this.config.nativeToken);
140
+ const nativeBalance = await this.getAssetBalance(from, this.config.nativeToken);
141
141
  if (maximum && symbol === this.config.nativeToken) {
142
142
  amountBaseUnits = BigInt(nativeBalance.baseUnits) - feeBaseUnits;
143
143
  if (amountBaseUnits <= 0n)
@@ -153,13 +153,24 @@ export default class Web3Network extends BaseNetwork {
153
153
  if (BigInt(nativeBalance.baseUnits) < requiredNative) {
154
154
  throw new Error(`Insufficient ${this.config.nativeToken} balance for amount and fee.`);
155
155
  }
156
- const signed = await this.web3.eth.accounts.signTransaction({
157
- ...transaction,
158
- nonce,
159
- gas,
160
- gasPrice,
161
- chainId: configuredChainId
162
- }, from.privateKey);
156
+ return {
157
+ transaction: { ...transaction, nonce, gas, gasPrice, chainId: configuredChainId, networkId: configuredChainId },
158
+ estimate: {
159
+ from, to, asset: symbol,
160
+ amount: formatUnits(amountBaseUnits, balance.decimals),
161
+ amountBaseUnits: amountBaseUnits.toString(),
162
+ fee: { asset: this.config.nativeToken, amount: formatUnits(feeBaseUnits, 18),
163
+ baseUnits: feeBaseUnits.toString(), decimals: 18, estimated: true }
164
+ }
165
+ };
166
+ }
167
+ async estimateTransfer(from, to, amount, asset, options = {}) {
168
+ return (await this.buildTransfer(from, to, amount, asset, options)).estimate;
169
+ }
170
+ async prepareTransfer(from, to, amount, asset, options = {}) {
171
+ const { estimate, transaction } = await this.buildTransfer(from.address, to, amount, asset, options);
172
+ this.checkFeeLimit(BigInt(estimate.fee.baseUnits), options.maxFeeBaseUnits);
173
+ const signed = await this.web3.eth.accounts.signTransaction(transaction, from.privateKey);
163
174
  if (!signed.rawTransaction) {
164
175
  throw new Error('Failed to create a signed transaction.');
165
176
  }
@@ -167,32 +178,17 @@ export default class Web3Network extends BaseNetwork {
167
178
  if (!transactionHash) {
168
179
  throw new Error('Failed to calculate transaction hash.');
169
180
  }
170
- return {
171
- from: from.address,
172
- to,
173
- asset: symbol,
174
- amount: formatUnits(amountBaseUnits, balance.decimals),
175
- amountBaseUnits: amountBaseUnits.toString(),
176
- fee: {
177
- asset: this.config.nativeToken,
178
- amount: formatUnits(feeBaseUnits, 18),
179
- baseUnits: feeBaseUnits.toString(),
180
- decimals: 18,
181
- estimated: true
182
- },
183
- transactionHash,
184
- rawTransaction: signed.rawTransaction
185
- };
181
+ return { ...estimate, transactionHash, rawTransaction: signed.rawTransaction };
186
182
  }
187
183
  async getTransactionStatus(transactionHash) {
188
- const receipt = await this.web3.eth.getTransactionReceipt(transactionHash);
184
+ const receipt = await this.web3.eth.getTransactionReceipt(transactionHash).catch(missingTransaction);
189
185
  if (receipt) {
190
186
  return {
191
187
  state: isFailedReceiptStatus(receipt.status) ? 'failed' : 'confirmed',
192
188
  transactionHash
193
189
  };
194
190
  }
195
- const transaction = await this.web3.eth.getTransaction(transactionHash);
191
+ const transaction = await this.web3.eth.getTransaction(transactionHash).catch(missingTransaction);
196
192
  return {
197
193
  state: transaction ? 'submitted' : 'not_found',
198
194
  transactionHash
@@ -267,4 +263,9 @@ export default class Web3Network extends BaseNetwork {
267
263
  function isFailedReceiptStatus(status) {
268
264
  return status === false || status === 0 || status === 0n || status === '0x0';
269
265
  }
266
+ function missingTransaction(error) {
267
+ if (error instanceof TransactionNotFound)
268
+ return undefined;
269
+ throw error;
270
+ }
270
271
  //# sourceMappingURL=Web3Network.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Web3Network.js","sourceRoot":"","sources":["../../../network/lib/Web3Network.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Web3Network.js","sourceRoot":"","sources":["../../../network/lib/Web3Network.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,7 @@ export type TransferOptions = {
30
30
  gasLimit?: number | bigint;
31
31
  gasPrice?: string | bigint;
32
32
  feeRate?: number;
33
+ maxFeeBaseUnits?: string;
33
34
  };
34
35
  export type SignedTransaction = {
35
36
  rawTransaction?: string;
@@ -44,13 +45,15 @@ export type AssetBalance = {
44
45
  export type FeeEstimate = AssetBalance & {
45
46
  estimated: true;
46
47
  };
47
- export type PreparedTransfer = {
48
+ export type TransferEstimate = {
48
49
  from: string;
49
50
  to: string;
50
51
  asset: string;
51
52
  amount: string;
52
53
  amountBaseUnits: string;
53
54
  fee: FeeEstimate;
55
+ };
56
+ export type PreparedTransfer = TransferEstimate & {
54
57
  transactionHash: string;
55
58
  rawTransaction: string;
56
59
  };
@@ -81,6 +84,7 @@ export interface BaseNetworkContract {
81
84
  getTokenBalances(address: string): Promise<Array<[string, string]>>;
82
85
  getAssetBalance(address: string, asset: string): Promise<AssetBalance>;
83
86
  validateAddress(address: string): boolean;
87
+ estimateTransfer(from: string, to: string, amount: string, asset: string, options?: TransferOptions): Promise<TransferEstimate>;
84
88
  prepareTransfer(from: WalletAccount, to: string, amount: string, asset: string, options?: TransferOptions): Promise<PreparedTransfer>;
85
89
  getTransactionStatus(transactionHash: string): Promise<TransactionStatus>;
86
90
  sendSignedTransaction(signedTx: SignedTransaction | string): Promise<unknown>;
package/dist/persist.d.ts CHANGED
@@ -1,10 +1,11 @@
1
1
  import Deepbase from 'deepbase';
2
+ import type { WalletStore } from './wallet-store.js';
2
3
  type PersistOptions = {
3
4
  path: string;
4
5
  encryptionKey: string;
5
6
  };
6
7
  type EncryptionKey = string | Buffer;
7
- declare class Persist extends Deepbase {
8
+ declare class Persist extends Deepbase implements WalletStore {
8
9
  private readonly encryptionKey;
9
10
  private readonly memoryKey;
10
11
  private disposed;
package/dist/persist.js CHANGED
@@ -2,12 +2,12 @@ import Deepbase from 'deepbase';
2
2
  import crypto from 'node:crypto';
3
3
  import fs from 'node:fs';
4
4
  import path from 'node:path';
5
+ import { clearSensitiveData, isSensitiveField } from './sensitive-data.js';
5
6
  const ALGORITHM = 'aes-256-gcm';
6
7
  const KEY_LENGTH = 32;
7
8
  const IV_LENGTH = 12;
8
9
  const SALT_LENGTH = 16;
9
10
  const SEALED_SECRET_VERSION = 1;
10
- const SENSITIVE_FIELDS = new Set(['privateKey', 'mnemonic', 'rawTransaction']);
11
11
  class Persist extends Deepbase {
12
12
  encryptionKey;
13
13
  memoryKey;
@@ -60,21 +60,7 @@ class Persist extends Deepbase {
60
60
  }
61
61
  }
62
62
  static clearSensitiveData(value) {
63
- if (Array.isArray(value)) {
64
- value.forEach(item => Persist.clearSensitiveData(item));
65
- return;
66
- }
67
- if (!Persist.isRecord(value)) {
68
- return;
69
- }
70
- for (const [key, item] of Object.entries(value)) {
71
- if (SENSITIVE_FIELDS.has(key)) {
72
- value[key] = '';
73
- }
74
- else {
75
- Persist.clearSensitiveData(item);
76
- }
77
- }
63
+ clearSensitiveData(value);
78
64
  }
79
65
  static encrypt(obj, encryptionKey) {
80
66
  const salt = crypto.randomBytes(SALT_LENGTH);
@@ -181,7 +167,7 @@ class Persist extends Deepbase {
181
167
  }
182
168
  static isSensitivePath(path) {
183
169
  const field = path.at(-1);
184
- return field !== undefined && SENSITIVE_FIELDS.has(field);
170
+ return field !== undefined && isSensitiveField(field);
185
171
  }
186
172
  static isRecord(value) {
187
173
  return typeof value === 'object' && value !== null && !Array.isArray(value);
@@ -1 +1 @@
1
- {"version":3,"file":"persist.js","sourceRoot":"","sources":["../persist.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"persist.js","sourceRoot":"","sources":["../persist.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function isSensitiveField(field: string): boolean;
2
+ export declare function clearSensitiveData(value: unknown): void;
@@ -0,0 +1,21 @@
1
+ const sensitiveFields = new Set(['privateKey', 'mnemonic', 'rawTransaction']);
2
+ export function isSensitiveField(field) {
3
+ return sensitiveFields.has(field);
4
+ }
5
+ export function clearSensitiveData(value) {
6
+ if (Array.isArray(value)) {
7
+ value.forEach(clearSensitiveData);
8
+ return;
9
+ }
10
+ if (typeof value !== 'object' || value === null)
11
+ return;
12
+ for (const [key, item] of Object.entries(value)) {
13
+ if (isSensitiveField(key)) {
14
+ value[key] = '';
15
+ }
16
+ else {
17
+ clearSensitiveData(item);
18
+ }
19
+ }
20
+ }
21
+ //# sourceMappingURL=sensitive-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sensitive-data.js","sourceRoot":"","sources":["../sensitive-data.ts"],"names":[],"mappings":"AAAA,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAE9E,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC1C,OAAO,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC7C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAClC,OAAO;IACX,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO;IACxD,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9C,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,KAAiC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACjD,CAAC;aAAM,CAAC;YACJ,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;IACL,CAAC;AACL,CAAC"}
@@ -1,6 +1,6 @@
1
1
  export declare const swapConfig: {
2
2
  readonly source: {
3
- NetworkClass: typeof import("../network/lib/Web3Network.js").default;
3
+ NetworkClass: typeof import("../browser-core.js").Web3Network;
4
4
  id: string;
5
5
  family: "evm";
6
6
  chainId: number;
@@ -16,7 +16,7 @@ export declare const swapConfig: {
16
16
  };
17
17
  };
18
18
  readonly destination: {
19
- NetworkClass: typeof import("../network/lib/BitcoinNetwork.js").default;
19
+ NetworkClass: typeof import("../browser-core.js").BitcoinNetwork;
20
20
  id: string;
21
21
  family: "bitcoin";
22
22
  name: string;
@@ -4,7 +4,7 @@ export declare const swapRoutes: {
4
4
  readonly id: "bsc-btc";
5
5
  readonly source: {
6
6
  network: {
7
- NetworkClass: typeof import("../network/lib/Web3Network.js").default;
7
+ NetworkClass: typeof import("../browser-core.js").Web3Network;
8
8
  id: string;
9
9
  family: "evm";
10
10
  chainId: number;
@@ -39,7 +39,7 @@ export declare const swapRoutes: {
39
39
  };
40
40
  readonly destination: {
41
41
  network: {
42
- NetworkClass: typeof import("../network/lib/BitcoinNetwork.js").default;
42
+ NetworkClass: typeof import("../browser-core.js").BitcoinNetwork;
43
43
  id: string;
44
44
  family: "bitcoin";
45
45
  name: string;
@@ -72,7 +72,7 @@ export declare const swapRoutes: {
72
72
  readonly id: "btc-bsc";
73
73
  readonly source: {
74
74
  network: {
75
- NetworkClass: typeof import("../network/lib/BitcoinNetwork.js").default;
75
+ NetworkClass: typeof import("../browser-core.js").BitcoinNetwork;
76
76
  id: string;
77
77
  family: "bitcoin";
78
78
  name: string;
@@ -102,7 +102,7 @@ export declare const swapRoutes: {
102
102
  };
103
103
  readonly destination: {
104
104
  network: {
105
- NetworkClass: typeof import("../network/lib/Web3Network.js").default;
105
+ NetworkClass: typeof import("../browser-core.js").Web3Network;
106
106
  id: string;
107
107
  family: "evm";
108
108
  chainId: number;
@@ -1,4 +1,4 @@
1
- import Persist from '../persist.js';
1
+ import type { WalletStore } from '../wallet-store.js';
2
2
  import type { SwapRoute } from './routes.js';
3
3
  import type { SwapRouteId, SwapChain, SwapPrices, SwapProvider, SwapQuote } from './types.js';
4
4
  export type SwapServiceOptions = {
@@ -7,13 +7,13 @@ export type SwapServiceOptions = {
7
7
  providers?: SwapProvider[];
8
8
  prices?: () => Promise<SwapPrices>;
9
9
  };
10
- export declare function assertNoActiveSwap(db: Persist): Promise<void>;
10
+ export declare function assertNoActiveSwap(db: WalletStore): Promise<void>;
11
11
  export declare class SwapService {
12
12
  private readonly db;
13
13
  private readonly options;
14
14
  readonly route: SwapRoute;
15
15
  private readonly prices;
16
- constructor(db: Persist, options?: SwapServiceOptions);
16
+ constructor(db: WalletStore, options?: SwapServiceOptions);
17
17
  private chain;
18
18
  private providers;
19
19
  destination(): Promise<string | null>;
@@ -1,7 +1,7 @@
1
- import crypto from 'node:crypto';
2
1
  import { AgentError } from '../agent-errors.js';
2
+ import { randomUUID } from '#environment';
3
3
  import { formatUnits, normalizeDecimal, parseDecimalToUnits } from '../amounts.js';
4
- import Persist from '../persist.js';
4
+ import { clearSensitiveData } from '../sensitive-data.js';
5
5
  import { BitcoinSwapChain } from './bitcoin.js';
6
6
  import { assetAddress, sameAssetAddress, swapRoute } from './routes.js';
7
7
  import { readSwapOperation, readSwapQuote } from './storage.js';
@@ -34,7 +34,7 @@ export async function assertNoActiveSwap(db) {
34
34
  throw new AgentError('SWAP_IN_PROGRESS', 'Finish or inspect the existing swap before another transfer.', 3, { requestId: active[0] });
35
35
  }
36
36
  finally {
37
- operations.forEach(([, operation]) => Persist.clearSensitiveData(operation));
37
+ operations.forEach(([, operation]) => clearSensitiveData(operation));
38
38
  }
39
39
  }
40
40
  export class SwapService {
@@ -62,19 +62,19 @@ export class SwapService {
62
62
  return account?.address || null;
63
63
  }
64
64
  finally {
65
- Persist.clearSensitiveData(account);
65
+ clearSensitiveData(account);
66
66
  }
67
67
  }
68
68
  async availableBalance() {
69
69
  const account = await this.source(this.route);
70
70
  const address = account.address;
71
- Persist.clearSensitiveData(account);
71
+ clearSensitiveData(account);
72
72
  return this.chain(this.route.id).availableBalance(address);
73
73
  }
74
74
  async quote(amount, destination) {
75
75
  const account = await this.source(this.route);
76
76
  const from = account.address;
77
- Persist.clearSensitiveData(account);
77
+ clearSensitiveData(account);
78
78
  const to = destination || await this.destination();
79
79
  if (!to)
80
80
  throw new AgentError('ACCOUNT_NOT_FOUND', `No ${this.route.destination.label} account configured; provide a ${this.route.destination.network.id === 'btc' ? 'Bitcoin' : 'BSC'} destination address.`, 3);
@@ -119,7 +119,7 @@ export class SwapService {
119
119
  throw new Error('Swap amount is below reference-price precision.');
120
120
  const cost = inputUsd + feeUsd - outputUsd;
121
121
  const quote = {
122
- ...input, ...offer, id: crypto.randomUUID(), createdAt: Date.now(), funding,
122
+ ...input, ...offer, id: randomUUID(), createdAt: Date.now(), funding,
123
123
  netOutputBaseUnits: (BigInt(offer.expectedBaseUnits) - feeOutput).toString(),
124
124
  costBps: Number(cost * 10000n / inputUsd), costUsd: formatUnits(cost, 8), reference
125
125
  };
@@ -148,7 +148,7 @@ export class SwapService {
148
148
  const previous = await this.db.get('swapOperation', requestId);
149
149
  if (previous) {
150
150
  const previousQuoteId = previous.quote.id;
151
- Persist.clearSensitiveData(previous);
151
+ clearSensitiveData(previous);
152
152
  if (previousQuoteId !== quoteId)
153
153
  throw new AgentError('IDEMPOTENCY_CONFLICT', 'Request ID is bound to another swap quote.', 3);
154
154
  return this.resume(requestId);
@@ -163,7 +163,7 @@ export class SwapService {
163
163
  this.assertFresh(quote);
164
164
  const operations = await this.db.entries('swapOperation') || [];
165
165
  const used = operations.some(([, operation]) => operation.quote.id === quoteId);
166
- operations.forEach(([, operation]) => Persist.clearSensitiveData(operation));
166
+ operations.forEach(([, operation]) => clearSensitiveData(operation));
167
167
  if (used) {
168
168
  throw new AgentError('IDEMPOTENCY_CONFLICT', 'This quote was already used. Resume its existing request ID.', 3);
169
169
  }
@@ -174,7 +174,7 @@ export class SwapService {
174
174
  throw new Error('Source wallet changed since quotation.');
175
175
  }
176
176
  finally {
177
- Persist.clearSensitiveData(account);
177
+ clearSensitiveData(account);
178
178
  }
179
179
  await chain.checkFunding(quote, []);
180
180
  await chain.assertAvailable(quote.from);
@@ -242,7 +242,7 @@ export class SwapService {
242
242
  step = await chain.sign(operation.quote, operation.plan, kind, account);
243
243
  }
244
244
  finally {
245
- Persist.clearSensitiveData(account);
245
+ clearSensitiveData(account);
246
246
  }
247
247
  operation.steps.push(step);
248
248
  await this.save(operation);
@@ -258,7 +258,7 @@ export class SwapService {
258
258
  return this.view(operation);
259
259
  }
260
260
  finally {
261
- Persist.clearSensitiveData(operation);
261
+ clearSensitiveData(operation);
262
262
  }
263
263
  }
264
264
  async status(requestId) {
@@ -269,7 +269,7 @@ export class SwapService {
269
269
  return this.view(operation);
270
270
  }
271
271
  finally {
272
- Persist.clearSensitiveData(operation);
272
+ clearSensitiveData(operation);
273
273
  }
274
274
  }
275
275
  async list() {
@@ -278,7 +278,7 @@ export class SwapService {
278
278
  return entries.map(([, operation]) => this.view(readSwapOperation(operation))).sort((a, b) => b.createdAt.localeCompare(a.createdAt));
279
279
  }
280
280
  finally {
281
- entries.forEach(([, operation]) => Persist.clearSensitiveData(operation));
281
+ entries.forEach(([, operation]) => clearSensitiveData(operation));
282
282
  }
283
283
  }
284
284
  async refresh(operation) {