@aztec/cli-wallet 0.0.1-commit.88e6f9396 → 0.0.1-commit.8c0b8ff
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/cmds/check_tx.js +2 -1
- package/dest/cmds/create_account.d.ts +4 -3
- package/dest/cmds/create_account.d.ts.map +1 -1
- package/dest/cmds/create_account.js +24 -21
- package/dest/cmds/deploy.d.ts +4 -3
- package/dest/cmds/deploy.d.ts.map +1 -1
- package/dest/cmds/deploy.js +24 -23
- package/dest/cmds/deploy_account.d.ts +4 -3
- package/dest/cmds/deploy_account.d.ts.map +1 -1
- package/dest/cmds/deploy_account.js +19 -16
- package/dest/cmds/get_fee_juice_balance.d.ts +5 -0
- package/dest/cmds/get_fee_juice_balance.d.ts.map +1 -0
- package/dest/cmds/get_fee_juice_balance.js +27 -0
- package/dest/cmds/index.d.ts +1 -1
- package/dest/cmds/index.d.ts.map +1 -1
- package/dest/cmds/index.js +30 -14
- package/dest/cmds/send.d.ts +4 -3
- package/dest/cmds/send.d.ts.map +1 -1
- package/dest/cmds/send.js +23 -22
- package/dest/storage/wallet_db.d.ts +6 -1
- package/dest/storage/wallet_db.d.ts.map +1 -1
- package/dest/storage/wallet_db.js +14 -0
- package/dest/utils/options/fees.d.ts +2 -2
- package/dest/utils/options/fees.d.ts.map +1 -1
- package/dest/utils/options/fees.js +8 -7
- package/dest/utils/wallet.d.ts +6 -5
- package/dest/utils/wallet.d.ts.map +1 -1
- package/dest/utils/wallet.js +54 -40
- package/package.json +14 -14
- package/src/cmds/check_tx.ts +3 -2
- package/src/cmds/create_account.ts +25 -16
- package/src/cmds/deploy.ts +21 -15
- package/src/cmds/deploy_account.ts +19 -11
- package/src/cmds/get_fee_juice_balance.ts +37 -0
- package/src/cmds/index.ts +56 -3
- package/src/cmds/send.ts +20 -15
- package/src/storage/wallet_db.ts +14 -0
- package/src/utils/options/fees.ts +9 -7
- package/src/utils/wallet.ts +66 -53
package/dest/cmds/send.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { Contract, NO_WAIT } from '@aztec/aztec.js/contracts';
|
|
2
|
+
import { waitForTx } from '@aztec/aztec.js/node';
|
|
2
3
|
import { prepTx } from '@aztec/cli/utils';
|
|
4
|
+
import { TxStatus } from '@aztec/stdlib/tx';
|
|
3
5
|
import { DEFAULT_TX_TIMEOUT_S } from '../utils/cli_wallet_and_node_wrapper.js';
|
|
4
6
|
import { printProfileResult } from '../utils/profiling.js';
|
|
5
|
-
export async function send(wallet, node, from, functionName, functionArgsIn, contractArtifactPath, contractAddress, wait, cancellable, feeOpts, authWitnesses, verbose, log) {
|
|
7
|
+
export async function send(wallet, node, from, functionName, functionArgsIn, contractArtifactPath, contractAddress, wait, cancellable, feeOpts, authWitnesses, waitForStatus, verbose, log) {
|
|
6
8
|
const { functionArgs, contractArtifact } = await prepTx(contractArtifactPath, functionName, functionArgsIn, log);
|
|
7
9
|
const contract = Contract.at(contractAddress, contractArtifact, wallet);
|
|
8
10
|
const call = contract.methods[functionName](...functionArgs);
|
|
@@ -15,6 +17,7 @@ export async function send(wallet, node, from, functionName, functionArgsIn, con
|
|
|
15
17
|
from,
|
|
16
18
|
authWitnesses
|
|
17
19
|
};
|
|
20
|
+
const localStart = performance.now();
|
|
18
21
|
const sim = await call.simulate({
|
|
19
22
|
...sendOptions,
|
|
20
23
|
fee: {
|
|
@@ -31,25 +34,32 @@ export async function send(wallet, node, from, functionName, functionArgsIn, con
|
|
|
31
34
|
if (verbose) {
|
|
32
35
|
printProfileResult(stats, log);
|
|
33
36
|
}
|
|
37
|
+
const { txHash } = await call.send({
|
|
38
|
+
...sendOptions,
|
|
39
|
+
fee: {
|
|
40
|
+
...sendOptions.fee,
|
|
41
|
+
gasSettings: estimatedGas
|
|
42
|
+
},
|
|
43
|
+
wait: NO_WAIT
|
|
44
|
+
});
|
|
45
|
+
const localTimeMs = performance.now() - localStart;
|
|
46
|
+
log(`\nTransaction hash: ${txHash.toString()}`);
|
|
34
47
|
if (wait) {
|
|
35
48
|
try {
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
gasSettings: estimatedGas
|
|
41
|
-
},
|
|
42
|
-
wait: {
|
|
43
|
-
timeout: DEFAULT_TX_TIMEOUT_S
|
|
44
|
-
}
|
|
49
|
+
const nodeStart = performance.now();
|
|
50
|
+
const receipt = await waitForTx(node, txHash, {
|
|
51
|
+
timeout: DEFAULT_TX_TIMEOUT_S,
|
|
52
|
+
waitForStatus
|
|
45
53
|
});
|
|
46
|
-
const
|
|
47
|
-
|
|
48
|
-
log(
|
|
54
|
+
const nodeTimeMs = performance.now() - nodeStart;
|
|
55
|
+
const statusLabel = waitForStatus === TxStatus.PROPOSED ? 'proposed' : 'checkpointed';
|
|
56
|
+
log(`Transaction has been ${statusLabel}`);
|
|
49
57
|
log(` Tx fee: ${receipt.transactionFee}`);
|
|
50
58
|
log(` Status: ${receipt.status}`);
|
|
51
59
|
log(` Block number: ${receipt.blockNumber}`);
|
|
52
60
|
log(` Block hash: ${receipt.blockHash?.toString()}`);
|
|
61
|
+
log(` Local processing time: ${(localTimeMs / 1000).toFixed(1)}s`);
|
|
62
|
+
log(` Node inclusion time: ${(nodeTimeMs / 1000).toFixed(1)}s`);
|
|
53
63
|
return {
|
|
54
64
|
txHash
|
|
55
65
|
};
|
|
@@ -58,15 +68,6 @@ export async function send(wallet, node, from, functionName, functionArgsIn, con
|
|
|
58
68
|
throw err;
|
|
59
69
|
}
|
|
60
70
|
} else {
|
|
61
|
-
const { txHash } = await call.send({
|
|
62
|
-
...sendOptions,
|
|
63
|
-
fee: {
|
|
64
|
-
...sendOptions.fee,
|
|
65
|
-
gasSettings: estimatedGas
|
|
66
|
-
},
|
|
67
|
-
wait: NO_WAIT
|
|
68
|
-
});
|
|
69
|
-
log(`\nTransaction hash: ${txHash.toString()}`);
|
|
70
71
|
log('Transaction pending. Check status with check-tx');
|
|
71
72
|
return {
|
|
72
73
|
txHash
|
|
@@ -20,6 +20,11 @@ export declare class WalletDB {
|
|
|
20
20
|
secret: string;
|
|
21
21
|
leafIndex: bigint;
|
|
22
22
|
}>;
|
|
23
|
+
peekBridgedFeeJuice(recipient: AztecAddress, log: LogFn): Promise<{
|
|
24
|
+
amount: bigint;
|
|
25
|
+
secret: string;
|
|
26
|
+
leafIndex: bigint;
|
|
27
|
+
}>;
|
|
23
28
|
storeAccount(address: AztecAddress, { type, secretKey, salt, alias, publicKey }: {
|
|
24
29
|
type: AccountType;
|
|
25
30
|
secretKey: Fr;
|
|
@@ -50,4 +55,4 @@ export declare class WalletDB {
|
|
|
50
55
|
}>;
|
|
51
56
|
storeAlias(type: AliasType, key: string, value: Buffer, log: LogFn): Promise<void>;
|
|
52
57
|
}
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0X2RiLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RvcmFnZS93YWxsZXRfZGIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFpQixNQUFNLGlCQUFpQixDQUFDO0FBQ3hFLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRS9DLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR3pELGVBQU8sTUFBTSxPQUFPLHdGQUF5RixDQUFDO0FBQzlHLE1BQU0sTUFBTSxTQUFTLEdBQUcsQ0FBQyxPQUFPLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBRWpELHFCQUFhLFFBQVE7O0lBTW5CLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFXO0lBRWxDLE9BQU8sQ0FBQyxVQUFVLENBQTZCO0lBRS9DLE1BQU0sQ0FBQyxXQUFXLGFBTWpCO0lBRUssSUFBSSxDQUFDLEtBQUssRUFBRSxpQkFBaUIsaUJBT2xDO1lBRWEsaUJBQWlCO0lBSXpCLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssaUJBWTNHO0lBRUssa0JBQWtCLENBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxHQUFHLEVBQUUsS0FBSzs7OztPQVkzRDtJQUVLLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLEtBQUs7Ozs7T0FZNUQ7SUFFSyxZQUFZLENBQ2hCLE9BQU8sRUFBRSxZQUFZLEVBQ3JCLEVBQ0UsSUFBSSxFQUNKLFNBQVMsRUFDVCxJQUFJLEVBQ0osS0FBSyxFQUNMLFNBQVMsRUFDVixFQUFFO1FBQUUsSUFBSSxFQUFFLFdBQVcsQ0FBQztRQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7UUFBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1FBQUMsS0FBSyxFQUFFLE1BQU0sR0FBRyxTQUFTLENBQUM7UUFBQyxTQUFTLEVBQUUsTUFBTSxHQUFHLFNBQVMsQ0FBQTtLQUFFLEVBQzNHLEdBQUcsRUFBRSxLQUFLLGlCQXFCWDtJQUVLLFdBQVcsQ0FBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssaUJBS2pFO0lBRUssYUFBYSxDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0saUJBWTFGO0lBRUssZ0JBQWdCLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0saUJBU3RFO0lBRUssT0FBTyxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUU7UUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFBO0tBQUUsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0saUJBU3ZFO0lBRUQsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLE1BQU0sVUFNM0I7SUFFTSxzQkFBc0IsQ0FBQyxHQUFHLEVBQUUsTUFBTSxVQVl4QztJQUVLLGFBQWEsQ0FBQyxHQUFHLEVBQUUsTUFBTSxtQkFXOUI7SUFFSyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUzs7O1NBV2pDO0lBRUssb0JBQW9CLENBQUMsY0FBYyxFQUFFLFlBQVksR0FBRyxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFHdEc7SUFFSyx1QkFBdUIsQ0FBQyxjQUFjLEVBQUUsWUFBWSxHQUFHLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQ0FPdkY7SUFFSyxlQUFlLENBQUMsT0FBTyxFQUFFLFlBQVksR0FBRyxNQUFNOzs7OztPQVNuRDtJQUVLLFVBQVUsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsS0FBSyxpQkFNdkU7Q0FDRiJ9
|
|
@@ -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;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,SAAS,EAAE,EAAE,CAAC;QAAC,IAAI,EAAE,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,EAC3G,GAAG,EAAE,KAAK,iBAqBX;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;;;;;OASnD;IAEK,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,iBAMvE;CACF"}
|
|
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,mBAAmB,CAAC,SAAS,EAAE,YAAY,EAAE,GAAG,EAAE,KAAK;;;;OAY5D;IAEK,YAAY,CAChB,OAAO,EAAE,YAAY,EACrB,EACE,IAAI,EACJ,SAAS,EACT,IAAI,EACJ,KAAK,EACL,SAAS,EACV,EAAE;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,SAAS,EAAE,EAAE,CAAC;QAAC,IAAI,EAAE,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,EAC3G,GAAG,EAAE,KAAK,iBAqBX;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;;;;;OASnD;IAEK,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,iBAMvE;CACF"}
|
|
@@ -62,6 +62,20 @@ export class WalletDB {
|
|
|
62
62
|
leafIndex: BigInt(leafIndexStr)
|
|
63
63
|
};
|
|
64
64
|
}
|
|
65
|
+
async peekBridgedFeeJuice(recipient, log) {
|
|
66
|
+
const stackPointer = (await this.#bridgedFeeJuice.getAsync(`${recipient.toString()}:stackPointer`))?.readInt8() || 0;
|
|
67
|
+
const result = await this.#bridgedFeeJuice.getAsync(`${recipient.toString()}:${stackPointer}`);
|
|
68
|
+
if (!result) {
|
|
69
|
+
throw new Error(`No stored fee juice available for recipient ${recipient.toString()}. Please provide claim amount and secret. Stack pointer ${stackPointer}`);
|
|
70
|
+
}
|
|
71
|
+
const [amountStr, secretStr, leafIndexStr] = result.toString().split(':');
|
|
72
|
+
log(`Peeked ${amountStr} fee juice for recipient ${recipient.toString()}. Stack pointer ${stackPointer}`);
|
|
73
|
+
return {
|
|
74
|
+
amount: BigInt(amountStr),
|
|
75
|
+
secret: secretStr,
|
|
76
|
+
leafIndex: BigInt(leafIndexStr)
|
|
77
|
+
};
|
|
78
|
+
}
|
|
65
79
|
async storeAccount(address, { type, secretKey, salt, alias, publicKey }, log) {
|
|
66
80
|
let publicSigningKey;
|
|
67
81
|
if (type === 'ecdsasecp256r1ssh' && publicKey) {
|
|
@@ -20,7 +20,7 @@ export type ParsedFeeOptions = {
|
|
|
20
20
|
gasSettings?: Partial<FieldsOf<GasSettings>>;
|
|
21
21
|
};
|
|
22
22
|
export declare function getPaymentMethodOption(): Option;
|
|
23
|
-
export declare function parsePaymentMethod(payment: string, log: LogFn, db?: WalletDB): (wallet: Wallet, from: AztecAddress, gasSettings: GasSettings) => Promise<FeePaymentMethod | undefined>;
|
|
23
|
+
export declare function parsePaymentMethod(payment: string, log: LogFn, db?: WalletDB, estimateOnly?: boolean): (wallet: Wallet, from: AztecAddress, gasSettings: GasSettings) => Promise<FeePaymentMethod | undefined>;
|
|
24
24
|
export declare function parseGasFees(gasFees: string): GasFees;
|
|
25
25
|
export declare class CLIFeeArgs {
|
|
26
26
|
estimateOnly: boolean;
|
|
@@ -32,4 +32,4 @@ export declare class CLIFeeArgs {
|
|
|
32
32
|
static getOptions(): Option[];
|
|
33
33
|
}
|
|
34
34
|
export declare function printGasEstimates(feeOpts: FeeOptions, gasEstimates: Pick<GasSettings, 'gasLimits' | 'teardownGasLimits'>, log: LogFn): void;
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL29wdGlvbnMvZmVlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzVELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXJELE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQU8sT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzlELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRWhFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFbkMsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFJM0QsTUFBTSxNQUFNLGFBQWEsR0FBRztJQUMxQixlQUFlLEVBQUUsT0FBTyxDQUFDO0lBQ3pCLFNBQVMsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNuQixPQUFPLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDakIsYUFBYSxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ3ZCLHFCQUFxQixDQUFDLEVBQUUsTUFBTSxDQUFDO0NBQ2hDLENBQUM7QUFFRixNQUFNLE1BQU0sZ0JBQWdCLEdBQUc7SUFDN0IsYUFBYSxDQUFDLEVBQUUsZ0JBQWdCLENBQUM7SUFDakMsV0FBVyxDQUFDLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0NBQzlDLENBQUM7QUF5REYsd0JBQWdCLHNCQUFzQixXQUdyQztBQTBCRCx3QkFBZ0Isa0JBQWtCLENBQ2hDLE9BQU8sRUFBRSxNQUFNLEVBQ2YsR0FBRyxFQUFFLEtBQUssRUFDVixFQUFFLENBQUMsRUFBRSxRQUFRLEVBQ2IsWUFBWSxDQUFDLEVBQUUsT0FBTyxHQUNyQixDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsV0FBVyxLQUFLLE9BQU8sQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsQ0FxRnpHO0FBeUJELHdCQUFnQixZQUFZLENBQUMsT0FBTyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBa0JyRDtBQUNELHFCQUFhLFVBQVU7SUFFWixZQUFZLEVBQUUsT0FBTztJQUM1QixPQUFPLENBQUMsYUFBYTtJQUtyQixPQUFPLENBQUMsV0FBVztJQVByQixZQUNTLFlBQVksRUFBRSxPQUFPLEVBQ3BCLGFBQWEsRUFBRSxDQUNyQixNQUFNLEVBQUUsTUFBTSxFQUNkLFFBQVEsRUFBRSxZQUFZLEVBQ3RCLFdBQVcsRUFBRSxXQUFXLEtBQ3JCLE9BQU8sQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsRUFDbEMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsRUFDakQ7SUFFRSxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFlBQVksR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FRckc7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxRQUFRLEdBQUcsVUFBVSxDQU92RTtJQUVELE1BQU0sQ0FBQyxVQUFVLGFBRWhCO0NBQ0Y7QUFJRCx3QkFBZ0IsaUJBQWlCLENBQy9CLE9BQU8sRUFBRSxVQUFVLEVBQ25CLFlBQVksRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLFdBQVcsR0FBRyxtQkFBbUIsQ0FBQyxFQUNsRSxHQUFHLEVBQUUsS0FBSyxRQUlYIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fees.d.ts","sourceRoot":"","sources":["../../../src/utils/options/fees.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAO,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAI3D,MAAM,MAAM,aAAa,GAAG;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC,WAAW,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;CAC9C,CAAC;AAyDF,wBAAgB,sBAAsB,WAGrC;AA0BD,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,KAAK,EACV,EAAE,CAAC,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"fees.d.ts","sourceRoot":"","sources":["../../../src/utils/options/fees.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAO,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAI3D,MAAM,MAAM,aAAa,GAAG;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC,WAAW,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;CAC9C,CAAC;AAyDF,wBAAgB,sBAAsB,WAGrC;AA0BD,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,KAAK,EACV,EAAE,CAAC,EAAE,QAAQ,EACb,YAAY,CAAC,EAAE,OAAO,GACrB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,KAAK,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAqFzG;AAyBD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAkBrD;AACD,qBAAa,UAAU;IAEZ,YAAY,EAAE,OAAO;IAC5B,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,WAAW;IAPrB,YACS,YAAY,EAAE,OAAO,EACpB,aAAa,EAAE,CACrB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,YAAY,EACtB,WAAW,EAAE,WAAW,KACrB,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,EAClC,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,EACjD;IAEE,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAQrG;IAED,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,UAAU,CAOvE;IAED,MAAM,CAAC,UAAU,aAEhB;CACF;AAID,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,UAAU,EACnB,YAAY,EAAE,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,mBAAmB,CAAC,EAClE,GAAG,EAAE,KAAK,QAIX"}
|
|
@@ -70,7 +70,7 @@ function parseGasSettings(args) {
|
|
|
70
70
|
maxPriorityFeesPerGas
|
|
71
71
|
};
|
|
72
72
|
}
|
|
73
|
-
export function parsePaymentMethod(payment, log, db) {
|
|
73
|
+
export function parsePaymentMethod(payment, log, db, estimateOnly) {
|
|
74
74
|
const parsed = payment.split(',').reduce((acc, item)=>{
|
|
75
75
|
const [dimension, value] = item.split('=');
|
|
76
76
|
acc[dimension] = value ?? 1;
|
|
@@ -95,15 +95,15 @@ export function parsePaymentMethod(payment, log, db) {
|
|
|
95
95
|
if (parsed.claim || parsed.claimSecret && parsed.claimAmount && parsed.messageLeafIndex) {
|
|
96
96
|
let claimAmount, claimSecret, messageLeafIndex;
|
|
97
97
|
if (parsed.claim && db) {
|
|
98
|
-
({ amount: claimAmount, secret: claimSecret, leafIndex: messageLeafIndex } = await db.popBridgedFeeJuice(from, log));
|
|
98
|
+
({ amount: claimAmount, secret: claimSecret, leafIndex: messageLeafIndex } = estimateOnly ? await db.peekBridgedFeeJuice(from, log) : await db.popBridgedFeeJuice(from, log));
|
|
99
99
|
} else {
|
|
100
100
|
({ claimAmount, claimSecret, messageLeafIndex } = parsed);
|
|
101
101
|
}
|
|
102
102
|
log(`Using Fee Juice for fee payments with claim for ${claimAmount} tokens`);
|
|
103
103
|
const { FeeJuicePaymentMethodWithClaim } = await import('@aztec/aztec.js/fee');
|
|
104
104
|
return new FeeJuicePaymentMethodWithClaim(from, {
|
|
105
|
-
claimAmount: (typeof claimAmount === 'string' ? Fr.
|
|
106
|
-
claimSecret: Fr.
|
|
105
|
+
claimAmount: (typeof claimAmount === 'string' ? Fr.fromString(claimAmount) : new Fr(claimAmount)).toBigInt(),
|
|
106
|
+
claimSecret: typeof claimSecret === 'string' ? Fr.fromString(claimSecret) : claimSecret,
|
|
107
107
|
messageLeafIndex: BigInt(messageLeafIndex)
|
|
108
108
|
});
|
|
109
109
|
} else {
|
|
@@ -193,7 +193,7 @@ export class CLIFeeArgs {
|
|
|
193
193
|
}
|
|
194
194
|
async toUserFeeOptions(node, wallet, from) {
|
|
195
195
|
const maxFeesPerGas = (await node.getCurrentMinFees()).mul(1 + MIN_FEE_PADDING);
|
|
196
|
-
const gasSettings = GasSettings.
|
|
196
|
+
const gasSettings = GasSettings.fallback({
|
|
197
197
|
...this.gasSettings,
|
|
198
198
|
maxFeesPerGas
|
|
199
199
|
});
|
|
@@ -204,7 +204,8 @@ export class CLIFeeArgs {
|
|
|
204
204
|
};
|
|
205
205
|
}
|
|
206
206
|
static parse(args, log, db) {
|
|
207
|
-
|
|
207
|
+
const estimateOnly = !!args.estimateGasOnly;
|
|
208
|
+
return new CLIFeeArgs(estimateOnly, parsePaymentMethod(args.payment ?? 'method=fee_juice', log, db, estimateOnly), parseGasSettings(args));
|
|
208
209
|
}
|
|
209
210
|
static getOptions() {
|
|
210
211
|
return getFeeOptions();
|
|
@@ -219,7 +220,7 @@ function formatGasEstimate(estimate) {
|
|
|
219
220
|
return `da=${estimate.gasLimits.daGas},l2=${estimate.gasLimits.l2Gas},teardownDA=${estimate.teardownGasLimits.daGas},teardownL2=${estimate.teardownGasLimits.l2Gas}`;
|
|
220
221
|
}
|
|
221
222
|
function getEstimatedCost(estimate, maxFeesPerGas) {
|
|
222
|
-
return GasSettings.
|
|
223
|
+
return GasSettings.fallback({
|
|
223
224
|
...estimate,
|
|
224
225
|
maxFeesPerGas
|
|
225
226
|
}).getFeeLimit().toBigInt();
|
package/dest/utils/wallet.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { type Account } from '@aztec/aztec.js/account';
|
|
|
2
2
|
import { type InteractionFeeOptions } from '@aztec/aztec.js/contracts';
|
|
3
3
|
import type { AztecNode } from '@aztec/aztec.js/node';
|
|
4
4
|
import { AccountManager, type Aliased, type SimulateOptions } from '@aztec/aztec.js/wallet';
|
|
5
|
+
import { TxSimulationResultWithAppOffset } from '@aztec/aztec.js/wallet';
|
|
5
6
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
6
7
|
import type { LogFn } from '@aztec/foundation/log';
|
|
7
8
|
import type { NotesFilter } from '@aztec/pxe/client/lazy';
|
|
@@ -9,7 +10,7 @@ import type { PXEConfig } from '@aztec/pxe/config';
|
|
|
9
10
|
import type { PXE } from '@aztec/pxe/server';
|
|
10
11
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
11
12
|
import { NoteDao } from '@aztec/stdlib/note';
|
|
12
|
-
import type { TxProvingResult
|
|
13
|
+
import type { TxProvingResult } from '@aztec/stdlib/tx';
|
|
13
14
|
import { ExecutionPayload } from '@aztec/stdlib/tx';
|
|
14
15
|
import { BaseWallet, type SimulateViaEntrypointOptions } from '@aztec/wallet-sdk/base-wallet';
|
|
15
16
|
import type { WalletDB } from '../storage/wallet_db.js';
|
|
@@ -27,14 +28,14 @@ export declare class CLIWallet extends BaseWallet {
|
|
|
27
28
|
private createAccount;
|
|
28
29
|
createOrRetrieveAccount(address?: AztecAddress, secretKey?: Fr, type?: AccountType, salt?: Fr, publicKey?: string): Promise<AccountManager>;
|
|
29
30
|
private getFakeAccountDataFor;
|
|
30
|
-
simulateTx(executionPayload: ExecutionPayload, opts: SimulateOptions): Promise<
|
|
31
|
+
simulateTx(executionPayload: ExecutionPayload, opts: SimulateOptions): Promise<TxSimulationResultWithAppOffset>;
|
|
31
32
|
/**
|
|
32
33
|
* Uses a stub account for kernelless simulation, bypassing real account authorization.
|
|
33
|
-
*
|
|
34
|
+
* Uses DefaultEntrypoint directly for NO_FROM transactions.
|
|
34
35
|
*/
|
|
35
|
-
protected simulateViaEntrypoint(executionPayload: ExecutionPayload, opts: SimulateViaEntrypointOptions): Promise<
|
|
36
|
+
protected simulateViaEntrypoint(executionPayload: ExecutionPayload, opts: SimulateViaEntrypointOptions): Promise<TxSimulationResultWithAppOffset>;
|
|
36
37
|
getContracts(): Promise<AztecAddress[]>;
|
|
37
38
|
getNotes(filter: NotesFilter): Promise<NoteDao[]>;
|
|
38
39
|
getContractArtifact(id: Fr): Promise<import("@aztec/stdlib/abi").ContractArtifact | undefined>;
|
|
39
40
|
}
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvd2FsbGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sRUFBRSxLQUFLLE9BQU8sRUFBaUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN0RixPQUFPLEVBQ0wsS0FBSyxxQkFBcUIsRUFHM0IsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLEtBQUssT0FBTyxFQUFFLEtBQUssZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUYsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHekUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDN0MsT0FBTyxLQUFLLEVBQTJDLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBMEIsTUFBTSxrQkFBa0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssNEJBQTRCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUU5RixPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RCxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUlsRCxxQkFBYSxTQUFVLFNBQVEsVUFBVTtJQU1yQyxPQUFPLENBQUMsT0FBTztJQUNmLE9BQU8sQ0FBQyxFQUFFLENBQUM7SUFOYixPQUFPLENBQUMsWUFBWSxDQUE4QjtJQUVsRCxZQUNFLEdBQUcsRUFBRSxHQUFHLEVBQ1IsSUFBSSxFQUFFLFNBQVMsRUFDUCxPQUFPLEVBQUUsS0FBSyxFQUNkLEVBQUUsQ0FBQyxzQkFBVSxFQUl0QjtJQUVELE9BQWEsTUFBTSxDQUNqQixJQUFJLEVBQUUsU0FBUyxFQUNmLEdBQUcsRUFBRSxLQUFLLEVBQ1YsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUNiLGlCQUFpQixDQUFDLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUNyQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBSXBCO0lBRWMsV0FBVyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQVE3RDtZQUVhLG9DQUFvQztJQTRCNUMsbUJBQW1CLENBQ3ZCLElBQUksRUFBRSxZQUFZLEVBQ2xCLE9BQU8sRUFBRSxFQUFFLEVBQ1gsWUFBWSxFQUFFLHFCQUFxQixHQUNsQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBRzFCO0lBRWMscUJBQXFCLENBQUMsT0FBTyxFQUFFLFlBQVksb0JBYXpEO1lBRWEsYUFBYTtJQVdyQix1QkFBdUIsQ0FDM0IsT0FBTyxDQUFDLEVBQUUsWUFBWSxFQUN0QixTQUFTLENBQUMsRUFBRSxFQUFFLEVBQ2QsSUFBSSxHQUFFLFdBQXVCLEVBQzdCLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFDVCxTQUFTLENBQUMsRUFBRSxNQUFNLEdBQ2pCLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FtRHpCO1lBUWEscUJBQXFCO0lBZXBCLFVBQVUsQ0FDdkIsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQ2xDLElBQUksRUFBRSxlQUFlLEdBQ3BCLE9BQU8sQ0FBQywrQkFBK0IsQ0FBQyxDQWExQztJQUVEOzs7T0FHRztJQUNILFVBQXlCLHFCQUFxQixDQUM1QyxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFDbEMsSUFBSSxFQUFFLDRCQUE0QixHQUNqQyxPQUFPLENBQUMsK0JBQStCLENBQUMsQ0EwQzFDO0lBSUQsWUFBWSxJQUFJLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUV0QztJQUlELFFBQVEsQ0FBQyxNQUFNLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUVoRDtJQUlELG1CQUFtQixDQUFDLEVBQUUsRUFBRSxFQUFFLHFFQUV6QjtDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../src/utils/wallet.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../src/utils/wallet.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,OAAO,EAAiC,MAAM,yBAAyB,CAAC;AACtF,OAAO,EACL,KAAK,qBAAqB,EAG3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,KAAK,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC5F,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AAGzE,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,KAAK,EAA2C,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACjG,OAAO,EAAE,gBAAgB,EAA0B,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,KAAK,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAE9F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAIlD,qBAAa,SAAU,SAAQ,UAAU;IAMrC,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,EAAE,CAAC;IANb,OAAO,CAAC,YAAY,CAA8B;IAElD,YACE,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,SAAS,EACP,OAAO,EAAE,KAAK,EACd,EAAE,CAAC,sBAAU,EAItB;IAED,OAAa,MAAM,CACjB,IAAI,EAAE,SAAS,EACf,GAAG,EAAE,KAAK,EACV,EAAE,CAAC,EAAE,QAAQ,EACb,iBAAiB,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GACrC,OAAO,CAAC,SAAS,CAAC,CAIpB;IAEc,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAQ7D;YAEa,oCAAoC;IA4B5C,mBAAmB,CACvB,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,EAAE,EACX,YAAY,EAAE,qBAAqB,GAClC,OAAO,CAAC,eAAe,CAAC,CAG1B;IAEc,qBAAqB,CAAC,OAAO,EAAE,YAAY,oBAazD;YAEa,aAAa;IAWrB,uBAAuB,CAC3B,OAAO,CAAC,EAAE,YAAY,EACtB,SAAS,CAAC,EAAE,EAAE,EACd,IAAI,GAAE,WAAuB,EAC7B,IAAI,CAAC,EAAE,EAAE,EACT,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,CAAC,CAmDzB;YAQa,qBAAqB;IAepB,UAAU,CACvB,gBAAgB,EAAE,gBAAgB,EAClC,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC,+BAA+B,CAAC,CAa1C;IAED;;;OAGG;IACH,UAAyB,qBAAqB,CAC5C,gBAAgB,EAAE,gBAAgB,EAClC,IAAI,EAAE,4BAA4B,GACjC,OAAO,CAAC,+BAA+B,CAAC,CA0C1C;IAID,YAAY,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAEtC;IAID,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAEhD;IAID,mBAAmB,CAAC,EAAE,EAAE,EAAE,qEAEzB;CACF"}
|
package/dest/utils/wallet.js
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { EcdsaRAccountContract, EcdsaRSSHAccountContract } from '@aztec/accounts/ecdsa';
|
|
2
2
|
import { SchnorrAccountContract } from '@aztec/accounts/schnorr';
|
|
3
|
-
import {
|
|
3
|
+
import { StubEcdsaAccountContractArtifact, createStubEcdsaAccount } from '@aztec/accounts/stub/ecdsa';
|
|
4
|
+
import { StubSchnorrAccountContractArtifact, createStubSchnorrAccount } from '@aztec/accounts/stub/schnorr';
|
|
4
5
|
import { getIdentities } from '@aztec/accounts/utils';
|
|
5
|
-
import {
|
|
6
|
+
import { NO_FROM } from '@aztec/aztec.js/account';
|
|
6
7
|
import { getContractInstanceFromInstantiationParams, getGasLimits } from '@aztec/aztec.js/contracts';
|
|
7
8
|
import { AccountManager } from '@aztec/aztec.js/wallet';
|
|
9
|
+
import { TxSimulationResultWithAppOffset } from '@aztec/aztec.js/wallet';
|
|
10
|
+
import { DefaultEntrypoint } from '@aztec/entrypoints/default';
|
|
8
11
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
9
12
|
import { createPXE, getPXEConfig } from '@aztec/pxe/server';
|
|
10
13
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
@@ -28,20 +31,28 @@ export class CLIWallet extends BaseWallet {
|
|
|
28
31
|
}
|
|
29
32
|
async getAccounts() {
|
|
30
33
|
const accounts = await this.db?.listAliases('accounts') ?? [];
|
|
31
|
-
return Promise.resolve(accounts.map(({ key, value })=>
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
34
|
+
return Promise.resolve(accounts.map(({ key, value })=>{
|
|
35
|
+
const alias = key.includes(':') ? key.slice(key.indexOf(':') + 1) : key;
|
|
36
|
+
return {
|
|
37
|
+
alias,
|
|
38
|
+
item: AztecAddress.fromString(value)
|
|
39
|
+
};
|
|
40
|
+
}));
|
|
35
41
|
}
|
|
36
42
|
async createCancellationTxExecutionRequest(from, txNonce, increasedFee) {
|
|
37
43
|
const executionPayload = ExecutionPayload.empty();
|
|
38
|
-
const feeOptions = await this.completeFeeOptions(
|
|
44
|
+
const feeOptions = await this.completeFeeOptions({
|
|
45
|
+
from,
|
|
46
|
+
feePayer: executionPayload.feePayer,
|
|
47
|
+
gasSettings: increasedFee.gasSettings
|
|
48
|
+
});
|
|
39
49
|
const feeExecutionPayload = await feeOptions.walletFeePaymentMethod?.getExecutionPayload();
|
|
40
50
|
const fromAccount = await this.getAccountFromAddress(from);
|
|
41
51
|
const chainInfo = await this.getChainInfo();
|
|
42
52
|
const executionOptions = {
|
|
43
53
|
txNonce,
|
|
44
54
|
cancellable: this.cancellableTransactions,
|
|
55
|
+
// If from is an address, feeOptions include the way the account contract should handle the fee payment
|
|
45
56
|
feePaymentMethodOptions: feeOptions.accountFeePaymentMethodOptions
|
|
46
57
|
};
|
|
47
58
|
return await fromAccount.createTxExecutionRequest(feeExecutionPayload ?? executionPayload, feeOptions.gasSettings, chainInfo, executionOptions);
|
|
@@ -52,9 +63,7 @@ export class CLIWallet extends BaseWallet {
|
|
|
52
63
|
}
|
|
53
64
|
async getAccountFromAddress(address) {
|
|
54
65
|
let account;
|
|
55
|
-
if (address.
|
|
56
|
-
account = new SignerlessAccount();
|
|
57
|
-
} else if (this.accountCache.has(address.toString())) {
|
|
66
|
+
if (this.accountCache.has(address.toString())) {
|
|
58
67
|
return this.accountCache.get(address.toString());
|
|
59
68
|
} else {
|
|
60
69
|
const accountManager = await this.createOrRetrieveAccount(address);
|
|
@@ -125,31 +134,32 @@ export class CLIWallet extends BaseWallet {
|
|
|
125
134
|
* @returns The stub account, contract instance, and artifact for simulation
|
|
126
135
|
*/ async getFakeAccountDataFor(address) {
|
|
127
136
|
const originalAccount = await this.getAccountFromAddress(address);
|
|
128
|
-
// Account contracts can only be overridden if they have an associated address
|
|
129
|
-
// Overwriting SignerlessAccount is not supported, and does not really make sense
|
|
130
|
-
// since it has no authorization mechanism.
|
|
131
|
-
if (originalAccount instanceof SignerlessAccount) {
|
|
132
|
-
throw new Error(`Cannot create fake account data for SignerlessAccount at address: ${address}`);
|
|
133
|
-
}
|
|
134
137
|
const originalAddress = originalAccount.getCompleteAddress();
|
|
135
138
|
const contractInstance = await this.pxe.getContractInstance(originalAddress.address);
|
|
136
139
|
if (!contractInstance) {
|
|
137
140
|
throw new Error(`No contract instance found for address: ${originalAddress.address}`);
|
|
138
141
|
}
|
|
139
|
-
const
|
|
140
|
-
const
|
|
142
|
+
const { type } = await this.db.retrieveAccount(address);
|
|
143
|
+
const isSchnorr = type === 'schnorr';
|
|
144
|
+
const artifact = isSchnorr ? StubSchnorrAccountContractArtifact : StubEcdsaAccountContractArtifact;
|
|
145
|
+
const stubAccount = isSchnorr ? createStubSchnorrAccount(originalAddress) : createStubEcdsaAccount(originalAddress);
|
|
146
|
+
const instance = await getContractInstanceFromInstantiationParams(artifact, {
|
|
141
147
|
salt: Fr.random()
|
|
142
148
|
});
|
|
143
149
|
return {
|
|
144
150
|
account: stubAccount,
|
|
145
151
|
instance,
|
|
146
|
-
artifact
|
|
152
|
+
artifact
|
|
147
153
|
};
|
|
148
154
|
}
|
|
149
155
|
async simulateTx(executionPayload, opts) {
|
|
150
156
|
const simulationResults = await super.simulateTx(executionPayload, opts);
|
|
151
157
|
if (opts.fee?.estimateGas) {
|
|
152
|
-
const feeOptions = await this.completeFeeOptions(
|
|
158
|
+
const feeOptions = await this.completeFeeOptions({
|
|
159
|
+
from: opts.from,
|
|
160
|
+
feePayer: executionPayload.feePayer,
|
|
161
|
+
gasSettings: opts.fee?.gasSettings
|
|
162
|
+
});
|
|
153
163
|
const limits = getGasLimits(simulationResults, opts.fee?.estimatedGasPadding);
|
|
154
164
|
printGasEstimates(feeOptions, limits, this.userLog);
|
|
155
165
|
}
|
|
@@ -157,14 +167,23 @@ export class CLIWallet extends BaseWallet {
|
|
|
157
167
|
}
|
|
158
168
|
/**
|
|
159
169
|
* Uses a stub account for kernelless simulation, bypassing real account authorization.
|
|
160
|
-
*
|
|
170
|
+
* Uses DefaultEntrypoint directly for NO_FROM transactions.
|
|
161
171
|
*/ async simulateViaEntrypoint(executionPayload, opts) {
|
|
162
|
-
const { from, feeOptions,
|
|
172
|
+
const { from, feeOptions, additionalScopes } = opts;
|
|
173
|
+
const scopes = this.scopesFrom(from, additionalScopes);
|
|
174
|
+
const feeExecutionPayload = await feeOptions.walletFeePaymentMethod?.getExecutionPayload();
|
|
175
|
+
const finalExecutionPayload = feeExecutionPayload ? mergeExecutionPayloads([
|
|
176
|
+
feeExecutionPayload,
|
|
177
|
+
executionPayload
|
|
178
|
+
]) : executionPayload;
|
|
179
|
+
const chainInfo = await this.getChainInfo();
|
|
163
180
|
let overrides;
|
|
164
|
-
let
|
|
165
|
-
if (
|
|
181
|
+
let txRequest;
|
|
182
|
+
if (from === NO_FROM) {
|
|
183
|
+
const entrypoint = new DefaultEntrypoint();
|
|
184
|
+
txRequest = await entrypoint.createTxExecutionRequest(finalExecutionPayload, feeOptions.gasSettings, chainInfo);
|
|
185
|
+
} else {
|
|
166
186
|
const { account, instance, artifact } = await this.getFakeAccountDataFor(from);
|
|
167
|
-
fromAccount = account;
|
|
168
187
|
overrides = {
|
|
169
188
|
contracts: {
|
|
170
189
|
[from.toString()]: {
|
|
@@ -173,28 +192,23 @@ export class CLIWallet extends BaseWallet {
|
|
|
173
192
|
}
|
|
174
193
|
}
|
|
175
194
|
};
|
|
176
|
-
|
|
177
|
-
|
|
195
|
+
const executionOptions = {
|
|
196
|
+
txNonce: Fr.random(),
|
|
197
|
+
cancellable: this.cancellableTransactions,
|
|
198
|
+
// If from is an address, feeOptions include the way the account contract should handle the fee payment
|
|
199
|
+
feePaymentMethodOptions: feeOptions.accountFeePaymentMethodOptions
|
|
200
|
+
};
|
|
201
|
+
txRequest = await account.createTxExecutionRequest(finalExecutionPayload, feeOptions.gasSettings, chainInfo, executionOptions);
|
|
178
202
|
}
|
|
179
|
-
const
|
|
180
|
-
const executionOptions = {
|
|
181
|
-
txNonce: Fr.random(),
|
|
182
|
-
cancellable: this.cancellableTransactions,
|
|
183
|
-
feePaymentMethodOptions: feeOptions.accountFeePaymentMethodOptions
|
|
184
|
-
};
|
|
185
|
-
const finalExecutionPayload = feeExecutionPayload ? mergeExecutionPayloads([
|
|
186
|
-
feeExecutionPayload,
|
|
187
|
-
executionPayload
|
|
188
|
-
]) : executionPayload;
|
|
189
|
-
const chainInfo = await this.getChainInfo();
|
|
190
|
-
const txRequest = await fromAccount.createTxExecutionRequest(finalExecutionPayload, feeOptions.gasSettings, chainInfo, executionOptions);
|
|
191
|
-
return this.pxe.simulateTx(txRequest, {
|
|
203
|
+
const result = await this.pxe.simulateTx(txRequest, {
|
|
192
204
|
simulatePublic: true,
|
|
193
205
|
skipFeeEnforcement: true,
|
|
194
206
|
skipTxValidation: true,
|
|
195
207
|
overrides,
|
|
196
208
|
scopes
|
|
197
209
|
});
|
|
210
|
+
const appCallOffset = await this.computeAppCallOffset(from, feeOptions);
|
|
211
|
+
return TxSimulationResultWithAppOffset.fromResultAndOffset(result, appCallOffset);
|
|
198
212
|
}
|
|
199
213
|
// Exposed because of the `aztec-wallet get-tx` command. It has been decided that it's fine to keep around because
|
|
200
214
|
// this is just a CLI wallet.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/cli-wallet",
|
|
3
|
-
"version": "0.0.1-commit.
|
|
3
|
+
"version": "0.0.1-commit.8c0b8ff",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dest/cmds/index.js",
|
|
@@ -67,19 +67,19 @@
|
|
|
67
67
|
]
|
|
68
68
|
},
|
|
69
69
|
"dependencies": {
|
|
70
|
-
"@aztec/accounts": "0.0.1-commit.
|
|
71
|
-
"@aztec/aztec.js": "0.0.1-commit.
|
|
72
|
-
"@aztec/bb.js": "0.0.1-commit.
|
|
73
|
-
"@aztec/cli": "0.0.1-commit.
|
|
74
|
-
"@aztec/entrypoints": "0.0.1-commit.
|
|
75
|
-
"@aztec/ethereum": "0.0.1-commit.
|
|
76
|
-
"@aztec/foundation": "0.0.1-commit.
|
|
77
|
-
"@aztec/kv-store": "0.0.1-commit.
|
|
78
|
-
"@aztec/noir-contracts.js": "0.0.1-commit.
|
|
79
|
-
"@aztec/noir-noirc_abi": "0.0.1-commit.
|
|
80
|
-
"@aztec/pxe": "0.0.1-commit.
|
|
81
|
-
"@aztec/stdlib": "0.0.1-commit.
|
|
82
|
-
"@aztec/wallet-sdk": "0.0.1-commit.
|
|
70
|
+
"@aztec/accounts": "0.0.1-commit.8c0b8ff",
|
|
71
|
+
"@aztec/aztec.js": "0.0.1-commit.8c0b8ff",
|
|
72
|
+
"@aztec/bb.js": "0.0.1-commit.8c0b8ff",
|
|
73
|
+
"@aztec/cli": "0.0.1-commit.8c0b8ff",
|
|
74
|
+
"@aztec/entrypoints": "0.0.1-commit.8c0b8ff",
|
|
75
|
+
"@aztec/ethereum": "0.0.1-commit.8c0b8ff",
|
|
76
|
+
"@aztec/foundation": "0.0.1-commit.8c0b8ff",
|
|
77
|
+
"@aztec/kv-store": "0.0.1-commit.8c0b8ff",
|
|
78
|
+
"@aztec/noir-contracts.js": "0.0.1-commit.8c0b8ff",
|
|
79
|
+
"@aztec/noir-noirc_abi": "0.0.1-commit.8c0b8ff",
|
|
80
|
+
"@aztec/pxe": "0.0.1-commit.8c0b8ff",
|
|
81
|
+
"@aztec/stdlib": "0.0.1-commit.8c0b8ff",
|
|
82
|
+
"@aztec/wallet-sdk": "0.0.1-commit.8c0b8ff",
|
|
83
83
|
"commander": "^12.1.0",
|
|
84
84
|
"inquirer": "^10.1.8",
|
|
85
85
|
"source-map-support": "^0.5.21",
|
package/src/cmds/check_tx.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ContractArtifact } from '@aztec/aztec.js/abi';
|
|
2
|
-
import
|
|
2
|
+
import { AztecAddress } from '@aztec/aztec.js/addresses';
|
|
3
3
|
import { Fr } from '@aztec/aztec.js/fields';
|
|
4
4
|
import type { AztecNode } from '@aztec/aztec.js/node';
|
|
5
5
|
import { ProtocolContractAddress } from '@aztec/aztec.js/protocol';
|
|
@@ -87,12 +87,13 @@ async function inspectTx(wallet: CLIWallet, aztecNode: AztecNode, txHash: TxHash
|
|
|
87
87
|
// Nullifiers
|
|
88
88
|
const nullifierCount = effects.nullifiers.length;
|
|
89
89
|
const { deployNullifiers, initNullifiers, classNullifiers } = await getKnownNullifiers(wallet, artifactMap);
|
|
90
|
+
const accounts = (await wallet.getAccounts()).map(a => a.item);
|
|
90
91
|
if (nullifierCount > 0) {
|
|
91
92
|
log(' Nullifiers:');
|
|
92
93
|
for (const nullifier of effects.nullifiers) {
|
|
93
94
|
const deployed = deployNullifiers[nullifier.toString()];
|
|
94
95
|
const note = deployed
|
|
95
|
-
? (await wallet.getNotes({ siloedNullifier: nullifier, contractAddress: deployed, scopes:
|
|
96
|
+
? (await wallet.getNotes({ siloedNullifier: nullifier, contractAddress: deployed, scopes: accounts }))[0]
|
|
96
97
|
: undefined;
|
|
97
98
|
const initialized = initNullifiers[nullifier.toString()];
|
|
98
99
|
const registered = classNullifiers[nullifier.toString()];
|