@aztec/end-to-end 0.0.1-commit.9d2bcf6d → 0.0.1-commit.9ef841308
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/client_flows_benchmark.d.ts +2 -2
- package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -1
- package/dest/bench/client_flows/client_flows_benchmark.js +21 -28
- package/dest/bench/client_flows/config.d.ts +2 -2
- package/dest/bench/client_flows/config.d.ts.map +1 -1
- package/dest/bench/client_flows/config.js +18 -0
- package/dest/bench/utils.d.ts +1 -1
- package/dest/bench/utils.d.ts.map +1 -1
- package/dest/bench/utils.js +6 -3
- package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts +4 -2
- 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 +22 -12
- package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts +2 -2
- 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 +3 -2
- package/dest/e2e_deploy_contract/deploy_test.d.ts +2 -2
- package/dest/e2e_deploy_contract/deploy_test.d.ts.map +1 -1
- package/dest/e2e_epochs/epochs_test.d.ts +11 -7
- package/dest/e2e_epochs/epochs_test.d.ts.map +1 -1
- package/dest/e2e_epochs/epochs_test.js +62 -34
- 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 +18 -11
- package/dest/e2e_nested_contract/nested_contract_test.d.ts +1 -1
- package/dest/e2e_nested_contract/nested_contract_test.d.ts.map +1 -1
- package/dest/e2e_nested_contract/nested_contract_test.js +4 -6
- package/dest/e2e_p2p/inactivity_slash_test.js +1 -1
- package/dest/e2e_p2p/p2p_network.d.ts +5 -4
- package/dest/e2e_p2p/p2p_network.d.ts.map +1 -1
- package/dest/e2e_p2p/p2p_network.js +24 -7
- package/dest/e2e_p2p/reqresp/utils.d.ts +3 -3
- package/dest/e2e_p2p/reqresp/utils.d.ts.map +1 -1
- package/dest/e2e_p2p/reqresp/utils.js +45 -8
- package/dest/e2e_p2p/shared.d.ts +22 -2
- package/dest/e2e_p2p/shared.d.ts.map +1 -1
- package/dest/e2e_p2p/shared.js +38 -3
- package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.d.ts +2 -0
- package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.d.ts.map +1 -0
- package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.js +184 -0
- package/dest/e2e_storage_proof/fixtures/storage_proof_fixture.d.ts +18 -0
- package/dest/e2e_storage_proof/fixtures/storage_proof_fixture.d.ts.map +1 -0
- package/dest/e2e_storage_proof/fixtures/storage_proof_fixture.js +120 -0
- package/dest/e2e_token_contract/token_contract_test.d.ts +4 -2
- package/dest/e2e_token_contract/token_contract_test.d.ts.map +1 -1
- package/dest/e2e_token_contract/token_contract_test.js +19 -9
- package/dest/fixtures/authwit_proxy.d.ts +15 -0
- package/dest/fixtures/authwit_proxy.d.ts.map +1 -0
- package/dest/fixtures/authwit_proxy.js +30 -0
- package/dest/fixtures/e2e_prover_test.d.ts +7 -6
- package/dest/fixtures/e2e_prover_test.d.ts.map +1 -1
- package/dest/fixtures/e2e_prover_test.js +36 -48
- package/dest/fixtures/elu_monitor.d.ts +21 -0
- package/dest/fixtures/elu_monitor.d.ts.map +1 -0
- package/dest/fixtures/elu_monitor.js +102 -0
- package/dest/fixtures/fixtures.d.ts +5 -1
- package/dest/fixtures/fixtures.d.ts.map +1 -1
- package/dest/fixtures/fixtures.js +6 -0
- package/dest/fixtures/get_bb_config.d.ts +1 -1
- package/dest/fixtures/get_bb_config.d.ts.map +1 -1
- package/dest/fixtures/get_bb_config.js +5 -5
- package/dest/fixtures/ha_setup.d.ts +1 -1
- package/dest/fixtures/ha_setup.d.ts.map +1 -1
- package/dest/fixtures/ha_setup.js +3 -1
- package/dest/fixtures/setup.d.ts +44 -23
- package/dest/fixtures/setup.d.ts.map +1 -1
- package/dest/fixtures/setup.js +70 -156
- package/dest/fixtures/setup_p2p_test.d.ts +15 -7
- package/dest/fixtures/setup_p2p_test.d.ts.map +1 -1
- package/dest/fixtures/setup_p2p_test.js +18 -12
- package/dest/fixtures/token_utils.d.ts +2 -2
- package/dest/fixtures/token_utils.d.ts.map +1 -1
- package/dest/fixtures/token_utils.js +5 -7
- package/dest/shared/cross_chain_test_harness.d.ts +1 -1
- package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
- package/dest/shared/cross_chain_test_harness.js +13 -13
- package/dest/shared/gas_portal_test_harness.js +2 -2
- package/dest/shared/index.d.ts +2 -1
- package/dest/shared/index.d.ts.map +1 -1
- package/dest/shared/index.js +1 -0
- package/dest/shared/jest_setup.js +41 -1
- package/dest/shared/mock_state_view.d.ts +86 -0
- package/dest/shared/mock_state_view.d.ts.map +1 -0
- package/dest/shared/mock_state_view.js +186 -0
- package/dest/shared/submit-transactions.d.ts +2 -2
- package/dest/shared/submit-transactions.d.ts.map +1 -1
- package/dest/shared/submit-transactions.js +1 -1
- package/dest/shared/uniswap_l1_l2.d.ts +1 -1
- package/dest/shared/uniswap_l1_l2.d.ts.map +1 -1
- package/dest/shared/uniswap_l1_l2.js +16 -17
- package/dest/simulators/lending_simulator.d.ts +1 -1
- package/dest/simulators/lending_simulator.d.ts.map +1 -1
- package/dest/simulators/lending_simulator.js +4 -4
- package/dest/simulators/token_simulator.d.ts +1 -1
- package/dest/simulators/token_simulator.d.ts.map +1 -1
- package/dest/simulators/token_simulator.js +3 -24
- package/dest/spartan/setup_test_wallets.d.ts +12 -3
- package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
- package/dest/spartan/setup_test_wallets.js +110 -17
- package/dest/spartan/tx_metrics.js +1 -1
- package/dest/spartan/utils/bot.d.ts +3 -2
- package/dest/spartan/utils/bot.d.ts.map +1 -1
- package/dest/spartan/utils/bot.js +2 -1
- package/dest/spartan/utils/config.d.ts +7 -1
- package/dest/spartan/utils/config.d.ts.map +1 -1
- package/dest/spartan/utils/config.js +3 -1
- package/dest/spartan/utils/index.d.ts +4 -2
- package/dest/spartan/utils/index.d.ts.map +1 -1
- package/dest/spartan/utils/index.js +5 -1
- package/dest/spartan/utils/k8s.d.ts +3 -1
- package/dest/spartan/utils/k8s.d.ts.map +1 -1
- package/dest/spartan/utils/k8s.js +6 -0
- package/dest/spartan/utils/nodes.d.ts +4 -5
- package/dest/spartan/utils/nodes.d.ts.map +1 -1
- package/dest/spartan/utils/nodes.js +9 -9
- package/dest/spartan/utils/pod_logs.d.ts +25 -0
- package/dest/spartan/utils/pod_logs.d.ts.map +1 -0
- package/dest/spartan/utils/pod_logs.js +74 -0
- package/dest/test-wallet/test_wallet.d.ts +76 -0
- package/dest/test-wallet/test_wallet.d.ts.map +1 -0
- package/dest/test-wallet/test_wallet.js +213 -0
- package/dest/test-wallet/utils.d.ts +41 -0
- package/dest/test-wallet/utils.d.ts.map +1 -0
- package/dest/test-wallet/utils.js +71 -0
- package/dest/test-wallet/wallet_worker_script.d.ts +2 -0
- package/dest/test-wallet/wallet_worker_script.d.ts.map +1 -0
- package/dest/test-wallet/wallet_worker_script.js +48 -0
- package/dest/test-wallet/worker_wallet.d.ts +52 -0
- package/dest/test-wallet/worker_wallet.d.ts.map +1 -0
- package/dest/test-wallet/worker_wallet.js +151 -0
- package/dest/test-wallet/worker_wallet_schema.d.ts +274 -0
- package/dest/test-wallet/worker_wallet_schema.d.ts.map +1 -0
- package/dest/test-wallet/worker_wallet_schema.js +10 -0
- package/package.json +42 -43
- package/src/bench/client_flows/client_flows_benchmark.ts +30 -17
- package/src/bench/client_flows/config.ts +9 -1
- package/src/bench/utils.ts +8 -3
- package/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts +28 -15
- package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +7 -8
- package/src/e2e_deploy_contract/deploy_test.ts +3 -3
- package/src/e2e_epochs/epochs_test.ts +83 -61
- package/src/e2e_fees/bridging_race.notest.ts +1 -1
- package/src/e2e_fees/fees_test.ts +20 -28
- package/src/e2e_nested_contract/nested_contract_test.ts +7 -5
- package/src/e2e_p2p/inactivity_slash_test.ts +5 -5
- package/src/e2e_p2p/p2p_network.ts +36 -10
- package/src/e2e_p2p/reqresp/utils.ts +61 -12
- package/src/e2e_p2p/shared.ts +58 -3
- package/src/e2e_storage_proof/fixtures/storage_proof.json +915 -0
- package/src/e2e_storage_proof/fixtures/storage_proof_fetcher.ts +190 -0
- package/src/e2e_storage_proof/fixtures/storage_proof_fixture.ts +173 -0
- package/src/e2e_token_contract/token_contract_test.ts +26 -9
- package/src/fixtures/authwit_proxy.ts +50 -0
- package/src/fixtures/dumps/epoch_proof_result.json +1 -1
- package/src/fixtures/e2e_prover_test.ts +42 -54
- package/src/fixtures/elu_monitor.ts +126 -0
- package/src/fixtures/fixtures.ts +10 -0
- package/src/fixtures/get_bb_config.ts +7 -6
- package/src/fixtures/ha_setup.ts +3 -1
- package/src/fixtures/setup.ts +106 -217
- package/src/fixtures/setup_p2p_test.ts +25 -24
- package/src/fixtures/token_utils.ts +3 -3
- package/src/guides/up_quick_start.sh +3 -3
- package/src/shared/cross_chain_test_harness.ts +13 -9
- package/src/shared/gas_portal_test_harness.ts +1 -1
- package/src/shared/index.ts +1 -0
- package/src/shared/jest_setup.ts +51 -1
- package/src/shared/mock_state_view.ts +188 -0
- package/src/shared/submit-transactions.ts +3 -2
- package/src/shared/uniswap_l1_l2.ts +38 -33
- package/src/simulators/lending_simulator.ts +8 -4
- package/src/simulators/token_simulator.ts +6 -30
- package/src/spartan/setup_test_wallets.ts +148 -13
- package/src/spartan/tx_metrics.ts +1 -1
- package/src/spartan/utils/bot.ts +4 -1
- package/src/spartan/utils/config.ts +2 -0
- package/src/spartan/utils/index.ts +7 -0
- package/src/spartan/utils/k8s.ts +8 -0
- package/src/spartan/utils/nodes.ts +15 -10
- package/src/spartan/utils/pod_logs.ts +99 -0
- package/src/test-wallet/test_wallet.ts +301 -0
- package/src/test-wallet/utils.ts +112 -0
- package/src/test-wallet/wallet_worker_script.ts +60 -0
- package/src/test-wallet/worker_wallet.ts +213 -0
- package/src/test-wallet/worker_wallet_schema.ts +13 -0
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
import { createLogger } from '@aztec/aztec.js/log';
|
|
2
|
+
import { getContract } from 'viem';
|
|
3
|
+
/**
|
|
4
|
+
* Mock StateView contract for testing the Uniswap price oracle.
|
|
5
|
+
*
|
|
6
|
+
* Wraps a compiled Solidity contract that mimics the Uniswap V4 StateView's getSlot0 function.
|
|
7
|
+
* The mock allows setting return values dynamically for testing different price scenarios.
|
|
8
|
+
*
|
|
9
|
+
* Solidity source:
|
|
10
|
+
* ```solidity
|
|
11
|
+
* // SPDX-License-Identifier: Apache-2.0
|
|
12
|
+
* pragma solidity >=0.8.27;
|
|
13
|
+
*
|
|
14
|
+
* contract MockStateView {
|
|
15
|
+
* uint160 public sqrtPriceX96;
|
|
16
|
+
* int24 public tick;
|
|
17
|
+
* uint24 public protocolFee;
|
|
18
|
+
* uint24 public lpFee;
|
|
19
|
+
*
|
|
20
|
+
* function setReturnValues(
|
|
21
|
+
* uint160 _sqrtPriceX96,
|
|
22
|
+
* int24 _tick,
|
|
23
|
+
* uint24 _protocolFee,
|
|
24
|
+
* uint24 _lpFee
|
|
25
|
+
* ) external {
|
|
26
|
+
* sqrtPriceX96 = _sqrtPriceX96;
|
|
27
|
+
* tick = _tick;
|
|
28
|
+
* protocolFee = _protocolFee;
|
|
29
|
+
* lpFee = _lpFee;
|
|
30
|
+
* }
|
|
31
|
+
*
|
|
32
|
+
* function getSlot0(bytes32 poolId) external view returns (uint160, int24, uint24, uint24) {
|
|
33
|
+
* return (sqrtPriceX96, tick, protocolFee, lpFee);
|
|
34
|
+
* }
|
|
35
|
+
* }
|
|
36
|
+
* ```
|
|
37
|
+
*/ export class MockStateView {
|
|
38
|
+
address;
|
|
39
|
+
walletClient;
|
|
40
|
+
log;
|
|
41
|
+
static BYTECODE = '0x608060405234801561000f575f5ffd5b5060043610610060575f3560e01c80633eaf5d9f14610064578063704ce43e146100825780638db791d2146100a0578063b0e21e8a146100be578063b52e4bdd146100dc578063c815641c146100f8575b5f5ffd5b61006c61012b565b60405161007991906102ab565b60405180910390f35b61008a61013d565b60405161009791906102e1565b60405180910390f35b6100a8610151565b6040516100b59190610328565b60405180910390f35b6100c6610175565b6040516100d391906102e1565b60405180910390f35b6100f660048036038101906100f191906103c3565b610189565b005b610112600480360381019061010d919061045a565b61022b565b6040516101229493929190610485565b60405180910390f35b5f60149054906101000a900460020b81565b5f601a9054906101000a900462ffffff1681565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60179054906101000a900462ffffff1681565b835f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550825f60146101000a81548162ffffff021916908360020b62ffffff160217905550815f60176101000a81548162ffffff021916908362ffffff160217905550805f601a6101000a81548162ffffff021916908362ffffff16021790555050505050565b5f5f5f5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff165f60149054906101000a900460020b5f60179054906101000a900462ffffff165f601a9054906101000a900462ffffff1693509350935093509193509193565b5f8160020b9050919050565b6102a581610290565b82525050565b5f6020820190506102be5f83018461029c565b92915050565b5f62ffffff82169050919050565b6102db816102c4565b82525050565b5f6020820190506102f45f8301846102d2565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b610322816102fa565b82525050565b5f60208201905061033b5f830184610319565b92915050565b5f5ffd5b61034e816102fa565b8114610358575f5ffd5b50565b5f8135905061036981610345565b92915050565b61037881610290565b8114610382575f5ffd5b50565b5f813590506103938161036f565b92915050565b6103a2816102c4565b81146103ac575f5ffd5b50565b5f813590506103bd81610399565b92915050565b5f5f5f5f608085870312156103db576103da610341565b5b5f6103e88782880161035b565b94505060206103f987828801610385565b935050604061040a878288016103af565b925050606061041b878288016103af565b91505092959194509250565b5f819050919050565b61043981610427565b8114610443575f5ffd5b50565b5f8135905061045481610430565b92915050565b5f6020828403121561046f5761046e610341565b5b5f61047c84828501610446565b91505092915050565b5f6080820190506104985f830187610319565b6104a5602083018661029c565b6104b260408301856102d2565b6104bf60608301846102d2565b9594505050505056fea2646970667358221220f8b1bfff284535bc078368ed34bd5e78981644845f3c9c1f5a4b8448c976805464736f6c634300081f0033';
|
|
42
|
+
static ABI = [
|
|
43
|
+
{
|
|
44
|
+
type: 'function',
|
|
45
|
+
name: 'setReturnValues',
|
|
46
|
+
inputs: [
|
|
47
|
+
{
|
|
48
|
+
name: '_sqrtPriceX96',
|
|
49
|
+
type: 'uint160'
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
name: '_tick',
|
|
53
|
+
type: 'int24'
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
name: '_protocolFee',
|
|
57
|
+
type: 'uint24'
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: '_lpFee',
|
|
61
|
+
type: 'uint24'
|
|
62
|
+
}
|
|
63
|
+
],
|
|
64
|
+
outputs: [],
|
|
65
|
+
stateMutability: 'nonpayable'
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
inputs: [
|
|
69
|
+
{
|
|
70
|
+
internalType: 'bytes32',
|
|
71
|
+
name: 'poolId',
|
|
72
|
+
type: 'bytes32'
|
|
73
|
+
}
|
|
74
|
+
],
|
|
75
|
+
name: 'getSlot0',
|
|
76
|
+
outputs: [
|
|
77
|
+
{
|
|
78
|
+
internalType: 'uint160',
|
|
79
|
+
name: '',
|
|
80
|
+
type: 'uint160'
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
internalType: 'int24',
|
|
84
|
+
name: '',
|
|
85
|
+
type: 'int24'
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
internalType: 'uint24',
|
|
89
|
+
name: '',
|
|
90
|
+
type: 'uint24'
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
internalType: 'uint24',
|
|
94
|
+
name: '',
|
|
95
|
+
type: 'uint24'
|
|
96
|
+
}
|
|
97
|
+
],
|
|
98
|
+
stateMutability: 'view',
|
|
99
|
+
type: 'function'
|
|
100
|
+
}
|
|
101
|
+
];
|
|
102
|
+
constructor(address, walletClient, log = createLogger('mock-state-view')){
|
|
103
|
+
this.address = address;
|
|
104
|
+
this.walletClient = walletClient;
|
|
105
|
+
this.log = log;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Deploys the mock StateView contract at the specified address using etch.
|
|
109
|
+
* @param ethCheatCodes - Cheat codes for etching bytecode
|
|
110
|
+
* @param walletClient - Wallet client for sending transactions
|
|
111
|
+
* @param address - Address to deploy the mock at (typically the real StateView address)
|
|
112
|
+
*/ static async deploy(ethCheatCodes, walletClient, address) {
|
|
113
|
+
await ethCheatCodes.etch(address, MockStateView.BYTECODE);
|
|
114
|
+
return new MockStateView(address, walletClient);
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Sets the price using the ethPerFeeAssetE12 format (same as rollup contract).
|
|
118
|
+
* Computes the corresponding sqrtPriceX96 internally.
|
|
119
|
+
*
|
|
120
|
+
* Math (from fee_asset_price_oracle.ts):
|
|
121
|
+
* ethPerFeeAssetE12 = 1e12 * 2^192 / sqrtPriceX96^2
|
|
122
|
+
*
|
|
123
|
+
* Inverted:
|
|
124
|
+
* sqrtPriceX96^2 = 1e12 * 2^192 / ethPerFeeAssetE12
|
|
125
|
+
* sqrtPriceX96 = sqrt(1e12 * 2^192 / ethPerFeeAssetE12)
|
|
126
|
+
*
|
|
127
|
+
* @param ethPerFeeAssetE12 - The price in ETH per fee asset, scaled by 1e12
|
|
128
|
+
*/ async setEthPerFeeAsset(ethPerFeeAssetE12) {
|
|
129
|
+
const sqrtPriceX96 = this.ethPerFeeAssetE12ToSqrtPriceX96(ethPerFeeAssetE12);
|
|
130
|
+
return await this.setSqrtPriceX96(sqrtPriceX96);
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Sets the sqrtPriceX96 value directly (Uniswap's price encoding).
|
|
134
|
+
* @param sqrtPriceX96 - The sqrtPriceX96 value
|
|
135
|
+
* @param tick - The tick value (default 10)
|
|
136
|
+
* @param protocolFee - The protocol fee (default 0)
|
|
137
|
+
* @param lpFee - The LP fee (default 500)
|
|
138
|
+
*/ async setSqrtPriceX96(sqrtPriceX96, tick = 10, protocolFee = 0, lpFee = 500) {
|
|
139
|
+
const contract = getContract({
|
|
140
|
+
address: this.address.toString(),
|
|
141
|
+
abi: MockStateView.ABI,
|
|
142
|
+
client: this.walletClient
|
|
143
|
+
});
|
|
144
|
+
const hash = await contract.write.setReturnValues([
|
|
145
|
+
sqrtPriceX96,
|
|
146
|
+
tick,
|
|
147
|
+
protocolFee,
|
|
148
|
+
lpFee
|
|
149
|
+
]);
|
|
150
|
+
this.log.info(`Set sqrtPriceX96 to ${sqrtPriceX96}`);
|
|
151
|
+
return await this.walletClient.waitForTransactionReceipt({
|
|
152
|
+
hash
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Converts ethPerFeeAssetE12 to sqrtPriceX96 (inverse of sqrtPriceX96ToEthPerFeeAssetE12).
|
|
157
|
+
*
|
|
158
|
+
* Math:
|
|
159
|
+
* sqrtPriceX96 = sqrt(1e12 * 2^192 / ethPerFeeAssetE12)
|
|
160
|
+
*/ ethPerFeeAssetE12ToSqrtPriceX96(ethPerFeeAssetE12) {
|
|
161
|
+
if (ethPerFeeAssetE12 === 0n) {
|
|
162
|
+
throw new Error('Cannot convert zero ethPerFeeAssetE12');
|
|
163
|
+
}
|
|
164
|
+
const Q192 = 2n ** 192n;
|
|
165
|
+
const sqrtPriceSquared = 10n ** 12n * Q192 / ethPerFeeAssetE12;
|
|
166
|
+
return this.bigintSqrt(sqrtPriceSquared);
|
|
167
|
+
}
|
|
168
|
+
/** Integer square root using Newton's method */ bigintSqrt(n) {
|
|
169
|
+
if (n < 0n) {
|
|
170
|
+
throw new Error('Cannot compute sqrt of negative number');
|
|
171
|
+
}
|
|
172
|
+
if (n === 0n) {
|
|
173
|
+
return 0n;
|
|
174
|
+
}
|
|
175
|
+
let x = n;
|
|
176
|
+
let y = (x + 1n) / 2n;
|
|
177
|
+
while(y < x){
|
|
178
|
+
x = y;
|
|
179
|
+
y = (x + n / x) / 2n;
|
|
180
|
+
}
|
|
181
|
+
return x;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
export function diffInBps(a, b) {
|
|
185
|
+
return (a - b) * 10000n / b;
|
|
186
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AztecAddress } from '@aztec/aztec.js/addresses';
|
|
2
2
|
import type { Logger } from '@aztec/aztec.js/log';
|
|
3
3
|
import { TxHash } from '@aztec/aztec.js/tx';
|
|
4
|
-
import type { TestWallet } from '
|
|
4
|
+
import type { TestWallet } from '../test-wallet/test_wallet.js';
|
|
5
5
|
export declare const submitTxsTo: (wallet: TestWallet, submitter: AztecAddress, numTxs: number, logger: Logger) => Promise<TxHash[]>;
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibWl0LXRyYW5zYWN0aW9ucy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NoYXJlZC9zdWJtaXQtdHJhbnNhY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUd6RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUE0QixNQUFNLG9CQUFvQixDQUFDO0FBR3RFLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBR2hFLGVBQU8sTUFBTSxXQUFXLG9HQXFCdkIsQ0FBQyJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"submit-transactions.d.ts","sourceRoot":"","sources":["../../src/shared/submit-transactions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,MAAM,EAA4B,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"submit-transactions.d.ts","sourceRoot":"","sources":["../../src/shared/submit-transactions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,MAAM,EAA4B,MAAM,oBAAoB,CAAC;AAGtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAGhE,eAAO,MAAM,WAAW,oGAqBvB,CAAC"}
|
|
@@ -8,7 +8,7 @@ export const submitTxsTo = async (wallet, submitter, numTxs, logger)=>{
|
|
|
8
8
|
await Promise.all(times(numTxs, async ()=>{
|
|
9
9
|
const accountManager = await wallet.createSchnorrAccount(Fr.random(), Fr.random(), GrumpkinScalar.random());
|
|
10
10
|
const deployMethod = await accountManager.getDeployMethod();
|
|
11
|
-
const txHash = await deployMethod.send({
|
|
11
|
+
const { txHash } = await deployMethod.send({
|
|
12
12
|
from: submitter,
|
|
13
13
|
wait: NO_WAIT
|
|
14
14
|
});
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { type EndToEndContext } from '../fixtures/utils.js';
|
|
2
2
|
export declare const uniswapL1L2TestSuite: (setup: () => Promise<EndToEndContext>, cleanup: () => Promise<void>, expectedForkBlockNumber?: number) => void;
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pc3dhcF9sMV9sMi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NoYXJlZC91bmlzd2FwX2wxX2wyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVCQSxPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQW1DLE1BQU0sc0JBQXNCLENBQUM7QUFhN0YsZUFBTyxNQUFNLG9CQUFvQixpSEF1K0JoQyxDQUFDIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uniswap_l1_l2.d.ts","sourceRoot":"","sources":["../../src/shared/uniswap_l1_l2.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"uniswap_l1_l2.d.ts","sourceRoot":"","sources":["../../src/shared/uniswap_l1_l2.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,KAAK,eAAe,EAAmC,MAAM,sBAAsB,CAAC;AAa7F,eAAO,MAAM,oBAAoB,iHAu+BhC,CAAC"}
|
|
@@ -6,7 +6,7 @@ import { Fr } from '@aztec/aztec.js/fields';
|
|
|
6
6
|
import { RollupContract } from '@aztec/ethereum/contracts';
|
|
7
7
|
import { deployL1Contract } from '@aztec/ethereum/deploy-l1-contract';
|
|
8
8
|
import { extractEvent } from '@aztec/ethereum/utils';
|
|
9
|
-
import {
|
|
9
|
+
import { EpochNumber } from '@aztec/foundation/branded-types';
|
|
10
10
|
import { sha256ToField } from '@aztec/foundation/crypto/sha256';
|
|
11
11
|
import { InboxAbi, UniswapPortalAbi, UniswapPortalBytecode } from '@aztec/l1-artifacts';
|
|
12
12
|
import { UniswapContract } from '@aztec/noir-contracts.js/Uniswap';
|
|
@@ -52,7 +52,7 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
|
|
|
52
52
|
const t = await setup();
|
|
53
53
|
({ aztecNode, logger, deployL1ContractsValues, cheatCodes, wallet, accounts: [ownerAddress, sponsorAddress] } = t);
|
|
54
54
|
l1Client = deployL1ContractsValues.l1Client;
|
|
55
|
-
t.watcher
|
|
55
|
+
t.watcher.setIsMarkingAsProven(false);
|
|
56
56
|
if (Number(await l1Client.getBlockNumber()) < expectedForkBlockNumber) {
|
|
57
57
|
throw new Error('This test must be run on a fork of mainnet with the expected fork block');
|
|
58
58
|
}
|
|
@@ -75,9 +75,9 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
|
|
|
75
75
|
client: l1Client
|
|
76
76
|
});
|
|
77
77
|
// deploy l2 uniswap contract and attach to portal
|
|
78
|
-
uniswapL2Contract = await UniswapContract.deploy(wallet, uniswapPortalAddress).send({
|
|
78
|
+
({ contract: uniswapL2Contract } = await UniswapContract.deploy(wallet, uniswapPortalAddress).send({
|
|
79
79
|
from: ownerAddress
|
|
80
|
-
});
|
|
80
|
+
}));
|
|
81
81
|
const registryAddress = (await aztecNode.getNodeInfo()).l1ContractAddresses.registryAddress;
|
|
82
82
|
await uniswapPortal.write.initialize([
|
|
83
83
|
registryAddress.toString(),
|
|
@@ -124,7 +124,7 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
|
|
|
124
124
|
// 4. Swap on L1 - sends L2 to L1 message to withdraw WETH to L1 and another message to swap assets.
|
|
125
125
|
logger.info('Withdrawing weth to L1 and sending message to swap to dai');
|
|
126
126
|
const [secretForDepositingSwappedDai, secretHashForDepositingSwappedDai] = await generateClaimSecret();
|
|
127
|
-
const l2UniswapInteractionReceipt = await uniswapL2Contract.methods.swap_private(wethCrossChainHarness.l2Token.address, wethCrossChainHarness.l2Bridge.address, wethAmountToBridge, daiCrossChainHarness.l2Bridge.address, nonceForWETHTransferToPublicApproval, uniswapFeeTier, minimumOutputAmount, secretHashForDepositingSwappedDai, ownerEthAddress).send({
|
|
127
|
+
const { receipt: l2UniswapInteractionReceipt } = await uniswapL2Contract.methods.swap_private(wethCrossChainHarness.l2Token.address, wethCrossChainHarness.l2Bridge.address, wethAmountToBridge, daiCrossChainHarness.l2Bridge.address, nonceForWETHTransferToPublicApproval, uniswapFeeTier, minimumOutputAmount, secretHashForDepositingSwappedDai, ownerEthAddress).send({
|
|
128
128
|
from: ownerAddress,
|
|
129
129
|
authWitnesses: [
|
|
130
130
|
transferToPublicAuhtwit
|
|
@@ -166,8 +166,8 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
|
|
|
166
166
|
// ensure that uniswap contract didn't eat the funds.
|
|
167
167
|
await wethCrossChainHarness.expectPublicBalanceOnL2(uniswapL2Contract.address, 0n);
|
|
168
168
|
// Since the outbox is only consumable when the epoch is proven, we need to advance to the next epoch.
|
|
169
|
-
const
|
|
170
|
-
const epoch =
|
|
169
|
+
const swapResult = await computeL2ToL1MembershipWitness(aztecNode, swapPrivateLeaf, l2UniswapInteractionReceipt.txHash);
|
|
170
|
+
const { epochNumber: epoch } = swapResult;
|
|
171
171
|
await cheatCodes.rollup.advanceToEpoch(EpochNumber(epoch + 1));
|
|
172
172
|
await waitForProven(aztecNode, l2UniswapInteractionReceipt, {
|
|
173
173
|
provenTimeout: 300
|
|
@@ -175,8 +175,7 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
|
|
|
175
175
|
// 5. Consume L2 to L1 message by calling uniswapPortal.swap_private()
|
|
176
176
|
logger.info('Execute withdraw and swap on the uniswapPortal!');
|
|
177
177
|
const daiL1BalanceOfPortalBeforeSwap = await daiCrossChainHarness.getL1BalanceOf(daiCrossChainHarness.tokenPortalAddress);
|
|
178
|
-
const
|
|
179
|
-
const withdrawResult = await computeL2ToL1MembershipWitness(aztecNode, epoch, withdrawLeaf);
|
|
178
|
+
const withdrawResult = await computeL2ToL1MembershipWitness(aztecNode, withdrawLeaf, l2UniswapInteractionReceipt.txHash);
|
|
180
179
|
const swapPrivateL2MessageIndex = swapResult.leafIndex;
|
|
181
180
|
const swapPrivateSiblingPath = swapResult.siblingPath;
|
|
182
181
|
const withdrawL2MessageIndex = withdrawResult.leafIndex;
|
|
@@ -538,7 +537,7 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
|
|
|
538
537
|
// Swap
|
|
539
538
|
logger.info('Withdrawing weth to L1 and sending message to swap to dai');
|
|
540
539
|
const [, secretHashForDepositingSwappedDai] = await generateClaimSecret();
|
|
541
|
-
const withdrawReceipt = await uniswapL2Contract.methods.swap_private(wethCrossChainHarness.l2Token.address, wethCrossChainHarness.l2Bridge.address, wethAmountToBridge, daiCrossChainHarness.l2Bridge.address, nonceForWETHTransferToPublicApproval, uniswapFeeTier, minimumOutputAmount, secretHashForDepositingSwappedDai, ownerEthAddress).send({
|
|
540
|
+
const { receipt: withdrawReceipt } = await uniswapL2Contract.methods.swap_private(wethCrossChainHarness.l2Token.address, wethCrossChainHarness.l2Bridge.address, wethAmountToBridge, daiCrossChainHarness.l2Bridge.address, nonceForWETHTransferToPublicApproval, uniswapFeeTier, minimumOutputAmount, secretHashForDepositingSwappedDai, ownerEthAddress).send({
|
|
542
541
|
from: ownerAddress,
|
|
543
542
|
authWitnesses: [
|
|
544
543
|
transferToPublicAuhtwit
|
|
@@ -574,9 +573,9 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
|
|
|
574
573
|
rollupVersion: new Fr(version),
|
|
575
574
|
chainId: new Fr(l1Client.chain.id)
|
|
576
575
|
});
|
|
577
|
-
const
|
|
578
|
-
const
|
|
579
|
-
const withdrawResult = await computeL2ToL1MembershipWitness(aztecNode,
|
|
576
|
+
const swapResult = await computeL2ToL1MembershipWitness(aztecNode, swapPrivateLeaf, withdrawReceipt.txHash);
|
|
577
|
+
const { epochNumber: epoch } = swapResult;
|
|
578
|
+
const withdrawResult = await computeL2ToL1MembershipWitness(aztecNode, withdrawLeaf, withdrawReceipt.txHash);
|
|
580
579
|
const swapPrivateL2MessageIndex = swapResult.leafIndex;
|
|
581
580
|
const swapPrivateSiblingPath = swapResult.siblingPath;
|
|
582
581
|
const withdrawL2MessageIndex = withdrawResult.leafIndex;
|
|
@@ -630,7 +629,7 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
|
|
|
630
629
|
await validateActionInteraction.send();
|
|
631
630
|
// Call swap_public on L2
|
|
632
631
|
const secretHashForDepositingSwappedDai = Fr.random();
|
|
633
|
-
const withdrawReceipt = await uniswapL2Contract.methods.swap_public(ownerAddress, wethCrossChainHarness.l2Bridge.address, wethAmountToBridge, daiCrossChainHarness.l2Bridge.address, nonceForWETHTransferApproval, uniswapFeeTier, minimumOutputAmount, ownerAddress, secretHashForDepositingSwappedDai, ownerEthAddress, Fr.ZERO).send({
|
|
632
|
+
const { receipt: withdrawReceipt } = await uniswapL2Contract.methods.swap_public(ownerAddress, wethCrossChainHarness.l2Bridge.address, wethAmountToBridge, daiCrossChainHarness.l2Bridge.address, nonceForWETHTransferApproval, uniswapFeeTier, minimumOutputAmount, ownerAddress, secretHashForDepositingSwappedDai, ownerEthAddress, Fr.ZERO).send({
|
|
634
633
|
from: ownerAddress
|
|
635
634
|
});
|
|
636
635
|
const swapPublicContent = sha256ToField([
|
|
@@ -664,9 +663,9 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
|
|
|
664
663
|
rollupVersion: new Fr(version),
|
|
665
664
|
chainId: new Fr(l1Client.chain.id)
|
|
666
665
|
});
|
|
667
|
-
const
|
|
668
|
-
const
|
|
669
|
-
const withdrawResult = await computeL2ToL1MembershipWitness(aztecNode,
|
|
666
|
+
const swapResult = await computeL2ToL1MembershipWitness(aztecNode, swapPublicLeaf, withdrawReceipt.txHash);
|
|
667
|
+
const { epochNumber: epoch } = swapResult;
|
|
668
|
+
const withdrawResult = await computeL2ToL1MembershipWitness(aztecNode, withdrawLeaf, withdrawReceipt.txHash);
|
|
670
669
|
const swapPublicL2MessageIndex = swapResult.leafIndex;
|
|
671
670
|
const swapPublicSiblingPath = swapResult.siblingPath;
|
|
672
671
|
const withdrawL2MessageIndex = withdrawResult.leafIndex;
|
|
@@ -66,4 +66,4 @@ export declare class LendingSimulator {
|
|
|
66
66
|
mintStableCoinOutsideLoan(recipient: AztecAddress, amount: bigint, priv?: boolean): void;
|
|
67
67
|
check(): Promise<void>;
|
|
68
68
|
}
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVuZGluZ19zaW11bGF0b3IuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zaW11bGF0b3JzL2xlbmRpbmdfc2ltdWxhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR2hFLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFeEUsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFM0Q7O0dBRUc7QUFDSCxxQkFBYSxjQUFjO0lBQ3pCLHlDQUF5QztJQUN6QyxTQUFnQixPQUFPLEVBQUUsWUFBWSxDQUFDO0lBQ3RDLDJDQUEyQztJQUMzQyxTQUFnQixNQUFNLEVBQUUsRUFBRSxDQUFDO0lBRTNCLFlBQVksT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUc1QztJQUVEOzs7T0FHRztJQUNJLEdBQUcsZ0JBRVQ7Q0FDRjtBQWdDRDs7R0FFRztBQUNILHFCQUFhLGdCQUFnQjtJQVl6QixPQUFPLENBQUMsRUFBRTtJQUNWLE9BQU8sQ0FBQyxPQUFPO0lBQ2YsT0FBTyxDQUFDLElBQUk7SUFDWixPQUFPLENBQUMsb0JBQW9CO0lBQzVCLDBCQUEwQjtJQUNuQixNQUFNLEVBQUUsY0FBYztJQUM3QiwyQkFBMkI7SUFDcEIsZUFBZSxFQUFFLGVBQWU7SUFDdkMsd0RBQXdEO0lBQ2pELGVBQWUsRUFBRSxjQUFjO0lBQ3RDLHVEQUF1RDtJQUNoRCxVQUFVLEVBQUUsY0FBYztJQXRCbkMsZ0NBQWdDO0lBQ3pCLFdBQVcsRUFBRSxNQUFNLENBQU07SUFDaEMsb0NBQW9DO0lBQzdCLElBQUksRUFBRSxNQUFNLENBQUs7SUFFeEIsT0FBTyxDQUFDLFVBQVUsQ0FBNkI7SUFDL0MsT0FBTyxDQUFDLFVBQVUsQ0FBNkI7SUFDL0MsT0FBTyxDQUFDLFFBQVEsQ0FBYztJQUM5QixPQUFPLENBQUMsYUFBYSxDQUFjO0lBRW5DLFlBQ1UsRUFBRSxFQUFFLFVBQVUsRUFDZCxPQUFPLEVBQUUsY0FBYyxFQUN2QixJQUFJLEVBQUUsTUFBTSxFQUNaLG9CQUFvQixFQUFFLE1BQU07SUFDcEMsMEJBQTBCO0lBQ25CLE1BQU0sRUFBRSxjQUFjO0lBQzdCLDJCQUEyQjtJQUNwQixlQUFlLEVBQUUsZUFBZTtJQUN2Qyx3REFBd0Q7SUFDakQsZUFBZSxFQUFFLGNBQWM7SUFDdEMsdURBQXVEO0lBQ2hELFVBQVUsRUFBRSxjQUFjLEVBQy9CO0lBRUUsT0FBTyxrQkFNWjtJQUVLLGFBQWEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLFlBQVksQ0FBQyxFQUFFLGdCQUFnQixpQkFrQmhFO0lBRUQsY0FBYyxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUdoRTtJQUVELGFBQWEsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFHL0Q7SUFFRCxPQUFPLENBQUMsT0FBTztJQUtmLFFBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFJMUQ7SUFFRCxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBT3hEO0lBRUQsWUFBWSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUc5RDtJQUVELFdBQVcsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFHN0Q7SUFFRCxPQUFPLENBQUMsS0FBSztJQVFiLHlCQUF5QixDQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLFVBQVEsUUFPOUU7SUFFSyxLQUFLLGtCQTJCVjtDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lending_simulator.d.ts","sourceRoot":"","sources":["../../src/simulators/lending_simulator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAGhE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAExE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;GAEG;AACH,qBAAa,cAAc;IACzB,yCAAyC;IACzC,SAAgB,OAAO,EAAE,YAAY,CAAC;IACtC,2CAA2C;IAC3C,SAAgB,MAAM,EAAE,EAAE,CAAC;IAE3B,YAAY,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,EAG5C;IAED;;;OAGG;IACI,GAAG,gBAET;CACF;AAgCD;;GAEG;AACH,qBAAa,gBAAgB;IAYzB,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,oBAAoB;IAC5B,0BAA0B;IACnB,MAAM,EAAE,cAAc;IAC7B,2BAA2B;IACpB,eAAe,EAAE,eAAe;IACvC,wDAAwD;IACjD,eAAe,EAAE,cAAc;IACtC,uDAAuD;IAChD,UAAU,EAAE,cAAc;IAtBnC,gCAAgC;IACzB,WAAW,EAAE,MAAM,CAAM;IAChC,oCAAoC;IAC7B,IAAI,EAAE,MAAM,CAAK;IAExB,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,aAAa,CAAc;IAEnC,YACU,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,MAAM,EACZ,oBAAoB,EAAE,MAAM;IACpC,0BAA0B;IACnB,MAAM,EAAE,cAAc;IAC7B,2BAA2B;IACpB,eAAe,EAAE,eAAe;IACvC,wDAAwD;IACjD,eAAe,EAAE,cAAc;IACtC,uDAAuD;IAChD,UAAU,EAAE,cAAc,EAC/B;IAEE,OAAO,
|
|
1
|
+
{"version":3,"file":"lending_simulator.d.ts","sourceRoot":"","sources":["../../src/simulators/lending_simulator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAGhE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAExE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;GAEG;AACH,qBAAa,cAAc;IACzB,yCAAyC;IACzC,SAAgB,OAAO,EAAE,YAAY,CAAC;IACtC,2CAA2C;IAC3C,SAAgB,MAAM,EAAE,EAAE,CAAC;IAE3B,YAAY,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,EAG5C;IAED;;;OAGG;IACI,GAAG,gBAET;CACF;AAgCD;;GAEG;AACH,qBAAa,gBAAgB;IAYzB,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,oBAAoB;IAC5B,0BAA0B;IACnB,MAAM,EAAE,cAAc;IAC7B,2BAA2B;IACpB,eAAe,EAAE,eAAe;IACvC,wDAAwD;IACjD,eAAe,EAAE,cAAc;IACtC,uDAAuD;IAChD,UAAU,EAAE,cAAc;IAtBnC,gCAAgC;IACzB,WAAW,EAAE,MAAM,CAAM;IAChC,oCAAoC;IAC7B,IAAI,EAAE,MAAM,CAAK;IAExB,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,aAAa,CAAc;IAEnC,YACU,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,MAAM,EACZ,oBAAoB,EAAE,MAAM;IACpC,0BAA0B;IACnB,MAAM,EAAE,cAAc;IAC7B,2BAA2B;IACpB,eAAe,EAAE,eAAe;IACvC,wDAAwD;IACjD,eAAe,EAAE,cAAc;IACtC,uDAAuD;IAChD,UAAU,EAAE,cAAc,EAC/B;IAEE,OAAO,kBAMZ;IAEK,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,gBAAgB,iBAkBhE;IAED,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAGhE;IAED,aAAa,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAG/D;IAED,OAAO,CAAC,OAAO;IAKf,QAAQ,CAAC,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAI1D;IAED,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAOxD;IAED,YAAY,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAG9D;IAED,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAG7D;IAED,OAAO,CAAC,KAAK;IAQb,yBAAyB,CAAC,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,UAAQ,QAO9E;IAEK,KAAK,kBA2BV;CACF"}
|
|
@@ -78,14 +78,14 @@ const computeMultiplier = (rate, dt)=>{
|
|
|
78
78
|
}
|
|
79
79
|
async prepare() {
|
|
80
80
|
this.accumulator = BASE;
|
|
81
|
-
const slot = await this.rollup.getSlotAt(BigInt(await this.cc.eth.
|
|
81
|
+
const slot = await this.rollup.getSlotAt(BigInt(await this.cc.eth.lastBlockTimestamp()) + BigInt(this.ethereumSlotDuration));
|
|
82
82
|
this.time = Number(await this.rollup.getTimestampForSlot(slot));
|
|
83
83
|
}
|
|
84
84
|
async progressSlots(diff, dateProvider) {
|
|
85
85
|
if (diff <= 1) {
|
|
86
86
|
return;
|
|
87
87
|
}
|
|
88
|
-
const slot = await this.rollup.getSlotAt(BigInt(await this.cc.eth.
|
|
88
|
+
const slot = await this.rollup.getSlotAt(BigInt(await this.cc.eth.lastBlockTimestamp()));
|
|
89
89
|
const targetSlot = SlotNumber(slot + diff);
|
|
90
90
|
const ts = Number(await this.rollup.getTimestampForSlot(targetSlot));
|
|
91
91
|
const timeDiff = ts - this.time;
|
|
@@ -152,7 +152,7 @@ const computeMultiplier = (rate, dt)=>{
|
|
|
152
152
|
const totalCollateral = Object.values(this.collateral).reduce((a, b)=>new Fr(a.value + b.value), Fr.ZERO);
|
|
153
153
|
expect(totalCollateral).toEqual(new Fr(this.collateralAsset.balanceOfPublic(this.lendingContract.address)));
|
|
154
154
|
expect(this.borrowed).toEqual(this.stableCoin.totalSupply - this.mintedOutside);
|
|
155
|
-
const asset = await this.lendingContract.methods.get_asset(0).simulate({
|
|
155
|
+
const { result: asset } = await this.lendingContract.methods.get_asset(0).simulate({
|
|
156
156
|
from: this.account.address
|
|
157
157
|
});
|
|
158
158
|
const interestAccumulator = asset['interest_accumulator'];
|
|
@@ -162,7 +162,7 @@ const computeMultiplier = (rate, dt)=>{
|
|
|
162
162
|
this.account.address,
|
|
163
163
|
AztecAddress.fromField(await this.account.key())
|
|
164
164
|
]){
|
|
165
|
-
const privatePos = await this.lendingContract.methods.get_position(key).simulate({
|
|
165
|
+
const { result: privatePos } = await this.lendingContract.methods.get_position(key).simulate({
|
|
166
166
|
from: this.account.address
|
|
167
167
|
});
|
|
168
168
|
expect(new Fr(privatePos['collateral'])).toEqual(this.collateral[key.toString()] ?? Fr.ZERO);
|
|
@@ -29,4 +29,4 @@ export declare class TokenSimulator {
|
|
|
29
29
|
checkPrivate(): Promise<void>;
|
|
30
30
|
check(): Promise<void>;
|
|
31
31
|
}
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5fc2ltdWxhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2ltdWxhdG9ycy90b2tlbl9zaW11bGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFOUQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFJcEUscUJBQWEsY0FBYztJQVF2QixTQUFTLENBQUMsS0FBSyxFQUFFLGFBQWE7SUFDOUIsU0FBUyxDQUFDLGFBQWEsRUFBRSxNQUFNO0lBQy9CLFNBQVMsQ0FBQyxjQUFjLEVBQUUsWUFBWTtJQUN0QyxTQUFTLENBQUMsTUFBTSxFQUFFLE1BQU07SUFDeEIsU0FBUyxDQUFDLFFBQVEsRUFBRSxZQUFZLEVBQUU7SUFYcEMsT0FBTyxDQUFDLGVBQWUsQ0FBa0M7SUFDekQsT0FBTyxDQUFDLGFBQWEsQ0FBa0M7SUFDaEQsV0FBVyxFQUFFLE1BQU0sQ0FBTTtJQUVoQyxPQUFPLENBQUMsY0FBYyxDQUFrQztJQUV4RCxZQUNZLEtBQUssRUFBRSxhQUFhLEVBQ3BCLGFBQWEsRUFBRSxNQUFNLEVBQ3JCLGNBQWMsRUFBRSxZQUFZLEVBQzVCLE1BQU0sRUFBRSxNQUFNLEVBQ2QsUUFBUSxFQUFFLFlBQVksRUFBRSxFQUNoQztJQUVHLFVBQVUsQ0FBQyxPQUFPLEVBQUUsWUFBWSxRQUV0QztJQUVNLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFFN0Q7SUFFTSxXQUFXLENBQUMsRUFBRSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUdsRDtJQUVNLFVBQVUsQ0FBQyxFQUFFLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBSWpEO0lBRU0sY0FBYyxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxRQU96RTtJQUVNLGVBQWUsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFPMUU7SUFFTSxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFNNUU7SUFFTSxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFNM0U7SUFFTSxXQUFXLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxRQU1wRDtJQUVNLFVBQVUsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBTW5EO0lBRU0sZUFBZSxDQUFDLE9BQU8sRUFBRSxZQUFZLFVBRTNDO0lBRU0sZ0JBQWdCLENBQUMsT0FBTyxFQUFFLFlBQVksVUFFNUM7SUFFSyxXQUFXLGtCQW9CaEI7SUFFSyxZQUFZLGtCQVVqQjtJQUVZLEtBQUssa0JBR2pCO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token_simulator.d.ts","sourceRoot":"","sources":["../../src/simulators/token_simulator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAIpE,qBAAa,cAAc;IAQvB,SAAS,CAAC,KAAK,EAAE,aAAa;IAC9B,SAAS,CAAC,aAAa,EAAE,MAAM;IAC/B,SAAS,CAAC,cAAc,EAAE,YAAY;IACtC,SAAS,CAAC,MAAM,EAAE,MAAM;IACxB,SAAS,CAAC,QAAQ,EAAE,YAAY,EAAE;IAXpC,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,aAAa,CAAkC;IAChD,WAAW,EAAE,MAAM,CAAM;IAEhC,OAAO,CAAC,cAAc,CAAkC;IAExD,YACY,KAAK,EAAE,aAAa,EACpB,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,YAAY,EAC5B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,YAAY,EAAE,EAChC;IAEG,UAAU,CAAC,OAAO,EAAE,YAAY,QAEtC;IAEM,iBAAiB,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAE7D;IAEM,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAGlD;IAEM,UAAU,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAIjD;IAEM,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAOzE;IAEM,eAAe,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAO1E;IAEM,iBAAiB,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAM5E;IAEM,gBAAgB,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAM3E;IAEM,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAMpD;IAEM,UAAU,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAMnD;IAEM,eAAe,CAAC,OAAO,EAAE,YAAY,UAE3C;IAEM,gBAAgB,CAAC,OAAO,EAAE,YAAY,UAE5C;IAEK,WAAW,
|
|
1
|
+
{"version":3,"file":"token_simulator.d.ts","sourceRoot":"","sources":["../../src/simulators/token_simulator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAIpE,qBAAa,cAAc;IAQvB,SAAS,CAAC,KAAK,EAAE,aAAa;IAC9B,SAAS,CAAC,aAAa,EAAE,MAAM;IAC/B,SAAS,CAAC,cAAc,EAAE,YAAY;IACtC,SAAS,CAAC,MAAM,EAAE,MAAM;IACxB,SAAS,CAAC,QAAQ,EAAE,YAAY,EAAE;IAXpC,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,aAAa,CAAkC;IAChD,WAAW,EAAE,MAAM,CAAM;IAEhC,OAAO,CAAC,cAAc,CAAkC;IAExD,YACY,KAAK,EAAE,aAAa,EACpB,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,YAAY,EAC5B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,YAAY,EAAE,EAChC;IAEG,UAAU,CAAC,OAAO,EAAE,YAAY,QAEtC;IAEM,iBAAiB,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAE7D;IAEM,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAGlD;IAEM,UAAU,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAIjD;IAEM,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAOzE;IAEM,eAAe,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAO1E;IAEM,iBAAiB,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAM5E;IAEM,gBAAgB,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAM3E;IAEM,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAMpD;IAEM,UAAU,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAMnD;IAEM,eAAe,CAAC,OAAO,EAAE,YAAY,UAE3C;IAEM,gBAAgB,CAAC,OAAO,EAAE,YAAY,UAE5C;IAEK,WAAW,kBAoBhB;IAEK,YAAY,kBAUjB;IAEY,KAAK,kBAGjB;CACF"}
|
|
@@ -90,7 +90,7 @@ export class TokenSimulator {
|
|
|
90
90
|
];
|
|
91
91
|
const results = (await Promise.all(chunk(calls, 5).map((batch)=>new BatchCall(this.defaultWallet, batch).simulate({
|
|
92
92
|
from: this.defaultAddress
|
|
93
|
-
})))).
|
|
93
|
+
})))).flatMap((r)=>r.result).map((r)=>r.result);
|
|
94
94
|
expect(results[0]).toEqual(this.totalSupply);
|
|
95
95
|
// Check that all our balances match
|
|
96
96
|
for(let i = 0; i < this.accounts.length; i++){
|
|
@@ -98,32 +98,11 @@ export class TokenSimulator {
|
|
|
98
98
|
}
|
|
99
99
|
}
|
|
100
100
|
async checkPrivate() {
|
|
101
|
-
// Private calls
|
|
102
|
-
const defaultLookups = [];
|
|
103
|
-
const nonDefaultLookups = [];
|
|
104
101
|
for (const address of this.accounts){
|
|
105
|
-
if (this.lookupProvider.has(address.toString())) {
|
|
106
|
-
nonDefaultLookups.push(address);
|
|
107
|
-
} else {
|
|
108
|
-
defaultLookups.push(address);
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
const defaultCalls = defaultLookups.map((address)=>this.token.methods.balance_of_private(address));
|
|
112
|
-
const results = (await Promise.all(chunk(defaultCalls, 4).map((batch)=>new BatchCall(this.defaultWallet, batch).simulate({
|
|
113
|
-
from: this.defaultAddress
|
|
114
|
-
})))).flat();
|
|
115
|
-
for(let i = 0; i < defaultLookups.length; i++){
|
|
116
|
-
expect(results[i]).toEqual(this.balanceOfPrivate(defaultLookups[i]));
|
|
117
|
-
}
|
|
118
|
-
// We are just running individual calls for the non-default lookups
|
|
119
|
-
// @todo We should also batch these
|
|
120
|
-
for (const address of nonDefaultLookups){
|
|
121
102
|
const wallet = this.lookupProvider.get(address.toString());
|
|
122
103
|
const asset = wallet ? this.token.withWallet(wallet) : this.token;
|
|
123
|
-
const actualPrivateBalance = await asset.methods.balance_of_private({
|
|
124
|
-
address
|
|
125
|
-
}).simulate({
|
|
126
|
-
from: this.defaultAddress
|
|
104
|
+
const { result: actualPrivateBalance } = await asset.methods.balance_of_private(address).simulate({
|
|
105
|
+
from: address
|
|
127
106
|
});
|
|
128
107
|
expect(actualPrivateBalance).toEqual(this.balanceOfPrivate(address));
|
|
129
108
|
}
|
|
@@ -3,7 +3,8 @@ import { type FeePaymentMethod } from '@aztec/aztec.js/fee';
|
|
|
3
3
|
import { type AztecNode } from '@aztec/aztec.js/node';
|
|
4
4
|
import type { Logger } from '@aztec/foundation/log';
|
|
5
5
|
import { TokenContract } from '@aztec/noir-contracts.js/Token';
|
|
6
|
-
import { TestWallet } from '
|
|
6
|
+
import { TestWallet } from '../test-wallet/test_wallet.js';
|
|
7
|
+
import { WorkerWallet } from '../test-wallet/worker_wallet.js';
|
|
7
8
|
export interface TestAccounts {
|
|
8
9
|
aztecNode: AztecNode;
|
|
9
10
|
wallet: TestWallet;
|
|
@@ -17,7 +18,9 @@ export interface TestAccounts {
|
|
|
17
18
|
export type TestAccountsWithoutTokens = Omit<TestAccounts, 'tokenAddress' | 'tokenContract' | 'tokenName' | 'tokenAdminAddress'>;
|
|
18
19
|
export declare function setupTestAccountsWithTokens(nodeUrl: string, mintAmount: bigint, logger: Logger): Promise<TestAccounts>;
|
|
19
20
|
export declare function deploySponsoredTestAccountsWithTokens(wallet: TestWallet, aztecNode: AztecNode, mintAmount: bigint, logger: Logger, numberOfFundedWallets?: number): Promise<TestAccounts>;
|
|
20
|
-
export declare function deploySponsoredTestAccounts(wallet: TestWallet, aztecNode: AztecNode, logger: Logger, numberOfFundedWallets?: number
|
|
21
|
+
export declare function deploySponsoredTestAccounts(wallet: TestWallet, aztecNode: AztecNode, logger: Logger, numberOfFundedWallets?: number, opts?: {
|
|
22
|
+
estimateGas?: boolean;
|
|
23
|
+
}): Promise<TestAccountsWithoutTokens>;
|
|
21
24
|
export declare function deployTestAccountsWithTokens(nodeUrl: string, l1RpcUrls: string[], mnemonicOrPrivateKey: string, mintAmount: bigint, logger: Logger, numberOfFundedWallets?: number): Promise<TestAccounts>;
|
|
22
25
|
export declare function performTransfers({ wallet, testAccounts, rounds, transferAmount, logger, feePaymentMethod }: {
|
|
23
26
|
wallet: TestWallet;
|
|
@@ -33,4 +36,10 @@ export type WalletWrapper = {
|
|
|
33
36
|
cleanup: () => Promise<void>;
|
|
34
37
|
};
|
|
35
38
|
export declare function createWalletAndAztecNodeClient(nodeUrl: string, proverEnabled: boolean, logger: Logger): Promise<WalletWrapper>;
|
|
36
|
-
|
|
39
|
+
export type WorkerWalletWrapper = {
|
|
40
|
+
wallet: WorkerWallet;
|
|
41
|
+
aztecNode: AztecNode;
|
|
42
|
+
cleanup: () => Promise<void>;
|
|
43
|
+
};
|
|
44
|
+
export declare function createWorkerWalletClient(nodeUrl: string, proverEnabled: boolean, logger: Logger): Promise<WorkerWalletWrapper>;
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXBfdGVzdF93YWxsZXRzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3BhcnRhbi9zZXR1cF90ZXN0X3dhbGxldHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSXpELE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUE2QixNQUFNLHFCQUFxQixDQUFDO0FBRXZGLE9BQU8sRUFBRSxLQUFLLFNBQVMsRUFBb0MsTUFBTSxzQkFBc0IsQ0FBQztBQUl4RixPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFPL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUUvRCxNQUFNLFdBQVcsWUFBWTtJQUMzQixTQUFTLEVBQUUsU0FBUyxDQUFDO0lBQ3JCLE1BQU0sRUFBRSxVQUFVLENBQUM7SUFDbkIsUUFBUSxFQUFFLFlBQVksRUFBRSxDQUFDO0lBQ3pCLGFBQWEsRUFBRSxhQUFhLENBQUM7SUFDN0IsaUJBQWlCLEVBQUUsWUFBWSxDQUFDO0lBQ2hDLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDbEIsZ0JBQWdCLEVBQUUsWUFBWSxDQUFDO0lBQy9CLFlBQVksRUFBRSxZQUFZLENBQUM7Q0FDNUI7QUFFRCxNQUFNLE1BQU0seUJBQXlCLEdBQUcsSUFBSSxDQUMxQyxZQUFZLEVBQ1osY0FBYyxHQUFHLGVBQWUsR0FBRyxXQUFXLEdBQUcsbUJBQW1CLENBQ3JFLENBQUM7QUFNRix3QkFBc0IsMkJBQTJCLENBQy9DLE9BQU8sRUFBRSxNQUFNLEVBQ2YsVUFBVSxFQUFFLE1BQU0sRUFDbEIsTUFBTSxFQUFFLE1BQU0sR0FDYixPQUFPLENBQUMsWUFBWSxDQUFDLENBeUJ2QjtBQUVELHdCQUFzQixxQ0FBcUMsQ0FDekQsTUFBTSxFQUFFLFVBQVUsRUFDbEIsU0FBUyxFQUFFLFNBQVMsRUFDcEIsVUFBVSxFQUFFLE1BQU0sRUFDbEIsTUFBTSxFQUFFLE1BQU0sRUFDZCxxQkFBcUIsU0FBSSxHQUN4QixPQUFPLENBQUMsWUFBWSxDQUFDLENBK0N2QjtBQXVIRCx3QkFBc0IsMkJBQTJCLENBQy9DLE1BQU0sRUFBRSxVQUFVLEVBQ2xCLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLE1BQU0sRUFBRSxNQUFNLEVBQ2QscUJBQXFCLFNBQUksRUFDekIsSUFBSSxDQUFDLEVBQUU7SUFBRSxXQUFXLENBQUMsRUFBRSxPQUFPLENBQUE7Q0FBRSxHQUMvQixPQUFPLENBQUMseUJBQXlCLENBQUMsQ0FpQ3BDO0FBRUQsd0JBQXNCLDRCQUE0QixDQUNoRCxPQUFPLEVBQUUsTUFBTSxFQUNmLFNBQVMsRUFBRSxNQUFNLEVBQUUsRUFDbkIsb0JBQW9CLEVBQUUsTUFBTSxFQUM1QixVQUFVLEVBQUUsTUFBTSxFQUNsQixNQUFNLEVBQUUsTUFBTSxFQUNkLHFCQUFxQixTQUFJLEdBQ3hCLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0ErQ3ZCO0FBaUZELHdCQUFzQixnQkFBZ0IsQ0FBQyxFQUNyQyxNQUFNLEVBQ04sWUFBWSxFQUNaLE1BQU0sRUFDTixjQUFjLEVBQ2QsTUFBTSxFQUNOLGdCQUFnQixFQUNqQixFQUFFO0lBQ0QsTUFBTSxFQUFFLFVBQVUsQ0FBQztJQUNuQixZQUFZLEVBQUUsWUFBWSxDQUFDO0lBQzNCLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFDZixjQUFjLEVBQUUsTUFBTSxDQUFDO0lBQ3ZCLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFDZixnQkFBZ0IsQ0FBQyxFQUFFLGdCQUFnQixDQUFDO0NBQ3JDLGlCQXFCQTtBQUVELE1BQU0sTUFBTSxhQUFhLEdBQUc7SUFDMUIsTUFBTSxFQUFFLFVBQVUsQ0FBQztJQUNuQixTQUFTLEVBQUUsU0FBUyxDQUFDO0lBQ3JCLE9BQU8sRUFBRSxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztDQUM5QixDQUFDO0FBRUYsd0JBQXNCLDhCQUE4QixDQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUNmLGFBQWEsRUFBRSxPQUFPLEVBQ3RCLE1BQU0sRUFBRSxNQUFNLEdBQ2IsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQXFCeEI7QUFFRCxNQUFNLE1BQU0sbUJBQW1CLEdBQUc7SUFDaEMsTUFBTSxFQUFFLFlBQVksQ0FBQztJQUNyQixTQUFTLEVBQUUsU0FBUyxDQUFDO0lBQ3JCLE9BQU8sRUFBRSxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztDQUM5QixDQUFDO0FBRUYsd0JBQXNCLHdCQUF3QixDQUM1QyxPQUFPLEVBQUUsTUFBTSxFQUNmLGFBQWEsRUFBRSxPQUFPLEVBQ3RCLE1BQU0sRUFBRSxNQUFNLEdBQ2IsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBMkI5QiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup_test_wallets.d.ts","sourceRoot":"","sources":["../../src/spartan/setup_test_wallets.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"setup_test_wallets.d.ts","sourceRoot":"","sources":["../../src/spartan/setup_test_wallets.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAIzD,OAAO,EAAE,KAAK,gBAAgB,EAA6B,MAAM,qBAAqB,CAAC;AAEvF,OAAO,EAAE,KAAK,SAAS,EAAoC,MAAM,sBAAsB,CAAC;AAIxF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAO/D,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAE/D,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,aAAa,EAAE,aAAa,CAAC;IAC7B,iBAAiB,EAAE,YAAY,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,YAAY,CAAC;IAC/B,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAC1C,YAAY,EACZ,cAAc,GAAG,eAAe,GAAG,WAAW,GAAG,mBAAmB,CACrE,CAAC;AAMF,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,CAAC,CAyBvB;AAED,wBAAsB,qCAAqC,CACzD,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,qBAAqB,SAAI,GACxB,OAAO,CAAC,YAAY,CAAC,CA+CvB;AAuHD,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,qBAAqB,SAAI,EACzB,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GAC/B,OAAO,CAAC,yBAAyB,CAAC,CAiCpC;AAED,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EAAE,EACnB,oBAAoB,EAAE,MAAM,EAC5B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,qBAAqB,SAAI,GACxB,OAAO,CAAC,YAAY,CAAC,CA+CvB;AAiFD,wBAAsB,gBAAgB,CAAC,EACrC,MAAM,EACN,YAAY,EACZ,MAAM,EACN,cAAc,EACd,MAAM,EACN,gBAAgB,EACjB,EAAE;IACD,MAAM,EAAE,UAAU,CAAC;IACnB,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC,iBAqBA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B,CAAC;AAEF,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,OAAO,EACtB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,aAAa,CAAC,CAqBxB;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B,CAAC;AAEF,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,OAAO,EACtB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,mBAAmB,CAAC,CA2B9B"}
|