@fuel-ts/account 0.0.0-rc-1866-20240322113439 → 0.0.0-rc-1889-20240322122653
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.
Potentially problematic release.
This version of @fuel-ts/account might be problematic. Click here for more details.
- package/dist/account-E9nGNf5X.d.mts +3837 -0
- package/dist/account-E9nGNf5X.d.ts +3837 -0
- package/dist/configs.d.mts +3 -0
- package/dist/configs.d.ts +3 -2
- package/dist/index.d.mts +904 -0
- package/dist/index.d.ts +904 -13
- package/dist/index.global.js +385 -454
- package/dist/index.global.js.map +1 -1
- package/dist/index.js +202 -248
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +202 -250
- package/dist/index.mjs.map +1 -1
- package/dist/test-utils.d.mts +66 -0
- package/dist/{test-utils/launchNode.d.ts → test-utils.d.ts} +24 -12
- package/dist/test-utils.global.js +289 -332
- package/dist/test-utils.global.js.map +1 -1
- package/dist/test-utils.js +102 -125
- package/dist/test-utils.js.map +1 -1
- package/dist/test-utils.mjs +102 -127
- package/dist/test-utils.mjs.map +1 -1
- package/package.json +21 -25
- package/dist/account.d.ts +0 -177
- package/dist/account.d.ts.map +0 -1
- package/dist/configs.d.ts.map +0 -1
- package/dist/connectors/fuel-connector.d.ts +0 -188
- package/dist/connectors/fuel-connector.d.ts.map +0 -1
- package/dist/connectors/fuel.d.ts +0 -133
- package/dist/connectors/fuel.d.ts.map +0 -1
- package/dist/connectors/index.d.ts +0 -5
- package/dist/connectors/index.d.ts.map +0 -1
- package/dist/connectors/types/connector-metadata.d.ts +0 -12
- package/dist/connectors/types/connector-metadata.d.ts.map +0 -1
- package/dist/connectors/types/connector-types.d.ts +0 -34
- package/dist/connectors/types/connector-types.d.ts.map +0 -1
- package/dist/connectors/types/data-type.d.ts +0 -34
- package/dist/connectors/types/data-type.d.ts.map +0 -1
- package/dist/connectors/types/events.d.ts +0 -111
- package/dist/connectors/types/events.d.ts.map +0 -1
- package/dist/connectors/types/index.d.ts +0 -7
- package/dist/connectors/types/index.d.ts.map +0 -1
- package/dist/connectors/types/local-storage.d.ts +0 -11
- package/dist/connectors/types/local-storage.d.ts.map +0 -1
- package/dist/connectors/types/target-object.d.ts +0 -14
- package/dist/connectors/types/target-object.d.ts.map +0 -1
- package/dist/connectors/utils/cache.d.ts +0 -14
- package/dist/connectors/utils/cache.d.ts.map +0 -1
- package/dist/connectors/utils/dispatch-fuel-connector-event.d.ts +0 -7
- package/dist/connectors/utils/dispatch-fuel-connector-event.d.ts.map +0 -1
- package/dist/connectors/utils/index.d.ts +0 -4
- package/dist/connectors/utils/index.d.ts.map +0 -1
- package/dist/connectors/utils/promises.d.ts +0 -8
- package/dist/connectors/utils/promises.d.ts.map +0 -1
- package/dist/hdwallet/hdwallet.d.ts +0 -58
- package/dist/hdwallet/hdwallet.d.ts.map +0 -1
- package/dist/hdwallet/index.d.ts +0 -2
- package/dist/hdwallet/index.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/mnemonic/index.d.ts +0 -3
- package/dist/mnemonic/index.d.ts.map +0 -1
- package/dist/mnemonic/mnemonic.d.ts +0 -85
- package/dist/mnemonic/mnemonic.d.ts.map +0 -1
- package/dist/mnemonic/utils.d.ts +0 -8
- package/dist/mnemonic/utils.d.ts.map +0 -1
- package/dist/predicate/index.d.ts +0 -3
- package/dist/predicate/index.d.ts.map +0 -1
- package/dist/predicate/predicate.d.ts +0 -94
- package/dist/predicate/predicate.d.ts.map +0 -1
- package/dist/predicate/utils/getPredicateRoot.d.ts +0 -12
- package/dist/predicate/utils/getPredicateRoot.d.ts.map +0 -1
- package/dist/predicate/utils/index.d.ts +0 -2
- package/dist/predicate/utils/index.d.ts.map +0 -1
- package/dist/providers/__generated__/operations.d.ts +0 -3477
- package/dist/providers/__generated__/operations.d.ts.map +0 -1
- package/dist/providers/assets/index.d.ts +0 -5
- package/dist/providers/assets/index.d.ts.map +0 -1
- package/dist/providers/assets/types.d.ts +0 -36
- package/dist/providers/assets/types.d.ts.map +0 -1
- package/dist/providers/assets/utils/index.d.ts +0 -4
- package/dist/providers/assets/utils/index.d.ts.map +0 -1
- package/dist/providers/assets/utils/network.d.ts +0 -33
- package/dist/providers/assets/utils/network.d.ts.map +0 -1
- package/dist/providers/assets/utils/resolveIconPaths.d.ts +0 -14
- package/dist/providers/assets/utils/resolveIconPaths.d.ts.map +0 -1
- package/dist/providers/assets/utils/url.d.ts +0 -2
- package/dist/providers/assets/utils/url.d.ts.map +0 -1
- package/dist/providers/chains.d.ts +0 -11
- package/dist/providers/chains.d.ts.map +0 -1
- package/dist/providers/coin-quantity.d.ts +0 -21
- package/dist/providers/coin-quantity.d.ts.map +0 -1
- package/dist/providers/coin.d.ts +0 -15
- package/dist/providers/coin.d.ts.map +0 -1
- package/dist/providers/fuel-graphql-subscriber.d.ts +0 -23
- package/dist/providers/fuel-graphql-subscriber.d.ts.map +0 -1
- package/dist/providers/index.d.ts +0 -13
- package/dist/providers/index.d.ts.map +0 -1
- package/dist/providers/memory-cache.d.ts +0 -11
- package/dist/providers/memory-cache.d.ts.map +0 -1
- package/dist/providers/message.d.ts +0 -60
- package/dist/providers/message.d.ts.map +0 -1
- package/dist/providers/provider.d.ts +0 -522
- package/dist/providers/provider.d.ts.map +0 -1
- package/dist/providers/resource.d.ts +0 -37
- package/dist/providers/resource.d.ts.map +0 -1
- package/dist/providers/transaction-request/create-transaction-request.d.ts +0 -73
- package/dist/providers/transaction-request/create-transaction-request.d.ts.map +0 -1
- package/dist/providers/transaction-request/errors.d.ts +0 -25
- package/dist/providers/transaction-request/errors.d.ts.map +0 -1
- package/dist/providers/transaction-request/hash-transaction.d.ts +0 -9
- package/dist/providers/transaction-request/hash-transaction.d.ts.map +0 -1
- package/dist/providers/transaction-request/index.d.ts +0 -10
- package/dist/providers/transaction-request/index.d.ts.map +0 -1
- package/dist/providers/transaction-request/input.d.ts +0 -59
- package/dist/providers/transaction-request/input.d.ts.map +0 -1
- package/dist/providers/transaction-request/output.d.ts +0 -39
- package/dist/providers/transaction-request/output.d.ts.map +0 -1
- package/dist/providers/transaction-request/script-transaction-request.d.ts +0 -106
- package/dist/providers/transaction-request/script-transaction-request.d.ts.map +0 -1
- package/dist/providers/transaction-request/scripts.d.ts +0 -6
- package/dist/providers/transaction-request/scripts.d.ts.map +0 -1
- package/dist/providers/transaction-request/storage-slot.d.ts +0 -10
- package/dist/providers/transaction-request/storage-slot.d.ts.map +0 -1
- package/dist/providers/transaction-request/transaction-request.d.ts +0 -259
- package/dist/providers/transaction-request/transaction-request.d.ts.map +0 -1
- package/dist/providers/transaction-request/types.d.ts +0 -10
- package/dist/providers/transaction-request/types.d.ts.map +0 -1
- package/dist/providers/transaction-request/utils.d.ts +0 -4
- package/dist/providers/transaction-request/utils.d.ts.map +0 -1
- package/dist/providers/transaction-request/witness.d.ts +0 -5
- package/dist/providers/transaction-request/witness.d.ts.map +0 -1
- package/dist/providers/transaction-response/getDecodedLogs.d.ts +0 -5
- package/dist/providers/transaction-response/getDecodedLogs.d.ts.map +0 -1
- package/dist/providers/transaction-response/index.d.ts +0 -3
- package/dist/providers/transaction-response/index.d.ts.map +0 -1
- package/dist/providers/transaction-response/transaction-response.d.ts +0 -106
- package/dist/providers/transaction-response/transaction-response.d.ts.map +0 -1
- package/dist/providers/transaction-summary/assemble-transaction-summary.d.ts +0 -20
- package/dist/providers/transaction-summary/assemble-transaction-summary.d.ts.map +0 -1
- package/dist/providers/transaction-summary/calculate-transaction-fee.d.ts +0 -21
- package/dist/providers/transaction-summary/calculate-transaction-fee.d.ts.map +0 -1
- package/dist/providers/transaction-summary/call.d.ts +0 -18
- package/dist/providers/transaction-summary/call.d.ts.map +0 -1
- package/dist/providers/transaction-summary/get-transaction-summary.d.ts +0 -31
- package/dist/providers/transaction-summary/get-transaction-summary.d.ts.map +0 -1
- package/dist/providers/transaction-summary/index.d.ts +0 -10
- package/dist/providers/transaction-summary/index.d.ts.map +0 -1
- package/dist/providers/transaction-summary/input.d.ts +0 -21
- package/dist/providers/transaction-summary/input.d.ts.map +0 -1
- package/dist/providers/transaction-summary/operations.d.ts +0 -40
- package/dist/providers/transaction-summary/operations.d.ts.map +0 -1
- package/dist/providers/transaction-summary/output.d.ts +0 -15
- package/dist/providers/transaction-summary/output.d.ts.map +0 -1
- package/dist/providers/transaction-summary/receipt.d.ts +0 -7
- package/dist/providers/transaction-summary/receipt.d.ts.map +0 -1
- package/dist/providers/transaction-summary/status.d.ts +0 -9
- package/dist/providers/transaction-summary/status.d.ts.map +0 -1
- package/dist/providers/transaction-summary/types.d.ts +0 -146
- package/dist/providers/transaction-summary/types.d.ts.map +0 -1
- package/dist/providers/utils/auto-retry-fetch.d.ts +0 -36
- package/dist/providers/utils/auto-retry-fetch.d.ts.map +0 -1
- package/dist/providers/utils/block-explorer.d.ts +0 -14
- package/dist/providers/utils/block-explorer.d.ts.map +0 -1
- package/dist/providers/utils/gas.d.ts +0 -38
- package/dist/providers/utils/gas.d.ts.map +0 -1
- package/dist/providers/utils/index.d.ts +0 -6
- package/dist/providers/utils/index.d.ts.map +0 -1
- package/dist/providers/utils/json.d.ts +0 -7
- package/dist/providers/utils/json.d.ts.map +0 -1
- package/dist/providers/utils/merge-quantities.d.ts +0 -3
- package/dist/providers/utils/merge-quantities.d.ts.map +0 -1
- package/dist/providers/utils/receipts.d.ts +0 -10
- package/dist/providers/utils/receipts.d.ts.map +0 -1
- package/dist/providers/utils/sleep.d.ts +0 -3
- package/dist/providers/utils/sleep.d.ts.map +0 -1
- package/dist/signer/index.d.ts +0 -2
- package/dist/signer/index.d.ts.map +0 -1
- package/dist/signer/signer.d.ts +0 -64
- package/dist/signer/signer.d.ts.map +0 -1
- package/dist/test-utils/generateTestWallet.d.ts +0 -4
- package/dist/test-utils/generateTestWallet.d.ts.map +0 -1
- package/dist/test-utils/index.d.ts +0 -4
- package/dist/test-utils/index.d.ts.map +0 -1
- package/dist/test-utils/launchNode.d.ts.map +0 -1
- package/dist/test-utils/seedTestWallet.d.ts +0 -4
- package/dist/test-utils/seedTestWallet.d.ts.map +0 -1
- package/dist/utils/formatTransferToContractScriptData.d.ts +0 -14
- package/dist/utils/formatTransferToContractScriptData.d.ts.map +0 -1
- package/dist/wallet/base-wallet-unlocked.d.ts +0 -73
- package/dist/wallet/base-wallet-unlocked.d.ts.map +0 -1
- package/dist/wallet/index.d.ts +0 -4
- package/dist/wallet/index.d.ts.map +0 -1
- package/dist/wallet/keystore-wallet.d.ts +0 -38
- package/dist/wallet/keystore-wallet.d.ts.map +0 -1
- package/dist/wallet/wallet.d.ts +0 -68
- package/dist/wallet/wallet.d.ts.map +0 -1
- package/dist/wallet/wallets.d.ts +0 -76
- package/dist/wallet/wallets.d.ts.map +0 -1
- package/dist/wallet-manager/index.d.ts +0 -6
- package/dist/wallet-manager/index.d.ts.map +0 -1
- package/dist/wallet-manager/storages/memory-storage.d.ts +0 -9
- package/dist/wallet-manager/storages/memory-storage.d.ts.map +0 -1
- package/dist/wallet-manager/types.d.ts +0 -42
- package/dist/wallet-manager/types.d.ts.map +0 -1
- package/dist/wallet-manager/vaults/mnemonic-vault.d.ts +0 -29
- package/dist/wallet-manager/vaults/mnemonic-vault.d.ts.map +0 -1
- package/dist/wallet-manager/vaults/privatekey-vault.d.ts +0 -29
- package/dist/wallet-manager/vaults/privatekey-vault.d.ts.map +0 -1
- package/dist/wallet-manager/wallet-manager.d.ts +0 -104
- package/dist/wallet-manager/wallet-manager.d.ts.map +0 -1
- package/dist/wordlists/index.d.ts +0 -5
- package/dist/wordlists/index.d.ts.map +0 -1
- package/dist/wordlists/words/english.d.ts +0 -2
- package/dist/wordlists/words/english.d.ts.map +0 -1
package/dist/index.mjs
CHANGED
@@ -1,32 +1,3 @@
|
|
1
|
-
var __defProp = Object.defineProperty;
|
2
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
3
|
-
var __publicField = (obj, key, value) => {
|
4
|
-
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
5
|
-
return value;
|
6
|
-
};
|
7
|
-
var __accessCheck = (obj, member, msg) => {
|
8
|
-
if (!member.has(obj))
|
9
|
-
throw TypeError("Cannot " + msg);
|
10
|
-
};
|
11
|
-
var __privateGet = (obj, member, getter) => {
|
12
|
-
__accessCheck(obj, member, "read from private field");
|
13
|
-
return getter ? getter.call(obj) : member.get(obj);
|
14
|
-
};
|
15
|
-
var __privateAdd = (obj, member, value) => {
|
16
|
-
if (member.has(obj))
|
17
|
-
throw TypeError("Cannot add the same private member more than once");
|
18
|
-
member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
19
|
-
};
|
20
|
-
var __privateSet = (obj, member, value, setter) => {
|
21
|
-
__accessCheck(obj, member, "write to private field");
|
22
|
-
setter ? setter.call(obj, value) : member.set(obj, value);
|
23
|
-
return value;
|
24
|
-
};
|
25
|
-
var __privateMethod = (obj, member, method) => {
|
26
|
-
__accessCheck(obj, member, "access private method");
|
27
|
-
return method;
|
28
|
-
};
|
29
|
-
|
30
1
|
// src/account.ts
|
31
2
|
import { Address as Address3 } from "@fuel-ts/address";
|
32
3
|
import { BaseAssetId as BaseAssetId3 } from "@fuel-ts/address/configs";
|
@@ -896,11 +867,12 @@ function getSdk(requester) {
|
|
896
867
|
// src/providers/fuel-graphql-subscriber.ts
|
897
868
|
import { ErrorCode, FuelError } from "@fuel-ts/errors";
|
898
869
|
import { print } from "graphql";
|
899
|
-
var
|
870
|
+
var FuelGraphqlSubscriber = class _FuelGraphqlSubscriber {
|
900
871
|
constructor(options) {
|
901
872
|
this.options = options;
|
902
873
|
}
|
903
874
|
stream;
|
875
|
+
static textDecoder = new TextDecoder();
|
904
876
|
async setStream() {
|
905
877
|
const { url, query, variables, fetchFn } = this.options;
|
906
878
|
const response = await fetchFn(`${url}-sub`, {
|
@@ -960,8 +932,6 @@ var _FuelGraphqlSubscriber = class {
|
|
960
932
|
return this;
|
961
933
|
}
|
962
934
|
};
|
963
|
-
var FuelGraphqlSubscriber = _FuelGraphqlSubscriber;
|
964
|
-
__publicField(FuelGraphqlSubscriber, "textDecoder", new TextDecoder());
|
965
935
|
|
966
936
|
// src/providers/memory-cache.ts
|
967
937
|
import { ErrorCode as ErrorCode2, FuelError as FuelError2 } from "@fuel-ts/errors";
|
@@ -1595,7 +1565,7 @@ var witnessify = (value) => {
|
|
1595
1565
|
};
|
1596
1566
|
|
1597
1567
|
// src/providers/transaction-request/transaction-request.ts
|
1598
|
-
var BaseTransactionRequest = class {
|
1568
|
+
var BaseTransactionRequest = class _BaseTransactionRequest {
|
1599
1569
|
/** Gas price for transaction */
|
1600
1570
|
gasPrice;
|
1601
1571
|
/** Block until which tx cannot be included */
|
@@ -1665,7 +1635,7 @@ var BaseTransactionRequest = class {
|
|
1665
1635
|
const inputs = this.inputs?.map(inputify) ?? [];
|
1666
1636
|
const outputs = this.outputs?.map(outputify) ?? [];
|
1667
1637
|
const witnesses = this.witnesses?.map(witnessify) ?? [];
|
1668
|
-
const { policyTypes, policies } =
|
1638
|
+
const { policyTypes, policies } = _BaseTransactionRequest.getPolicyMeta(this);
|
1669
1639
|
return {
|
1670
1640
|
policyTypes,
|
1671
1641
|
inputs,
|
@@ -3250,7 +3220,7 @@ function assembleTransactionSummary(params) {
|
|
3250
3220
|
}
|
3251
3221
|
|
3252
3222
|
// src/providers/transaction-response/transaction-response.ts
|
3253
|
-
var TransactionResponse = class {
|
3223
|
+
var TransactionResponse = class _TransactionResponse {
|
3254
3224
|
/** Transaction ID */
|
3255
3225
|
id;
|
3256
3226
|
/** Current provider */
|
@@ -3278,7 +3248,7 @@ var TransactionResponse = class {
|
|
3278
3248
|
* @param provider - The provider.
|
3279
3249
|
*/
|
3280
3250
|
static async create(id, provider) {
|
3281
|
-
const response = new
|
3251
|
+
const response = new _TransactionResponse(id, provider);
|
3282
3252
|
await response.fetch();
|
3283
3253
|
return response;
|
3284
3254
|
}
|
@@ -3506,8 +3476,7 @@ var processGqlChain = (chain) => {
|
|
3506
3476
|
}
|
3507
3477
|
};
|
3508
3478
|
};
|
3509
|
-
var
|
3510
|
-
var _Provider = class {
|
3479
|
+
var Provider = class _Provider {
|
3511
3480
|
/**
|
3512
3481
|
* Constructor to initialize a Provider.
|
3513
3482
|
*
|
@@ -3518,27 +3487,25 @@ var _Provider = class {
|
|
3518
3487
|
*/
|
3519
3488
|
constructor(url, options = {}) {
|
3520
3489
|
this.url = url;
|
3521
|
-
/**
|
3522
|
-
* @hidden
|
3523
|
-
*/
|
3524
|
-
__privateAdd(this, _cacheInputs);
|
3525
|
-
__publicField(this, "operations");
|
3526
|
-
__publicField(this, "cache");
|
3527
|
-
__publicField(this, "options", {
|
3528
|
-
timeout: void 0,
|
3529
|
-
cacheUtxo: void 0,
|
3530
|
-
fetch: void 0,
|
3531
|
-
retryOptions: void 0
|
3532
|
-
});
|
3533
3490
|
this.options = { ...this.options, ...options };
|
3534
3491
|
this.url = url;
|
3535
3492
|
this.operations = this.createOperations();
|
3536
3493
|
this.cache = options.cacheUtxo ? new MemoryCache(options.cacheUtxo) : void 0;
|
3537
3494
|
}
|
3495
|
+
operations;
|
3496
|
+
cache;
|
3538
3497
|
static clearChainAndNodeCaches() {
|
3539
3498
|
_Provider.nodeInfoCache = {};
|
3540
3499
|
_Provider.chainInfoCache = {};
|
3541
3500
|
}
|
3501
|
+
static chainInfoCache = {};
|
3502
|
+
static nodeInfoCache = {};
|
3503
|
+
options = {
|
3504
|
+
timeout: void 0,
|
3505
|
+
cacheUtxo: void 0,
|
3506
|
+
fetch: void 0,
|
3507
|
+
retryOptions: void 0
|
3508
|
+
};
|
3542
3509
|
static getFetchFn(options) {
|
3543
3510
|
const { retryOptions, timeout } = options;
|
3544
3511
|
return autoRetryFetch(async (...args) => {
|
@@ -3735,6 +3702,19 @@ var _Provider = class {
|
|
3735
3702
|
} = this.getChain();
|
3736
3703
|
return chainId.toNumber();
|
3737
3704
|
}
|
3705
|
+
/**
|
3706
|
+
* @hidden
|
3707
|
+
*/
|
3708
|
+
#cacheInputs(inputs) {
|
3709
|
+
if (!this.cache) {
|
3710
|
+
return;
|
3711
|
+
}
|
3712
|
+
inputs.forEach((input) => {
|
3713
|
+
if (input.type === InputType6.Coin) {
|
3714
|
+
this.cache?.set(input.id);
|
3715
|
+
}
|
3716
|
+
});
|
3717
|
+
}
|
3738
3718
|
/**
|
3739
3719
|
* Submits a transaction to the chain to be executed.
|
3740
3720
|
*
|
@@ -3747,7 +3727,7 @@ var _Provider = class {
|
|
3747
3727
|
// #region Provider-sendTransaction
|
3748
3728
|
async sendTransaction(transactionRequestLike, { estimateTxDependencies = true, awaitExecution = false } = {}) {
|
3749
3729
|
const transactionRequest = transactionRequestify(transactionRequestLike);
|
3750
|
-
|
3730
|
+
this.#cacheInputs(transactionRequest.inputs);
|
3751
3731
|
if (estimateTxDependencies) {
|
3752
3732
|
await this.estimateTxDependencies(transactionRequest);
|
3753
3733
|
}
|
@@ -4372,20 +4352,6 @@ var _Provider = class {
|
|
4372
4352
|
return new TransactionResponse(transactionId, this);
|
4373
4353
|
}
|
4374
4354
|
};
|
4375
|
-
var Provider = _Provider;
|
4376
|
-
_cacheInputs = new WeakSet();
|
4377
|
-
cacheInputs_fn = function(inputs) {
|
4378
|
-
if (!this.cache) {
|
4379
|
-
return;
|
4380
|
-
}
|
4381
|
-
inputs.forEach((input) => {
|
4382
|
-
if (input.type === InputType6.Coin) {
|
4383
|
-
this.cache?.set(input.id);
|
4384
|
-
}
|
4385
|
-
});
|
4386
|
-
};
|
4387
|
-
__publicField(Provider, "chainInfoCache", {});
|
4388
|
-
__publicField(Provider, "nodeInfoCache", {});
|
4389
4355
|
|
4390
4356
|
// src/providers/transaction-summary/get-transaction-summary.ts
|
4391
4357
|
import { ErrorCode as ErrorCode13, FuelError as FuelError13 } from "@fuel-ts/errors";
|
@@ -5056,7 +5022,7 @@ import { hash } from "@fuel-ts/hasher";
|
|
5056
5022
|
import { toBytes } from "@fuel-ts/math";
|
5057
5023
|
import { hexlify as hexlify13, concat as concat3, arrayify as arrayify15 } from "@fuel-ts/utils";
|
5058
5024
|
import { secp256k1 } from "@noble/curves/secp256k1";
|
5059
|
-
var Signer = class {
|
5025
|
+
var Signer = class _Signer {
|
5060
5026
|
address;
|
5061
5027
|
publicKey;
|
5062
5028
|
compressedPublicKey;
|
@@ -5135,7 +5101,7 @@ var Signer = class {
|
|
5135
5101
|
* @returns Address from signature
|
5136
5102
|
*/
|
5137
5103
|
static recoverAddress(data, signature) {
|
5138
|
-
return Address4.fromPublicKey(
|
5104
|
+
return Address4.fromPublicKey(_Signer.recoverPublicKey(data, signature));
|
5139
5105
|
}
|
5140
5106
|
/**
|
5141
5107
|
* Generate a random privateKey
|
@@ -5259,6 +5225,10 @@ async function decryptKeystoreWallet(jsonWallet, password) {
|
|
5259
5225
|
|
5260
5226
|
// src/wallet/base-wallet-unlocked.ts
|
5261
5227
|
var BaseWalletUnlocked = class extends Account {
|
5228
|
+
/**
|
5229
|
+
* Default HDWallet path.
|
5230
|
+
*/
|
5231
|
+
static defaultPath = "m/44'/1179993420'/0'/0/0";
|
5262
5232
|
/**
|
5263
5233
|
* A function that returns the wallet's signer.
|
5264
5234
|
*/
|
@@ -5364,10 +5334,6 @@ var BaseWalletUnlocked = class extends Account {
|
|
5364
5334
|
return encryptKeystoreWallet(this.privateKey, this.address, password);
|
5365
5335
|
}
|
5366
5336
|
};
|
5367
|
-
/**
|
5368
|
-
* Default HDWallet path.
|
5369
|
-
*/
|
5370
|
-
__publicField(BaseWalletUnlocked, "defaultPath", "m/44'/1179993420'/0'/0/0");
|
5371
5337
|
|
5372
5338
|
// src/hdwallet/hdwallet.ts
|
5373
5339
|
import { ErrorCode as ErrorCode18, FuelError as FuelError18 } from "@fuel-ts/errors";
|
@@ -7577,7 +7543,7 @@ function assertMnemonic(words) {
|
|
7577
7543
|
throw new FuelError17(ErrorCode17.INVALID_MNEMONIC, errorMsg);
|
7578
7544
|
}
|
7579
7545
|
}
|
7580
|
-
var Mnemonic = class {
|
7546
|
+
var Mnemonic = class _Mnemonic {
|
7581
7547
|
wordlist;
|
7582
7548
|
/**
|
7583
7549
|
*
|
@@ -7594,7 +7560,7 @@ var Mnemonic = class {
|
|
7594
7560
|
* @returns Entropy hash
|
7595
7561
|
*/
|
7596
7562
|
mnemonicToEntropy(phrase) {
|
7597
|
-
return
|
7563
|
+
return _Mnemonic.mnemonicToEntropy(phrase, this.wordlist);
|
7598
7564
|
}
|
7599
7565
|
/**
|
7600
7566
|
*
|
@@ -7602,7 +7568,7 @@ var Mnemonic = class {
|
|
7602
7568
|
* @returns Mnemonic phrase
|
7603
7569
|
*/
|
7604
7570
|
entropyToMnemonic(entropy) {
|
7605
|
-
return
|
7571
|
+
return _Mnemonic.entropyToMnemonic(entropy, this.wordlist);
|
7606
7572
|
}
|
7607
7573
|
/**
|
7608
7574
|
*
|
@@ -7643,8 +7609,8 @@ var Mnemonic = class {
|
|
7643
7609
|
* @returns 64-byte array contains privateKey and chainCode as described on BIP39
|
7644
7610
|
*/
|
7645
7611
|
static mnemonicToMasterKeys(phrase, passphrase = "") {
|
7646
|
-
const seed =
|
7647
|
-
return
|
7612
|
+
const seed = _Mnemonic.mnemonicToSeed(phrase, passphrase);
|
7613
|
+
return _Mnemonic.masterKeysFromSeed(seed);
|
7648
7614
|
}
|
7649
7615
|
/**
|
7650
7616
|
* Validates if given mnemonic is valid
|
@@ -7660,7 +7626,7 @@ var Mnemonic = class {
|
|
7660
7626
|
return false;
|
7661
7627
|
}
|
7662
7628
|
while (i < words.length) {
|
7663
|
-
if (
|
7629
|
+
if (_Mnemonic.binarySearch(words[i]) === false) {
|
7664
7630
|
return false;
|
7665
7631
|
}
|
7666
7632
|
i += 1;
|
@@ -7707,7 +7673,7 @@ var Mnemonic = class {
|
|
7707
7673
|
* @returns BIP-32 extended private key
|
7708
7674
|
*/
|
7709
7675
|
static seedToExtendedKey(seed, testnet = false) {
|
7710
|
-
const masterKey =
|
7676
|
+
const masterKey = _Mnemonic.masterKeysFromSeed(seed);
|
7711
7677
|
const prefix = arrayify17(testnet ? TestnetPRV : MainnetPRV);
|
7712
7678
|
const depth = "0x00";
|
7713
7679
|
const fingerprint = "0x00000000";
|
@@ -7739,7 +7705,7 @@ var Mnemonic = class {
|
|
7739
7705
|
*/
|
7740
7706
|
static generate(size = 32, extraEntropy = "") {
|
7741
7707
|
const entropy = extraEntropy ? sha2563(concat4([randomBytes3(size), arrayify17(extraEntropy)])) : randomBytes3(size);
|
7742
|
-
return
|
7708
|
+
return _Mnemonic.entropyToMnemonic(entropy);
|
7743
7709
|
}
|
7744
7710
|
};
|
7745
7711
|
var mnemonic_default = Mnemonic;
|
@@ -7779,7 +7745,7 @@ function parsePath(path, depth = 0) {
|
|
7779
7745
|
(p) => ~p.indexOf(`'`) ? parseInt(p, 10) + HARDENED_INDEX : parseInt(p, 10)
|
7780
7746
|
);
|
7781
7747
|
}
|
7782
|
-
var HDWallet = class {
|
7748
|
+
var HDWallet = class _HDWallet {
|
7783
7749
|
depth = 0;
|
7784
7750
|
index = 0;
|
7785
7751
|
fingerprint = hexlify17("0x00000000");
|
@@ -7845,7 +7811,7 @@ var HDWallet = class {
|
|
7845
7811
|
if (privateKey) {
|
7846
7812
|
const N = "0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141";
|
7847
7813
|
const ki = bn17(IL).add(privateKey).mod(N).toBytes(32);
|
7848
|
-
return new
|
7814
|
+
return new _HDWallet({
|
7849
7815
|
privateKey: ki,
|
7850
7816
|
chainCode: IR,
|
7851
7817
|
index,
|
@@ -7855,7 +7821,7 @@ var HDWallet = class {
|
|
7855
7821
|
}
|
7856
7822
|
const signer = new Signer(hexlify17(IL));
|
7857
7823
|
const Ki = signer.addPoint(publicKey);
|
7858
|
-
return new
|
7824
|
+
return new _HDWallet({
|
7859
7825
|
publicKey: Ki,
|
7860
7826
|
chainCode: IR,
|
7861
7827
|
index,
|
@@ -7904,7 +7870,7 @@ var HDWallet = class {
|
|
7904
7870
|
*/
|
7905
7871
|
static fromSeed(seed) {
|
7906
7872
|
const masterKey = mnemonic_default.masterKeysFromSeed(seed);
|
7907
|
-
return new
|
7873
|
+
return new _HDWallet({
|
7908
7874
|
chainCode: arrayify18(masterKey.slice(32)),
|
7909
7875
|
privateKey: arrayify18(masterKey.slice(0, 32))
|
7910
7876
|
});
|
@@ -7934,7 +7900,7 @@ var HDWallet = class {
|
|
7934
7900
|
if (key[0] !== 3) {
|
7935
7901
|
throw new FuelError18(ErrorCode18.HD_WALLET_ERROR, "Invalid public extended key.");
|
7936
7902
|
}
|
7937
|
-
return new
|
7903
|
+
return new _HDWallet({
|
7938
7904
|
publicKey: key,
|
7939
7905
|
chainCode,
|
7940
7906
|
index,
|
@@ -7945,7 +7911,7 @@ var HDWallet = class {
|
|
7945
7911
|
if (key[0] !== 0) {
|
7946
7912
|
throw new FuelError18(ErrorCode18.HD_WALLET_ERROR, "Invalid private extended key.");
|
7947
7913
|
}
|
7948
|
-
return new
|
7914
|
+
return new _HDWallet({
|
7949
7915
|
privateKey: key.slice(1),
|
7950
7916
|
chainCode,
|
7951
7917
|
index,
|
@@ -7968,7 +7934,7 @@ var WalletLocked = class extends Account {
|
|
7968
7934
|
return new WalletUnlocked(privateKey, this._provider);
|
7969
7935
|
}
|
7970
7936
|
};
|
7971
|
-
var WalletUnlocked = class extends BaseWalletUnlocked {
|
7937
|
+
var WalletUnlocked = class _WalletUnlocked extends BaseWalletUnlocked {
|
7972
7938
|
/**
|
7973
7939
|
* Locks the wallet and returns an instance of WalletLocked.
|
7974
7940
|
*
|
@@ -7986,7 +7952,7 @@ var WalletUnlocked = class extends BaseWalletUnlocked {
|
|
7986
7952
|
*/
|
7987
7953
|
static generate(generateOptions) {
|
7988
7954
|
const privateKey = Signer.generatePrivateKey(generateOptions?.entropy);
|
7989
|
-
return new
|
7955
|
+
return new _WalletUnlocked(privateKey, generateOptions?.provider);
|
7990
7956
|
}
|
7991
7957
|
/**
|
7992
7958
|
* Create a Wallet Unlocked from a seed.
|
@@ -7998,8 +7964,8 @@ var WalletUnlocked = class extends BaseWalletUnlocked {
|
|
7998
7964
|
*/
|
7999
7965
|
static fromSeed(seed, path, provider) {
|
8000
7966
|
const hdWallet = hdwallet_default.fromSeed(seed);
|
8001
|
-
const childWallet = hdWallet.derivePath(path ||
|
8002
|
-
return new
|
7967
|
+
const childWallet = hdWallet.derivePath(path || _WalletUnlocked.defaultPath);
|
7968
|
+
return new _WalletUnlocked(childWallet.privateKey, provider);
|
8003
7969
|
}
|
8004
7970
|
/**
|
8005
7971
|
* Create a Wallet Unlocked from a mnemonic phrase.
|
@@ -8013,8 +7979,8 @@ var WalletUnlocked = class extends BaseWalletUnlocked {
|
|
8013
7979
|
static fromMnemonic(mnemonic, path, passphrase, provider) {
|
8014
7980
|
const seed = mnemonic_default.mnemonicToSeed(mnemonic, passphrase);
|
8015
7981
|
const hdWallet = hdwallet_default.fromSeed(seed);
|
8016
|
-
const childWallet = hdWallet.derivePath(path ||
|
8017
|
-
return new
|
7982
|
+
const childWallet = hdWallet.derivePath(path || _WalletUnlocked.defaultPath);
|
7983
|
+
return new _WalletUnlocked(childWallet.privateKey, provider);
|
8018
7984
|
}
|
8019
7985
|
/**
|
8020
7986
|
* Create a Wallet Unlocked from an extended key.
|
@@ -8025,7 +7991,7 @@ var WalletUnlocked = class extends BaseWalletUnlocked {
|
|
8025
7991
|
*/
|
8026
7992
|
static fromExtendedKey(extendedKey, provider) {
|
8027
7993
|
const hdWallet = hdwallet_default.fromExtendedKey(extendedKey);
|
8028
|
-
return new
|
7994
|
+
return new _WalletUnlocked(hdWallet.privateKey, provider);
|
8029
7995
|
}
|
8030
7996
|
/**
|
8031
7997
|
* Create a Wallet Unlocked from an encrypted JSON.
|
@@ -8037,7 +8003,7 @@ var WalletUnlocked = class extends BaseWalletUnlocked {
|
|
8037
8003
|
*/
|
8038
8004
|
static async fromEncryptedJson(jsonWallet, password, provider) {
|
8039
8005
|
const privateKey = await decryptKeystoreWallet(jsonWallet, password);
|
8040
|
-
return new
|
8006
|
+
return new _WalletUnlocked(privateKey, provider);
|
8041
8007
|
}
|
8042
8008
|
};
|
8043
8009
|
|
@@ -8063,50 +8029,50 @@ var Wallet = class {
|
|
8063
8029
|
static fromPrivateKey(privateKey, provider) {
|
8064
8030
|
return new WalletUnlocked(privateKey, provider);
|
8065
8031
|
}
|
8032
|
+
/**
|
8033
|
+
* Generate a new Wallet Unlocked with a random key pair.
|
8034
|
+
*
|
8035
|
+
* @param generateOptions - Options to customize the generation process (optional).
|
8036
|
+
* @returns An unlocked wallet instance.
|
8037
|
+
*/
|
8038
|
+
static generate = WalletUnlocked.generate;
|
8039
|
+
/**
|
8040
|
+
* Create a Wallet Unlocked from a seed.
|
8041
|
+
*
|
8042
|
+
* @param seed - The seed phrase.
|
8043
|
+
* @param provider - A Provider instance (optional).
|
8044
|
+
* @param path - The derivation path (optional).
|
8045
|
+
* @returns An unlocked wallet instance.
|
8046
|
+
*/
|
8047
|
+
static fromSeed = WalletUnlocked.fromSeed;
|
8048
|
+
/**
|
8049
|
+
* Create a Wallet Unlocked from a mnemonic phrase.
|
8050
|
+
*
|
8051
|
+
* @param mnemonic - The mnemonic phrase.
|
8052
|
+
* @param provider - A Provider instance (optional).
|
8053
|
+
* @param path - The derivation path (optional).
|
8054
|
+
* @param passphrase - The passphrase for the mnemonic (optional).
|
8055
|
+
* @returns An unlocked wallet instance.
|
8056
|
+
*/
|
8057
|
+
static fromMnemonic = WalletUnlocked.fromMnemonic;
|
8058
|
+
/**
|
8059
|
+
* Create a Wallet Unlocked from an extended key.
|
8060
|
+
*
|
8061
|
+
* @param extendedKey - The extended key.
|
8062
|
+
* @param provider - A Provider instance (optional).
|
8063
|
+
* @returns An unlocked wallet instance.
|
8064
|
+
*/
|
8065
|
+
static fromExtendedKey = WalletUnlocked.fromExtendedKey;
|
8066
|
+
/**
|
8067
|
+
* Create a Wallet Unlocked from an encrypted JSON.
|
8068
|
+
*
|
8069
|
+
* @param jsonWallet - The encrypted JSON keystore.
|
8070
|
+
* @param password - The password to decrypt the JSON.
|
8071
|
+
* @param provider - A Provider instance (optional).
|
8072
|
+
* @returns An unlocked wallet instance.
|
8073
|
+
*/
|
8074
|
+
static fromEncryptedJson = WalletUnlocked.fromEncryptedJson;
|
8066
8075
|
};
|
8067
|
-
/**
|
8068
|
-
* Generate a new Wallet Unlocked with a random key pair.
|
8069
|
-
*
|
8070
|
-
* @param generateOptions - Options to customize the generation process (optional).
|
8071
|
-
* @returns An unlocked wallet instance.
|
8072
|
-
*/
|
8073
|
-
__publicField(Wallet, "generate", WalletUnlocked.generate);
|
8074
|
-
/**
|
8075
|
-
* Create a Wallet Unlocked from a seed.
|
8076
|
-
*
|
8077
|
-
* @param seed - The seed phrase.
|
8078
|
-
* @param provider - A Provider instance (optional).
|
8079
|
-
* @param path - The derivation path (optional).
|
8080
|
-
* @returns An unlocked wallet instance.
|
8081
|
-
*/
|
8082
|
-
__publicField(Wallet, "fromSeed", WalletUnlocked.fromSeed);
|
8083
|
-
/**
|
8084
|
-
* Create a Wallet Unlocked from a mnemonic phrase.
|
8085
|
-
*
|
8086
|
-
* @param mnemonic - The mnemonic phrase.
|
8087
|
-
* @param provider - A Provider instance (optional).
|
8088
|
-
* @param path - The derivation path (optional).
|
8089
|
-
* @param passphrase - The passphrase for the mnemonic (optional).
|
8090
|
-
* @returns An unlocked wallet instance.
|
8091
|
-
*/
|
8092
|
-
__publicField(Wallet, "fromMnemonic", WalletUnlocked.fromMnemonic);
|
8093
|
-
/**
|
8094
|
-
* Create a Wallet Unlocked from an extended key.
|
8095
|
-
*
|
8096
|
-
* @param extendedKey - The extended key.
|
8097
|
-
* @param provider - A Provider instance (optional).
|
8098
|
-
* @returns An unlocked wallet instance.
|
8099
|
-
*/
|
8100
|
-
__publicField(Wallet, "fromExtendedKey", WalletUnlocked.fromExtendedKey);
|
8101
|
-
/**
|
8102
|
-
* Create a Wallet Unlocked from an encrypted JSON.
|
8103
|
-
*
|
8104
|
-
* @param jsonWallet - The encrypted JSON keystore.
|
8105
|
-
* @param password - The password to decrypt the JSON.
|
8106
|
-
* @param provider - A Provider instance (optional).
|
8107
|
-
* @returns An unlocked wallet instance.
|
8108
|
-
*/
|
8109
|
-
__publicField(Wallet, "fromEncryptedJson", WalletUnlocked.fromEncryptedJson);
|
8110
8076
|
|
8111
8077
|
// src/wallet-manager/wallet-manager.ts
|
8112
8078
|
import { Address as Address8 } from "@fuel-ts/address";
|
@@ -8135,14 +8101,14 @@ var MemoryStorage = class {
|
|
8135
8101
|
// src/wallet-manager/vaults/mnemonic-vault.ts
|
8136
8102
|
import { Address as Address6 } from "@fuel-ts/address";
|
8137
8103
|
import { ErrorCode as ErrorCode19, FuelError as FuelError19 } from "@fuel-ts/errors";
|
8138
|
-
var _secret;
|
8139
8104
|
var MnemonicVault = class {
|
8105
|
+
static type = "mnemonic";
|
8106
|
+
#secret;
|
8107
|
+
pathKey = "{}";
|
8108
|
+
rootPath = `m/44'/1179993420'/${this.pathKey}'/0/0`;
|
8109
|
+
numberOfAccounts = 0;
|
8140
8110
|
constructor(options) {
|
8141
|
-
|
8142
|
-
__publicField(this, "pathKey", "{}");
|
8143
|
-
__publicField(this, "rootPath", `m/44'/1179993420'/${this.pathKey}'/0/0`);
|
8144
|
-
__publicField(this, "numberOfAccounts", 0);
|
8145
|
-
__privateSet(this, _secret, options.secret || mnemonic_default.generate());
|
8111
|
+
this.#secret = options.secret || mnemonic_default.generate();
|
8146
8112
|
this.rootPath = options.rootPath || this.rootPath;
|
8147
8113
|
this.numberOfAccounts = options.numberOfAccounts || 1;
|
8148
8114
|
}
|
@@ -8154,7 +8120,7 @@ var MnemonicVault = class {
|
|
8154
8120
|
}
|
8155
8121
|
serialize() {
|
8156
8122
|
return {
|
8157
|
-
secret:
|
8123
|
+
secret: this.#secret,
|
8158
8124
|
rootPath: this.rootPath,
|
8159
8125
|
numberOfAccounts: this.numberOfAccounts
|
8160
8126
|
};
|
@@ -8163,7 +8129,7 @@ var MnemonicVault = class {
|
|
8163
8129
|
const accounts = [];
|
8164
8130
|
let numberOfAccounts = 0;
|
8165
8131
|
do {
|
8166
|
-
const wallet = Wallet.fromMnemonic(
|
8132
|
+
const wallet = Wallet.fromMnemonic(this.#secret, this.getDerivePath(numberOfAccounts));
|
8167
8133
|
accounts.push({
|
8168
8134
|
publicKey: wallet.publicKey,
|
8169
8135
|
address: wallet.address
|
@@ -8174,7 +8140,7 @@ var MnemonicVault = class {
|
|
8174
8140
|
}
|
8175
8141
|
addAccount() {
|
8176
8142
|
this.numberOfAccounts += 1;
|
8177
|
-
const wallet = Wallet.fromMnemonic(
|
8143
|
+
const wallet = Wallet.fromMnemonic(this.#secret, this.getDerivePath(this.numberOfAccounts - 1));
|
8178
8144
|
return {
|
8179
8145
|
publicKey: wallet.publicKey,
|
8180
8146
|
address: wallet.address
|
@@ -8184,7 +8150,7 @@ var MnemonicVault = class {
|
|
8184
8150
|
let numberOfAccounts = 0;
|
8185
8151
|
const ownerAddress = Address6.fromAddressOrString(address);
|
8186
8152
|
do {
|
8187
|
-
const wallet = Wallet.fromMnemonic(
|
8153
|
+
const wallet = Wallet.fromMnemonic(this.#secret, this.getDerivePath(numberOfAccounts));
|
8188
8154
|
if (wallet.address.equals(ownerAddress)) {
|
8189
8155
|
return wallet.privateKey;
|
8190
8156
|
}
|
@@ -8200,29 +8166,27 @@ var MnemonicVault = class {
|
|
8200
8166
|
return Wallet.fromPrivateKey(privateKey);
|
8201
8167
|
}
|
8202
8168
|
};
|
8203
|
-
_secret = new WeakMap();
|
8204
|
-
__publicField(MnemonicVault, "type", "mnemonic");
|
8205
8169
|
|
8206
8170
|
// src/wallet-manager/vaults/privatekey-vault.ts
|
8207
8171
|
import { Address as Address7 } from "@fuel-ts/address";
|
8208
8172
|
import { ErrorCode as ErrorCode20, FuelError as FuelError20 } from "@fuel-ts/errors";
|
8209
|
-
var _privateKeys;
|
8210
8173
|
var PrivateKeyVault = class {
|
8174
|
+
static type = "privateKey";
|
8175
|
+
#privateKeys = [];
|
8211
8176
|
/**
|
8212
8177
|
* If privateKey vault is initialized with a secretKey, it creates
|
8213
8178
|
* one account with the fallowing secret
|
8214
8179
|
*/
|
8215
8180
|
constructor(options = {}) {
|
8216
|
-
__privateAdd(this, _privateKeys, []);
|
8217
8181
|
if (options.secret) {
|
8218
|
-
|
8182
|
+
this.#privateKeys = [options.secret];
|
8219
8183
|
} else {
|
8220
|
-
|
8184
|
+
this.#privateKeys = options.accounts || [Wallet.generate().privateKey];
|
8221
8185
|
}
|
8222
8186
|
}
|
8223
8187
|
serialize() {
|
8224
8188
|
return {
|
8225
|
-
accounts:
|
8189
|
+
accounts: this.#privateKeys
|
8226
8190
|
};
|
8227
8191
|
}
|
8228
8192
|
getPublicAccount(privateKey) {
|
@@ -8233,16 +8197,16 @@ var PrivateKeyVault = class {
|
|
8233
8197
|
};
|
8234
8198
|
}
|
8235
8199
|
getAccounts() {
|
8236
|
-
return
|
8200
|
+
return this.#privateKeys.map((pk) => this.getPublicAccount(pk));
|
8237
8201
|
}
|
8238
8202
|
addAccount() {
|
8239
8203
|
const wallet = Wallet.generate();
|
8240
|
-
|
8204
|
+
this.#privateKeys.push(wallet.privateKey);
|
8241
8205
|
return this.getPublicAccount(wallet.privateKey);
|
8242
8206
|
}
|
8243
8207
|
exportAccount(address) {
|
8244
8208
|
const ownerAddress = Address7.fromAddressOrString(address);
|
8245
|
-
const privateKey =
|
8209
|
+
const privateKey = this.#privateKeys.find(
|
8246
8210
|
(pk) => Wallet.fromPrivateKey(pk).address.equals(ownerAddress)
|
8247
8211
|
);
|
8248
8212
|
if (!privateKey) {
|
@@ -8258,8 +8222,6 @@ var PrivateKeyVault = class {
|
|
8258
8222
|
return Wallet.fromPrivateKey(privateKey);
|
8259
8223
|
}
|
8260
8224
|
};
|
8261
|
-
_privateKeys = new WeakMap();
|
8262
|
-
__publicField(PrivateKeyVault, "type", "privateKey");
|
8263
8225
|
|
8264
8226
|
// src/wallet-manager/wallet-manager.ts
|
8265
8227
|
var ERROR_MESSAGES = {
|
@@ -8274,46 +8236,43 @@ function assert(condition, message) {
|
|
8274
8236
|
throw new FuelError21(ErrorCode21.WALLET_MANAGER_ERROR, message);
|
8275
8237
|
}
|
8276
8238
|
}
|
8277
|
-
var
|
8278
|
-
|
8239
|
+
var WalletManager = class _WalletManager extends EventEmitter {
|
8240
|
+
/**
|
8241
|
+
* Vaults
|
8242
|
+
*
|
8243
|
+
* Vaults are responsible to store secret keys and return an `Wallet` instance,
|
8244
|
+
* to interact with the network.
|
8245
|
+
*
|
8246
|
+
* Each vault has access to its own state
|
8247
|
+
*
|
8248
|
+
*/
|
8249
|
+
static Vaults = [MnemonicVault, PrivateKeyVault];
|
8250
|
+
/**
|
8251
|
+
* Storage
|
8252
|
+
*
|
8253
|
+
* Persistent encrypted data. `The default storage works only on memory`.
|
8254
|
+
*/
|
8255
|
+
storage = new MemoryStorage();
|
8256
|
+
/* Key name passed to the storage */
|
8257
|
+
STORAGE_KEY = "WalletManager";
|
8258
|
+
// `This variables are only accessible from inside the class`
|
8259
|
+
#vaults = [];
|
8260
|
+
#passphrase = "";
|
8261
|
+
#isLocked = true;
|
8279
8262
|
constructor(options) {
|
8280
8263
|
super();
|
8281
|
-
/**
|
8282
|
-
* Serialize all vaults to store
|
8283
|
-
*
|
8284
|
-
* `This is only accessible from inside the class`
|
8285
|
-
*/
|
8286
|
-
__privateAdd(this, _serializeVaults);
|
8287
|
-
/**
|
8288
|
-
* Deserialize all vaults to state
|
8289
|
-
*
|
8290
|
-
* `This is only accessible from inside the class`
|
8291
|
-
*/
|
8292
|
-
__privateAdd(this, _deserializeVaults);
|
8293
|
-
/**
|
8294
|
-
* Storage
|
8295
|
-
*
|
8296
|
-
* Persistent encrypted data. `The default storage works only on memory`.
|
8297
|
-
*/
|
8298
|
-
__publicField(this, "storage", new MemoryStorage());
|
8299
|
-
/* Key name passed to the storage */
|
8300
|
-
__publicField(this, "STORAGE_KEY", "WalletManager");
|
8301
|
-
// `This variables are only accessible from inside the class`
|
8302
|
-
__privateAdd(this, _vaults, []);
|
8303
|
-
__privateAdd(this, _passphrase, "");
|
8304
|
-
__privateAdd(this, _isLocked, true);
|
8305
8264
|
this.storage = options?.storage || this.storage;
|
8306
8265
|
}
|
8307
8266
|
get isLocked() {
|
8308
|
-
return
|
8267
|
+
return this.#isLocked;
|
8309
8268
|
}
|
8310
8269
|
/**
|
8311
8270
|
* Return the vault serialized object containing all the privateKeys,
|
8312
8271
|
* the format of the return depends on the Vault type.
|
8313
8272
|
*/
|
8314
8273
|
exportVault(vaultId) {
|
8315
|
-
assert(!
|
8316
|
-
const vaultState =
|
8274
|
+
assert(!this.#isLocked, ERROR_MESSAGES.wallet_not_unlocked);
|
8275
|
+
const vaultState = this.#vaults.find((_, idx) => idx === vaultId);
|
8317
8276
|
assert(vaultState, ERROR_MESSAGES.vault_not_found);
|
8318
8277
|
return vaultState.vault.serialize();
|
8319
8278
|
}
|
@@ -8321,7 +8280,7 @@ var _WalletManager = class extends EventEmitter {
|
|
8321
8280
|
* List all vaults on the Wallet Manager, this function not return secret's
|
8322
8281
|
*/
|
8323
8282
|
getVaults() {
|
8324
|
-
return
|
8283
|
+
return this.#vaults.map((v, idx) => ({
|
8325
8284
|
title: v.title,
|
8326
8285
|
type: v.type,
|
8327
8286
|
vaultId: idx
|
@@ -8331,7 +8290,7 @@ var _WalletManager = class extends EventEmitter {
|
|
8331
8290
|
* List all accounts on the Wallet Manager not vault information is revealed
|
8332
8291
|
*/
|
8333
8292
|
getAccounts() {
|
8334
|
-
return
|
8293
|
+
return this.#vaults.flatMap(
|
8335
8294
|
(vaultState, vaultId) => vaultState.vault.getAccounts().map((account) => ({ ...account, vaultId }))
|
8336
8295
|
);
|
8337
8296
|
}
|
@@ -8340,7 +8299,7 @@ var _WalletManager = class extends EventEmitter {
|
|
8340
8299
|
*/
|
8341
8300
|
getWallet(address) {
|
8342
8301
|
const ownerAddress = Address8.fromAddressOrString(address);
|
8343
|
-
const vaultState =
|
8302
|
+
const vaultState = this.#vaults.find(
|
8344
8303
|
(vs) => vs.vault.getAccounts().find((a) => a.address.equals(ownerAddress))
|
8345
8304
|
);
|
8346
8305
|
assert(vaultState, ERROR_MESSAGES.address_not_found);
|
@@ -8351,8 +8310,8 @@ var _WalletManager = class extends EventEmitter {
|
|
8351
8310
|
*/
|
8352
8311
|
exportPrivateKey(address) {
|
8353
8312
|
const ownerAddress = Address8.fromAddressOrString(address);
|
8354
|
-
assert(!
|
8355
|
-
const vaultState =
|
8313
|
+
assert(!this.#isLocked, ERROR_MESSAGES.wallet_not_unlocked);
|
8314
|
+
const vaultState = this.#vaults.find(
|
8356
8315
|
(vs) => vs.vault.getAccounts().find((a) => a.address.equals(ownerAddress))
|
8357
8316
|
);
|
8358
8317
|
assert(vaultState, ERROR_MESSAGES.address_not_found);
|
@@ -8364,7 +8323,7 @@ var _WalletManager = class extends EventEmitter {
|
|
8364
8323
|
*/
|
8365
8324
|
async addAccount(options) {
|
8366
8325
|
await this.loadState();
|
8367
|
-
const vaultState =
|
8326
|
+
const vaultState = this.#vaults[options?.vaultId || 0];
|
8368
8327
|
await assert(vaultState, ERROR_MESSAGES.vault_not_found);
|
8369
8328
|
const account = vaultState.vault.addAccount();
|
8370
8329
|
await this.saveState();
|
@@ -8375,7 +8334,7 @@ var _WalletManager = class extends EventEmitter {
|
|
8375
8334
|
* created by the vault.
|
8376
8335
|
*/
|
8377
8336
|
async removeVault(index) {
|
8378
|
-
|
8337
|
+
this.#vaults.splice(index, 1);
|
8379
8338
|
await this.saveState();
|
8380
8339
|
}
|
8381
8340
|
/**
|
@@ -8386,11 +8345,11 @@ var _WalletManager = class extends EventEmitter {
|
|
8386
8345
|
await this.loadState();
|
8387
8346
|
const Vault2 = this.getVaultClass(vaultConfig.type);
|
8388
8347
|
const vault = new Vault2(vaultConfig);
|
8389
|
-
|
8348
|
+
this.#vaults = this.#vaults.concat({
|
8390
8349
|
title: vaultConfig.title,
|
8391
8350
|
type: vaultConfig.type,
|
8392
8351
|
vault
|
8393
|
-
})
|
8352
|
+
});
|
8394
8353
|
await this.saveState();
|
8395
8354
|
}
|
8396
8355
|
/**
|
@@ -8398,9 +8357,9 @@ var _WalletManager = class extends EventEmitter {
|
|
8398
8357
|
* secrets.
|
8399
8358
|
*/
|
8400
8359
|
lock() {
|
8401
|
-
|
8402
|
-
|
8403
|
-
|
8360
|
+
this.#isLocked = true;
|
8361
|
+
this.#vaults = [];
|
8362
|
+
this.#passphrase = "";
|
8404
8363
|
this.emit("lock");
|
8405
8364
|
}
|
8406
8365
|
/**
|
@@ -8408,8 +8367,8 @@ var _WalletManager = class extends EventEmitter {
|
|
8408
8367
|
* Vaults with secrets are not unlocked or instantiated on this moment.
|
8409
8368
|
*/
|
8410
8369
|
async unlock(passphrase) {
|
8411
|
-
|
8412
|
-
|
8370
|
+
this.#passphrase = passphrase;
|
8371
|
+
this.#isLocked = false;
|
8413
8372
|
try {
|
8414
8373
|
await this.loadState();
|
8415
8374
|
this.emit("unlock");
|
@@ -8422,9 +8381,9 @@ var _WalletManager = class extends EventEmitter {
|
|
8422
8381
|
* Update WalletManager encryption passphrase
|
8423
8382
|
*/
|
8424
8383
|
async updatePassphrase(oldpass, newpass) {
|
8425
|
-
const isLocked =
|
8384
|
+
const isLocked = this.#isLocked;
|
8426
8385
|
await this.unlock(oldpass);
|
8427
|
-
|
8386
|
+
this.#passphrase = newpass;
|
8428
8387
|
await this.saveState();
|
8429
8388
|
await this.loadState();
|
8430
8389
|
if (isLocked) {
|
@@ -8435,24 +8394,51 @@ var _WalletManager = class extends EventEmitter {
|
|
8435
8394
|
* Retrieve and decrypt WalletManager state from storage
|
8436
8395
|
*/
|
8437
8396
|
async loadState() {
|
8438
|
-
await assert(!
|
8397
|
+
await assert(!this.#isLocked, ERROR_MESSAGES.wallet_not_unlocked);
|
8439
8398
|
const data = await this.storage.getItem(this.STORAGE_KEY);
|
8440
8399
|
if (data) {
|
8441
|
-
const state = await decrypt(
|
8442
|
-
|
8400
|
+
const state = await decrypt(this.#passphrase, JSON.parse(data));
|
8401
|
+
this.#vaults = this.#deserializeVaults(state.vaults);
|
8443
8402
|
}
|
8444
8403
|
}
|
8445
8404
|
/**
|
8446
8405
|
* Store encrypted WalletManager state on storage
|
8447
8406
|
*/
|
8448
8407
|
async saveState() {
|
8449
|
-
await assert(!
|
8450
|
-
const encryptedData = await encrypt(
|
8451
|
-
vaults:
|
8408
|
+
await assert(!this.#isLocked, ERROR_MESSAGES.wallet_not_unlocked);
|
8409
|
+
const encryptedData = await encrypt(this.#passphrase, {
|
8410
|
+
vaults: this.#serializeVaults(this.#vaults)
|
8452
8411
|
});
|
8453
8412
|
await this.storage.setItem(this.STORAGE_KEY, JSON.stringify(encryptedData));
|
8454
8413
|
this.emit("update");
|
8455
8414
|
}
|
8415
|
+
/**
|
8416
|
+
* Serialize all vaults to store
|
8417
|
+
*
|
8418
|
+
* `This is only accessible from inside the class`
|
8419
|
+
*/
|
8420
|
+
#serializeVaults(vaults) {
|
8421
|
+
return vaults.map(({ title, type, vault }) => ({
|
8422
|
+
title,
|
8423
|
+
type,
|
8424
|
+
data: vault.serialize()
|
8425
|
+
}));
|
8426
|
+
}
|
8427
|
+
/**
|
8428
|
+
* Deserialize all vaults to state
|
8429
|
+
*
|
8430
|
+
* `This is only accessible from inside the class`
|
8431
|
+
*/
|
8432
|
+
#deserializeVaults(vaults) {
|
8433
|
+
return vaults.map(({ title, type, data: vaultConfig }) => {
|
8434
|
+
const VaultClass = this.getVaultClass(type);
|
8435
|
+
return {
|
8436
|
+
title,
|
8437
|
+
type,
|
8438
|
+
vault: new VaultClass(vaultConfig)
|
8439
|
+
};
|
8440
|
+
});
|
8441
|
+
}
|
8456
8442
|
/**
|
8457
8443
|
* Return a instantiable Class reference from `WalletManager.Vaults` supported list.
|
8458
8444
|
*/
|
@@ -8462,43 +8448,11 @@ var _WalletManager = class extends EventEmitter {
|
|
8462
8448
|
return VaultClass;
|
8463
8449
|
}
|
8464
8450
|
};
|
8465
|
-
var WalletManager = _WalletManager;
|
8466
|
-
_vaults = new WeakMap();
|
8467
|
-
_passphrase = new WeakMap();
|
8468
|
-
_isLocked = new WeakMap();
|
8469
|
-
_serializeVaults = new WeakSet();
|
8470
|
-
serializeVaults_fn = function(vaults) {
|
8471
|
-
return vaults.map(({ title, type, vault }) => ({
|
8472
|
-
title,
|
8473
|
-
type,
|
8474
|
-
data: vault.serialize()
|
8475
|
-
}));
|
8476
|
-
};
|
8477
|
-
_deserializeVaults = new WeakSet();
|
8478
|
-
deserializeVaults_fn = function(vaults) {
|
8479
|
-
return vaults.map(({ title, type, data: vaultConfig }) => {
|
8480
|
-
const VaultClass = this.getVaultClass(type);
|
8481
|
-
return {
|
8482
|
-
title,
|
8483
|
-
type,
|
8484
|
-
vault: new VaultClass(vaultConfig)
|
8485
|
-
};
|
8486
|
-
});
|
8487
|
-
};
|
8488
|
-
/**
|
8489
|
-
* Vaults
|
8490
|
-
*
|
8491
|
-
* Vaults are responsible to store secret keys and return an `Wallet` instance,
|
8492
|
-
* to interact with the network.
|
8493
|
-
*
|
8494
|
-
* Each vault has access to its own state
|
8495
|
-
*
|
8496
|
-
*/
|
8497
|
-
__publicField(WalletManager, "Vaults", [MnemonicVault, PrivateKeyVault]);
|
8498
8451
|
|
8499
8452
|
// src/wallet-manager/types.ts
|
8500
8453
|
import { ErrorCode as ErrorCode22, FuelError as FuelError22 } from "@fuel-ts/errors";
|
8501
8454
|
var Vault = class {
|
8455
|
+
static type;
|
8502
8456
|
constructor(_options) {
|
8503
8457
|
throw new FuelError22(ErrorCode22.NOT_IMPLEMENTED, "Not implemented.");
|
8504
8458
|
}
|
@@ -8518,7 +8472,6 @@ var Vault = class {
|
|
8518
8472
|
throw new FuelError22(ErrorCode22.NOT_IMPLEMENTED, "Not implemented.");
|
8519
8473
|
}
|
8520
8474
|
};
|
8521
|
-
__publicField(Vault, "type");
|
8522
8475
|
var StorageAbstract = class {
|
8523
8476
|
};
|
8524
8477
|
|
@@ -8550,7 +8503,7 @@ var getPredicateRoot = (bytecode) => {
|
|
8550
8503
|
};
|
8551
8504
|
|
8552
8505
|
// src/predicate/predicate.ts
|
8553
|
-
var Predicate = class extends Account {
|
8506
|
+
var Predicate = class _Predicate extends Account {
|
8554
8507
|
bytes;
|
8555
8508
|
predicateDataBytes = Uint8Array.from([]);
|
8556
8509
|
predicateData = [];
|
@@ -8571,7 +8524,7 @@ var Predicate = class extends Account {
|
|
8571
8524
|
inputData,
|
8572
8525
|
configurableConstants
|
8573
8526
|
}) {
|
8574
|
-
const { predicateBytes, predicateInterface } =
|
8527
|
+
const { predicateBytes, predicateInterface } = _Predicate.processPredicateData(
|
8575
8528
|
bytecode,
|
8576
8529
|
abi,
|
8577
8530
|
configurableConstants
|
@@ -8667,7 +8620,7 @@ var Predicate = class extends Account {
|
|
8667
8620
|
}
|
8668
8621
|
}
|
8669
8622
|
if (configurableConstants && Object.keys(configurableConstants).length) {
|
8670
|
-
predicateBytes =
|
8623
|
+
predicateBytes = _Predicate.setConfigurableConstants(
|
8671
8624
|
predicateBytes,
|
8672
8625
|
configurableConstants,
|
8673
8626
|
abiInterface
|
@@ -9047,7 +9000,9 @@ async function withTimeout(promise, timeout = 1050) {
|
|
9047
9000
|
var HAS_CONNECTOR_TIMEOUT = 2e3;
|
9048
9001
|
var PING_CACHE_TIME = 5e3;
|
9049
9002
|
var { warn } = console;
|
9050
|
-
var
|
9003
|
+
var Fuel = class _Fuel extends FuelConnector {
|
9004
|
+
static STORAGE_KEY = "fuel-current-connector";
|
9005
|
+
static defaultConfig = {};
|
9051
9006
|
_storage = null;
|
9052
9007
|
_connectors = [];
|
9053
9008
|
_targetObject = null;
|
@@ -9372,9 +9327,6 @@ var _Fuel = class extends FuelConnector {
|
|
9372
9327
|
await this.clean();
|
9373
9328
|
}
|
9374
9329
|
};
|
9375
|
-
var Fuel = _Fuel;
|
9376
|
-
__publicField(Fuel, "STORAGE_KEY", "fuel-current-connector");
|
9377
|
-
__publicField(Fuel, "defaultConfig", {});
|
9378
9330
|
export {
|
9379
9331
|
Account,
|
9380
9332
|
AddressType,
|