@aztec/end-to-end 1.0.0-nightly.20250810 → 1.0.0-nightly.20250812
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/bench/client_flows/benchmark.d.ts +1 -1
- package/dest/bench/client_flows/benchmark.d.ts.map +1 -1
- package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -1
- package/dest/bench/client_flows/client_flows_benchmark.js +30 -12
- package/dest/bench/utils.d.ts.map +1 -1
- package/dest/bench/utils.js +6 -2
- package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts +3 -0
- package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts.map +1 -1
- package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.js +47 -15
- package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts +2 -1
- package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts.map +1 -1
- package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.js +12 -9
- package/dest/e2e_deploy_contract/deploy_test.d.ts +1 -1
- package/dest/e2e_deploy_contract/deploy_test.d.ts.map +1 -1
- package/dest/e2e_deploy_contract/deploy_test.js +5 -4
- package/dest/e2e_fees/bridging_race.notest.js +3 -1
- package/dest/e2e_fees/fees_test.d.ts +2 -2
- package/dest/e2e_fees/fees_test.d.ts.map +1 -1
- package/dest/e2e_fees/fees_test.js +29 -33
- package/dest/e2e_nested_contract/nested_contract_test.d.ts +3 -3
- package/dest/e2e_nested_contract/nested_contract_test.d.ts.map +1 -1
- package/dest/e2e_nested_contract/nested_contract_test.js +17 -12
- package/dest/e2e_p2p/p2p_network.d.ts +2 -1
- package/dest/e2e_p2p/p2p_network.d.ts.map +1 -1
- package/dest/e2e_p2p/p2p_network.js +5 -1
- package/dest/e2e_p2p/shared.d.ts +2 -2
- package/dest/e2e_p2p/shared.d.ts.map +1 -1
- package/dest/e2e_p2p/shared.js +7 -3
- package/dest/e2e_token_contract/token_contract_test.d.ts +8 -4
- package/dest/e2e_token_contract/token_contract_test.d.ts.map +1 -1
- package/dest/e2e_token_contract/token_contract_test.js +48 -23
- package/dest/fixtures/e2e_prover_test.d.ts.map +1 -1
- package/dest/fixtures/e2e_prover_test.js +22 -8
- package/dest/fixtures/snapshot_manager.js +3 -1
- package/dest/fixtures/token_utils.d.ts +3 -3
- package/dest/fixtures/token_utils.d.ts.map +1 -1
- package/dest/fixtures/token_utils.js +13 -7
- package/dest/fixtures/utils.d.ts +4 -3
- package/dest/fixtures/utils.d.ts.map +1 -1
- package/dest/fixtures/utils.js +14 -6
- package/dest/sample-dapp/connect.d.mts +2 -0
- package/dest/sample-dapp/connect.d.mts.map +1 -0
- package/dest/sample-dapp/connect.js +1 -1
- package/dest/sample-dapp/contracts.d.mts +3 -0
- package/dest/sample-dapp/contracts.d.mts.map +1 -0
- package/dest/sample-dapp/contracts.js +1 -1
- package/dest/sample-dapp/deploy.d.mts +3 -0
- package/dest/sample-dapp/deploy.d.mts.map +1 -0
- package/dest/sample-dapp/deploy.js +4 -1
- package/dest/sample-dapp/index.d.mts +2 -0
- package/dest/sample-dapp/index.d.mts.map +1 -0
- package/dest/sample-dapp/index.js +18 -7
- package/dest/shared/cross_chain_test_harness.d.ts +6 -3
- package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
- package/dest/shared/cross_chain_test_harness.js +50 -20
- package/dest/shared/gas_portal_test_harness.d.ts +3 -3
- package/dest/shared/gas_portal_test_harness.d.ts.map +1 -1
- package/dest/shared/gas_portal_test_harness.js +9 -5
- package/dest/shared/uniswap_l1_l2.d.ts.map +1 -1
- package/dest/shared/uniswap_l1_l2.js +37 -14
- package/dest/simulators/lending_simulator.js +6 -2
- package/dest/simulators/token_simulator.d.ts +2 -1
- package/dest/simulators/token_simulator.d.ts.map +1 -1
- package/dest/simulators/token_simulator.js +12 -4
- package/dest/spartan/setup_test_wallets.d.ts +2 -0
- package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
- package/dest/spartan/setup_test_wallets.js +15 -5
- package/package.json +35 -35
- package/src/bench/client_flows/benchmark.ts +1 -1
- package/src/bench/client_flows/client_flows_benchmark.ts +20 -11
- package/src/bench/utils.ts +4 -2
- package/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts +28 -17
- package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +13 -8
- package/src/e2e_deploy_contract/deploy_test.ts +5 -5
- package/src/e2e_fees/bridging_race.notest.ts +1 -1
- package/src/e2e_fees/fees_test.ts +37 -46
- package/src/e2e_nested_contract/nested_contract_test.ts +16 -11
- package/src/e2e_p2p/p2p_network.ts +6 -2
- package/src/e2e_p2p/shared.ts +4 -2
- package/src/e2e_token_contract/token_contract_test.ts +38 -36
- package/src/fixtures/e2e_prover_test.ts +13 -7
- package/src/fixtures/snapshot_manager.ts +1 -1
- package/src/fixtures/token_utils.ts +13 -6
- package/src/fixtures/utils.ts +14 -7
- package/src/sample-dapp/connect.mjs +1 -1
- package/src/sample-dapp/contracts.mjs +1 -1
- package/src/sample-dapp/deploy.mjs +3 -3
- package/src/sample-dapp/index.mjs +11 -7
- package/src/shared/cross_chain_test_harness.ts +31 -18
- package/src/shared/gas_portal_test_harness.ts +6 -6
- package/src/shared/uniswap_l1_l2.ts +19 -15
- package/src/simulators/lending_simulator.ts +2 -2
- package/src/simulators/token_simulator.ts +12 -3
- package/src/spartan/setup_test_wallets.ts +40 -16
|
@@ -1,19 +1,23 @@
|
|
|
1
1
|
import { BatchCall } from '@aztec/aztec.js';
|
|
2
2
|
import { TokenContract } from '@aztec/noir-contracts.js/Token';
|
|
3
3
|
// docs:start:token_utils
|
|
4
|
-
export async function deployToken(adminWallet, initialAdminBalance, logger) {
|
|
4
|
+
export async function deployToken(adminWallet, deployerAddress, initialAdminBalance, logger) {
|
|
5
5
|
logger.info(`Deploying Token contract...`);
|
|
6
|
-
const contract = await TokenContract.deploy(adminWallet,
|
|
6
|
+
const contract = await TokenContract.deploy(adminWallet, deployerAddress, 'TokenName', 'TokenSymbol', 18).send({
|
|
7
|
+
from: deployerAddress
|
|
8
|
+
}).deployed();
|
|
7
9
|
if (initialAdminBalance > 0n) {
|
|
8
10
|
// Minter is minting to herself so contract as minter is the same as contract as recipient
|
|
9
|
-
await mintTokensToPrivate(contract,
|
|
11
|
+
await mintTokensToPrivate(contract, deployerAddress, adminWallet, deployerAddress, initialAdminBalance);
|
|
10
12
|
}
|
|
11
13
|
logger.info('L2 contract deployed');
|
|
12
14
|
return contract;
|
|
13
15
|
}
|
|
14
|
-
export async function mintTokensToPrivate(token, minterWallet, recipient, amount) {
|
|
16
|
+
export async function mintTokensToPrivate(token, minter, minterWallet, recipient, amount) {
|
|
15
17
|
const tokenAsMinter = await TokenContract.at(token.address, minterWallet);
|
|
16
|
-
await tokenAsMinter.methods.mint_to_private(recipient, amount).send(
|
|
18
|
+
await tokenAsMinter.methods.mint_to_private(recipient, amount).send({
|
|
19
|
+
from: minter
|
|
20
|
+
}).wait();
|
|
17
21
|
}
|
|
18
22
|
// docs:end:token_utils
|
|
19
23
|
export async function expectTokenBalance(wallet, token, owner, expectedBalance, logger) {
|
|
@@ -25,14 +29,16 @@ export async function expectTokenBalance(wallet, token, owner, expectedBalance,
|
|
|
25
29
|
logger.info(`Account ${owner} balance: ${balance}`);
|
|
26
30
|
expect(balance).toBe(expectedBalance);
|
|
27
31
|
}
|
|
28
|
-
export async function mintNotes(sender, recipient, asset, noteAmounts) {
|
|
32
|
+
export async function mintNotes(sender, minter, recipient, asset, noteAmounts) {
|
|
29
33
|
// We can only mint 4 notes at a time, since that's the maximum number of calls our entrypoints allow
|
|
30
34
|
// TODO(#13024): mint as many notes as possible in a single tx
|
|
31
35
|
const notesPerIteration = 4;
|
|
32
36
|
for(let mintedNotes = 0; mintedNotes < noteAmounts.length; mintedNotes += notesPerIteration){
|
|
33
37
|
const toMint = noteAmounts.slice(mintedNotes, mintedNotes + notesPerIteration);
|
|
34
38
|
const actions = toMint.map((amt)=>asset.methods.mint_to_private(recipient, amt));
|
|
35
|
-
await new BatchCall(sender, actions).send(
|
|
39
|
+
await new BatchCall(sender, actions).send({
|
|
40
|
+
from: minter
|
|
41
|
+
}).wait();
|
|
36
42
|
}
|
|
37
43
|
return noteAmounts.reduce((prev, curr)=>prev + curr, 0n);
|
|
38
44
|
}
|
package/dest/fixtures/utils.d.ts
CHANGED
|
@@ -110,10 +110,11 @@ export type EndToEndContext = {
|
|
|
110
110
|
config: AztecNodeConfig;
|
|
111
111
|
/** The data for the initial funded accounts. */
|
|
112
112
|
initialFundedAccounts: InitialAccountData[];
|
|
113
|
+
wallets: AccountWalletWithSecretKey[];
|
|
113
114
|
/** The first wallet to be used. */
|
|
114
115
|
wallet: AccountWalletWithSecretKey;
|
|
115
|
-
/** The
|
|
116
|
-
|
|
116
|
+
/** The accounts to be used. */
|
|
117
|
+
accounts: AztecAddress[];
|
|
117
118
|
/** Logger instance named as the current test. */
|
|
118
119
|
logger: Logger;
|
|
119
120
|
/** The cheat codes. */
|
|
@@ -159,7 +160,7 @@ export declare function setNextBlockTimestamp(rpcUrl: string, timestamp: number)
|
|
|
159
160
|
*/
|
|
160
161
|
export declare function getLogger(): Logger;
|
|
161
162
|
export type BalancesFn = ReturnType<typeof getBalancesFn>;
|
|
162
|
-
export declare function getBalancesFn(symbol: string, method: ContractMethod, logger: any): (...addresses: (AztecAddress | {
|
|
163
|
+
export declare function getBalancesFn(symbol: string, method: ContractMethod, from: AztecAddress, logger: any): (...addresses: (AztecAddress | {
|
|
163
164
|
address: AztecAddress;
|
|
164
165
|
})[]) => Promise<bigint[]>;
|
|
165
166
|
export declare function expectMapping<K, V>(fn: (...k: K[]) => Promise<V[]>, inputs: K[], expectedOutputs: V[]): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/fixtures/utils.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,kBAAkB,EAKxB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,KAAK,eAAe,EAAsC,MAAM,mBAAmB,CAAC;AAC7F,OAAO,EAEL,KAAK,0BAA0B,EAC/B,KAAK,YAAY,EACjB,KAAK,SAAS,EAEd,KAAK,cAAc,EACnB,KAAK,MAAM,EACX,KAAK,GAAG,EACR,KAAK,MAAM,EAOZ,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,EAAE,KAAK,cAAc,EAAwB,MAAM,yBAAyB,CAAC;AAEpF,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,2BAA2B,EAGhC,KAAK,QAAQ,EAOd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAA0C,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAI1F,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAI9C,OAAO,EAAgB,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAI9D,OAAO,EAAE,oBAAoB,EAAkC,MAAM,yBAAyB,CAAC;AAE/F,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAoB,MAAM,oBAAoB,CAAC;AACnH,OAAO,EACL,KAAK,UAAU,EACf,KAAK,gBAAgB,EAGtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAI/D,OAAO,EACL,KAAK,2BAA2B,EAGjC,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAGtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAG3B,MAAM,yBAAyB,CAAC;AASjC,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,SAAS,EAAY,KAAK,iBAAiB,EAAe,MAAM,MAAM,CAAC;AASjG,OAAO,EAAE,0CAA0C,EAAE,MAAM,uCAAuC,CAAC;AACnG,OAAO,EAAE,UAAU,EAAE,CAAC;AAmBtB,eAAO,MAAM,sBAAsB,GAAI,OAAO,MAAM,KAAG,MAAM,GAAG,IAI/D,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,WAAW,MAAM,EAAE,EACnB,SAAS,SAAS,GAAG,iBAAiB,EACtC,QAAQ,MAAM,EACd,OAAM,OAAO,CAAC,qBAAqB,CAAM,EACzC,QAAO,KAAe,yCAcvB,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,SAAS,EACpB,IAAI,GAAE,OAAO,CAAC,gBAAgB,CAAM,EACpC,MAAM,SAAc,EACpB,YAAY,UAAQ,GACnB,OAAO,CAAC;IACT;;OAEG;IACH,GAAG,EAAE,UAAU,CAAC;IAChB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B,CAAC,CA2BD;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/fixtures/utils.ts"],"names":[],"mappings":"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"}
|
package/dest/fixtures/utils.js
CHANGED
|
@@ -161,8 +161,9 @@ export const setupL1Contracts = async (l1RpcUrls, account, logger, args = {}, ch
|
|
|
161
161
|
deployL1ContractsValues,
|
|
162
162
|
config,
|
|
163
163
|
initialFundedAccounts,
|
|
164
|
+
wallets,
|
|
164
165
|
wallet: wallets[0],
|
|
165
|
-
|
|
166
|
+
accounts: wallets.slice(0, numberOfAccounts).map((w)=>w.getAddress()),
|
|
166
167
|
logger,
|
|
167
168
|
cheatCodes,
|
|
168
169
|
prefilledPublicData: undefined,
|
|
@@ -458,8 +459,9 @@ export const setupL1Contracts = async (l1RpcUrls, account, logger, args = {}, ch
|
|
|
458
459
|
sequencer: sequencerClient,
|
|
459
460
|
teardown,
|
|
460
461
|
telemetryClient: telemetry,
|
|
461
|
-
wallet: wallets[0],
|
|
462
462
|
wallets,
|
|
463
|
+
wallet: wallets[0],
|
|
464
|
+
accounts: wallets.map((w)=>w.getAddress()),
|
|
463
465
|
watcher
|
|
464
466
|
};
|
|
465
467
|
} catch (err) {
|
|
@@ -487,11 +489,15 @@ export async function ensureAccountContractsPublished(sender, accountsToDeploy)
|
|
|
487
489
|
const instances = (await Promise.all(accountsAndAddresses.filter(({ deployed })=>!deployed).map(({ address })=>sender.getContractMetadata(address)))).map((contractMetadata)=>contractMetadata.contractInstance);
|
|
488
490
|
const contractClass = await getContractClassFromArtifact(SchnorrAccountContractArtifact);
|
|
489
491
|
if (!(await sender.getContractClassMetadata(contractClass.id, true)).isContractClassPubliclyRegistered) {
|
|
490
|
-
await (await publishContractClass(sender, SchnorrAccountContractArtifact)).send(
|
|
492
|
+
await (await publishContractClass(sender, SchnorrAccountContractArtifact)).send({
|
|
493
|
+
from: accountsToDeploy[0].getAddress()
|
|
494
|
+
}).wait();
|
|
491
495
|
}
|
|
492
496
|
const requests = await Promise.all(instances.map(async (instance)=>await publishInstance(sender, instance)));
|
|
493
497
|
const batch = new BatchCall(sender, requests);
|
|
494
|
-
await batch.send(
|
|
498
|
+
await batch.send({
|
|
499
|
+
from: accountsToDeploy[0].getAddress()
|
|
500
|
+
}).wait();
|
|
495
501
|
}
|
|
496
502
|
// docs:end:public_deploy_accounts
|
|
497
503
|
/**
|
|
@@ -522,10 +528,12 @@ export async function ensureAccountContractsPublished(sender, accountsToDeploy)
|
|
|
522
528
|
}
|
|
523
529
|
return createLogger('e2e:' + describeBlockName);
|
|
524
530
|
}
|
|
525
|
-
export function getBalancesFn(symbol, method, logger) {
|
|
531
|
+
export function getBalancesFn(symbol, method, from, logger) {
|
|
526
532
|
const balances = async (...addressLikes)=>{
|
|
527
533
|
const addresses = addressLikes.map((addressLike)=>'address' in addressLike ? addressLike.address : addressLike);
|
|
528
|
-
const b = await Promise.all(addresses.map((address)=>method(address).simulate(
|
|
534
|
+
const b = await Promise.all(addresses.map((address)=>method(address).simulate({
|
|
535
|
+
from
|
|
536
|
+
})));
|
|
529
537
|
const debugString = `${symbol} balances: ${addresses.map((address, i)=>`${address}: ${b[i]}`).join(', ')}`;
|
|
530
538
|
logger.verbose(debugString);
|
|
531
539
|
return b;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connect.d.mts","sourceRoot":"","sources":["../../src/sample-dapp/connect.mjs"],"names":[],"mappings":""}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { createPXEClient } from '@aztec/aztec.js';
|
|
3
3
|
const { PXE_URL = 'http://localhost:8080' } = process.env;
|
|
4
4
|
async function main() {
|
|
5
|
-
const pxe =
|
|
5
|
+
const pxe = createPXEClient(PXE_URL);
|
|
6
6
|
const { l1ChainId } = await pxe.getNodeInfo();
|
|
7
7
|
console.log(`Connected to chain ${l1ChainId}`);
|
|
8
8
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contracts.d.mts","sourceRoot":"","sources":["../../src/sample-dapp/contracts.mjs"],"names":[],"mappings":"AASA,yDAGC;yBAZsC,iBAAiB"}
|
|
@@ -4,7 +4,7 @@ import { readFileSync } from 'fs';
|
|
|
4
4
|
// This syntax is helpful for the referencing tutorial
|
|
5
5
|
const TokenContractArtifact = TokenContract.artifact;
|
|
6
6
|
// docs:start:get-tokens
|
|
7
|
-
export
|
|
7
|
+
export function getToken(wallet) {
|
|
8
8
|
const addresses = JSON.parse(readFileSync('addresses.json'));
|
|
9
9
|
return Contract.at(AztecAddress.fromString(addresses.token), TokenContractArtifact, wallet);
|
|
10
10
|
} // docs:end:get-tokens
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy.d.mts","sourceRoot":"","sources":["../../src/sample-dapp/deploy.mjs"],"names":[],"mappings":";AAeA,uCAeC"}
|
|
@@ -4,6 +4,7 @@ import { Contract, createPXEClient, waitForPXE } from '@aztec/aztec.js';
|
|
|
4
4
|
// docs:end:deploy-imports
|
|
5
5
|
// docs:start:import_artifact
|
|
6
6
|
import { TokenContractArtifact } from '@aztec/noir-contracts.js/Token';
|
|
7
|
+
// docs:end:import_artifact
|
|
7
8
|
import { writeFileSync } from 'fs';
|
|
8
9
|
import { fileURLToPath } from 'url';
|
|
9
10
|
// docs:start:dapp-deploy
|
|
@@ -18,7 +19,9 @@ async function main() {
|
|
|
18
19
|
'TokenName',
|
|
19
20
|
'TKN',
|
|
20
21
|
18
|
|
21
|
-
]).send(
|
|
22
|
+
]).send({
|
|
23
|
+
from: ownerAddress
|
|
24
|
+
}).deployed();
|
|
22
25
|
console.log(`Token deployed at ${token.address.toString()}`);
|
|
23
26
|
const addresses = {
|
|
24
27
|
token: token.address.toString()
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../src/sample-dapp/index.mjs"],"names":[],"mappings":"AAwGA,sCAcC"}
|
|
@@ -18,7 +18,9 @@ async function showPrivateBalances(pxe) {
|
|
|
18
18
|
const accounts = await pxe.getRegisteredAccounts();
|
|
19
19
|
for (const account of accounts){
|
|
20
20
|
// highlight-next-line:showPrivateBalances
|
|
21
|
-
const balance = await token.methods.balance_of_private(account.address).simulate(
|
|
21
|
+
const balance = await token.methods.balance_of_private(account.address).simulate({
|
|
22
|
+
from: account.address
|
|
23
|
+
});
|
|
22
24
|
console.log(`Balance of ${account.address}: ${balance}`);
|
|
23
25
|
}
|
|
24
26
|
}
|
|
@@ -30,7 +32,9 @@ async function mintPrivateFunds(pxe) {
|
|
|
30
32
|
await showPrivateBalances(pxe);
|
|
31
33
|
// We mint tokens to the owner
|
|
32
34
|
const mintAmount = 20n;
|
|
33
|
-
await token.methods.mint_to_private(ownerWallet.getAddress(), mintAmount).send(
|
|
35
|
+
await token.methods.mint_to_private(ownerWallet.getAddress(), mintAmount).send({
|
|
36
|
+
from: ownerWallet.getAddress()
|
|
37
|
+
}).wait();
|
|
34
38
|
await showPrivateBalances(pxe);
|
|
35
39
|
}
|
|
36
40
|
// docs:end:mintPrivateFunds
|
|
@@ -40,7 +44,9 @@ async function transferPrivateFunds(pxe) {
|
|
|
40
44
|
const token = await getToken(owner);
|
|
41
45
|
await showPrivateBalances(pxe);
|
|
42
46
|
console.log(`Sending transaction, awaiting transaction to be mined`);
|
|
43
|
-
const receipt = await token.methods.transfer(recipient.getAddress(), 1).send(
|
|
47
|
+
const receipt = await token.methods.transfer(recipient.getAddress(), 1).send({
|
|
48
|
+
from: owner.getAddress()
|
|
49
|
+
}).wait();
|
|
44
50
|
console.log(`Transaction ${receipt.txHash} has been mined on block ${receipt.blockNumber}`);
|
|
45
51
|
await showPrivateBalances(pxe);
|
|
46
52
|
}
|
|
@@ -52,7 +58,9 @@ async function showPublicBalances(pxe) {
|
|
|
52
58
|
const accounts = await pxe.getRegisteredAccounts();
|
|
53
59
|
for (const account of accounts){
|
|
54
60
|
// highlight-next-line:showPublicBalances
|
|
55
|
-
const balance = await token.methods.balance_of_public(account.address).simulate(
|
|
61
|
+
const balance = await token.methods.balance_of_public(account.address).simulate({
|
|
62
|
+
from: account.address
|
|
63
|
+
});
|
|
56
64
|
console.log(`Balance of ${account.address}: ${balance}`);
|
|
57
65
|
}
|
|
58
66
|
}
|
|
@@ -63,7 +71,9 @@ async function mintPublicFunds(pxe) {
|
|
|
63
71
|
const token = await getToken(owner);
|
|
64
72
|
await showPublicBalances(pxe);
|
|
65
73
|
console.log(`Sending transaction, awaiting transaction to be mined`);
|
|
66
|
-
const receipt = await token.methods.mint_to_public(owner.getAddress(), 100).send(
|
|
74
|
+
const receipt = await token.methods.mint_to_public(owner.getAddress(), 100).send({
|
|
75
|
+
from: owner.getAddress()
|
|
76
|
+
}).wait();
|
|
67
77
|
console.log(`Transaction ${receipt.txHash} has been mined on block ${receipt.blockNumber}`);
|
|
68
78
|
await showPublicBalances(pxe);
|
|
69
79
|
// docs:start:showLogs
|
|
@@ -72,7 +82,9 @@ async function mintPublicFunds(pxe) {
|
|
|
72
82
|
fromBlock: blockNumber - 1
|
|
73
83
|
})).logs;
|
|
74
84
|
const textLogs = logs.map((extendedLog)=>extendedLog.toHumanReadable().slice(0, 200));
|
|
75
|
-
for (const log of textLogs)
|
|
85
|
+
for (const log of textLogs){
|
|
86
|
+
console.log(`Log emitted: ${log}`);
|
|
87
|
+
}
|
|
76
88
|
// docs:end:showLogs
|
|
77
89
|
}
|
|
78
90
|
// docs:end:mintPublicFunds
|
|
@@ -88,7 +100,6 @@ async function main() {
|
|
|
88
100
|
}
|
|
89
101
|
// Execute main only if run directly
|
|
90
102
|
if (process.argv[1].replace(/\/index\.m?js$/, '') === fileURLToPath(import.meta.url).replace(/\/index\.m?js$/, '')) {
|
|
91
|
-
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
92
103
|
main().then(()=>process.exit(0)).catch((err)=>{
|
|
93
104
|
console.error(`Error in app: ${err}`);
|
|
94
105
|
process.exit(1);
|
|
@@ -72,10 +72,11 @@ export declare class CrossChainTestHarness {
|
|
|
72
72
|
readonly l1ContractAddresses: L1ContractAddresses;
|
|
73
73
|
/** Wallet of the owner. */
|
|
74
74
|
readonly ownerWallet: AccountWallet;
|
|
75
|
-
|
|
75
|
+
/** Owner of the l2 token and bridge */
|
|
76
|
+
readonly ownerAddress: AztecAddress;
|
|
77
|
+
static new(aztecNode: AztecNode, pxeService: PXE, l1Client: ExtendedViemWalletClient, wallet: AccountWallet, ownerAddress: AztecAddress, logger: Logger, underlyingERC20Address: EthAddress): Promise<CrossChainTestHarness>;
|
|
76
78
|
private readonly l1TokenManager;
|
|
77
79
|
private readonly l1TokenPortalManager;
|
|
78
|
-
readonly ownerAddress: AztecAddress;
|
|
79
80
|
constructor(
|
|
80
81
|
/** Aztec node instance. */
|
|
81
82
|
aztecNode: AztecNode,
|
|
@@ -98,7 +99,9 @@ export declare class CrossChainTestHarness {
|
|
|
98
99
|
/** Deployment addresses for all L1 contracts */
|
|
99
100
|
l1ContractAddresses: L1ContractAddresses,
|
|
100
101
|
/** Wallet of the owner. */
|
|
101
|
-
ownerWallet: AccountWallet
|
|
102
|
+
ownerWallet: AccountWallet,
|
|
103
|
+
/** Owner of the l2 token and bridge */
|
|
104
|
+
ownerAddress: AztecAddress);
|
|
102
105
|
mintTokensOnL1(amount: bigint): Promise<void>;
|
|
103
106
|
getL1BalanceOf(address: EthAddress): Promise<bigint>;
|
|
104
107
|
sendTokensToPortalPublic(bridgeAmount: bigint, mint?: boolean): Promise<L2AmountClaim>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cross_chain_test_harness.d.ts","sourceRoot":"","sources":["../../src/shared/cross_chain_test_harness.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,aAAa,EAClB,WAAW,EACX,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,UAAU,EACV,KAAK,QAAQ,EACb,EAAE,EAGF,KAAK,aAAa,EAClB,KAAK,0BAA0B,EAC/B,KAAK,MAAM,EACX,KAAK,GAAG,EACR,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,MAAM,EAEZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,wBAAwB,EAAE,KAAK,mBAAmB,EAAoB,MAAM,iBAAiB,CAAC;AAE5G,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAE3E,OAAO,EAAE,KAAK,GAAG,EAAe,MAAM,MAAM,CAAC;AAK7C;;;;;;;;;GASG;AACH,wBAAsB,0CAA0C,CAC9D,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,wBAAwB,EAClC,qBAAqB,EAAE,UAAU,EACjC,KAAK,EAAE,YAAY,EACnB,sBAAsB,EAAE,UAAU,GACjC,OAAO,CAAC;IACT;;OAEG;IACH,KAAK,EAAE,aAAa,CAAC;IACrB;;OAEG;IACH,MAAM,EAAE,mBAAmB,CAAC;IAC5B;;OAEG;IACH,kBAAkB,EAAE,UAAU,CAAC;IAC/B;;OAEG;IACH,WAAW,EAAE,GAAG,CAAC;IACjB;;OAEG;IACH,eAAe,EAAE,GAAG,CAAC;CACtB,CAAC,
|
|
1
|
+
{"version":3,"file":"cross_chain_test_harness.d.ts","sourceRoot":"","sources":["../../src/shared/cross_chain_test_harness.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,aAAa,EAClB,WAAW,EACX,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,UAAU,EACV,KAAK,QAAQ,EACb,EAAE,EAGF,KAAK,aAAa,EAClB,KAAK,0BAA0B,EAC/B,KAAK,MAAM,EACX,KAAK,GAAG,EACR,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,MAAM,EAEZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,wBAAwB,EAAE,KAAK,mBAAmB,EAAoB,MAAM,iBAAiB,CAAC;AAE5G,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAE3E,OAAO,EAAE,KAAK,GAAG,EAAe,MAAM,MAAM,CAAC;AAK7C;;;;;;;;;GASG;AACH,wBAAsB,0CAA0C,CAC9D,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,wBAAwB,EAClC,qBAAqB,EAAE,UAAU,EACjC,KAAK,EAAE,YAAY,EACnB,sBAAsB,EAAE,UAAU,GACjC,OAAO,CAAC;IACT;;OAEG;IACH,KAAK,EAAE,aAAa,CAAC;IACrB;;OAEG;IACH,MAAM,EAAE,mBAAmB,CAAC;IAC5B;;OAEG;IACH,kBAAkB,EAAE,UAAU,CAAC;IAC/B;;OAEG;IACH,WAAW,EAAE,GAAG,CAAC;IACjB;;OAEG;IACH,eAAe,EAAE,GAAG,CAAC;CACtB,CAAC,CA8CD;AAGD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,YAAY,CAAC;IACtB,QAAQ,EAAE,YAAY,CAAC;IACvB,WAAW,EAAE,UAAU,CAAC;IACxB,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,EAAE,YAAY,CAAC;IAC3B,KAAK,EAAE,UAAU,CAAC;IAClB,MAAM,EAAE,UAAU,CAAC;CACpB,CAAC;AAEF;;;GAGG;AACH,qBAAa,qBAAqB;IA4C9B,2BAA2B;IACpB,SAAS,EAAE,SAAS;IAC3B,2CAA2C;IACpC,UAAU,EAAE,GAAG;IACtB,cAAc;IACP,MAAM,EAAE,MAAM;IAErB,yBAAyB;IAClB,OAAO,EAAE,aAAa;IAC7B,gCAAgC;IACzB,QAAQ,EAAE,mBAAmB;IAEpC,oCAAoC;IAC7B,UAAU,EAAE,UAAU;IAE7B,sBAAsB;IACf,kBAAkB,EAAE,UAAU;IACrC,yCAAyC;IAClC,sBAAsB,EAAE,UAAU;IACzC,qCAAqC;IAC9B,QAAQ,EAAE,wBAAwB;IAEzC,gDAAgD;aAChC,mBAAmB,EAAE,mBAAmB;IAExD,2BAA2B;aACX,WAAW,EAAE,aAAa;IAE1C,uCAAuC;aACvB,YAAY,EAAE,YAAY;WAxE/B,GAAG,CACd,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,GAAG,EACf,QAAQ,EAAE,wBAAwB,EAClC,MAAM,EAAE,aAAa,EACrB,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,MAAM,EACd,sBAAsB,EAAE,UAAU,GACjC,OAAO,CAAC,qBAAqB,CAAC;IA+BjC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAuB;;IAG1D,2BAA2B;IACpB,SAAS,EAAE,SAAS;IAC3B,2CAA2C;IACpC,UAAU,EAAE,GAAG;IACtB,cAAc;IACP,MAAM,EAAE,MAAM;IAErB,yBAAyB;IAClB,OAAO,EAAE,aAAa;IAC7B,gCAAgC;IACzB,QAAQ,EAAE,mBAAmB;IAEpC,oCAAoC;IAC7B,UAAU,EAAE,UAAU;IAE7B,sBAAsB;IACf,kBAAkB,EAAE,UAAU;IACrC,yCAAyC;IAClC,sBAAsB,EAAE,UAAU;IACzC,qCAAqC;IAC9B,QAAQ,EAAE,wBAAwB;IAEzC,gDAAgD;IAChC,mBAAmB,EAAE,mBAAmB;IAExD,2BAA2B;IACX,WAAW,EAAE,aAAa;IAE1C,uCAAuC;IACvB,YAAY,EAAE,YAAY;IActC,cAAc,CAAC,MAAM,EAAE,MAAM;IAYnC,cAAc,CAAC,OAAO,EAAE,UAAU;IAIlC,wBAAwB,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,UAAQ;IAI3D,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,UAAQ;IAItD,oBAAoB,CAAC,MAAM,EAAE,MAAM;IAKnC,qBAAqB,CAAC,MAAM,EAAE,MAAM;IAIpC,oBAAoB,CAAC,cAAc,EAAE,MAAM,EAAE,eAAe,EAAE,YAAY;IAQ1E,qCAAqC,CACzC,KAAK,EAAE,IAAI,CAAC,0BAA0B,EAAE,aAAa,GAAG,aAAa,GAAG,kBAAkB,GAAG,WAAW,CAAC;IAUrG,oCAAoC,CACxC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,aAAa,GAAG,aAAa,GAAG,kBAAkB,CAAC;IAU1E,4BAA4B,CAChC,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,EAAE,YAAU,EAC1B,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IASzB,2BAA2B,CAAC,cAAc,EAAE,MAAM,EAAE,YAAY,GAAE,EAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAS7G,qBAAqB,CAAC,KAAK,EAAE,YAAY;IAIzC,wBAAwB,CAAC,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM;IAMrE,oBAAoB,CAAC,KAAK,EAAE,YAAY;IAIxC,uBAAuB,CAAC,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM;IAKpE,oBAAoB,CAAC,cAAc,EAAE,MAAM,EAAE,UAAU,GAAE,UAA4B,GAAG,OAAO,CAAC,EAAE,CAAC;IASzG,2BAA2B,CACzB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAAG,MAAM,EAC5B,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC;IAW5B,qBAAqB,CAAC,YAAY,EAAE,MAAM;IAQ1C,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,KAAU;IAQjE;;;;;;OAMG;IACG,qBAAqB,CAAC,OAAO,EAAE,EAAE,GAAG,GAAG;IAS7C,mBAAmB,IAAI,iBAAiB;CAYzC"}
|
|
@@ -25,18 +25,30 @@ import { mintTokensToPrivate } from '../fixtures/token_utils.js';
|
|
|
25
25
|
client: l1Client
|
|
26
26
|
});
|
|
27
27
|
// deploy l2 token
|
|
28
|
-
const token = await TokenContract.deploy(wallet, owner, 'TokenName', 'TokenSymbol', 18).send(
|
|
28
|
+
const token = await TokenContract.deploy(wallet, owner, 'TokenName', 'TokenSymbol', 18).send({
|
|
29
|
+
from: owner
|
|
30
|
+
}).deployed();
|
|
29
31
|
// deploy l2 token bridge and attach to the portal
|
|
30
|
-
const bridge = await TokenBridgeContract.deploy(wallet, token.address, tokenPortalAddress).send(
|
|
31
|
-
|
|
32
|
+
const bridge = await TokenBridgeContract.deploy(wallet, token.address, tokenPortalAddress).send({
|
|
33
|
+
from: owner
|
|
34
|
+
}).deployed();
|
|
35
|
+
if (await token.methods.get_admin().simulate({
|
|
36
|
+
from: owner
|
|
37
|
+
}) !== owner.toBigInt()) {
|
|
32
38
|
throw new Error(`Token admin is not ${owner}`);
|
|
33
39
|
}
|
|
34
|
-
if (!(await bridge.methods.get_config().simulate(
|
|
40
|
+
if (!(await bridge.methods.get_config().simulate({
|
|
41
|
+
from: owner
|
|
42
|
+
})).token.equals(token.address)) {
|
|
35
43
|
throw new Error(`Bridge token is not ${token.address}`);
|
|
36
44
|
}
|
|
37
45
|
// make the bridge a minter on the token:
|
|
38
|
-
await token.methods.set_minter(bridge.address, true).send(
|
|
39
|
-
|
|
46
|
+
await token.methods.set_minter(bridge.address, true).send({
|
|
47
|
+
from: owner
|
|
48
|
+
}).wait();
|
|
49
|
+
if (await token.methods.is_minter(bridge.address).simulate({
|
|
50
|
+
from: owner
|
|
51
|
+
}) === 1n) {
|
|
40
52
|
throw new Error(`Bridge is not a minter`);
|
|
41
53
|
}
|
|
42
54
|
// initialize portal
|
|
@@ -73,19 +85,19 @@ import { mintTokensToPrivate } from '../fixtures/token_utils.js';
|
|
|
73
85
|
l1Client;
|
|
74
86
|
l1ContractAddresses;
|
|
75
87
|
ownerWallet;
|
|
76
|
-
|
|
88
|
+
ownerAddress;
|
|
89
|
+
static async new(aztecNode, pxeService, l1Client, wallet, ownerAddress, logger, underlyingERC20Address) {
|
|
77
90
|
const ethAccount = EthAddress.fromString((await l1Client.getAddresses())[0]);
|
|
78
91
|
const l1ContractAddresses = (await pxeService.getNodeInfo()).l1ContractAddresses;
|
|
79
92
|
// Deploy and initialize all required contracts
|
|
80
93
|
logger.info('Deploying and initializing token, portal and its bridge...');
|
|
81
94
|
const { token, bridge, tokenPortalAddress, underlyingERC20 } = await deployAndInitializeTokenAndBridgeContracts(wallet, l1Client, l1ContractAddresses.registryAddress, wallet.getAddress(), underlyingERC20Address);
|
|
82
95
|
logger.info('Deployed and initialized token, portal and its bridge.');
|
|
83
|
-
return new CrossChainTestHarness(aztecNode, pxeService, logger, token, bridge, ethAccount, tokenPortalAddress, underlyingERC20.address, l1Client, l1ContractAddresses, wallet);
|
|
96
|
+
return new CrossChainTestHarness(aztecNode, pxeService, logger, token, bridge, ethAccount, tokenPortalAddress, underlyingERC20.address, l1Client, l1ContractAddresses, wallet, ownerAddress);
|
|
84
97
|
}
|
|
85
98
|
l1TokenManager;
|
|
86
99
|
l1TokenPortalManager;
|
|
87
|
-
ownerAddress
|
|
88
|
-
constructor(/** Aztec node instance. */ aztecNode, /** Private eXecution Environment (PXE). */ pxeService, /** Logger. */ logger, /** L2 Token contract. */ l2Token, /** L2 Token bridge contract. */ l2Bridge, /** Eth account to interact with. */ ethAccount, /** Portal address. */ tokenPortalAddress, /** Underlying token for portal tests. */ underlyingERC20Address, /** Viem Extended client instance. */ l1Client, /** Deployment addresses for all L1 contracts */ l1ContractAddresses, /** Wallet of the owner. */ ownerWallet){
|
|
100
|
+
constructor(/** Aztec node instance. */ aztecNode, /** Private eXecution Environment (PXE). */ pxeService, /** Logger. */ logger, /** L2 Token contract. */ l2Token, /** L2 Token bridge contract. */ l2Bridge, /** Eth account to interact with. */ ethAccount, /** Portal address. */ tokenPortalAddress, /** Underlying token for portal tests. */ underlyingERC20Address, /** Viem Extended client instance. */ l1Client, /** Deployment addresses for all L1 contracts */ l1ContractAddresses, /** Wallet of the owner. */ ownerWallet, /** Owner of the l2 token and bridge */ ownerAddress){
|
|
89
101
|
this.aztecNode = aztecNode;
|
|
90
102
|
this.pxeService = pxeService;
|
|
91
103
|
this.logger = logger;
|
|
@@ -97,6 +109,7 @@ import { mintTokensToPrivate } from '../fixtures/token_utils.js';
|
|
|
97
109
|
this.l1Client = l1Client;
|
|
98
110
|
this.l1ContractAddresses = l1ContractAddresses;
|
|
99
111
|
this.ownerWallet = ownerWallet;
|
|
112
|
+
this.ownerAddress = ownerAddress;
|
|
100
113
|
this.l1TokenPortalManager = new L1TokenPortalManager(this.tokenPortalAddress, this.underlyingERC20Address, this.l1ContractAddresses.feeAssetHandlerAddress, this.l1ContractAddresses.outboxAddress, this.l1Client, this.logger);
|
|
101
114
|
this.l1TokenManager = this.l1TokenPortalManager.getTokenManager();
|
|
102
115
|
this.ownerAddress = this.ownerWallet.getAddress();
|
|
@@ -128,35 +141,46 @@ import { mintTokensToPrivate } from '../fixtures/token_utils.js';
|
|
|
128
141
|
}
|
|
129
142
|
async mintTokensPublicOnL2(amount) {
|
|
130
143
|
this.logger.info('Minting tokens on L2 publicly');
|
|
131
|
-
await this.l2Token.methods.mint_to_public(this.ownerAddress, amount).send(
|
|
144
|
+
await this.l2Token.methods.mint_to_public(this.ownerAddress, amount).send({
|
|
145
|
+
from: this.ownerAddress
|
|
146
|
+
}).wait();
|
|
132
147
|
}
|
|
133
148
|
async mintTokensPrivateOnL2(amount) {
|
|
134
|
-
await mintTokensToPrivate(this.l2Token, this.ownerWallet, this.ownerAddress, amount);
|
|
149
|
+
await mintTokensToPrivate(this.l2Token, this.ownerAddress, this.ownerWallet, this.ownerAddress, amount);
|
|
135
150
|
}
|
|
136
151
|
async sendL2PublicTransfer(transferAmount, receiverAddress) {
|
|
137
152
|
// send a transfer tx to force through rollup with the message included
|
|
138
|
-
await this.l2Token.methods.transfer_in_public(this.ownerAddress, receiverAddress, transferAmount, 0).send(
|
|
153
|
+
await this.l2Token.methods.transfer_in_public(this.ownerAddress, receiverAddress, transferAmount, 0).send({
|
|
154
|
+
from: this.ownerAddress
|
|
155
|
+
}).wait();
|
|
139
156
|
}
|
|
140
157
|
async consumeMessageOnAztecAndMintPrivately(claim) {
|
|
141
158
|
this.logger.info('Consuming messages on L2 privately');
|
|
142
159
|
const { recipient, claimAmount, claimSecret: secretForL2MessageConsumption, messageLeafIndex } = claim;
|
|
143
|
-
await this.l2Bridge.methods.claim_private(recipient, claimAmount, secretForL2MessageConsumption, messageLeafIndex).send(
|
|
160
|
+
await this.l2Bridge.methods.claim_private(recipient, claimAmount, secretForL2MessageConsumption, messageLeafIndex).send({
|
|
161
|
+
from: this.ownerAddress
|
|
162
|
+
}).wait();
|
|
144
163
|
}
|
|
145
164
|
async consumeMessageOnAztecAndMintPublicly(claim) {
|
|
146
165
|
this.logger.info('Consuming messages on L2 Publicly');
|
|
147
166
|
const { claimAmount, claimSecret, messageLeafIndex } = claim;
|
|
148
|
-
await this.l2Bridge.methods.claim_public(this.ownerAddress, claimAmount, claimSecret, messageLeafIndex).send(
|
|
167
|
+
await this.l2Bridge.methods.claim_public(this.ownerAddress, claimAmount, claimSecret, messageLeafIndex).send({
|
|
168
|
+
from: this.ownerAddress
|
|
169
|
+
}).wait();
|
|
149
170
|
}
|
|
150
171
|
async withdrawPrivateFromAztecToL1(withdrawAmount, authwitNonce = Fr.ZERO, authWitness) {
|
|
151
172
|
const withdrawReceipt = await this.l2Bridge.methods.exit_to_l1_private(this.l2Token.address, this.ethAccount, withdrawAmount, EthAddress.ZERO, authwitNonce).send({
|
|
152
173
|
authWitnesses: [
|
|
153
174
|
authWitness
|
|
154
|
-
]
|
|
175
|
+
],
|
|
176
|
+
from: this.ownerAddress
|
|
155
177
|
}).wait();
|
|
156
178
|
return withdrawReceipt;
|
|
157
179
|
}
|
|
158
180
|
async withdrawPublicFromAztecToL1(withdrawAmount, authwitNonce = Fr.ZERO) {
|
|
159
|
-
const withdrawReceipt = await this.l2Bridge.methods.exit_to_l1_public(this.ethAccount, withdrawAmount, EthAddress.ZERO, authwitNonce).send(
|
|
181
|
+
const withdrawReceipt = await this.l2Bridge.methods.exit_to_l1_public(this.ethAccount, withdrawAmount, EthAddress.ZERO, authwitNonce).send({
|
|
182
|
+
from: this.ownerAddress
|
|
183
|
+
}).wait();
|
|
160
184
|
return withdrawReceipt;
|
|
161
185
|
}
|
|
162
186
|
async getL2PrivateBalanceOf(owner) {
|
|
@@ -170,7 +194,9 @@ import { mintTokensToPrivate } from '../fixtures/token_utils.js';
|
|
|
170
194
|
expect(balance).toBe(expectedBalance);
|
|
171
195
|
}
|
|
172
196
|
async getL2PublicBalanceOf(owner) {
|
|
173
|
-
return await this.l2Token.methods.balance_of_public(owner).simulate(
|
|
197
|
+
return await this.l2Token.methods.balance_of_public(owner).simulate({
|
|
198
|
+
from: this.ownerAddress
|
|
199
|
+
});
|
|
174
200
|
}
|
|
175
201
|
async expectPublicBalanceOnL2(owner, expectedBalance) {
|
|
176
202
|
const balance = await this.getL2PublicBalanceOf(owner);
|
|
@@ -184,11 +210,15 @@ import { mintTokensToPrivate } from '../fixtures/token_utils.js';
|
|
|
184
210
|
}
|
|
185
211
|
async transferToPrivateOnL2(shieldAmount) {
|
|
186
212
|
this.logger.info('Transferring to private on L2');
|
|
187
|
-
await this.l2Token.methods.transfer_to_private(this.ownerAddress, shieldAmount).send(
|
|
213
|
+
await this.l2Token.methods.transfer_to_private(this.ownerAddress, shieldAmount).send({
|
|
214
|
+
from: this.ownerAddress
|
|
215
|
+
}).wait();
|
|
188
216
|
}
|
|
189
217
|
async transferToPublicOnL2(amount, authwitNonce = Fr.ZERO) {
|
|
190
218
|
this.logger.info('Transferring tokens to public');
|
|
191
|
-
await this.l2Token.methods.transfer_to_public(this.ownerAddress, this.ownerAddress, amount, authwitNonce).send(
|
|
219
|
+
await this.l2Token.methods.transfer_to_public(this.ownerAddress, this.ownerAddress, amount, authwitNonce).send({
|
|
220
|
+
from: this.ownerAddress
|
|
221
|
+
}).wait();
|
|
192
222
|
}
|
|
193
223
|
/**
|
|
194
224
|
* Makes message available for consumption.
|
|
@@ -5,7 +5,7 @@ import type { AztecNodeAdmin } from '@aztec/stdlib/interfaces/client';
|
|
|
5
5
|
export interface IGasBridgingTestHarness {
|
|
6
6
|
getL1FeeJuiceBalance(address: EthAddress): Promise<bigint>;
|
|
7
7
|
prepareTokensOnL1(bridgeAmount: bigint, owner: AztecAddress): Promise<L2AmountClaim>;
|
|
8
|
-
bridgeFromL1ToL2(bridgeAmount: bigint, owner: AztecAddress): Promise<void>;
|
|
8
|
+
bridgeFromL1ToL2(bridgeAmount: bigint, owner: AztecAddress, claimer: AztecAddress): Promise<void>;
|
|
9
9
|
feeJuice: FeeJuiceContract;
|
|
10
10
|
l1FeeJuiceAddress: EthAddress;
|
|
11
11
|
}
|
|
@@ -75,11 +75,11 @@ export declare class GasBridgingTestHarness implements IGasBridgingTestHarness {
|
|
|
75
75
|
mintTokensOnL1(amount: bigint, to?: EthAddress): Promise<void>;
|
|
76
76
|
getL1FeeJuiceBalance(address: EthAddress): Promise<bigint>;
|
|
77
77
|
sendTokensToPortalPublic(bridgeAmount: bigint, l2Address: AztecAddress): Promise<L2AmountClaim>;
|
|
78
|
-
consumeMessageOnAztecAndClaimPrivately(owner: AztecAddress, claim: L2AmountClaim): Promise<void>;
|
|
78
|
+
consumeMessageOnAztecAndClaimPrivately(owner: AztecAddress, claimer: AztecAddress, claim: L2AmountClaim): Promise<void>;
|
|
79
79
|
getL2PublicBalanceOf(owner: AztecAddress): Promise<any>;
|
|
80
80
|
expectPublicBalanceOnL2(owner: AztecAddress, expectedBalance: bigint): Promise<void>;
|
|
81
81
|
prepareTokensOnL1(bridgeAmount: bigint, owner: AztecAddress): Promise<L2AmountClaim>;
|
|
82
|
-
bridgeFromL1ToL2(bridgeAmount: bigint, owner: AztecAddress): Promise<void>;
|
|
82
|
+
bridgeFromL1ToL2(bridgeAmount: bigint, owner: AztecAddress, claimer: AztecAddress): Promise<void>;
|
|
83
83
|
private advanceL2Block;
|
|
84
84
|
}
|
|
85
85
|
//# sourceMappingURL=gas_portal_test_harness.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gas_portal_test_harness.d.ts","sourceRoot":"","sources":["../../src/shared/gas_portal_test_harness.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,UAAU,EAEV,uBAAuB,EACvB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,MAAM,EACX,KAAK,GAAG,EACR,KAAK,MAAM,EAEZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAEhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAErE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAItE,MAAM,WAAW,uBAAuB;IACtC,oBAAoB,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3D,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACrF,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"gas_portal_test_harness.d.ts","sourceRoot":"","sources":["../../src/shared/gas_portal_test_harness.ts"],"names":[],"mappings":"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"}
|
|
@@ -75,13 +75,17 @@ export class FeeJuicePortalTestingHarnessFactory {
|
|
|
75
75
|
sendTokensToPortalPublic(bridgeAmount, l2Address) {
|
|
76
76
|
return this.feeJuicePortalManager.bridgeTokensPublic(l2Address, bridgeAmount, false);
|
|
77
77
|
}
|
|
78
|
-
async consumeMessageOnAztecAndClaimPrivately(owner, claim) {
|
|
78
|
+
async consumeMessageOnAztecAndClaimPrivately(owner, claimer, claim) {
|
|
79
79
|
this.logger.info('Consuming messages on L2 Privately');
|
|
80
80
|
const { claimAmount, claimSecret, messageLeafIndex } = claim;
|
|
81
|
-
await this.feeJuice.methods.claim(owner, claimAmount, claimSecret, messageLeafIndex).send(
|
|
81
|
+
await this.feeJuice.methods.claim(owner, claimAmount, claimSecret, messageLeafIndex).send({
|
|
82
|
+
from: claimer
|
|
83
|
+
}).wait();
|
|
82
84
|
}
|
|
83
85
|
async getL2PublicBalanceOf(owner) {
|
|
84
|
-
return await this.feeJuice.methods.balance_of_public(owner).simulate(
|
|
86
|
+
return await this.feeJuice.methods.balance_of_public(owner).simulate({
|
|
87
|
+
from: owner
|
|
88
|
+
});
|
|
85
89
|
}
|
|
86
90
|
async expectPublicBalanceOnL2(owner, expectedBalance) {
|
|
87
91
|
const balance = await this.getL2PublicBalanceOf(owner);
|
|
@@ -97,11 +101,11 @@ export class FeeJuicePortalTestingHarnessFactory {
|
|
|
97
101
|
await this.advanceL2Block();
|
|
98
102
|
return claim;
|
|
99
103
|
}
|
|
100
|
-
async bridgeFromL1ToL2(bridgeAmount, owner) {
|
|
104
|
+
async bridgeFromL1ToL2(bridgeAmount, owner, claimer) {
|
|
101
105
|
// Prepare the tokens on the L1 side
|
|
102
106
|
const claim = await this.prepareTokensOnL1(bridgeAmount, owner);
|
|
103
107
|
// Consume L1 -> L2 message and claim tokens privately on L2
|
|
104
|
-
await this.consumeMessageOnAztecAndClaimPrivately(owner, claim);
|
|
108
|
+
await this.consumeMessageOnAztecAndClaimPrivately(owner, claimer, claim);
|
|
105
109
|
}
|
|
106
110
|
async advanceL2Block() {
|
|
107
111
|
const initialBlockNumber = await this.aztecNode.getBlockNumber();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uniswap_l1_l2.d.ts","sourceRoot":"","sources":["../../src/shared/uniswap_l1_l2.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAElB,KAAK,SAAS,EAGd,KAAK,MAAM,EACX,KAAK,GAAG,EAGT,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EACL,KAAK,2BAA2B,EAChC,KAAK,wBAAwB,EAI9B,MAAM,iBAAiB,CAAC;AAuBzB,2DAA2D;AAC3D,MAAM,MAAM,mBAAmB,GAAG;IAChC,0BAA0B;IAC1B,SAAS,EAAE,SAAS,CAAC;IACrB,+CAA+C;IAC/C,GAAG,EAAE,GAAG,CAAC;IACT,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,QAAQ,EAAE,wBAAwB,CAAC;IACnC,wBAAwB;IACxB,WAAW,EAAE,aAAa,CAAC;IAC3B,0BAA0B;IAC1B,aAAa,EAAE,aAAa,CAAC;IAC7B,OAAO;IACP,uBAAuB,EAAE,2BAA2B,CAAC;IACrD,4BAA4B;IAC5B,UAAU,EAAE,UAAU,CAAC;CACxB,CAAC;AAGF,eAAO,MAAM,oBAAoB,GAC/B,OAAO,MAAM,OAAO,CAAC,mBAAmB,CAAC,EACzC,SAAS,MAAM,OAAO,CAAC,IAAI,CAAC,EAC5B,gCAAkC,
|
|
1
|
+
{"version":3,"file":"uniswap_l1_l2.d.ts","sourceRoot":"","sources":["../../src/shared/uniswap_l1_l2.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAElB,KAAK,SAAS,EAGd,KAAK,MAAM,EACX,KAAK,GAAG,EAGT,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EACL,KAAK,2BAA2B,EAChC,KAAK,wBAAwB,EAI9B,MAAM,iBAAiB,CAAC;AAuBzB,2DAA2D;AAC3D,MAAM,MAAM,mBAAmB,GAAG;IAChC,0BAA0B;IAC1B,SAAS,EAAE,SAAS,CAAC;IACrB,+CAA+C;IAC/C,GAAG,EAAE,GAAG,CAAC;IACT,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,QAAQ,EAAE,wBAAwB,CAAC;IACnC,wBAAwB;IACxB,WAAW,EAAE,aAAa,CAAC;IAC3B,0BAA0B;IAC1B,aAAa,EAAE,aAAa,CAAC;IAC7B,OAAO;IACP,uBAAuB,EAAE,2BAA2B,CAAC;IACrD,4BAA4B;IAC5B,UAAU,EAAE,UAAU,CAAC;CACxB,CAAC;AAGF,eAAO,MAAM,oBAAoB,GAC/B,OAAO,MAAM,OAAO,CAAC,mBAAmB,CAAC,EACzC,SAAS,MAAM,OAAO,CAAC,IAAI,CAAC,EAC5B,gCAAkC,SAg+BnC,CAAC"}
|