@aztec/cli-wallet 0.0.1-fake-ceab37513c → 0.0.1-private.3d175340d2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/README.md +30 -0
  2. package/dest/bin/index.d.ts +2 -1
  3. package/dest/bin/index.js +40 -24
  4. package/dest/cmds/authorize_action.d.ts +4 -3
  5. package/dest/cmds/authorize_action.d.ts.map +1 -1
  6. package/dest/cmds/authorize_action.js +8 -7
  7. package/dest/cmds/bridge_fee_juice.d.ts +4 -4
  8. package/dest/cmds/bridge_fee_juice.d.ts.map +1 -1
  9. package/dest/cmds/bridge_fee_juice.js +9 -7
  10. package/dest/cmds/check_tx.d.ts +5 -3
  11. package/dest/cmds/check_tx.d.ts.map +1 -1
  12. package/dest/cmds/check_tx.js +175 -6
  13. package/dest/cmds/create_account.d.ts +9 -6
  14. package/dest/cmds/create_account.d.ts.map +1 -1
  15. package/dest/cmds/create_account.js +69 -64
  16. package/dest/cmds/create_authwit.d.ts +4 -3
  17. package/dest/cmds/create_authwit.d.ts.map +1 -1
  18. package/dest/cmds/create_authwit.js +6 -6
  19. package/dest/cmds/deploy.d.ts +8 -4
  20. package/dest/cmds/deploy.d.ts.map +1 -1
  21. package/dest/cmds/deploy.js +101 -58
  22. package/dest/cmds/deploy_account.d.ts +7 -8
  23. package/dest/cmds/deploy_account.d.ts.map +1 -1
  24. package/dest/cmds/deploy_account.js +65 -63
  25. package/dest/cmds/get_fee_juice_balance.d.ts +5 -0
  26. package/dest/cmds/get_fee_juice_balance.d.ts.map +1 -0
  27. package/dest/cmds/get_fee_juice_balance.js +27 -0
  28. package/dest/cmds/import_test_accounts.d.ts +3 -3
  29. package/dest/cmds/import_test_accounts.d.ts.map +1 -1
  30. package/dest/cmds/import_test_accounts.js +6 -9
  31. package/dest/cmds/index.d.ts +3 -3
  32. package/dest/cmds/index.d.ts.map +1 -1
  33. package/dest/cmds/index.js +91 -114
  34. package/dest/cmds/profile.d.ts +7 -4
  35. package/dest/cmds/profile.d.ts.map +1 -1
  36. package/dest/cmds/profile.js +9 -4
  37. package/dest/cmds/register_contract.d.ts +7 -3
  38. package/dest/cmds/register_contract.d.ts.map +1 -1
  39. package/dest/cmds/register_contract.js +5 -6
  40. package/dest/cmds/register_sender.d.ts +4 -3
  41. package/dest/cmds/register_sender.d.ts.map +1 -1
  42. package/dest/cmds/send.d.ts +9 -9
  43. package/dest/cmds/send.d.ts.map +1 -1
  44. package/dest/cmds/send.js +50 -31
  45. package/dest/cmds/simulate.d.ts +7 -4
  46. package/dest/cmds/simulate.d.ts.map +1 -1
  47. package/dest/cmds/simulate.js +12 -7
  48. package/dest/storage/wallet_db.d.ts +11 -16
  49. package/dest/storage/wallet_db.d.ts.map +1 -1
  50. package/dest/storage/wallet_db.js +62 -54
  51. package/dest/utils/authorizations.d.ts +3 -2
  52. package/dest/utils/authorizations.d.ts.map +1 -1
  53. package/dest/utils/authorizations.js +1 -1
  54. package/dest/utils/cli_wallet_and_node_wrapper.d.ts +12 -0
  55. package/dest/utils/cli_wallet_and_node_wrapper.d.ts.map +1 -0
  56. package/dest/utils/cli_wallet_and_node_wrapper.js +25 -0
  57. package/dest/utils/constants.d.ts +4 -0
  58. package/dest/utils/constants.d.ts.map +1 -0
  59. package/dest/utils/constants.js +7 -0
  60. package/dest/utils/ecdsa.d.ts +1 -1
  61. package/dest/utils/options/fees.d.ts +23 -28
  62. package/dest/utils/options/fees.d.ts.map +1 -1
  63. package/dest/utils/options/fees.js +92 -136
  64. package/dest/utils/options/index.d.ts +1 -1
  65. package/dest/utils/options/options.d.ts +3 -2
  66. package/dest/utils/options/options.d.ts.map +1 -1
  67. package/dest/utils/options/options.js +1 -1
  68. package/dest/utils/profiling.d.ts +1 -1
  69. package/dest/utils/profiling.d.ts.map +1 -1
  70. package/dest/utils/profiling.js +9 -1
  71. package/dest/utils/wallet.d.ts +44 -0
  72. package/dest/utils/wallet.d.ts.map +1 -0
  73. package/dest/utils/wallet.js +263 -0
  74. package/package.json +19 -15
  75. package/src/bin/index.ts +40 -32
  76. package/src/cmds/authorize_action.ts +14 -6
  77. package/src/cmds/bridge_fee_juice.ts +15 -11
  78. package/src/cmds/check_tx.ts +212 -5
  79. package/src/cmds/create_account.ts +82 -71
  80. package/src/cmds/create_authwit.ts +9 -5
  81. package/src/cmds/deploy.ts +103 -74
  82. package/src/cmds/deploy_account.ts +74 -63
  83. package/src/cmds/get_fee_juice_balance.ts +37 -0
  84. package/src/cmds/import_test_accounts.ts +7 -11
  85. package/src/cmds/index.ts +177 -209
  86. package/src/cmds/profile.ts +14 -6
  87. package/src/cmds/register_contract.ts +9 -11
  88. package/src/cmds/register_sender.ts +3 -2
  89. package/src/cmds/send.ts +50 -40
  90. package/src/cmds/simulate.ts +18 -13
  91. package/src/storage/wallet_db.ts +66 -67
  92. package/src/utils/authorizations.ts +3 -1
  93. package/src/utils/cli_wallet_and_node_wrapper.ts +35 -0
  94. package/src/utils/constants.ts +4 -0
  95. package/src/utils/options/fees.ts +121 -181
  96. package/src/utils/options/options.ts +3 -2
  97. package/src/utils/profiling.ts +15 -1
  98. package/src/utils/wallet.ts +330 -0
  99. package/dest/cmds/cancel_tx.d.ts +0 -11
  100. package/dest/cmds/cancel_tx.d.ts.map +0 -1
  101. package/dest/cmds/cancel_tx.js +0 -43
  102. package/dest/utils/accounts.d.ts +0 -9
  103. package/dest/utils/accounts.d.ts.map +0 -1
  104. package/dest/utils/accounts.js +0 -61
  105. package/dest/utils/pxe_wrapper.d.ts +0 -12
  106. package/dest/utils/pxe_wrapper.d.ts.map +0 -1
  107. package/dest/utils/pxe_wrapper.js +0 -26
  108. package/src/cmds/cancel_tx.ts +0 -66
  109. package/src/utils/accounts.ts +0 -77
  110. package/src/utils/pxe_wrapper.ts +0 -32
package/README.md CHANGED
@@ -1,2 +1,32 @@
1
1
  # Aztec wallet Documentation
2
2
 
3
+ ### Run tests locally
4
+
5
+ 1) Start a local Ethereum node (Anvil) in one terminal:
6
+
7
+ ```bash
8
+ anvil --host 127.0.0.1 --port 8545
9
+ ```
10
+
11
+ 2) In another terminal, start the Aztec local network from `yarn-project/aztec`:
12
+
13
+ ```bash
14
+ cd yarn-project/aztec
15
+ NODE_NO_WARNINGS=1 ETHEREUM_HOSTS=http://127.0.0.1:8545 node ./dest/bin/index.js start --local-network
16
+ ```
17
+
18
+ 3) Run the wallet tests from `yarn-project/cli-wallet/test`:
19
+
20
+ ```bash
21
+ cd yarn-project/cli-wallet/test
22
+ ./test.sh --filter <partialnameoftest>
23
+ ```
24
+
25
+ Notes:
26
+ - **Filter tests**: Omit `--filter` to run all tests, or pass part of a test filename to run a subset.
27
+ - **Docker mode**: You can run tests using Docker by adding `--docker`:
28
+
29
+ ```bash
30
+ ./test.sh --docker --filter <partialnameoftest>
31
+ ```
32
+
@@ -1,2 +1,3 @@
1
+ #!/usr/bin/env node
1
2
  export {};
2
- //# sourceMappingURL=index.d.ts.map
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9iaW4vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
package/dest/bin/index.js CHANGED
@@ -1,19 +1,25 @@
1
- import { Fr, ProtocolContractAddress, computeSecretHash, fileURLToPath } from '@aztec/aztec.js';
1
+ #!/usr/bin/env node
2
+ import { computeSecretHash } from '@aztec/aztec.js/crypto';
3
+ import { Fr } from '@aztec/aztec.js/fields';
4
+ import { createAztecNodeClient } from '@aztec/aztec.js/node';
5
+ import { ProtocolContractAddress } from '@aztec/aztec.js/protocol';
6
+ import { BackendType, Barretenberg } from '@aztec/bb.js';
2
7
  import { LOCALHOST } from '@aztec/cli/cli-utils';
3
8
  import { createConsoleLogger, createLogger } from '@aztec/foundation/log';
4
9
  import { openStoreAt } from '@aztec/kv-store/lmdb-v2';
5
10
  import { getPackageVersion } from '@aztec/stdlib/update-checker';
6
11
  import { Argument, Command, Option } from 'commander';
7
- import { mkdirSync } from 'fs';
8
12
  import { homedir } from 'os';
9
- import { dirname, join, resolve } from 'path';
13
+ import { join } from 'path';
10
14
  import { injectCommands } from '../cmds/index.js';
11
15
  import { Aliases, WalletDB } from '../storage/wallet_db.js';
16
+ import { CliWalletAndNodeWrapper } from '../utils/cli_wallet_and_node_wrapper.js';
12
17
  import { createAliasOption } from '../utils/options/index.js';
13
- import { PXEWrapper } from '../utils/pxe_wrapper.js';
18
+ import { CLIWallet } from '../utils/wallet.js';
14
19
  const userLog = createConsoleLogger();
15
20
  const debugLogger = createLogger('wallet');
16
21
  const { WALLET_DATA_DIRECTORY = join(homedir(), '.aztec/wallet') } = process.env;
22
+ // TODO: This function is only used in 1 place so we could just inline this
17
23
  function injectInternalCommands(program, log, db) {
18
24
  program.command('alias').description('Aliases information for easy reference.').addArgument(new Argument('<type>', 'Type of alias to create').choices(Aliases)).argument('<key>', 'Key to alias.').argument('<value>', 'Value to assign to the alias.').action(async (type, key, value)=>{
19
25
  value = db.tryRetrieveAlias(value) || value;
@@ -41,31 +47,40 @@ function injectInternalCommands(program, log, db) {
41
47
  return program;
42
48
  }
43
49
  /** CLI wallet main entrypoint */ async function main() {
44
- const walletVersion = getPackageVersion() ?? '0.0.0';
50
+ const walletVersion = getPackageVersion();
45
51
  const db = WalletDB.getInstance();
46
- const pxeWrapper = new PXEWrapper();
52
+ const walletAndNodeWrapper = new CliWalletAndNodeWrapper();
47
53
  const program = new Command('wallet');
48
- program.description('Aztec wallet').version(walletVersion).option('-d, --data-dir <string>', 'Storage directory for wallet data', WALLET_DATA_DIRECTORY).addOption(new Option('-p, --prover <string>', 'The type of prover the wallet uses (only applies if not using a remote PXE)').choices([
54
+ program.description('Aztec wallet').version(walletVersion).option('-d, --data-dir <string>', 'Storage directory for wallet data', WALLET_DATA_DIRECTORY).addOption(new Option('-p, --prover <string>', 'The type of prover the wallet uses').choices([
49
55
  'wasm',
50
56
  'native',
51
57
  'none'
52
- ]).env('PXE_PROVER').default('native')).addOption(new Option('--remote-pxe', 'Connect to an external PXE RPC server instead of the local one').env('REMOTE_PXE').default(false).conflicts('rpc-url')).addOption(new Option('-n, --node-url <string>', 'URL of the Aztec node to connect to').env('AZTEC_NODE_URL').default(`http://${LOCALHOST}:8080`)).hook('preSubcommand', async (command)=>{
53
- const { dataDir, remotePxe, nodeUrl, prover } = command.optsWithGlobals();
54
- if (!remotePxe) {
55
- debugLogger.info('Using local PXE service');
56
- const proverEnabled = prover !== 'none';
57
- const bbBinaryPath = prover === 'native' ? resolve(dirname(fileURLToPath(import.meta.url)), '../../../../barretenberg/cpp/build/bin/bb') : undefined;
58
- const bbWorkingDirectory = dataDir + '/bb';
59
- mkdirSync(bbWorkingDirectory, {
60
- recursive: true
61
- });
62
- const overridePXEConfig = {
63
- proverEnabled,
64
- bbBinaryPath: prover === 'native' ? bbBinaryPath : undefined,
65
- bbWorkingDirectory: prover === 'native' ? bbWorkingDirectory : undefined
66
- };
67
- pxeWrapper.prepare(nodeUrl, join(dataDir, 'pxe'), overridePXEConfig);
58
+ ]).env('PXE_PROVER').default('native')).addOption(new Option('-n, --node-url <string>', 'URL of the Aztec node to connect to').env('AZTEC_NODE_URL').default(`http://${LOCALHOST}:8080`)).hook('preSubcommand', async (command)=>{
59
+ // Skip initialization if user is just requesting help
60
+ if (command.args.includes('--help') || command.args.includes('-h')) {
61
+ return;
68
62
  }
63
+ const { dataDir, nodeUrl, prover } = command.optsWithGlobals();
64
+ const proverEnabled = prover !== 'none';
65
+ switch(prover){
66
+ case 'native':
67
+ await Barretenberg.initSingleton({
68
+ backend: BackendType.NativeUnixSocket
69
+ });
70
+ break;
71
+ case 'wasm':
72
+ await Barretenberg.initSingleton({
73
+ backend: BackendType.Wasm
74
+ });
75
+ break;
76
+ }
77
+ const overridePXEConfig = {
78
+ proverEnabled,
79
+ dataDirectory: join(dataDir, 'pxe')
80
+ };
81
+ const node = createAztecNodeClient(nodeUrl);
82
+ const wallet = await CLIWallet.create(node, userLog, db, overridePXEConfig);
83
+ walletAndNodeWrapper.setNodeAndWallet(node, wallet);
69
84
  await db.init(await openStoreAt(dataDir));
70
85
  let protocolContractsRegistered;
71
86
  try {
@@ -80,9 +95,10 @@ function injectInternalCommands(program, log, db) {
80
95
  }
81
96
  }
82
97
  });
83
- injectCommands(program, userLog, debugLogger, db, pxeWrapper);
98
+ injectCommands(program, userLog, debugLogger, walletAndNodeWrapper, db);
84
99
  injectInternalCommands(program, userLog, db);
85
100
  await program.parseAsync(process.argv);
101
+ await Barretenberg.destroySingleton();
86
102
  }
87
103
  main().catch((err)=>{
88
104
  debugLogger.error(`Error in command execution`);
@@ -1,4 +1,5 @@
1
- import { type AccountWalletWithSecretKey, type AztecAddress } from '@aztec/aztec.js';
1
+ import type { AztecAddress } from '@aztec/aztec.js/addresses';
2
+ import type { Wallet } from '@aztec/aztec.js/wallet';
2
3
  import type { LogFn } from '@aztec/foundation/log';
3
- export declare function authorizeAction(wallet: AccountWalletWithSecretKey, from: AztecAddress, functionName: string, caller: AztecAddress, functionArgsIn: any[], contractArtifactPath: string, contractAddress: AztecAddress, log: LogFn): Promise<import("@aztec/aztec.js").FieldsOf<import("@aztec/aztec.js").TxReceipt>>;
4
- //# sourceMappingURL=authorize_action.d.ts.map
4
+ export declare function authorizeAction(wallet: Wallet, from: AztecAddress, functionName: string, caller: AztecAddress, functionArgsIn: any[], contractArtifactPath: string, contractAddress: AztecAddress, log: LogFn): Promise<import("@aztec/aztec.js/contracts").TxSendResultMined<import("@aztec/stdlib/tx").TxReceipt>>;
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aG9yaXplX2FjdGlvbi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NtZHMvYXV0aG9yaXplX2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUc5RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVyRCxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUluRCx3QkFBc0IsZUFBZSxDQUNuQyxNQUFNLEVBQUUsTUFBTSxFQUNkLElBQUksRUFBRSxZQUFZLEVBQ2xCLFlBQVksRUFBRSxNQUFNLEVBQ3BCLE1BQU0sRUFBRSxZQUFZLEVBQ3BCLGNBQWMsRUFBRSxHQUFHLEVBQUUsRUFDckIsb0JBQW9CLEVBQUUsTUFBTSxFQUM1QixlQUFlLEVBQUUsWUFBWSxFQUM3QixHQUFHLEVBQUUsS0FBSyx3R0E2QlgifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"authorize_action.d.ts","sourceRoot":"","sources":["../../src/cmds/authorize_action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,0BAA0B,EAAE,KAAK,YAAY,EAAY,MAAM,iBAAiB,CAAC;AAE/F,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAInD,wBAAsB,eAAe,CACnC,MAAM,EAAE,0BAA0B,EAClC,IAAI,EAAE,YAAY,EAClB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,YAAY,EACpB,cAAc,EAAE,GAAG,EAAE,EACrB,oBAAoB,EAAE,MAAM,EAC5B,eAAe,EAAE,YAAY,EAC7B,GAAG,EAAE,KAAK,oFAwBX"}
1
+ {"version":3,"file":"authorize_action.d.ts","sourceRoot":"","sources":["../../src/cmds/authorize_action.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAG9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAInD,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,YAAY,EAClB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,YAAY,EACpB,cAAc,EAAE,GAAG,EAAE,EACrB,oBAAoB,EAAE,MAAM,EAC5B,eAAe,EAAE,YAAY,EAC7B,GAAG,EAAE,KAAK,wGA6BX"}
@@ -1,21 +1,22 @@
1
- import { Contract } from '@aztec/aztec.js';
1
+ import { SetPublicAuthwitContractInteraction } from '@aztec/aztec.js/authorization';
2
+ import { Contract } from '@aztec/aztec.js/contracts';
2
3
  import { prepTx } from '@aztec/cli/utils';
3
- import { DEFAULT_TX_TIMEOUT_S } from '../utils/pxe_wrapper.js';
4
+ import { DEFAULT_TX_TIMEOUT_S } from '../utils/cli_wallet_and_node_wrapper.js';
4
5
  export async function authorizeAction(wallet, from, functionName, caller, functionArgsIn, contractArtifactPath, contractAddress, log) {
5
6
  const { functionArgs, contractArtifact, isPrivate } = await prepTx(contractArtifactPath, functionName, functionArgsIn, log);
6
7
  if (isPrivate) {
7
8
  throw new Error('Cannot authorize private function. To allow a third party to call a private function, please create an authorization witness via the create-authwit command');
8
9
  }
9
- const contract = await Contract.at(contractAddress, contractArtifact, wallet);
10
+ const contract = Contract.at(contractAddress, contractArtifact, wallet);
10
11
  const action = contract.methods[functionName](...functionArgs);
11
- const setAuthwitnessInteraction = await wallet.setPublicAuthWit({
12
+ const setAuthwitnessInteraction = await SetPublicAuthwitContractInteraction.create(wallet, from, {
12
13
  caller,
13
14
  action
14
15
  }, true);
15
16
  const witness = await setAuthwitnessInteraction.send({
16
- from
17
- }).wait({
18
- timeout: DEFAULT_TX_TIMEOUT_S
17
+ wait: {
18
+ timeout: DEFAULT_TX_TIMEOUT_S
19
+ }
19
20
  });
20
21
  log(`Authorized action ${functionName} on contract ${contractAddress} for caller ${caller}`);
21
22
  return witness;
@@ -1,6 +1,6 @@
1
- import { type PXE } from '@aztec/aztec.js';
2
- import { Fr } from '@aztec/foundation/fields';
1
+ import type { AztecNode } from '@aztec/aztec.js/node';
2
+ import { Fr } from '@aztec/foundation/curves/bn254';
3
3
  import type { LogFn, Logger } from '@aztec/foundation/log';
4
4
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
5
- export declare function bridgeL1FeeJuice(amount: bigint, recipient: AztecAddress, pxe: PXE, l1RpcUrls: string[], chainId: number, privateKey: string | undefined, mnemonic: string, mint: boolean, json: boolean, wait: boolean, interval: number | undefined, log: LogFn, debugLogger: Logger): Promise<readonly [Fr, bigint]>;
6
- //# sourceMappingURL=bridge_fee_juice.d.ts.map
5
+ export declare function bridgeL1FeeJuice(amount: bigint, recipient: AztecAddress, node: AztecNode, l1RpcUrls: string[], chainId: number, privateKey: string | undefined, mnemonic: string, mint: boolean, json: boolean, wait: boolean, interval: number | undefined, log: LogFn, debugLogger: Logger): Promise<readonly [Fr, bigint]>;
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJpZGdlX2ZlZV9qdWljZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NtZHMvYnJpZGdlX2ZlZV9qdWljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUt0RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBR2hFLHdCQUFzQixnQkFBZ0IsQ0FDcEMsTUFBTSxFQUFFLE1BQU0sRUFDZCxTQUFTLEVBQUUsWUFBWSxFQUN2QixJQUFJLEVBQUUsU0FBUyxFQUNmLFNBQVMsRUFBRSxNQUFNLEVBQUUsRUFDbkIsT0FBTyxFQUFFLE1BQU0sRUFDZixVQUFVLEVBQUUsTUFBTSxHQUFHLFNBQVMsRUFDOUIsUUFBUSxFQUFFLE1BQU0sRUFDaEIsSUFBSSxFQUFFLE9BQU8sRUFDYixJQUFJLEVBQUUsT0FBTyxFQUNiLElBQUksRUFBRSxPQUFPLEVBQ2IsUUFBUSxvQkFBUyxFQUNqQixHQUFHLEVBQUUsS0FBSyxFQUNWLFdBQVcsRUFBRSxNQUFNLGtDQW1FcEIifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"bridge_fee_juice.d.ts","sourceRoot":"","sources":["../../src/cmds/bridge_fee_juice.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAGpE,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,YAAY,EACvB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,OAAO,EACb,QAAQ,oBAAS,EACjB,GAAG,EAAE,KAAK,EACV,WAAW,EAAE,MAAM,kCAmEpB"}
1
+ {"version":3,"file":"bridge_fee_juice.d.ts","sourceRoot":"","sources":["../../src/cmds/bridge_fee_juice.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAKtD,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAGhE,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,YAAY,EACvB,IAAI,EAAE,SAAS,EACf,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,OAAO,EACb,QAAQ,oBAAS,EACjB,GAAG,EAAE,KAAK,EACV,WAAW,EAAE,MAAM,kCAmEpB"}
@@ -1,14 +1,16 @@
1
- import { L1FeeJuicePortalManager } from '@aztec/aztec.js';
1
+ import { L1FeeJuicePortalManager } from '@aztec/aztec.js/ethereum';
2
+ import { ProtocolContractAddress } from '@aztec/aztec.js/protocol';
2
3
  import { prettyPrintJSON } from '@aztec/cli/utils';
3
- import { createEthereumChain, createExtendedL1Client } from '@aztec/ethereum';
4
- import { Fr } from '@aztec/foundation/fields';
5
- export async function bridgeL1FeeJuice(amount, recipient, pxe, l1RpcUrls, chainId, privateKey, mnemonic, mint, json, wait, interval = 60_000, log, debugLogger) {
4
+ import { createEthereumChain } from '@aztec/ethereum/chain';
5
+ import { createExtendedL1Client } from '@aztec/ethereum/client';
6
+ import { Fr } from '@aztec/foundation/curves/bn254';
7
+ import { getNonNullifiedL1ToL2MessageWitness } from '@aztec/stdlib/messaging';
8
+ export async function bridgeL1FeeJuice(amount, recipient, node, l1RpcUrls, chainId, privateKey, mnemonic, mint, json, wait, interval = 60_000, log, debugLogger) {
6
9
  // Prepare L1 client
7
10
  const chain = createEthereumChain(l1RpcUrls, chainId);
8
11
  const client = createExtendedL1Client(chain.rpcUrls, privateKey ?? mnemonic, chain.chainInfo);
9
- const { protocolContractAddresses: { feeJuice: feeJuiceAddress } } = await pxe.getPXEInfo();
10
12
  // Setup portal manager
11
- const portal = await L1FeeJuicePortalManager.new(pxe, client, debugLogger);
13
+ const portal = await L1FeeJuicePortalManager.new(node, client, debugLogger);
12
14
  const { claimAmount, claimSecret, messageHash, messageLeafIndex } = await portal.bridgeTokensPublic(recipient, amount, mint);
13
15
  if (json) {
14
16
  const out = {
@@ -33,7 +35,7 @@ export async function bridgeL1FeeJuice(amount, recipient, pxe, l1RpcUrls, chainI
33
35
  const delayedCheck = (delay)=>{
34
36
  return new Promise((resolve, reject)=>{
35
37
  setTimeout(()=>{
36
- void pxe.getL1ToL2MembershipWitness(feeJuiceAddress, Fr.fromHexString(messageHash), claimSecret).then((witness)=>resolve(witness)).catch((err)=>reject(err));
38
+ void getNonNullifiedL1ToL2MessageWitness(node, ProtocolContractAddress.FeeJuice, Fr.fromHexString(messageHash), claimSecret).then((witness)=>resolve(witness)).catch((err)=>reject(err));
37
39
  }, delay);
38
40
  });
39
41
  };
@@ -1,4 +1,6 @@
1
- import type { PXE, TxHash } from '@aztec/aztec.js';
1
+ import type { AztecNode } from '@aztec/aztec.js/node';
2
+ import type { TxHash } from '@aztec/aztec.js/tx';
2
3
  import type { LogFn } from '@aztec/foundation/log';
3
- export declare function checkTx(client: PXE, txHash: TxHash, statusOnly: boolean, log: LogFn): Promise<import("@aztec/aztec.js").TxStatus | undefined>;
4
- //# sourceMappingURL=check_tx.d.ts.map
4
+ import type { CLIWallet } from '../utils/wallet.js';
5
+ export declare function checkTx(wallet: CLIWallet, aztecNode: AztecNode, txHash: TxHash, statusOnly: boolean, log: LogFn): Promise<import("@aztec/aztec.js/tx").TxStatus | undefined>;
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tfdHguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbWRzL2NoZWNrX3R4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXRELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pELE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBUW5ELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXBELHdCQUFzQixPQUFPLENBQzNCLE1BQU0sRUFBRSxTQUFTLEVBQ2pCLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLE1BQU0sRUFBRSxNQUFNLEVBQ2QsVUFBVSxFQUFFLE9BQU8sRUFDbkIsR0FBRyxFQUFFLEtBQUssOERBUVgifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"check_tx.d.ts","sourceRoot":"","sources":["../../src/cmds/check_tx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnD,wBAAsB,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,2DAOzF"}
1
+ {"version":3,"file":"check_tx.d.ts","sourceRoot":"","sources":["../../src/cmds/check_tx.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAQnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,wBAAsB,OAAO,CAC3B,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,OAAO,EACnB,GAAG,EAAE,KAAK,8DAQX"}
@@ -1,11 +1,180 @@
1
- import { inspectTx } from '@aztec/cli/inspect';
2
- export async function checkTx(client, txHash, statusOnly, log) {
1
+ import { ProtocolContractAddress } from '@aztec/aztec.js/protocol';
2
+ import { computeSiloedPrivateInitializationNullifier, computeSiloedPublicInitializationNullifier, siloNullifier } from '@aztec/stdlib/hash';
3
+ export async function checkTx(wallet, aztecNode, txHash, statusOnly, log) {
3
4
  if (statusOnly) {
4
- const receipt = await client.getTxReceipt(txHash);
5
+ const receipt = await aztecNode.getTxReceipt(txHash);
5
6
  return receipt.status;
6
7
  } else {
7
- await inspectTx(client, txHash, log, {
8
- includeBlockInfo: true
9
- });
8
+ await inspectTx(wallet, aztecNode, txHash, log);
10
9
  }
11
10
  }
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
+ // dependency when dropping PXE JSON RPC Server.
13
+ async function inspectTx(wallet, aztecNode, txHash, log) {
14
+ const [receipt, effectsInBlock] = await Promise.all([
15
+ aztecNode.getTxReceipt(txHash),
16
+ aztecNode.getTxEffect(txHash)
17
+ ]);
18
+ // Base tx data
19
+ log(`Tx ${txHash.toString()}`);
20
+ log(` Status: ${receipt.status}`);
21
+ if (receipt.executionResult) {
22
+ log(` Execution result: ${receipt.executionResult}`);
23
+ }
24
+ if (receipt.error) {
25
+ log(` Error: ${receipt.error}`);
26
+ }
27
+ if (!effectsInBlock) {
28
+ return;
29
+ }
30
+ const effects = effectsInBlock.data;
31
+ const artifactMap = await getKnownArtifacts(wallet);
32
+ log(` Block: ${receipt.blockNumber} (${receipt.blockHash?.toString()})`);
33
+ if (receipt.transactionFee) {
34
+ log(` Fee: ${receipt.transactionFee.toString()}`);
35
+ }
36
+ // Public logs
37
+ const publicLogs = effects.publicLogs;
38
+ if (publicLogs.length > 0) {
39
+ log(' Logs:');
40
+ for (const publicLog of publicLogs){
41
+ log(` ${publicLog.toHumanReadable()}`);
42
+ }
43
+ }
44
+ // Public data writes
45
+ const writes = effects.publicDataWrites;
46
+ if (writes.length > 0) {
47
+ log(' Public data writes:');
48
+ for (const write of writes){
49
+ log(` Leaf ${write.leafSlot.toString()} = ${write.value.toString()}`);
50
+ }
51
+ }
52
+ // Created notes
53
+ const notes = effects.noteHashes;
54
+ if (notes.length > 0) {
55
+ log(' Created notes:');
56
+ log(` Total: ${notes.length}`);
57
+ for (const note of notes){
58
+ log(` Note hash: ${note.toShortString()}`);
59
+ }
60
+ }
61
+ // Nullifiers
62
+ const nullifierCount = effects.nullifiers.length;
63
+ const { deployNullifiers, initNullifiers, classNullifiers } = await getKnownNullifiers(wallet, artifactMap);
64
+ const accounts = (await wallet.getAccounts()).map((a)=>a.item);
65
+ if (nullifierCount > 0) {
66
+ log(' Nullifiers:');
67
+ for (const nullifier of effects.nullifiers){
68
+ const deployed = deployNullifiers[nullifier.toString()];
69
+ const note = deployed ? (await wallet.getNotes({
70
+ siloedNullifier: nullifier,
71
+ contractAddress: deployed,
72
+ scopes: accounts
73
+ }))[0] : undefined;
74
+ const initialized = initNullifiers[nullifier.toString()];
75
+ const registered = classNullifiers[nullifier.toString()];
76
+ if (nullifier.toBuffer().equals(txHash.toBuffer())) {
77
+ log(` Transaction hash nullifier ${nullifier.toShortString()}`);
78
+ } else if (note) {
79
+ inspectNote(note, artifactMap, log, `Nullifier ${nullifier.toShortString()} for note`);
80
+ } else if (deployed) {
81
+ log(` Contract ${toFriendlyAddress(deployed, artifactMap)} deployed via nullifier ${nullifier.toShortString()}`);
82
+ } else if (initialized) {
83
+ log(` Contract ${toFriendlyAddress(initialized, artifactMap)} initialized via nullifier ${nullifier.toShortString()}`);
84
+ } else if (registered) {
85
+ log(` Class ${registered} registered via nullifier ${nullifier.toShortString()}`);
86
+ } else {
87
+ log(` Unknown nullifier ${nullifier.toString()}`);
88
+ }
89
+ }
90
+ }
91
+ // L2 to L1 messages
92
+ if (effects.l2ToL1Msgs.length > 0) {
93
+ log(` L2 to L1 messages:`);
94
+ for (const msg of effects.l2ToL1Msgs){
95
+ log(` ${msg.toString()}`);
96
+ }
97
+ }
98
+ }
99
+ function inspectNote(note, artifactMap, log, text = 'Note') {
100
+ const artifact = artifactMap[note.contractAddress.toString()];
101
+ const contract = artifact?.name ?? note.contractAddress.toString();
102
+ log(` ${text} at ${contract}`);
103
+ for (const field of note.note.items){
104
+ log(` ${field.toString()}`);
105
+ }
106
+ }
107
+ function toFriendlyAddress(address, artifactMap) {
108
+ const artifact = artifactMap[address.toString()];
109
+ if (!artifact) {
110
+ return address.toString();
111
+ }
112
+ return `${artifact.name}<${address.toString()}>`;
113
+ }
114
+ async function getKnownNullifiers(wallet, artifactMap) {
115
+ const knownContracts = await wallet.getContracts();
116
+ const [contractResults, classResults] = await Promise.all([
117
+ Promise.all(knownContracts.map((contract)=>getContractNullifiers(wallet, contract))),
118
+ Promise.all(Object.values(artifactMap).map((artifact)=>getClassNullifier(artifact)))
119
+ ]);
120
+ const initNullifiers = {};
121
+ const deployNullifiers = {};
122
+ const classNullifiers = {};
123
+ for (const { contract, deployNullifier, privateInitNullifier, publicInitNullifier } of contractResults){
124
+ deployNullifiers[deployNullifier.toString()] = contract;
125
+ if (privateInitNullifier) {
126
+ initNullifiers[privateInitNullifier.toString()] = contract;
127
+ }
128
+ initNullifiers[publicInitNullifier.toString()] = contract;
129
+ }
130
+ for (const { nullifier, label } of classResults){
131
+ classNullifiers[nullifier.toString()] = label;
132
+ }
133
+ return {
134
+ initNullifiers,
135
+ deployNullifiers,
136
+ classNullifiers
137
+ };
138
+ }
139
+ async function getContractNullifiers(wallet, contract) {
140
+ const deployerAddress = ProtocolContractAddress.ContractInstanceRegistry;
141
+ const deployNullifier = await siloNullifier(deployerAddress, contract.toField());
142
+ const metadata = await wallet.getContractMetadata(contract);
143
+ const privateInitNullifier = metadata.instance ? await computeSiloedPrivateInitializationNullifier(contract, metadata.instance.initializationHash) : undefined;
144
+ const publicInitNullifier = await computeSiloedPublicInitializationNullifier(contract);
145
+ return {
146
+ contract,
147
+ deployNullifier,
148
+ privateInitNullifier,
149
+ publicInitNullifier
150
+ };
151
+ }
152
+ async function getClassNullifier(artifact) {
153
+ const classRegistryAddress = ProtocolContractAddress.ContractClassRegistry;
154
+ const nullifier = await siloNullifier(classRegistryAddress, artifact.classId);
155
+ return {
156
+ nullifier,
157
+ label: `${artifact.name}Class<${artifact.classId}>`
158
+ };
159
+ }
160
+ async function getKnownArtifacts(wallet) {
161
+ const knownContractAddresses = await wallet.getContracts();
162
+ const knownContracts = (await Promise.all(knownContractAddresses.map((contractAddress)=>wallet.getContractMetadata(contractAddress)))).map((contractMetadata)=>contractMetadata.instance);
163
+ const classIds = [
164
+ ...new Set(knownContracts.map((contract)=>contract?.currentContractClassId))
165
+ ];
166
+ const knownArtifacts = (await Promise.all(classIds.map((classId)=>classId ? wallet.getContractArtifact(classId) : undefined))).map((artifact, index)=>artifact ? {
167
+ ...artifact,
168
+ classId: classIds[index]
169
+ } : undefined);
170
+ const map = {};
171
+ for (const instance of knownContracts){
172
+ if (instance) {
173
+ const artifact = knownArtifacts.find((a)=>a?.classId?.equals(instance.currentContractClassId));
174
+ if (artifact) {
175
+ map[instance.address.toString()] = artifact;
176
+ }
177
+ }
178
+ }
179
+ return map;
180
+ }
@@ -1,12 +1,15 @@
1
- import { AztecAddress, type PXE } from '@aztec/aztec.js';
2
- import { Fr } from '@aztec/foundation/fields';
1
+ import { AztecAddress } from '@aztec/aztec.js/addresses';
2
+ import { type AztecNode } from '@aztec/aztec.js/node';
3
+ import { Fr } from '@aztec/foundation/curves/bn254';
3
4
  import type { LogFn, Logger } from '@aztec/foundation/log';
4
- import { type AccountType } from '../utils/accounts.js';
5
- import { type IFeeOpts } from '../utils/options/fees.js';
6
- export declare function createAccount(client: PXE, accountType: AccountType, secretKey: Fr | undefined, publicKey: string | undefined, alias: string | undefined, registerOnly: boolean, publicDeploy: boolean, skipInitialization: boolean, wait: boolean, feeOpts: IFeeOpts, json: boolean, verbose: boolean, debugLogger: Logger, log: LogFn): Promise<{
5
+ import { TxStatus } from '@aztec/stdlib/tx';
6
+ import type { AccountType } from '../utils/constants.js';
7
+ import { CLIFeeArgs } from '../utils/options/fees.js';
8
+ import { CLIWallet } from '../utils/wallet.js';
9
+ export declare function createAccount(wallet: CLIWallet, aztecNode: AztecNode, accountType: AccountType, secretKey: Fr | 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<{
7
10
  alias: string | undefined;
8
11
  address: AztecAddress;
9
12
  secretKey: Fr;
10
13
  salt: Fr;
11
14
  }>;
12
- //# sourceMappingURL=create_account.d.ts.map
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlX2FjY291bnQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbWRzL2NyZWF0ZV9hY2NvdW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsS0FBSyxTQUFTLEVBQWEsTUFBTSxzQkFBc0IsQ0FBQztBQUdqRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sRUFBK0IsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHekUsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXRELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUUvQyx3QkFBc0IsYUFBYSxDQUNqQyxNQUFNLEVBQUUsU0FBUyxFQUNqQixTQUFTLEVBQUUsU0FBUyxFQUNwQixXQUFXLEVBQUUsV0FBVyxFQUN4QixTQUFTLEVBQUUsRUFBRSxHQUFHLFNBQVMsRUFDekIsSUFBSSxFQUFFLEVBQUUsR0FBRyxTQUFTLEVBQ3BCLFNBQVMsRUFBRSxNQUFNLEdBQUcsU0FBUyxFQUM3QixLQUFLLEVBQUUsTUFBTSxHQUFHLFNBQVMsRUFDekIsUUFBUSxFQUFFLFlBQVksR0FBRyxTQUFTLEVBQ2xDLFlBQVksRUFBRSxPQUFPLEVBQ3JCLGtCQUFrQixFQUFFLE9BQU8sRUFDM0IsWUFBWSxFQUFFLE9BQU8sRUFDckIsYUFBYSxFQUFFLE9BQU8sRUFDdEIsSUFBSSxFQUFFLE9BQU8sRUFDYixPQUFPLEVBQUUsVUFBVSxFQUNuQixhQUFhLEVBQUUsUUFBUSxFQUN2QixJQUFJLEVBQUUsT0FBTyxFQUNiLE9BQU8sRUFBRSxPQUFPLEVBQ2hCLFdBQVcsRUFBRSxNQUFNLEVBQ25CLEdBQUcsRUFBRSxLQUFLOzs7OztHQWdJWCJ9
@@ -1 +1 @@
1
- {"version":3,"file":"create_account.d.ts","sourceRoot":"","sources":["../../src/cmds/create_account.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA6B,KAAK,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEpF,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,KAAK,WAAW,EAA2B,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,KAAK,QAAQ,EAAqB,MAAM,0BAA0B,CAAC;AAI5E,wBAAsB,aAAa,CACjC,MAAM,EAAE,GAAG,EACX,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,EAAE,GAAG,SAAS,EACzB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,YAAY,EAAE,OAAO,EACrB,YAAY,EAAE,OAAO,EACrB,kBAAkB,EAAE,OAAO,EAC3B,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,KAAK;;;;;GAgIX"}
1
+ {"version":3,"file":"create_account.d.ts","sourceRoot":"","sources":["../../src/cmds/create_account.ts"],"names":[],"mappings":"AACA,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,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,SAAS,EAAE,EAAE,GAAG,SAAS,EACzB,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;;;;;GAgIX"}