@aztec/cli 0.8.11 → 0.8.13
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/index.d.ts.map +1 -1
- package/dest/index.js +29 -7
- package/dest/unbox.d.ts.map +1 -1
- package/dest/unbox.js +8 -7
- package/dest/utils.d.ts +8 -1
- package/dest/utils.d.ts.map +1 -1
- package/dest/utils.js +16 -2
- package/package.json +8 -8
- package/src/index.ts +43 -4
- package/src/unbox.ts +7 -6
- package/src/utils.ts +15 -1
package/dest/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAO3D,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAoC5C;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAqlBxE"}
|
package/dest/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Contract, ContractDeployer, Fr, GrumpkinScalar, NotePreimage, generatePublicKey, getSchnorrAccount, isContractDeployed, } from '@aztec/aztec.js';
|
|
1
|
+
import { Contract, ContractDeployer, EthAddress, Fr, GrumpkinScalar, NotePreimage, generatePublicKey, getSchnorrAccount, isContractDeployed, } from '@aztec/aztec.js';
|
|
2
2
|
import { decodeFunctionSignatureWithParameterNames } from '@aztec/foundation/abi';
|
|
3
3
|
import { JsonStringify } from '@aztec/foundation/json-rpc';
|
|
4
4
|
import { sleep } from '@aztec/foundation/sleep';
|
|
@@ -14,7 +14,7 @@ import { mnemonicToAccount } from 'viem/accounts';
|
|
|
14
14
|
import { createCompatibleClient } from './client.js';
|
|
15
15
|
import { encodeArgs, parseStructString } from './encoding.js';
|
|
16
16
|
import { unboxContract } from './unbox.js';
|
|
17
|
-
import { deployAztecContracts, getContractArtifact, getExampleContractArtifacts, getFunctionArtifact, getTxSender, parseAztecAddress, parseField, parseFields, parseOptionalAztecAddress, parseOptionalInteger, parseOptionalLogId, parseOptionalSelector, parseOptionalTxHash, parsePartialAddress, parsePrivateKey, parsePublicKey, parseSaltFromHexString, parseTxHash, prepTx, } from './utils.js';
|
|
17
|
+
import { deployAztecContracts, getContractArtifact, getExampleContractArtifacts, getFunctionArtifact, getTxSender, parseAztecAddress, parseEthereumAddress, parseField, parseFields, parseOptionalAztecAddress, parseOptionalInteger, parseOptionalLogId, parseOptionalSelector, parseOptionalTxHash, parsePartialAddress, parsePrivateKey, parsePublicKey, parseSaltFromHexString, parseTxHash, prepTx, } from './utils.js';
|
|
18
18
|
const accountCreationSalt = Fr.ZERO;
|
|
19
19
|
const { ETHEREUM_HOST = 'http://localhost:8545', PRIVATE_KEY, API_KEY } = process.env;
|
|
20
20
|
/**
|
|
@@ -137,15 +137,19 @@ export function getProgram(log, debugLogger) {
|
|
|
137
137
|
debugLogger(`Input arguments: ${rawArgs.map((x) => `"${x}"`).join(', ')}`);
|
|
138
138
|
const args = encodeArgs(rawArgs, constructorArtifact.parameters);
|
|
139
139
|
debugLogger(`Encoded arguments: ${args.join(', ')}`);
|
|
140
|
-
const
|
|
140
|
+
const deploy = deployer.deploy(...args);
|
|
141
|
+
await deploy.create({ contractAddressSalt: salt });
|
|
142
|
+
const tx = deploy.send({ contractAddressSalt: salt });
|
|
141
143
|
const txHash = await tx.getTxHash();
|
|
142
144
|
debugLogger(`Deploy tx sent with hash ${txHash}`);
|
|
143
145
|
if (wait) {
|
|
144
146
|
const deployed = await tx.wait();
|
|
145
|
-
log(`\nContract deployed at ${deployed.
|
|
147
|
+
log(`\nContract deployed at ${deployed.contract.completeAddress.address.toString()}\n`);
|
|
148
|
+
log(`Contract partial address ${deployed.contract.completeAddress.partialAddress.toString()}\n`);
|
|
146
149
|
}
|
|
147
150
|
else {
|
|
148
|
-
log(`\nContract Address: ${
|
|
151
|
+
log(`\nContract Address: ${deploy.completeAddress?.address.toString() ?? 'N/A'}`);
|
|
152
|
+
log(`Contract Partial Address: ${deploy.completeAddress?.partialAddress.toString() ?? 'N/A'}`);
|
|
149
153
|
log(`Deployment transaction hash: ${txHash}\n`);
|
|
150
154
|
}
|
|
151
155
|
});
|
|
@@ -163,6 +167,24 @@ export function getProgram(log, debugLogger) {
|
|
|
163
167
|
else
|
|
164
168
|
log(`\nNo contract found at ${address.toString()}\n`);
|
|
165
169
|
});
|
|
170
|
+
program
|
|
171
|
+
.command('add-contract')
|
|
172
|
+
.description('Adds an existing contract to the PXE. This is useful if you have deployed a contract outside of the PXE and want to use it with the PXE.')
|
|
173
|
+
.requiredOption('-c, --contract-artifact <fileLocation>', "A compiled Aztec.nr contract's ABI in JSON format or name of a contract ABI exported by @aztec/noir-contracts")
|
|
174
|
+
.requiredOption('-ca, --contract-address <address>', 'Aztec address of the contract.', parseAztecAddress)
|
|
175
|
+
.requiredOption('-pa, --partial-address <address>', 'Partial address of the contract', parsePartialAddress)
|
|
176
|
+
.option('-p, --public-key <public key>', 'Optional public key for this contract', parsePublicKey)
|
|
177
|
+
.option('--portal-address <address>', 'Optional address to a portal contract on L1', parseEthereumAddress)
|
|
178
|
+
.addOption(pxeOption)
|
|
179
|
+
.action(async (options) => {
|
|
180
|
+
const artifact = await getContractArtifact(options.contractArtifact, log);
|
|
181
|
+
const contractAddress = options.contractAddress;
|
|
182
|
+
const completeAddress = new CompleteAddress(contractAddress, options.publicKey ?? Fr.ZERO, options.partialAddress);
|
|
183
|
+
const portalContract = options.portalContract ?? EthAddress.ZERO;
|
|
184
|
+
const client = await createCompatibleClient(options.rpcUrl, debugLogger);
|
|
185
|
+
await client.addContracts([{ artifact, completeAddress, portalContract }]);
|
|
186
|
+
log(`\nContract added to PXE at ${contractAddress.toString()}\n`);
|
|
187
|
+
});
|
|
166
188
|
program
|
|
167
189
|
.command('get-tx-receipt')
|
|
168
190
|
.description('Gets the receipt for the specified transaction hash.')
|
|
@@ -442,7 +464,7 @@ export function getProgram(log, debugLogger) {
|
|
|
442
464
|
.command('unbox')
|
|
443
465
|
.description('Unboxes an example contract from @aztec/boxes. Also Copies `noir-libs` dependencies and setup simple frontend for the contract using its ABI.')
|
|
444
466
|
.argument('<contractName>', 'Name of the contract to unbox, e.g. "PrivateToken"')
|
|
445
|
-
.argument('[localDirectory]', 'Local directory to unbox to (relative or absolute), defaults to `<contractName
|
|
467
|
+
.argument('[localDirectory]', 'Local directory to unbox source folder to (relative or absolute), optional - defaults to `<contractName>/`')
|
|
446
468
|
.action(async (contractName, localDirectory) => {
|
|
447
469
|
const unboxTo = localDirectory ? localDirectory : contractName;
|
|
448
470
|
await unboxContract(contractName, unboxTo, version, log);
|
|
@@ -481,4 +503,4 @@ export function getProgram(log, debugLogger) {
|
|
|
481
503
|
generateNoirInterface(program, 'generate-noir-interface', log);
|
|
482
504
|
return program;
|
|
483
505
|
}
|
|
484
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFFBQVEsRUFDUixnQkFBZ0IsRUFDaEIsRUFBRSxFQUNGLGNBQWMsRUFDZCxZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUNqQixrQkFBa0IsR0FDbkIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQWMseUNBQXlDLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFM0QsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLHFCQUFxQixFQUFFLDJCQUEyQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0csT0FBTyxFQUFFLGVBQWUsRUFBMkIsTUFBTSxjQUFjLENBQUM7QUFFeEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDNUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLElBQUksQ0FBQztBQUNsQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN4QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVsRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsYUFBYSxFQUFF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
|
|
506
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFFBQVEsRUFDUixnQkFBZ0IsRUFDaEIsVUFBVSxFQUNWLEVBQUUsRUFDRixjQUFjLEVBQ2QsWUFBWSxFQUNaLGlCQUFpQixFQUNqQixpQkFBaUIsRUFDakIsa0JBQWtCLEdBQ25CLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFjLHlDQUF5QyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTNELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxxQkFBcUIsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9HLE9BQU8sRUFBRSxlQUFlLEVBQTJCLE1BQU0sY0FBYyxDQUFDO0FBRXhFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDbEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFF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
|
package/dest/unbox.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unbox.d.ts","sourceRoot":"","sources":["../src/unbox.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"unbox.d.ts","sourceRoot":"","sources":["../src/unbox.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAgS9C;;;;;;;;;;GAUG;AACH,wBAAsB,aAAa,CACjC,YAAY,EAAE,MAAM,EACpB,mBAAmB,EAAE,MAAM,EAC3B,cAAc,EAAE,MAAM,EACtB,GAAG,EAAE,KAAK,iBA6BX"}
|
package/dest/unbox.js
CHANGED
|
@@ -75,7 +75,7 @@ async function copyFileFromGithub(data, repositoryFile, localOutputPath, log) {
|
|
|
75
75
|
async function downloadContractAndBoxFromGithub(tag, contractName, outputPath, log) {
|
|
76
76
|
// small string conversion, in the ABI the contract name looks like PrivateToken
|
|
77
77
|
// but in the repostory it looks like private_token
|
|
78
|
-
log(`Downloading @
|
|
78
|
+
log(`Downloading @aztec/boxes/${contractName}/ to ${outputPath}...`);
|
|
79
79
|
// Step 1: Fetch the monorepo ZIP from GitHub, matching the CLI version
|
|
80
80
|
const url = `https://github.com/${GITHUB_OWNER}/${GITHUB_REPO}/archive/refs/tags/${tag}.zip`;
|
|
81
81
|
const response = await fetch(url);
|
|
@@ -83,7 +83,7 @@ async function downloadContractAndBoxFromGithub(tag, contractName, outputPath, l
|
|
|
83
83
|
const zip = new JSZip();
|
|
84
84
|
const data = await zip.loadAsync(buffer);
|
|
85
85
|
// Step 2: copy the '@aztec/boxes/{contract-name}' subpackage to the output directory
|
|
86
|
-
// this is currently only implemented for `blank` and `
|
|
86
|
+
// this is currently only implemented for `blank`, `blank-react` and `token` under 'boxes/{box-name}/'
|
|
87
87
|
const repoDirectoryPrefix = `${GITHUB_REPO}-${tag}`;
|
|
88
88
|
const boxPath = `${repoDirectoryPrefix}/${BOXES_PATH}/${contractName}/`;
|
|
89
89
|
await copyFolderFromGithub(data, boxPath, outputPath, log);
|
|
@@ -135,8 +135,9 @@ async function updateNargoToml(tag, outputPath, log) {
|
|
|
135
135
|
// Check if the line starts with one of the deps
|
|
136
136
|
const key = SUPPORTED_DEPS.find(dependencyName => line.trim().startsWith(`${dependencyName} =`));
|
|
137
137
|
if (key) {
|
|
138
|
-
// Replace the line
|
|
139
|
-
|
|
138
|
+
// Replace the line, which was configured for compiling within the `aztec-packages` monorepo. We replace
|
|
139
|
+
// the local path with `git` and `directory` fields with a `tag` field, which points to the tagged release
|
|
140
|
+
return `${key} = { git="https://github.com/AztecProtocol/aztec-packages/", tag="${tag}", directory="yarn-project/aztec-nr/${key}" }`;
|
|
140
141
|
}
|
|
141
142
|
return line;
|
|
142
143
|
});
|
|
@@ -250,11 +251,11 @@ async function createDirectory(outputDirectoryName, log) {
|
|
|
250
251
|
* @param log - Logger instance that will output to the CLI
|
|
251
252
|
*/
|
|
252
253
|
export async function unboxContract(contractName, outputDirectoryName, packageVersion, log) {
|
|
253
|
-
const contractNames = ['
|
|
254
|
+
const contractNames = ['token', 'blank', 'blank-react'];
|
|
254
255
|
if (!contractNames.includes(contractName)) {
|
|
255
256
|
log(`The noir contract named "${contractName}" was not found in "@aztec/boxes" package. Valid options are:
|
|
256
257
|
${contractNames.join('\n\t')}
|
|
257
|
-
We recommend "
|
|
258
|
+
We recommend "token" as a default.`);
|
|
258
259
|
return;
|
|
259
260
|
}
|
|
260
261
|
const outputPath = await createDirectory(outputDirectoryName, log);
|
|
@@ -273,4 +274,4 @@ export async function unboxContract(contractName, outputDirectoryName, packageVe
|
|
|
273
274
|
log('And in another terminal in the same directory,');
|
|
274
275
|
log(' yarn start:dev');
|
|
275
276
|
}
|
|
276
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5ib3guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdW5ib3gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBV0EsT0FBTyxFQUFFLFFBQVEsSUFBSSxFQUFFLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDcEMsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sS0FBSyxNQUFNLFlBQVksQ0FBQztBQUMvQixPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUU3QixNQUFNLFlBQVksR0FBRyxlQUFlLENBQUM7QUFDckMsTUFBTSxXQUFXLEdBQUcsZ0JBQWdCLENBQUM7QUFDckMsTUFBTSxpQkFBaUIsR0FBRyxnQkFBZ0IsQ0FBQztBQUMzQyxNQUFNLFVBQVUsR0FBRyxvQkFBb0IsQ0FBQztBQUV4Qzs7O0dBR0c7QUFDSCxLQUFLLFVBQVUsbUJBQW1CLENBQUMsYUFBcUI7SUFDdEQsSUFBSTtRQUNGLE1BQU0sS0FBSyxHQUFHLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM5QyxPQUFPLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0tBQ3pCO0lBQUMsT0FBTyxDQUFDLEVBQUU7UUFDViw0QkFBNEI7UUFDNUIsT0FBTyxLQUFLLENBQUM7S0FDZDtBQUNILENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILEtBQUssVUFBVSxvQkFBb0IsQ0FBQyxJQUFXLEVBQUUsb0JBQTRCLEVBQUUsZUFBdUIsRUFBRSxHQUFVO0lBQ2hILEdBQUcsQ0FBQyxtQ0FBbUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELE1BQU0scUJBQXFCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3BFLE9BQU8sSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsQ0FB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
|
|
277
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5ib3guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdW5ib3gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBV0EsT0FBTyxFQUFFLFFBQVEsSUFBSSxFQUFFLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDcEMsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sS0FBSyxNQUFNLFlBQVksQ0FBQztBQUMvQixPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUU3QixNQUFNLFlBQVksR0FBRyxlQUFlLENBQUM7QUFDckMsTUFBTSxXQUFXLEdBQUcsZ0JBQWdCLENBQUM7QUFDckMsTUFBTSxpQkFBaUIsR0FBRyxnQkFBZ0IsQ0FBQztBQUMzQyxNQUFNLFVBQVUsR0FBRyxvQkFBb0IsQ0FBQztBQUV4Qzs7O0dBR0c7QUFDSCxLQUFLLFVBQVUsbUJBQW1CLENBQUMsYUFBcUI7SUFDdEQsSUFBSTtRQUNGLE1BQU0sS0FBSyxHQUFHLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM5QyxPQUFPLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0tBQ3pCO0lBQUMsT0FBTyxDQUFDLEVBQUU7UUFDViw0QkFBNEI7UUFDNUIsT0FBTyxLQUFLLENBQUM7S0FDZDtBQUNILENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILEtBQUssVUFBVSxvQkFBb0IsQ0FBQyxJQUFXLEVBQUUsb0JBQTRCLEVBQUUsZUFBdUIsRUFBRSxHQUFVO0lBQ2hILEdBQUcsQ0FBQyxtQ0FBbUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELE1BQU0scUJBQXFCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3BFLE9BQU8sSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsQ0FB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
|
package/dest/utils.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AztecAddress, Fr, FunctionSelector, GrumpkinScalar, PXE, Point, TxHash } from '@aztec/aztec.js';
|
|
1
|
+
import { AztecAddress, EthAddress, Fr, FunctionSelector, GrumpkinScalar, PXE, Point, TxHash } from '@aztec/aztec.js';
|
|
2
2
|
import { ContractArtifact } from '@aztec/foundation/abi';
|
|
3
3
|
import { DebugLogger, LogFn } from '@aztec/foundation/log';
|
|
4
4
|
import { LogId } from '@aztec/types';
|
|
@@ -73,6 +73,13 @@ export declare function parseSaltFromHexString(str: string): Fr;
|
|
|
73
73
|
* @throws InvalidArgumentError if the input string is not valid.
|
|
74
74
|
*/
|
|
75
75
|
export declare function parseAztecAddress(address: string): AztecAddress;
|
|
76
|
+
/**
|
|
77
|
+
* Parses an Ethereum address from a string.
|
|
78
|
+
* @param address - A serialized Ethereum address
|
|
79
|
+
* @returns An Ethereum address
|
|
80
|
+
* @throws InvalidArgumentError if the input string is not valid.
|
|
81
|
+
*/
|
|
82
|
+
export declare function parseEthereumAddress(address: string): EthAddress;
|
|
76
83
|
/**
|
|
77
84
|
* Parses an AztecAddress from a string.
|
|
78
85
|
* @param address - A serialized Aztec address
|
package/dest/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,gBAAgB,EAAE,cAAc,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,EAAE,gBAAgB,EAAE,cAAc,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAErH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAa3D,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAQrC;;GAEG;AACH,UAAU,aAAa;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAC;CACjC;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,oDAM7E;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,WAAW,wDA2BzB;AAED;;;GAGG;AACH,wBAAsB,2BAA2B,2BAGhD;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,6BAuBpE;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,MAAM,yBAgBzD;AAED;;;;;;;GAOG;AACH,wBAAsB,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,KAAK;;;GAM3G;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,QAAS,MAAM,WAK1C,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,EAAE,CActD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAM/D;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAMhE;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAKnF;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAKnE;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CASpF;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAStE;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAMlD;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKtE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK,CAMvD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,EAAE,CAMvD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,CAYlE;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,CAyB5C;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAElD"}
|
package/dest/utils.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AztecAddress, Fr, FunctionSelector, GrumpkinScalar, Point, TxHash } from '@aztec/aztec.js';
|
|
1
|
+
import { AztecAddress, EthAddress, Fr, FunctionSelector, GrumpkinScalar, Point, TxHash } from '@aztec/aztec.js';
|
|
2
2
|
import { createEthereumChain, deployL1Contracts } from '@aztec/ethereum';
|
|
3
3
|
import { ContractDeploymentEmitterAbi, ContractDeploymentEmitterBytecode, InboxAbi, InboxBytecode, OutboxAbi, OutboxBytecode, RegistryAbi, RegistryBytecode, RollupAbi, RollupBytecode, } from '@aztec/l1-artifacts';
|
|
4
4
|
import { LogId } from '@aztec/types';
|
|
@@ -172,6 +172,20 @@ export function parseAztecAddress(address) {
|
|
|
172
172
|
throw new InvalidArgumentError(`Invalid address: ${address}`);
|
|
173
173
|
}
|
|
174
174
|
}
|
|
175
|
+
/**
|
|
176
|
+
* Parses an Ethereum address from a string.
|
|
177
|
+
* @param address - A serialized Ethereum address
|
|
178
|
+
* @returns An Ethereum address
|
|
179
|
+
* @throws InvalidArgumentError if the input string is not valid.
|
|
180
|
+
*/
|
|
181
|
+
export function parseEthereumAddress(address) {
|
|
182
|
+
try {
|
|
183
|
+
return EthAddress.fromString(address);
|
|
184
|
+
}
|
|
185
|
+
catch {
|
|
186
|
+
throw new InvalidArgumentError(`Invalid address: ${address}`);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
175
189
|
/**
|
|
176
190
|
* Parses an AztecAddress from a string.
|
|
177
191
|
* @param address - A serialized Aztec address
|
|
@@ -341,4 +355,4 @@ export function parseField(field) {
|
|
|
341
355
|
export function parseFields(fields) {
|
|
342
356
|
return fields.map(parseField);
|
|
343
357
|
}
|
|
344
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
358
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckgsT0FBTyxFQUFvQyxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRzNHLE9BQU8sRUFDTCw0QkFBNEIsRUFDNUIsaUNBQWlDLEVBQ2pDLFFBQVEsRUFDUixhQUFhLEVBQ2IsU0FBUyxFQUNULGNBQWMsRUFDZCxXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFDVCxjQUFjLEdBQ2YsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXJDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNqRCxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDcEIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFTM0M7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsUUFBMEIsRUFBRSxNQUFjO0lBQzVFLE1BQU0sRUFBRSxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxDQUFDO0lBQ2xFLElBQUksQ0FBQyxFQUFFLEVBQUU7UUFDUCxNQUFNLEtBQUssQ0FBQyxZQUFZLE1BQU0sNkJBQTZCLENBQUMsQ0FBQztLQUM5RDtJQUNELE9BQU8sRUFBRSxDQUFDO0FBQ1osQ0FBQztBQUVEOzs7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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/cli",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.13",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dest/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -34,13 +34,13 @@
|
|
|
34
34
|
"rootDir": "./src"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@aztec/aztec.js": "0.8.
|
|
38
|
-
"@aztec/ethereum": "0.8.
|
|
39
|
-
"@aztec/foundation": "0.8.
|
|
40
|
-
"@aztec/l1-artifacts": "0.8.
|
|
41
|
-
"@aztec/noir-compiler": "0.8.
|
|
42
|
-
"@aztec/noir-contracts": "0.8.
|
|
43
|
-
"@aztec/types": "0.8.
|
|
37
|
+
"@aztec/aztec.js": "0.8.13",
|
|
38
|
+
"@aztec/ethereum": "0.8.13",
|
|
39
|
+
"@aztec/foundation": "0.8.13",
|
|
40
|
+
"@aztec/l1-artifacts": "0.8.13",
|
|
41
|
+
"@aztec/noir-compiler": "0.8.13",
|
|
42
|
+
"@aztec/noir-contracts": "0.8.13",
|
|
43
|
+
"@aztec/types": "0.8.13",
|
|
44
44
|
"@libp2p/peer-id-factory": "^3.0.4",
|
|
45
45
|
"commander": "^9.0.0",
|
|
46
46
|
"jszip": "^3.10.1",
|
package/src/index.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
|
+
AztecAddress,
|
|
2
3
|
Contract,
|
|
3
4
|
ContractDeployer,
|
|
5
|
+
EthAddress,
|
|
4
6
|
Fr,
|
|
5
7
|
GrumpkinScalar,
|
|
6
8
|
NotePreimage,
|
|
@@ -33,6 +35,7 @@ import {
|
|
|
33
35
|
getFunctionArtifact,
|
|
34
36
|
getTxSender,
|
|
35
37
|
parseAztecAddress,
|
|
38
|
+
parseEthereumAddress,
|
|
36
39
|
parseField,
|
|
37
40
|
parseFields,
|
|
38
41
|
parseOptionalAztecAddress,
|
|
@@ -218,14 +221,19 @@ export function getProgram(log: LogFn, debugLogger: DebugLogger): Command {
|
|
|
218
221
|
const args = encodeArgs(rawArgs, constructorArtifact!.parameters);
|
|
219
222
|
debugLogger(`Encoded arguments: ${args.join(', ')}`);
|
|
220
223
|
|
|
221
|
-
const
|
|
224
|
+
const deploy = deployer.deploy(...args);
|
|
225
|
+
|
|
226
|
+
await deploy.create({ contractAddressSalt: salt });
|
|
227
|
+
const tx = deploy.send({ contractAddressSalt: salt });
|
|
222
228
|
const txHash = await tx.getTxHash();
|
|
223
229
|
debugLogger(`Deploy tx sent with hash ${txHash}`);
|
|
224
230
|
if (wait) {
|
|
225
231
|
const deployed = await tx.wait();
|
|
226
|
-
log(`\nContract deployed at ${deployed.
|
|
232
|
+
log(`\nContract deployed at ${deployed.contract.completeAddress.address.toString()}\n`);
|
|
233
|
+
log(`Contract partial address ${deployed.contract.completeAddress.partialAddress.toString()}\n`);
|
|
227
234
|
} else {
|
|
228
|
-
log(`\nContract Address: ${
|
|
235
|
+
log(`\nContract Address: ${deploy.completeAddress?.address.toString() ?? 'N/A'}`);
|
|
236
|
+
log(`Contract Partial Address: ${deploy.completeAddress?.partialAddress.toString() ?? 'N/A'}`);
|
|
229
237
|
log(`Deployment transaction hash: ${txHash}\n`);
|
|
230
238
|
}
|
|
231
239
|
});
|
|
@@ -247,6 +255,34 @@ export function getProgram(log: LogFn, debugLogger: DebugLogger): Command {
|
|
|
247
255
|
else log(`\nNo contract found at ${address.toString()}\n`);
|
|
248
256
|
});
|
|
249
257
|
|
|
258
|
+
program
|
|
259
|
+
.command('add-contract')
|
|
260
|
+
.description(
|
|
261
|
+
'Adds an existing contract to the PXE. This is useful if you have deployed a contract outside of the PXE and want to use it with the PXE.',
|
|
262
|
+
)
|
|
263
|
+
.requiredOption(
|
|
264
|
+
'-c, --contract-artifact <fileLocation>',
|
|
265
|
+
"A compiled Aztec.nr contract's ABI in JSON format or name of a contract ABI exported by @aztec/noir-contracts",
|
|
266
|
+
)
|
|
267
|
+
.requiredOption('-ca, --contract-address <address>', 'Aztec address of the contract.', parseAztecAddress)
|
|
268
|
+
.requiredOption('-pa, --partial-address <address>', 'Partial address of the contract', parsePartialAddress)
|
|
269
|
+
.option('-p, --public-key <public key>', 'Optional public key for this contract', parsePublicKey)
|
|
270
|
+
.option('--portal-address <address>', 'Optional address to a portal contract on L1', parseEthereumAddress)
|
|
271
|
+
.addOption(pxeOption)
|
|
272
|
+
.action(async options => {
|
|
273
|
+
const artifact = await getContractArtifact(options.contractArtifact, log);
|
|
274
|
+
const contractAddress: AztecAddress = options.contractAddress;
|
|
275
|
+
const completeAddress = new CompleteAddress(
|
|
276
|
+
contractAddress,
|
|
277
|
+
options.publicKey ?? Fr.ZERO,
|
|
278
|
+
options.partialAddress,
|
|
279
|
+
);
|
|
280
|
+
const portalContract: EthAddress = options.portalContract ?? EthAddress.ZERO;
|
|
281
|
+
const client = await createCompatibleClient(options.rpcUrl, debugLogger);
|
|
282
|
+
|
|
283
|
+
await client.addContracts([{ artifact, completeAddress, portalContract }]);
|
|
284
|
+
log(`\nContract added to PXE at ${contractAddress.toString()}\n`);
|
|
285
|
+
});
|
|
250
286
|
program
|
|
251
287
|
.command('get-tx-receipt')
|
|
252
288
|
.description('Gets the receipt for the specified transaction hash.')
|
|
@@ -572,7 +608,10 @@ export function getProgram(log: LogFn, debugLogger: DebugLogger): Command {
|
|
|
572
608
|
'Unboxes an example contract from @aztec/boxes. Also Copies `noir-libs` dependencies and setup simple frontend for the contract using its ABI.',
|
|
573
609
|
)
|
|
574
610
|
.argument('<contractName>', 'Name of the contract to unbox, e.g. "PrivateToken"')
|
|
575
|
-
.argument(
|
|
611
|
+
.argument(
|
|
612
|
+
'[localDirectory]',
|
|
613
|
+
'Local directory to unbox source folder to (relative or absolute), optional - defaults to `<contractName>/`',
|
|
614
|
+
)
|
|
576
615
|
.action(async (contractName, localDirectory) => {
|
|
577
616
|
const unboxTo: string = localDirectory ? localDirectory : contractName;
|
|
578
617
|
await unboxContract(contractName, unboxTo, version, log);
|
package/src/unbox.ts
CHANGED
|
@@ -103,7 +103,7 @@ async function downloadContractAndBoxFromGithub(
|
|
|
103
103
|
// small string conversion, in the ABI the contract name looks like PrivateToken
|
|
104
104
|
// but in the repostory it looks like private_token
|
|
105
105
|
|
|
106
|
-
log(`Downloading @
|
|
106
|
+
log(`Downloading @aztec/boxes/${contractName}/ to ${outputPath}...`);
|
|
107
107
|
// Step 1: Fetch the monorepo ZIP from GitHub, matching the CLI version
|
|
108
108
|
const url = `https://github.com/${GITHUB_OWNER}/${GITHUB_REPO}/archive/refs/tags/${tag}.zip`;
|
|
109
109
|
const response = await fetch(url);
|
|
@@ -113,7 +113,7 @@ async function downloadContractAndBoxFromGithub(
|
|
|
113
113
|
const data = await zip.loadAsync(buffer);
|
|
114
114
|
|
|
115
115
|
// Step 2: copy the '@aztec/boxes/{contract-name}' subpackage to the output directory
|
|
116
|
-
// this is currently only implemented for `blank` and `
|
|
116
|
+
// this is currently only implemented for `blank`, `blank-react` and `token` under 'boxes/{box-name}/'
|
|
117
117
|
const repoDirectoryPrefix = `${GITHUB_REPO}-${tag}`;
|
|
118
118
|
|
|
119
119
|
const boxPath = `${repoDirectoryPrefix}/${BOXES_PATH}/${contractName}/`;
|
|
@@ -176,8 +176,9 @@ async function updateNargoToml(tag: string, outputPath: string, log: LogFn): Pro
|
|
|
176
176
|
line.trim().startsWith(`${dependencyName} =`),
|
|
177
177
|
);
|
|
178
178
|
if (key) {
|
|
179
|
-
// Replace the line
|
|
180
|
-
|
|
179
|
+
// Replace the line, which was configured for compiling within the `aztec-packages` monorepo. We replace
|
|
180
|
+
// the local path with `git` and `directory` fields with a `tag` field, which points to the tagged release
|
|
181
|
+
return `${key} = { git="https://github.com/AztecProtocol/aztec-packages/", tag="${tag}", directory="yarn-project/aztec-nr/${key}" }`;
|
|
181
182
|
}
|
|
182
183
|
return line;
|
|
183
184
|
});
|
|
@@ -311,13 +312,13 @@ export async function unboxContract(
|
|
|
311
312
|
packageVersion: string,
|
|
312
313
|
log: LogFn,
|
|
313
314
|
) {
|
|
314
|
-
const contractNames = ['
|
|
315
|
+
const contractNames = ['token', 'blank', 'blank-react'];
|
|
315
316
|
|
|
316
317
|
if (!contractNames.includes(contractName)) {
|
|
317
318
|
log(
|
|
318
319
|
`The noir contract named "${contractName}" was not found in "@aztec/boxes" package. Valid options are:
|
|
319
320
|
${contractNames.join('\n\t')}
|
|
320
|
-
We recommend "
|
|
321
|
+
We recommend "token" as a default.`,
|
|
321
322
|
);
|
|
322
323
|
return;
|
|
323
324
|
}
|
package/src/utils.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AztecAddress, Fr, FunctionSelector, GrumpkinScalar, PXE, Point, TxHash } from '@aztec/aztec.js';
|
|
1
|
+
import { AztecAddress, EthAddress, Fr, FunctionSelector, GrumpkinScalar, PXE, Point, TxHash } from '@aztec/aztec.js';
|
|
2
2
|
import { L1ContractArtifactsForDeployment, createEthereumChain, deployL1Contracts } from '@aztec/ethereum';
|
|
3
3
|
import { ContractArtifact } from '@aztec/foundation/abi';
|
|
4
4
|
import { DebugLogger, LogFn } from '@aztec/foundation/log';
|
|
@@ -211,6 +211,20 @@ export function parseAztecAddress(address: string): AztecAddress {
|
|
|
211
211
|
}
|
|
212
212
|
}
|
|
213
213
|
|
|
214
|
+
/**
|
|
215
|
+
* Parses an Ethereum address from a string.
|
|
216
|
+
* @param address - A serialized Ethereum address
|
|
217
|
+
* @returns An Ethereum address
|
|
218
|
+
* @throws InvalidArgumentError if the input string is not valid.
|
|
219
|
+
*/
|
|
220
|
+
export function parseEthereumAddress(address: string): EthAddress {
|
|
221
|
+
try {
|
|
222
|
+
return EthAddress.fromString(address);
|
|
223
|
+
} catch {
|
|
224
|
+
throw new InvalidArgumentError(`Invalid address: ${address}`);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
|
|
214
228
|
/**
|
|
215
229
|
* Parses an AztecAddress from a string.
|
|
216
230
|
* @param address - A serialized Aztec address
|