@aztec/cli-wallet 0.0.1-commit.c2eed6949 → 0.0.1-commit.c52d6e7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/bin/index.js +1 -1
- package/dest/cmds/check_tx.js +15 -13
- package/dest/cmds/create_account.d.ts +4 -2
- package/dest/cmds/create_account.d.ts.map +1 -1
- package/dest/cmds/create_account.js +26 -10
- package/dest/cmds/deploy.d.ts +3 -3
- package/dest/cmds/deploy.d.ts.map +1 -1
- package/dest/cmds/deploy.js +23 -21
- package/dest/cmds/deploy_account.js +4 -7
- package/dest/cmds/import_test_accounts.d.ts +1 -1
- package/dest/cmds/import_test_accounts.d.ts.map +1 -1
- package/dest/cmds/import_test_accounts.js +2 -1
- package/dest/cmds/index.d.ts +1 -1
- package/dest/cmds/index.d.ts.map +1 -1
- package/dest/cmds/index.js +10 -9
- package/dest/cmds/send.js +3 -6
- package/dest/cmds/simulate.d.ts +1 -1
- package/dest/cmds/simulate.d.ts.map +1 -1
- package/dest/cmds/simulate.js +2 -1
- package/dest/storage/wallet_db.d.ts +12 -4
- package/dest/storage/wallet_db.d.ts.map +1 -1
- package/dest/storage/wallet_db.js +29 -1
- package/dest/utils/authorizations.js +2 -2
- package/dest/utils/constants.d.ts +2 -2
- package/dest/utils/constants.d.ts.map +1 -1
- package/dest/utils/constants.js +1 -0
- package/dest/utils/options/fees.d.ts +3 -2
- package/dest/utils/options/fees.d.ts.map +1 -1
- package/dest/utils/options/fees.js +34 -10
- package/dest/utils/options/options.d.ts +2 -2
- package/dest/utils/options/options.d.ts.map +1 -1
- package/dest/utils/options/options.js +5 -5
- package/dest/utils/wallet.d.ts +31 -7
- package/dest/utils/wallet.d.ts.map +1 -1
- package/dest/utils/wallet.js +148 -72
- package/package.json +16 -15
- package/src/bin/index.ts +1 -1
- package/src/cmds/check_tx.ts +17 -15
- package/src/cmds/create_account.ts +27 -15
- package/src/cmds/deploy.ts +22 -23
- package/src/cmds/deploy_account.ts +4 -4
- package/src/cmds/import_test_accounts.ts +12 -1
- package/src/cmds/index.ts +14 -11
- package/src/cmds/send.ts +3 -3
- package/src/cmds/simulate.ts +2 -1
- package/src/storage/wallet_db.ts +38 -2
- package/src/utils/authorizations.ts +3 -3
- package/src/utils/constants.ts +7 -1
- package/src/utils/options/fees.ts +36 -10
- package/src/utils/options/options.ts +5 -5
- package/src/utils/wallet.ts +188 -91
package/dest/bin/index.js
CHANGED
|
@@ -47,7 +47,7 @@ function injectInternalCommands(program, log, db) {
|
|
|
47
47
|
return program;
|
|
48
48
|
}
|
|
49
49
|
/** CLI wallet main entrypoint */ async function main() {
|
|
50
|
-
const walletVersion = getPackageVersion()
|
|
50
|
+
const walletVersion = getPackageVersion();
|
|
51
51
|
const db = WalletDB.getInstance();
|
|
52
52
|
const walletAndNodeWrapper = new CliWalletAndNodeWrapper();
|
|
53
53
|
const program = new Command('wallet');
|
package/dest/cmds/check_tx.js
CHANGED
|
@@ -11,10 +11,9 @@ export async function checkTx(wallet, aztecNode, txHash, statusOnly, log) {
|
|
|
11
11
|
// The rest of the code here was copied over here from CLI because in CLI I needed to prune the inspect function of the PXE
|
|
12
12
|
// dependency when dropping PXE JSON RPC Server.
|
|
13
13
|
async function inspectTx(wallet, aztecNode, txHash, log) {
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
]);
|
|
14
|
+
const receipt = await aztecNode.getTxReceipt(txHash, {
|
|
15
|
+
includeTxEffect: true
|
|
16
|
+
});
|
|
18
17
|
// Base tx data
|
|
19
18
|
log(`Tx ${txHash.toString()}`);
|
|
20
19
|
log(` Status: ${receipt.status}`);
|
|
@@ -24,10 +23,10 @@ async function inspectTx(wallet, aztecNode, txHash, log) {
|
|
|
24
23
|
if (receipt.error) {
|
|
25
24
|
log(` Error: ${receipt.error}`);
|
|
26
25
|
}
|
|
27
|
-
if (!
|
|
26
|
+
if (!receipt.isMined() || !receipt.txEffect) {
|
|
28
27
|
return;
|
|
29
28
|
}
|
|
30
|
-
const effects =
|
|
29
|
+
const effects = receipt.txEffect;
|
|
31
30
|
const artifactMap = await getKnownArtifacts(wallet);
|
|
32
31
|
log(` Block: ${receipt.blockNumber} (${receipt.blockHash?.toString()})`);
|
|
33
32
|
if (receipt.transactionFee) {
|
|
@@ -61,6 +60,7 @@ async function inspectTx(wallet, aztecNode, txHash, log) {
|
|
|
61
60
|
// Nullifiers
|
|
62
61
|
const nullifierCount = effects.nullifiers.length;
|
|
63
62
|
const { deployNullifiers, initNullifiers, classNullifiers } = await getKnownNullifiers(wallet, artifactMap);
|
|
63
|
+
const accounts = (await wallet.getAccounts()).map((a)=>a.item);
|
|
64
64
|
if (nullifierCount > 0) {
|
|
65
65
|
log(' Nullifiers:');
|
|
66
66
|
for (const nullifier of effects.nullifiers){
|
|
@@ -68,7 +68,7 @@ async function inspectTx(wallet, aztecNode, txHash, log) {
|
|
|
68
68
|
const note = deployed ? (await wallet.getNotes({
|
|
69
69
|
siloedNullifier: nullifier,
|
|
70
70
|
contractAddress: deployed,
|
|
71
|
-
scopes:
|
|
71
|
+
scopes: accounts
|
|
72
72
|
}))[0] : undefined;
|
|
73
73
|
const initialized = initNullifiers[nullifier.toString()];
|
|
74
74
|
const registered = classNullifiers[nullifier.toString()];
|
|
@@ -158,20 +158,22 @@ async function getClassNullifier(artifact) {
|
|
|
158
158
|
}
|
|
159
159
|
async function getKnownArtifacts(wallet) {
|
|
160
160
|
const knownContractAddresses = await wallet.getContracts();
|
|
161
|
-
const knownContracts =
|
|
161
|
+
const knownContracts = await Promise.all(knownContractAddresses.map((contractAddress)=>wallet.getContractMetadata(contractAddress)));
|
|
162
|
+
const classIdFor = (metadata)=>metadata.updatedContractClassId ?? metadata.instance?.originalContractClassId;
|
|
162
163
|
const classIds = [
|
|
163
|
-
...new Set(knownContracts.map(
|
|
164
|
+
...new Set(knownContracts.map(classIdFor))
|
|
164
165
|
];
|
|
165
166
|
const knownArtifacts = (await Promise.all(classIds.map((classId)=>classId ? wallet.getContractArtifact(classId) : undefined))).map((artifact, index)=>artifact ? {
|
|
166
167
|
...artifact,
|
|
167
168
|
classId: classIds[index]
|
|
168
169
|
} : undefined);
|
|
169
170
|
const map = {};
|
|
170
|
-
for (const
|
|
171
|
-
|
|
172
|
-
|
|
171
|
+
for (const metadata of knownContracts){
|
|
172
|
+
const classId = classIdFor(metadata);
|
|
173
|
+
if (metadata.instance && classId) {
|
|
174
|
+
const artifact = knownArtifacts.find((a)=>a?.classId?.equals(classId));
|
|
173
175
|
if (artifact) {
|
|
174
|
-
map[instance.address.toString()] = artifact;
|
|
176
|
+
map[metadata.instance.address.toString()] = artifact;
|
|
175
177
|
}
|
|
176
178
|
}
|
|
177
179
|
}
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import { AztecAddress } from '@aztec/aztec.js/addresses';
|
|
2
2
|
import { type AztecNode } from '@aztec/aztec.js/node';
|
|
3
3
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
4
|
+
import { GrumpkinScalar } from '@aztec/foundation/curves/grumpkin';
|
|
4
5
|
import type { LogFn, Logger } from '@aztec/foundation/log';
|
|
5
6
|
import { TxStatus } from '@aztec/stdlib/tx';
|
|
6
7
|
import type { AccountType } from '../utils/constants.js';
|
|
7
8
|
import { CLIFeeArgs } from '../utils/options/fees.js';
|
|
8
9
|
import { CLIWallet } from '../utils/wallet.js';
|
|
9
|
-
export declare function createAccount(wallet: CLIWallet, aztecNode: AztecNode, accountType: AccountType,
|
|
10
|
+
export declare function createAccount(wallet: CLIWallet, aztecNode: AztecNode, accountType: AccountType, signingKey: GrumpkinScalar | undefined, salt: Fr | undefined, publicKey: string | undefined, alias: string | undefined, deployer: AztecAddress | undefined, registerOnly: boolean, skipInitialization: boolean, publicDeploy: boolean, registerClass: boolean, wait: boolean, feeOpts: CLIFeeArgs, waitForStatus: TxStatus, json: boolean, verbose: boolean, debugLogger: Logger, log: LogFn): Promise<{
|
|
10
11
|
alias: string | undefined;
|
|
11
12
|
address: AztecAddress;
|
|
13
|
+
signingKey: import("@aztec/foundation/curves/bn254").Fq | undefined;
|
|
12
14
|
secretKey: Fr;
|
|
13
15
|
salt: Fr;
|
|
14
16
|
}>;
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlX2FjY291bnQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbWRzL2NyZWF0ZV9hY2NvdW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsS0FBSyxTQUFTLEVBQWEsTUFBTSxzQkFBc0IsQ0FBQztBQUdqRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRCxPQUFPLEVBQStCLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBR3pFLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFL0Msd0JBQXNCLGFBQWEsQ0FDakMsTUFBTSxFQUFFLFNBQVMsRUFDakIsU0FBUyxFQUFFLFNBQVMsRUFDcEIsV0FBVyxFQUFFLFdBQVcsRUFDeEIsVUFBVSxFQUFFLGNBQWMsR0FBRyxTQUFTLEVBQ3RDLElBQUksRUFBRSxFQUFFLEdBQUcsU0FBUyxFQUNwQixTQUFTLEVBQUUsTUFBTSxHQUFHLFNBQVMsRUFDN0IsS0FBSyxFQUFFLE1BQU0sR0FBRyxTQUFTLEVBQ3pCLFFBQVEsRUFBRSxZQUFZLEdBQUcsU0FBUyxFQUNsQyxZQUFZLEVBQUUsT0FBTyxFQUNyQixrQkFBa0IsRUFBRSxPQUFPLEVBQzNCLFlBQVksRUFBRSxPQUFPLEVBQ3JCLGFBQWEsRUFBRSxPQUFPLEVBQ3RCLElBQUksRUFBRSxPQUFPLEVBQ2IsT0FBTyxFQUFFLFVBQVUsRUFDbkIsYUFBYSxFQUFFLFFBQVEsRUFDdkIsSUFBSSxFQUFFLE9BQU8sRUFDYixPQUFPLEVBQUUsT0FBTyxFQUNoQixXQUFXLEVBQUUsTUFBTSxFQUNuQixHQUFHLEVBQUUsS0FBSzs7Ozs7O0dBMElYIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create_account.d.ts","sourceRoot":"","sources":["../../src/cmds/create_account.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create_account.d.ts","sourceRoot":"","sources":["../../src/cmds/create_account.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,KAAK,SAAS,EAAa,MAAM,sBAAsB,CAAC;AAGjE,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAA+B,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,wBAAsB,aAAa,CACjC,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,cAAc,GAAG,SAAS,EACtC,IAAI,EAAE,EAAE,GAAG,SAAS,EACpB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,QAAQ,EAAE,YAAY,GAAG,SAAS,EAClC,YAAY,EAAE,OAAO,EACrB,kBAAkB,EAAE,OAAO,EAC3B,YAAY,EAAE,OAAO,EACrB,aAAa,EAAE,OAAO,EACtB,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,UAAU,EACnB,aAAa,EAAE,QAAQ,EACvB,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,KAAK;;;;;;GA0IX"}
|
|
@@ -1,19 +1,32 @@
|
|
|
1
|
+
import { deriveSecretKeyFromSigningKey } from '@aztec/accounts/utils';
|
|
1
2
|
import { NO_FROM } from '@aztec/aztec.js/account';
|
|
2
3
|
import { NO_WAIT } from '@aztec/aztec.js/contracts';
|
|
3
4
|
import { waitForTx } from '@aztec/aztec.js/node';
|
|
4
5
|
import { prettyPrintJSON } from '@aztec/cli/cli-utils';
|
|
5
6
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
7
|
+
import { GrumpkinScalar } from '@aztec/foundation/curves/grumpkin';
|
|
6
8
|
import { DEFAULT_TX_TIMEOUT_S } from '../utils/cli_wallet_and_node_wrapper.js';
|
|
7
9
|
import { printProfileResult } from '../utils/profiling.js';
|
|
8
|
-
export async function createAccount(wallet, aztecNode, accountType,
|
|
9
|
-
secretKey
|
|
10
|
-
|
|
10
|
+
export async function createAccount(wallet, aztecNode, accountType, signingKey, salt, publicKey, alias, deployer, registerOnly, skipInitialization, publicDeploy, registerClass, wait, feeOpts, waitForStatus, json, verbose, debugLogger, log) {
|
|
11
|
+
let secretKey;
|
|
12
|
+
if (accountType === 'ecdsasecp256r1ssh') {
|
|
13
|
+
// SSH accounts sign with a key held in the agent, and so we cannot derive their privacy secret key from it. Instead
|
|
14
|
+
// we pick a random value.
|
|
15
|
+
secretKey = Fr.random();
|
|
16
|
+
} else {
|
|
17
|
+
signingKey ??= GrumpkinScalar.random();
|
|
18
|
+
secretKey = await deriveSecretKeyFromSigningKey(signingKey);
|
|
19
|
+
}
|
|
20
|
+
const account = await wallet.createAccount(accountType, signingKey, secretKey, salt, publicKey);
|
|
11
21
|
const instanceSalt = account.getInstance().salt;
|
|
12
22
|
const { address, publicKeys, partialAddress } = await account.getCompleteAddress();
|
|
13
23
|
const out = {};
|
|
14
24
|
if (json) {
|
|
15
25
|
out.address = address;
|
|
16
26
|
out.publicKey = publicKeys;
|
|
27
|
+
if (signingKey) {
|
|
28
|
+
out.signingKey = signingKey;
|
|
29
|
+
}
|
|
17
30
|
if (secretKey) {
|
|
18
31
|
out.secretKey = secretKey;
|
|
19
32
|
}
|
|
@@ -24,6 +37,9 @@ export async function createAccount(wallet, aztecNode, accountType, secretKey, s
|
|
|
24
37
|
log(`\nNew account:\n`);
|
|
25
38
|
log(`Address: ${address.toString()}`);
|
|
26
39
|
log(`Public key: ${publicKeys.toString()}`);
|
|
40
|
+
if (signingKey) {
|
|
41
|
+
log(`Signing key: ${signingKey.toString()}`);
|
|
42
|
+
}
|
|
27
43
|
if (secretKey) {
|
|
28
44
|
log(`Secret key: ${secretKey.toString()}`);
|
|
29
45
|
}
|
|
@@ -33,7 +49,9 @@ export async function createAccount(wallet, aztecNode, accountType, secretKey, s
|
|
|
33
49
|
}
|
|
34
50
|
let txHash;
|
|
35
51
|
let txReceipt;
|
|
36
|
-
|
|
52
|
+
// Initializerless accounts have no deployment tx — creating one only registers it locally — so there is
|
|
53
|
+
// nothing to deploy on-chain.
|
|
54
|
+
if (!registerOnly && accountType !== 'schnorr_initializerless') {
|
|
37
55
|
const { paymentMethod, gasSettings } = await feeOpts.toUserFeeOptions(aztecNode, wallet, address);
|
|
38
56
|
const delegatedDeployment = deployer && !account.address.equals(deployer);
|
|
39
57
|
const from = delegatedDeployment ? deployer : NO_FROM;
|
|
@@ -51,13 +69,10 @@ export async function createAccount(wallet, aztecNode, accountType, secretKey, s
|
|
|
51
69
|
const deployMethod = await account.getDeployMethod();
|
|
52
70
|
const sim = await deployMethod.simulate({
|
|
53
71
|
...deployAccountOpts,
|
|
54
|
-
|
|
55
|
-
...deployAccountOpts.fee,
|
|
56
|
-
estimateGas: true
|
|
57
|
-
}
|
|
72
|
+
includeMetadata: true
|
|
58
73
|
});
|
|
59
|
-
//
|
|
60
|
-
const estimatedGas = sim.
|
|
74
|
+
// includeMetadata: true guarantees these fields are present
|
|
75
|
+
const estimatedGas = await wallet.estimateGasLimits(sim.gasUsed);
|
|
61
76
|
const stats = sim.stats;
|
|
62
77
|
if (feeOpts.estimateOnly) {
|
|
63
78
|
if (json) {
|
|
@@ -124,6 +139,7 @@ export async function createAccount(wallet, aztecNode, accountType, secretKey, s
|
|
|
124
139
|
return {
|
|
125
140
|
alias,
|
|
126
141
|
address,
|
|
142
|
+
signingKey,
|
|
127
143
|
secretKey,
|
|
128
144
|
salt: instanceSalt
|
|
129
145
|
};
|
package/dest/cmds/deploy.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AztecAddress } from '@aztec/aztec.js/addresses';
|
|
1
|
+
import type { AztecAddress } from '@aztec/aztec.js/addresses';
|
|
2
2
|
import { Fr } from '@aztec/aztec.js/fields';
|
|
3
3
|
import { type AztecNode } from '@aztec/aztec.js/node';
|
|
4
4
|
import type { LogFn, Logger } from '@aztec/foundation/log';
|
|
@@ -6,5 +6,5 @@ import { PublicKeys } from '@aztec/stdlib/keys';
|
|
|
6
6
|
import type { TxStatus } from '@aztec/stdlib/tx';
|
|
7
7
|
import { CLIFeeArgs } from '../utils/options/fees.js';
|
|
8
8
|
import type { CLIWallet } from '../utils/wallet.js';
|
|
9
|
-
export declare function deploy(wallet: CLIWallet, node: AztecNode, deployer: AztecAddress, artifactPath: string, json: boolean, publicKeys: PublicKeys | undefined, rawArgs: any[], salt: Fr | undefined, initializer: string | undefined, skipInstancePublication: boolean, skipClassPublication: boolean, skipInitialization: boolean | undefined, wait: boolean, feeOpts: CLIFeeArgs, waitForStatus: TxStatus, verbose: boolean, timeout: number | undefined, debugLogger: Logger, log: LogFn): Promise<AztecAddress
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
export declare function deploy(wallet: CLIWallet, node: AztecNode, deployer: AztecAddress, artifactPath: string, json: boolean, publicKeys: PublicKeys | undefined, rawArgs: any[], salt: Fr | undefined, initializer: string | undefined, skipInstancePublication: boolean, skipClassPublication: boolean, skipInitialization: boolean | undefined, wait: boolean, feeOpts: CLIFeeArgs, waitForStatus: TxStatus, verbose: boolean, timeout: number | undefined, debugLogger: Logger, log: LogFn, universal?: boolean): Promise<AztecAddress>;
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY21kcy9kZXBsb3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFJOUQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVDLE9BQU8sRUFBRSxLQUFLLFNBQVMsRUFBYSxNQUFNLHNCQUFzQixDQUFDO0FBRWpFLE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXRELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXBELHdCQUFzQixNQUFNLENBQzFCLE1BQU0sRUFBRSxTQUFTLEVBQ2pCLElBQUksRUFBRSxTQUFTLEVBQ2YsUUFBUSxFQUFFLFlBQVksRUFDdEIsWUFBWSxFQUFFLE1BQU0sRUFDcEIsSUFBSSxFQUFFLE9BQU8sRUFDYixVQUFVLEVBQUUsVUFBVSxHQUFHLFNBQVMsRUFDbEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxFQUNkLElBQUksRUFBRSxFQUFFLEdBQUcsU0FBUyxFQUNwQixXQUFXLEVBQUUsTUFBTSxHQUFHLFNBQVMsRUFDL0IsdUJBQXVCLEVBQUUsT0FBTyxFQUNoQyxvQkFBb0IsRUFBRSxPQUFPLEVBQzdCLGtCQUFrQixFQUFFLE9BQU8sR0FBRyxTQUFTLEVBQ3ZDLElBQUksRUFBRSxPQUFPLEVBQ2IsT0FBTyxFQUFFLFVBQVUsRUFDbkIsYUFBYSxFQUFFLFFBQVEsRUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFDaEIsT0FBTyxvQkFBK0IsRUFDdEMsV0FBVyxFQUFFLE1BQU0sRUFDbkIsR0FBRyxFQUFFLEtBQUssRUFDVixTQUFTLENBQUMsRUFBRSxPQUFPLHlCQXNIcEIifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/cmds/deploy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/cmds/deploy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAI9D,OAAO,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAC5C,OAAO,EAAE,KAAK,SAAS,EAAa,MAAM,sBAAsB,CAAC;AAEjE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGjD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,wBAAsB,MAAM,CAC1B,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,YAAY,EACtB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,OAAO,EACb,UAAU,EAAE,UAAU,GAAG,SAAS,EAClC,OAAO,EAAE,GAAG,EAAE,EACd,IAAI,EAAE,EAAE,GAAG,SAAS,EACpB,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,uBAAuB,EAAE,OAAO,EAChC,oBAAoB,EAAE,OAAO,EAC7B,kBAAkB,EAAE,OAAO,GAAG,SAAS,EACvC,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,UAAU,EACnB,aAAa,EAAE,QAAQ,EACvB,OAAO,EAAE,OAAO,EAChB,OAAO,oBAA+B,EACtC,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,KAAK,EACV,SAAS,CAAC,EAAE,OAAO,yBAsHpB"}
|
package/dest/cmds/deploy.js
CHANGED
|
@@ -8,14 +8,14 @@ import { getAllFunctionAbis, getInitializer } from '@aztec/stdlib/abi';
|
|
|
8
8
|
import { PublicKeys } from '@aztec/stdlib/keys';
|
|
9
9
|
import { DEFAULT_TX_TIMEOUT_S } from '../utils/cli_wallet_and_node_wrapper.js';
|
|
10
10
|
import { printProfileResult } from '../utils/profiling.js';
|
|
11
|
-
export async function deploy(wallet, node, deployer, artifactPath, json, publicKeys, rawArgs, salt, initializer, skipInstancePublication, skipClassPublication, skipInitialization, wait, feeOpts, waitForStatus, verbose, timeout = DEFAULT_TX_TIMEOUT_S, debugLogger, log) {
|
|
11
|
+
export async function deploy(wallet, node, deployer, artifactPath, json, publicKeys, rawArgs, salt, initializer, skipInstancePublication, skipClassPublication, skipInitialization, wait, feeOpts, waitForStatus, verbose, timeout = DEFAULT_TX_TIMEOUT_S, debugLogger, log, universal) {
|
|
12
12
|
const out = {};
|
|
13
13
|
salt ??= Fr.random();
|
|
14
14
|
const contractArtifact = await getContractArtifact(artifactPath, log);
|
|
15
15
|
const hasInitializer = getAllFunctionAbis(contractArtifact).some((fn)=>fn.isInitializer);
|
|
16
16
|
const constructorArtifact = hasInitializer ? getInitializer(contractArtifact, initializer) : undefined;
|
|
17
17
|
// TODO(#12081): Add contractArtifact.noirVersion and check here (via Noir.lock)?
|
|
18
|
-
const contractDeployer = new ContractDeployer(contractArtifact, wallet,
|
|
18
|
+
const contractDeployer = new ContractDeployer(contractArtifact, wallet, initializer);
|
|
19
19
|
let args = [];
|
|
20
20
|
if (rawArgs.length > 0) {
|
|
21
21
|
if (!constructorArtifact) {
|
|
@@ -25,7 +25,13 @@ export async function deploy(wallet, node, deployer, artifactPath, json, publicK
|
|
|
25
25
|
args = encodeArgs(rawArgs, constructorArtifact.parameters);
|
|
26
26
|
debugLogger.debug(`Encoded arguments: ${args.join(', ')}`);
|
|
27
27
|
}
|
|
28
|
-
const deployInteraction = contractDeployer.deploy(
|
|
28
|
+
const deployInteraction = contractDeployer.deploy(args, {
|
|
29
|
+
salt,
|
|
30
|
+
publicKeys: publicKeys ?? PublicKeys.default(),
|
|
31
|
+
...universal ? {
|
|
32
|
+
universalDeploy: true
|
|
33
|
+
} : {}
|
|
34
|
+
});
|
|
29
35
|
const { paymentMethod, gasSettings } = await feeOpts.toUserFeeOptions(node, wallet, deployer);
|
|
30
36
|
const deployOpts = {
|
|
31
37
|
fee: {
|
|
@@ -33,8 +39,6 @@ export async function deploy(wallet, node, deployer, artifactPath, json, publicK
|
|
|
33
39
|
paymentMethod
|
|
34
40
|
},
|
|
35
41
|
from: deployer ?? NO_FROM,
|
|
36
|
-
contractAddressSalt: salt,
|
|
37
|
-
universalDeploy: !deployer,
|
|
38
42
|
skipClassPublication,
|
|
39
43
|
skipInitialization,
|
|
40
44
|
skipInstancePublication
|
|
@@ -42,13 +46,10 @@ export async function deploy(wallet, node, deployer, artifactPath, json, publicK
|
|
|
42
46
|
const localStart = performance.now();
|
|
43
47
|
const sim = await deployInteraction.simulate({
|
|
44
48
|
...deployOpts,
|
|
45
|
-
|
|
46
|
-
...deployOpts.fee,
|
|
47
|
-
estimateGas: true
|
|
48
|
-
}
|
|
49
|
+
includeMetadata: true
|
|
49
50
|
});
|
|
50
|
-
//
|
|
51
|
-
const estimatedGas = sim.
|
|
51
|
+
// includeMetadata: true guarantees these fields are present
|
|
52
|
+
const estimatedGas = await wallet.estimateGasLimits(sim.gasUsed);
|
|
52
53
|
const stats = sim.stats;
|
|
53
54
|
if (feeOpts.estimateOnly) {
|
|
54
55
|
if (json) {
|
|
@@ -67,8 +68,9 @@ export async function deploy(wallet, node, deployer, artifactPath, json, publicK
|
|
|
67
68
|
if (verbose) {
|
|
68
69
|
printProfileResult(stats, log);
|
|
69
70
|
}
|
|
70
|
-
const { address, partialAddress } = deployInteraction;
|
|
71
71
|
const instance = await deployInteraction.getInstance();
|
|
72
|
+
const address = instance.address;
|
|
73
|
+
const partialAddress = await deployInteraction.getPartialAddress();
|
|
72
74
|
const { txHash } = await deployInteraction.send({
|
|
73
75
|
...deployOpts,
|
|
74
76
|
wait: NO_WAIT
|
|
@@ -84,8 +86,8 @@ export async function deploy(wallet, node, deployer, artifactPath, json, publicK
|
|
|
84
86
|
});
|
|
85
87
|
const nodeTimeMs = performance.now() - nodeStart;
|
|
86
88
|
if (!json) {
|
|
87
|
-
log(`Contract deployed at ${address
|
|
88
|
-
log(`Contract partial address ${
|
|
89
|
+
log(`Contract deployed at ${address.toString()}`);
|
|
90
|
+
log(`Contract partial address ${partialAddress.toString()}`);
|
|
89
91
|
log(`Contract init hash ${instance.initializationHash.toString()}`);
|
|
90
92
|
log(`Deployment tx hash: ${txHash.toString()}`);
|
|
91
93
|
log(`Deployment salt: ${salt.toString()}`);
|
|
@@ -95,8 +97,8 @@ export async function deploy(wallet, node, deployer, artifactPath, json, publicK
|
|
|
95
97
|
log(` Node inclusion time: ${(nodeTimeMs / 1000).toFixed(1)}s`);
|
|
96
98
|
} else {
|
|
97
99
|
out.contract = {
|
|
98
|
-
address: address
|
|
99
|
-
partialAddress:
|
|
100
|
+
address: address.toString(),
|
|
101
|
+
partialAddress: partialAddress.toString(),
|
|
100
102
|
initializationHash: instance.initializationHash.toString(),
|
|
101
103
|
salt: salt.toString(),
|
|
102
104
|
transactionFee: receipt.transactionFee?.toString()
|
|
@@ -104,16 +106,16 @@ export async function deploy(wallet, node, deployer, artifactPath, json, publicK
|
|
|
104
106
|
}
|
|
105
107
|
} else {
|
|
106
108
|
if (!json) {
|
|
107
|
-
log(`Contract deployed at ${address
|
|
108
|
-
log(`Contract partial address ${
|
|
109
|
+
log(`Contract deployed at ${address.toString()}`);
|
|
110
|
+
log(`Contract partial address ${partialAddress.toString()}`);
|
|
109
111
|
log(`Contract init hash ${instance.initializationHash.toString()}`);
|
|
110
112
|
log(`Deployment tx hash: ${txHash.toString()}`);
|
|
111
113
|
log(`Deployment salt: ${salt.toString()}`);
|
|
112
114
|
log(`Deployer: ${instance.deployer.toString()}`);
|
|
113
115
|
} else {
|
|
114
116
|
out.contract = {
|
|
115
|
-
address: address
|
|
116
|
-
partialAddress:
|
|
117
|
+
address: address.toString(),
|
|
118
|
+
partialAddress: partialAddress.toString(),
|
|
117
119
|
initializationHash: instance.initializationHash.toString(),
|
|
118
120
|
salt: salt.toString()
|
|
119
121
|
};
|
|
@@ -123,5 +125,5 @@ export async function deploy(wallet, node, deployer, artifactPath, json, publicK
|
|
|
123
125
|
if (json) {
|
|
124
126
|
log(prettyPrintJSON(out));
|
|
125
127
|
}
|
|
126
|
-
return deployInteraction.
|
|
128
|
+
return await deployInteraction.getAddress();
|
|
127
129
|
}
|
|
@@ -6,7 +6,7 @@ import { DEFAULT_TX_TIMEOUT_S } from '../utils/cli_wallet_and_node_wrapper.js';
|
|
|
6
6
|
import { printProfileResult } from '../utils/profiling.js';
|
|
7
7
|
export async function deployAccount(wallet, aztecNode, address, wait, deployer, registerClass, publicDeploy, skipInitialization, feeOpts, waitForStatus, json, verbose, debugLogger, log) {
|
|
8
8
|
const out = {};
|
|
9
|
-
const account = await wallet.
|
|
9
|
+
const account = await wallet.retrieveAccount(address);
|
|
10
10
|
const { partialAddress, publicKeys } = await account.getCompleteAddress();
|
|
11
11
|
const { initializationHash, salt } = account.getInstance();
|
|
12
12
|
if (json) {
|
|
@@ -42,13 +42,10 @@ export async function deployAccount(wallet, aztecNode, address, wait, deployer,
|
|
|
42
42
|
const deployMethod = await account.getDeployMethod();
|
|
43
43
|
const sim = await deployMethod.simulate({
|
|
44
44
|
...deployAccountOpts,
|
|
45
|
-
|
|
46
|
-
...deployAccountOpts.fee,
|
|
47
|
-
estimateGas: true
|
|
48
|
-
}
|
|
45
|
+
includeMetadata: true
|
|
49
46
|
});
|
|
50
|
-
//
|
|
51
|
-
const estimatedGas = sim.
|
|
47
|
+
// includeMetadata: true guarantees these fields are present
|
|
48
|
+
const estimatedGas = await wallet.estimateGasLimits(sim.gasUsed);
|
|
52
49
|
const stats = sim.stats;
|
|
53
50
|
if (feeOpts.estimateOnly) {
|
|
54
51
|
if (json) {
|
|
@@ -2,4 +2,4 @@ import type { LogFn } from '@aztec/foundation/log';
|
|
|
2
2
|
import type { WalletDB } from '../storage/wallet_db.js';
|
|
3
3
|
import type { CLIWallet } from '../utils/wallet.js';
|
|
4
4
|
export declare function importTestAccounts(wallet: CLIWallet, db: WalletDB, json: boolean, log: LogFn): Promise<void>;
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0X3Rlc3RfYWNjb3VudHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbWRzL2ltcG9ydF90ZXN0X2FjY291bnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRW5ELE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXBELHdCQUFzQixrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxpQkE2Q2xHIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import_test_accounts.d.ts","sourceRoot":"","sources":["../../src/cmds/import_test_accounts.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"import_test_accounts.d.ts","sourceRoot":"","sources":["../../src/cmds/import_test_accounts.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,iBA6ClG"}
|
|
@@ -10,7 +10,8 @@ export async function importTestAccounts(wallet, db, json, log) {
|
|
|
10
10
|
const salt = new Fr(account.salt);
|
|
11
11
|
const address = account.address;
|
|
12
12
|
await db.storeAccount(address, {
|
|
13
|
-
type: '
|
|
13
|
+
type: 'schnorr_initializerless',
|
|
14
|
+
signingKey: account.signingKey,
|
|
14
15
|
secretKey: secret,
|
|
15
16
|
salt,
|
|
16
17
|
alias,
|
package/dest/cmds/index.d.ts
CHANGED
|
@@ -3,4 +3,4 @@ import { type Command } from 'commander';
|
|
|
3
3
|
import type { WalletDB } from '../storage/wallet_db.js';
|
|
4
4
|
import type { CliWalletAndNodeWrapper } from '../utils/cli_wallet_and_node_wrapper.js';
|
|
5
5
|
export declare function injectCommands(program: Command, log: LogFn, debugLogger: Logger, walletAndNodeWrapper: CliWalletAndNodeWrapper, db: WalletDB): Command;
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbWRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWFBLE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUczRCxPQUFPLEVBQUUsS0FBSyxPQUFPLEVBQVUsTUFBTSxXQUFXLENBQUM7QUFHakQsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxLQUFLLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQW1DdkYsd0JBQWdCLGNBQWMsQ0FDNUIsT0FBTyxFQUFFLE9BQU8sRUFDaEIsR0FBRyxFQUFFLEtBQUssRUFDVixXQUFXLEVBQUUsTUFBTSxFQUNuQixvQkFBb0IsRUFBRSx1QkFBdUIsRUFDN0MsRUFBRSxFQUFFLFFBQVEsV0FncUJiIn0=
|
package/dest/cmds/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cmds/index.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAG3D,OAAO,EAAE,KAAK,OAAO,EAAU,MAAM,WAAW,CAAC;AAGjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAmCvF,wBAAgB,cAAc,CAC5B,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,KAAK,EACV,WAAW,EAAE,MAAM,EACnB,oBAAoB,EAAE,uBAAuB,EAC7C,EAAE,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cmds/index.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAG3D,OAAO,EAAE,KAAK,OAAO,EAAU,MAAM,WAAW,CAAC;AAGjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAmCvF,wBAAgB,cAAc,CAC5B,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,KAAK,EACV,WAAW,EAAE,MAAM,EACnB,oBAAoB,EAAE,uBAAuB,EAC7C,EAAE,EAAE,QAAQ,WAgqBb"}
|
package/dest/cmds/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { getIdentities } from '@aztec/accounts/utils';
|
|
2
2
|
import { TxHash } from '@aztec/aztec.js/tx';
|
|
3
|
-
import { ETHEREUM_HOSTS, PRIVATE_KEY, addOptions,
|
|
3
|
+
import { ETHEREUM_HOSTS, PRIVATE_KEY, addOptions, createSigningKeyOption, l1ChainIdOption, parseBigint, parseFieldFromHexString, parsePublicKey } from '@aztec/cli/utils';
|
|
4
4
|
import { randomBytes } from '@aztec/foundation/crypto/random';
|
|
5
5
|
import { TxStatus } from '@aztec/stdlib/tx';
|
|
6
6
|
import { Option } from 'commander';
|
|
7
7
|
import inquirer from 'inquirer';
|
|
8
|
-
import { ARTIFACT_DESCRIPTION, CLIFeeArgs, aliasedAddressParser,
|
|
8
|
+
import { ARTIFACT_DESCRIPTION, CLIFeeArgs, aliasedAddressParser, aliasedSigningKeyParser, aliasedTxHashParser, artifactPathFromPromiseOrAlias, artifactPathParser, cleanupAuthWitnesses, createAccountOption, createAliasOption, createArgsOption, createArtifactOption, createAuthwitnessOption, createContractAddressOption, createDebugExecutionStepsDirOption, createTypeOption, createVerboseOption, integerArgParser } from '../utils/options/index.js';
|
|
9
9
|
function parseWaitForStatus(status) {
|
|
10
10
|
switch(status){
|
|
11
11
|
case 'proposed':
|
|
@@ -24,13 +24,13 @@ export function injectCommands(program, log, debugLogger, walletAndNodeWrapper,
|
|
|
24
24
|
const { importTestAccounts } = await import('./import_test_accounts.js');
|
|
25
25
|
await importTestAccounts(wallet, db, json, log);
|
|
26
26
|
});
|
|
27
|
-
const createAccountCommand = program.command('create-account').description('Creates an aztec account that can be used for sending transactions. Registers the account on the PXE and deploys an account contract. Uses a Schnorr account which uses an immutable key for authentication.').summary('Creates an aztec account that can be used for sending transactions.').addOption(createAccountOption('Alias or address of the account performing the deployment', !db, db)).option('--skip-initialization', 'Skip initializing the account contract. Useful for publicly deploying an existing account.').option('--public-deploy', 'Publishes the account contract instance (and the class, if needed). Needed if the contract contains public functions.').option('--register-class', 'Register the contract class (useful for when the contract class has not been deployed yet).').option('-p, --public-key <string>', 'Public key that identifies a private signing key stored outside of the wallet. Used for ECDSA SSH accounts over the secp256r1 curve.').addOption(
|
|
27
|
+
const createAccountCommand = program.command('create-account').description('Creates an aztec account that can be used for sending transactions. Registers the account on the PXE and deploys an account contract. Uses a Schnorr account which uses an immutable key for authentication.').summary('Creates an aztec account that can be used for sending transactions.').addOption(createAccountOption('Alias or address of the account performing the deployment', !db, db)).option('--skip-initialization', 'Skip initializing the account contract. Useful for publicly deploying an existing account.').option('--public-deploy', 'Publishes the account contract instance (and the class, if needed). Needed if the contract contains public functions.').option('--register-class', 'Register the contract class (useful for when the contract class has not been deployed yet).').option('-p, --public-key <string>', 'Public key that identifies a private signing key stored outside of the wallet. Used for ECDSA SSH accounts over the secp256r1 curve.').addOption(createSigningKeyOption('Signing key for account. Uses random by default.', false, (sk)=>aliasedSigningKeyParser(sk, db)).conflicts('public-key')).addOption(createAliasOption('Alias for the account. Used for easy reference in subsequent commands.', !db)).addOption(createTypeOption(true)).option('-s, --salt <hex string>', 'Optional deployment salt as a hex string for generating the deployment address. Defaults to 0.', parseFieldFromHexString).option('--register-only', 'Just register the account on the Wallet. Do not deploy or initialize the account contract.').option('--json', 'Emit output as json')// `options.wait` is default true. Passing `--no-wait` will set it to false.
|
|
28
28
|
// https://github.com/tj/commander.js#other-option-types-negatable-boolean-and-booleanvalue
|
|
29
29
|
.option('--no-wait', 'Skip waiting for the contract to be deployed. Print the hash of deployment transaction').option('--wait-for-status <status>', "Tx status to wait for: 'proposed' or 'checkpointed'", 'proposed').addOption(createVerboseOption());
|
|
30
30
|
addOptions(createAccountCommand, CLIFeeArgs.getOptions()).action(async (_options, command)=>{
|
|
31
31
|
const { createAccount } = await import('./create_account.js');
|
|
32
32
|
const options = command.optsWithGlobals();
|
|
33
|
-
const { type, from: parsedFromAddress,
|
|
33
|
+
const { type, from: parsedFromAddress, signingKey, salt, wait, waitForStatus: waitForStatusStr, registerOnly, skipInitialization, publicDeploy, registerClass, alias, json, verbose } = options;
|
|
34
34
|
let { publicKey } = options;
|
|
35
35
|
if (type === 'ecdsasecp256r1ssh' && !publicKey) {
|
|
36
36
|
const identities = await getIdentities();
|
|
@@ -45,11 +45,12 @@ export function injectCommands(program, log, debugLogger, walletAndNodeWrapper,
|
|
|
45
45
|
publicKey = answers.identity.split(' ')[1];
|
|
46
46
|
}
|
|
47
47
|
const { wallet, node } = walletAndNodeWrapper;
|
|
48
|
-
const accountCreationResult = await createAccount(wallet, node, type,
|
|
48
|
+
const accountCreationResult = await createAccount(wallet, node, type, signingKey, salt, publicKey, alias, parsedFromAddress, registerOnly, skipInitialization, publicDeploy, registerClass, wait, CLIFeeArgs.parse(options, log, db), parseWaitForStatus(waitForStatusStr), json, verbose, debugLogger, log);
|
|
49
49
|
if (db) {
|
|
50
|
-
const { address, alias, secretKey, salt } = accountCreationResult;
|
|
50
|
+
const { address, alias, signingKey, secretKey, salt } = accountCreationResult;
|
|
51
51
|
await db.storeAccount(address, {
|
|
52
52
|
type,
|
|
53
|
+
signingKey,
|
|
53
54
|
secretKey,
|
|
54
55
|
salt,
|
|
55
56
|
alias,
|
|
@@ -76,8 +77,8 @@ export function injectCommands(program, log, debugLogger, walletAndNodeWrapper,
|
|
|
76
77
|
const { json, publicKey, args, salt, wait, waitForStatus: waitForStatusStr, classRegistration, init, publicDeployment, universal, from: parsedFromAddress, alias, timeout, verbose } = options;
|
|
77
78
|
const { wallet, node } = walletAndNodeWrapper;
|
|
78
79
|
const artifactPath = await artifactPathPromise;
|
|
79
|
-
debugLogger.info(`Using wallet with address ${parsedFromAddress
|
|
80
|
-
const address = await deploy(wallet, node,
|
|
80
|
+
debugLogger.info(`Using wallet with address ${parsedFromAddress?.toString() ?? '<none>'}`);
|
|
81
|
+
const address = await deploy(wallet, node, parsedFromAddress, artifactPath, json, publicKey, args, salt, typeof init === 'string' ? init : undefined, !publicDeployment, !classRegistration, typeof init === 'string' ? false : init, wait, CLIFeeArgs.parse(options, log, db), parseWaitForStatus(waitForStatusStr), verbose, timeout, debugLogger, log, universal);
|
|
81
82
|
if (db && address) {
|
|
82
83
|
await db.storeContract(address, artifactPath, log, alias);
|
|
83
84
|
}
|
|
@@ -97,7 +98,7 @@ export function injectCommands(program, log, debugLogger, walletAndNodeWrapper,
|
|
|
97
98
|
await db.storeTx(sentTx, log, txAlias);
|
|
98
99
|
}
|
|
99
100
|
});
|
|
100
|
-
const simulateCommand = program.command('simulate').description('Simulates the execution of a function on an Aztec contract.').argument('<functionName>', 'Name of function to simulate').addOption(createArgsOption(false, db)).addOption(createContractAddressOption(db)).addOption(createArtifactOption(db)).addOption(
|
|
101
|
+
const simulateCommand = program.command('simulate').description('Simulates the execution of a function on an Aztec contract.').argument('<functionName>', 'Name of function to simulate').addOption(createArgsOption(false, db)).addOption(createContractAddressOption(db)).addOption(createArtifactOption(db)).addOption(createSigningKeyOption("The sender's signing key", !db, (sk)=>aliasedSigningKeyParser(sk, db)).conflicts('account')).addOption(createAuthwitnessOption('Authorization witness to use for the simulation', !db, db)).addOption(createAccountOption('Alias or address of the account to simulate from', !db, db)).addOption(createVerboseOption());
|
|
101
102
|
addOptions(simulateCommand, CLIFeeArgs.getOptions()).action(async (functionName, _options, command)=>{
|
|
102
103
|
const { simulate } = await import('./simulate.js');
|
|
103
104
|
const options = command.optsWithGlobals();
|
package/dest/cmds/send.js
CHANGED
|
@@ -20,13 +20,10 @@ export async function send(wallet, node, from, functionName, functionArgsIn, con
|
|
|
20
20
|
const localStart = performance.now();
|
|
21
21
|
const sim = await call.simulate({
|
|
22
22
|
...sendOptions,
|
|
23
|
-
|
|
24
|
-
...sendOptions.fee,
|
|
25
|
-
estimateGas: true
|
|
26
|
-
}
|
|
23
|
+
includeMetadata: true
|
|
27
24
|
});
|
|
28
|
-
//
|
|
29
|
-
const estimatedGas = sim.
|
|
25
|
+
// includeMetadata: true guarantees these fields are present
|
|
26
|
+
const estimatedGas = await wallet.estimateGasLimits(sim.gasUsed);
|
|
30
27
|
const stats = sim.stats;
|
|
31
28
|
if (feeOpts.estimateOnly) {
|
|
32
29
|
return;
|
package/dest/cmds/simulate.d.ts
CHANGED
|
@@ -5,4 +5,4 @@ import type { LogFn } from '@aztec/foundation/log';
|
|
|
5
5
|
import type { CLIFeeArgs } from '../utils/options/fees.js';
|
|
6
6
|
import type { CLIWallet } from '../utils/wallet.js';
|
|
7
7
|
export declare function simulate(wallet: CLIWallet, node: AztecNode, from: AztecAddress, functionName: string, functionArgsIn: any[], contractArtifactPath: string, contractAddress: AztecAddress, feeOpts: CLIFeeArgs, authWitnesses: AuthWitness[], verbose: boolean, log: LogFn): Promise<void>;
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltdWxhdGUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbWRzL3NpbXVsYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUU1RCxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV0RCxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUtuRCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRCxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVwRCx3QkFBc0IsUUFBUSxDQUM1QixNQUFNLEVBQUUsU0FBUyxFQUNqQixJQUFJLEVBQUUsU0FBUyxFQUNmLElBQUksRUFBRSxZQUFZLEVBQ2xCLFlBQVksRUFBRSxNQUFNLEVBQ3BCLGNBQWMsRUFBRSxHQUFHLEVBQUUsRUFDckIsb0JBQW9CLEVBQUUsTUFBTSxFQUM1QixlQUFlLEVBQUUsWUFBWSxFQUM3QixPQUFPLEVBQUUsVUFBVSxFQUNuQixhQUFhLEVBQUUsV0FBVyxFQUFFLEVBQzVCLE9BQU8sRUFBRSxPQUFPLEVBQ2hCLEdBQUcsRUFBRSxLQUFLLGlCQThCWCJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simulate.d.ts","sourceRoot":"","sources":["../../src/cmds/simulate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAE5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAKnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,YAAY,EAClB,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,GAAG,EAAE,EACrB,oBAAoB,EAAE,MAAM,EAC5B,eAAe,EAAE,YAAY,EAC7B,OAAO,EAAE,UAAU,EACnB,aAAa,EAAE,WAAW,EAAE,EAC5B,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"simulate.d.ts","sourceRoot":"","sources":["../../src/cmds/simulate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAE5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAKnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,YAAY,EAClB,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,GAAG,EAAE,EACrB,oBAAoB,EAAE,MAAM,EAC5B,eAAe,EAAE,YAAY,EAC7B,OAAO,EAAE,UAAU,EACnB,aAAa,EAAE,WAAW,EAAE,EAC5B,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,KAAK,iBA8BX"}
|
package/dest/cmds/simulate.js
CHANGED
|
@@ -23,7 +23,8 @@ export async function simulate(wallet, node, from, functionName, functionArgsIn,
|
|
|
23
23
|
if (!metadata.instance) {
|
|
24
24
|
return undefined;
|
|
25
25
|
}
|
|
26
|
-
const
|
|
26
|
+
const classId = metadata.updatedContractClassId ?? metadata.instance.originalContractClassId;
|
|
27
|
+
const artifact = await wallet.getContractArtifact(classId);
|
|
27
28
|
return artifact;
|
|
28
29
|
}, log);
|
|
29
30
|
printProfileResult(simulationResult.stats, log);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
+
import { GrumpkinScalar } from '@aztec/foundation/curves/grumpkin';
|
|
2
3
|
import type { LogFn } from '@aztec/foundation/log';
|
|
3
4
|
import type { AztecAsyncKVStore } from '@aztec/kv-store';
|
|
4
5
|
import type { AuthWitness } from '@aztec/stdlib/auth-witness';
|
|
@@ -20,9 +21,15 @@ export declare class WalletDB {
|
|
|
20
21
|
secret: string;
|
|
21
22
|
leafIndex: bigint;
|
|
22
23
|
}>;
|
|
23
|
-
|
|
24
|
+
peekBridgedFeeJuice(recipient: AztecAddress, log: LogFn): Promise<{
|
|
25
|
+
amount: bigint;
|
|
26
|
+
secret: string;
|
|
27
|
+
leafIndex: bigint;
|
|
28
|
+
}>;
|
|
29
|
+
storeAccount(address: AztecAddress, { type, signingKey, secretKey, salt, alias, publicKey }: {
|
|
24
30
|
type: AccountType;
|
|
25
|
-
|
|
31
|
+
signingKey?: GrumpkinScalar;
|
|
32
|
+
secretKey?: Fr;
|
|
26
33
|
salt: Fr;
|
|
27
34
|
alias: string | undefined;
|
|
28
35
|
publicKey: string | undefined;
|
|
@@ -44,10 +51,11 @@ export declare class WalletDB {
|
|
|
44
51
|
retrieveAccountMetadata(aliasOrAddress: AztecAddress | string, metadataKey: string): Promise<Buffer<ArrayBufferLike>>;
|
|
45
52
|
retrieveAccount(address: AztecAddress | string): Promise<{
|
|
46
53
|
address: string | AztecAddress;
|
|
54
|
+
signingKey: import("@aztec/foundation/curves/bn254").Fq | undefined;
|
|
47
55
|
secretKey: Fr;
|
|
48
56
|
salt: Fr;
|
|
49
|
-
type: "ecdsasecp256k1" | "ecdsasecp256r1" | "ecdsasecp256r1ssh" | "schnorr";
|
|
57
|
+
type: "ecdsasecp256k1" | "ecdsasecp256r1" | "ecdsasecp256r1ssh" | "schnorr" | "schnorr_initializerless";
|
|
50
58
|
}>;
|
|
51
59
|
storeAlias(type: AliasType, key: string, value: Buffer, log: LogFn): Promise<void>;
|
|
52
60
|
}
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0X2RiLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RvcmFnZS93YWxsZXRfZGIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNuRSxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBaUIsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUvQyxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUd6RCxlQUFPLE1BQU0sT0FBTyx3RkFBeUYsQ0FBQztBQUM5RyxNQUFNLE1BQU0sU0FBUyxHQUFHLENBQUMsT0FBTyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUVqRCxxQkFBYSxRQUFROztJQU1uQixPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBVztJQUVsQyxPQUFPLENBQUMsVUFBVSxDQUE2QjtJQUUvQyxNQUFNLENBQUMsV0FBVyxhQU1qQjtJQUVLLElBQUksQ0FBQyxLQUFLLEVBQUUsaUJBQWlCLGlCQU9sQztZQUVhLGlCQUFpQjtJQUl6QixtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLGlCQVkzRztJQUVLLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLEtBQUs7Ozs7T0FZM0Q7SUFFSyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxLQUFLOzs7O09BWTVEO0lBRUssWUFBWSxDQUNoQixPQUFPLEVBQUUsWUFBWSxFQUNyQixFQUNFLElBQUksRUFDSixVQUFVLEVBQ1YsU0FBUyxFQUNULElBQUksRUFDSixLQUFLLEVBQ0wsU0FBUyxFQUNWLEVBQUU7UUFDRCxJQUFJLEVBQUUsV0FBVyxDQUFDO1FBQ2xCLFVBQVUsQ0FBQyxFQUFFLGNBQWMsQ0FBQztRQUM1QixTQUFTLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDZixJQUFJLEVBQUUsRUFBRSxDQUFDO1FBQ1QsS0FBSyxFQUFFLE1BQU0sR0FBRyxTQUFTLENBQUM7UUFDMUIsU0FBUyxFQUFFLE1BQU0sR0FBRyxTQUFTLENBQUM7S0FDL0IsRUFDRCxHQUFHLEVBQUUsS0FBSyxpQkErQlg7SUFFSyxXQUFXLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLGlCQUtqRTtJQUVLLGFBQWEsQ0FBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLGlCQVkxRjtJQUVLLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLGlCQVN0RTtJQUVLLE9BQU8sQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQTtLQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLGlCQVN2RTtJQUVELGdCQUFnQixDQUFDLEdBQUcsRUFBRSxNQUFNLFVBTTNCO0lBRU0sc0JBQXNCLENBQUMsR0FBRyxFQUFFLE1BQU0sVUFZeEM7SUFFSyxhQUFhLENBQUMsR0FBRyxFQUFFLE1BQU0sbUJBVzlCO0lBRUssV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVM7OztTQVdqQztJQUVLLG9CQUFvQixDQUFDLGNBQWMsRUFBRSxZQUFZLEdBQUcsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBR3RHO0lBRUssdUJBQXVCLENBQUMsY0FBYyxFQUFFLFlBQVksR0FBRyxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0NBT3ZGO0lBRUssZUFBZSxDQUFDLE9BQU8sRUFBRSxZQUFZLEdBQUcsTUFBTTs7Ozs7O09BWW5EO0lBRUssVUFBVSxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLGlCQU12RTtDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet_db.d.ts","sourceRoot":"","sources":["../../src/storage/wallet_db.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,iBAAiB,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGzD,eAAO,MAAM,OAAO,wFAAyF,CAAC;AAC9G,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjD,qBAAa,QAAQ;;IAMnB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAW;IAElC,OAAO,CAAC,UAAU,CAA6B;IAE/C,MAAM,CAAC,WAAW,aAMjB;IAEK,IAAI,CAAC,KAAK,EAAE,iBAAiB,iBAOlC;YAEa,iBAAiB;IAIzB,mBAAmB,CAAC,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,iBAY3G;IAEK,kBAAkB,CAAC,SAAS,EAAE,YAAY,EAAE,GAAG,EAAE,KAAK;;;;OAY3D;IAEK,YAAY,CAChB,OAAO,EAAE,YAAY,EACrB,EACE,IAAI,EACJ,SAAS,EACT,IAAI,EACJ,KAAK,EACL,SAAS,EACV,EAAE;
|
|
1
|
+
{"version":3,"file":"wallet_db.d.ts","sourceRoot":"","sources":["../../src/storage/wallet_db.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,iBAAiB,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGzD,eAAO,MAAM,OAAO,wFAAyF,CAAC;AAC9G,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjD,qBAAa,QAAQ;;IAMnB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAW;IAElC,OAAO,CAAC,UAAU,CAA6B;IAE/C,MAAM,CAAC,WAAW,aAMjB;IAEK,IAAI,CAAC,KAAK,EAAE,iBAAiB,iBAOlC;YAEa,iBAAiB;IAIzB,mBAAmB,CAAC,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,iBAY3G;IAEK,kBAAkB,CAAC,SAAS,EAAE,YAAY,EAAE,GAAG,EAAE,KAAK;;;;OAY3D;IAEK,mBAAmB,CAAC,SAAS,EAAE,YAAY,EAAE,GAAG,EAAE,KAAK;;;;OAY5D;IAEK,YAAY,CAChB,OAAO,EAAE,YAAY,EACrB,EACE,IAAI,EACJ,UAAU,EACV,SAAS,EACT,IAAI,EACJ,KAAK,EACL,SAAS,EACV,EAAE;QACD,IAAI,EAAE,WAAW,CAAC;QAClB,UAAU,CAAC,EAAE,cAAc,CAAC;QAC5B,SAAS,CAAC,EAAE,EAAE,CAAC;QACf,IAAI,EAAE,EAAE,CAAC;QACT,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;KAC/B,EACD,GAAG,EAAE,KAAK,iBA+BX;IAEK,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,iBAKjE;IAEK,aAAa,CAAC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,MAAM,iBAY1F;IAEK,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,MAAM,iBAStE;IAEK,OAAO,CAAC,EAAE,MAAM,EAAE,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,MAAM,iBASvE;IAED,gBAAgB,CAAC,GAAG,EAAE,MAAM,UAM3B;IAEM,sBAAsB,CAAC,GAAG,EAAE,MAAM,UAYxC;IAEK,aAAa,CAAC,GAAG,EAAE,MAAM,mBAW9B;IAEK,WAAW,CAAC,IAAI,CAAC,EAAE,SAAS;;;SAWjC;IAEK,oBAAoB,CAAC,cAAc,EAAE,YAAY,GAAG,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,iBAGtG;IAEK,uBAAuB,CAAC,cAAc,EAAE,YAAY,GAAG,MAAM,EAAE,WAAW,EAAE,MAAM,oCAOvF;IAEK,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM;;;;;;OAYnD;IAEK,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,iBAMvE;CACF"}
|