@aztec/end-to-end 0.0.1-commit.f1df4d2 → 0.0.1-commit.f224bb98b

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/dest/bench/client_flows/client_flows_benchmark.d.ts +2 -2
  2. package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -1
  3. package/dest/bench/client_flows/client_flows_benchmark.js +19 -11
  4. package/dest/bench/client_flows/config.d.ts +2 -2
  5. package/dest/bench/client_flows/config.d.ts.map +1 -1
  6. package/dest/bench/client_flows/config.js +18 -0
  7. package/dest/bench/utils.d.ts +1 -1
  8. package/dest/bench/utils.d.ts.map +1 -1
  9. package/dest/bench/utils.js +6 -3
  10. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts +4 -2
  11. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts.map +1 -1
  12. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.js +22 -12
  13. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts +2 -2
  14. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts.map +1 -1
  15. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.js +3 -2
  16. package/dest/e2e_deploy_contract/deploy_test.d.ts +2 -2
  17. package/dest/e2e_deploy_contract/deploy_test.d.ts.map +1 -1
  18. package/dest/e2e_epochs/epochs_test.d.ts +9 -7
  19. package/dest/e2e_epochs/epochs_test.d.ts.map +1 -1
  20. package/dest/e2e_epochs/epochs_test.js +59 -33
  21. package/dest/e2e_fees/fees_test.d.ts +2 -2
  22. package/dest/e2e_fees/fees_test.d.ts.map +1 -1
  23. package/dest/e2e_fees/fees_test.js +18 -11
  24. package/dest/e2e_nested_contract/nested_contract_test.d.ts +1 -1
  25. package/dest/e2e_nested_contract/nested_contract_test.d.ts.map +1 -1
  26. package/dest/e2e_nested_contract/nested_contract_test.js +4 -6
  27. package/dest/e2e_p2p/p2p_network.d.ts +5 -4
  28. package/dest/e2e_p2p/p2p_network.d.ts.map +1 -1
  29. package/dest/e2e_p2p/p2p_network.js +24 -7
  30. package/dest/e2e_p2p/reqresp/utils.d.ts +3 -3
  31. package/dest/e2e_p2p/reqresp/utils.d.ts.map +1 -1
  32. package/dest/e2e_p2p/reqresp/utils.js +45 -8
  33. package/dest/e2e_p2p/shared.d.ts +22 -2
  34. package/dest/e2e_p2p/shared.d.ts.map +1 -1
  35. package/dest/e2e_p2p/shared.js +38 -3
  36. package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.d.ts +2 -0
  37. package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.d.ts.map +1 -0
  38. package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.js +184 -0
  39. package/dest/e2e_storage_proof/fixtures/storage_proof_fixture.d.ts +18 -0
  40. package/dest/e2e_storage_proof/fixtures/storage_proof_fixture.d.ts.map +1 -0
  41. package/dest/e2e_storage_proof/fixtures/storage_proof_fixture.js +120 -0
  42. package/dest/e2e_token_contract/token_contract_test.d.ts +4 -2
  43. package/dest/e2e_token_contract/token_contract_test.d.ts.map +1 -1
  44. package/dest/e2e_token_contract/token_contract_test.js +19 -9
  45. package/dest/fixtures/authwit_proxy.d.ts +15 -0
  46. package/dest/fixtures/authwit_proxy.d.ts.map +1 -0
  47. package/dest/fixtures/authwit_proxy.js +30 -0
  48. package/dest/fixtures/e2e_prover_test.d.ts +4 -4
  49. package/dest/fixtures/e2e_prover_test.d.ts.map +1 -1
  50. package/dest/fixtures/e2e_prover_test.js +33 -40
  51. package/dest/fixtures/elu_monitor.d.ts +21 -0
  52. package/dest/fixtures/elu_monitor.d.ts.map +1 -0
  53. package/dest/fixtures/elu_monitor.js +102 -0
  54. package/dest/fixtures/fixtures.d.ts +5 -1
  55. package/dest/fixtures/fixtures.d.ts.map +1 -1
  56. package/dest/fixtures/fixtures.js +6 -0
  57. package/dest/fixtures/ha_setup.d.ts +1 -1
  58. package/dest/fixtures/ha_setup.d.ts.map +1 -1
  59. package/dest/fixtures/ha_setup.js +3 -1
  60. package/dest/fixtures/setup.d.ts +44 -23
  61. package/dest/fixtures/setup.d.ts.map +1 -1
  62. package/dest/fixtures/setup.js +64 -153
  63. package/dest/fixtures/setup_p2p_test.d.ts +15 -7
  64. package/dest/fixtures/setup_p2p_test.d.ts.map +1 -1
  65. package/dest/fixtures/setup_p2p_test.js +18 -12
  66. package/dest/fixtures/token_utils.d.ts +2 -2
  67. package/dest/fixtures/token_utils.d.ts.map +1 -1
  68. package/dest/fixtures/token_utils.js +5 -4
  69. package/dest/shared/cross_chain_test_harness.d.ts +1 -1
  70. package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
  71. package/dest/shared/cross_chain_test_harness.js +13 -13
  72. package/dest/shared/gas_portal_test_harness.js +2 -2
  73. package/dest/shared/index.d.ts +2 -1
  74. package/dest/shared/index.d.ts.map +1 -1
  75. package/dest/shared/index.js +1 -0
  76. package/dest/shared/jest_setup.js +41 -1
  77. package/dest/shared/mock_state_view.d.ts +86 -0
  78. package/dest/shared/mock_state_view.d.ts.map +1 -0
  79. package/dest/shared/mock_state_view.js +186 -0
  80. package/dest/shared/submit-transactions.d.ts +2 -2
  81. package/dest/shared/submit-transactions.d.ts.map +1 -1
  82. package/dest/shared/submit-transactions.js +1 -1
  83. package/dest/shared/uniswap_l1_l2.d.ts +1 -1
  84. package/dest/shared/uniswap_l1_l2.d.ts.map +1 -1
  85. package/dest/shared/uniswap_l1_l2.js +13 -11
  86. package/dest/simulators/lending_simulator.d.ts +1 -1
  87. package/dest/simulators/lending_simulator.d.ts.map +1 -1
  88. package/dest/simulators/lending_simulator.js +2 -2
  89. package/dest/simulators/token_simulator.d.ts +1 -1
  90. package/dest/simulators/token_simulator.d.ts.map +1 -1
  91. package/dest/simulators/token_simulator.js +3 -24
  92. package/dest/spartan/setup_test_wallets.d.ts +12 -3
  93. package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
  94. package/dest/spartan/setup_test_wallets.js +54 -11
  95. package/dest/spartan/tx_metrics.js +1 -1
  96. package/dest/spartan/utils/bot.d.ts +3 -2
  97. package/dest/spartan/utils/bot.d.ts.map +1 -1
  98. package/dest/spartan/utils/bot.js +2 -1
  99. package/dest/spartan/utils/config.d.ts +7 -1
  100. package/dest/spartan/utils/config.d.ts.map +1 -1
  101. package/dest/spartan/utils/config.js +3 -1
  102. package/dest/spartan/utils/index.d.ts +4 -2
  103. package/dest/spartan/utils/index.d.ts.map +1 -1
  104. package/dest/spartan/utils/index.js +5 -1
  105. package/dest/spartan/utils/k8s.d.ts +3 -1
  106. package/dest/spartan/utils/k8s.d.ts.map +1 -1
  107. package/dest/spartan/utils/k8s.js +6 -0
  108. package/dest/spartan/utils/nodes.d.ts +4 -5
  109. package/dest/spartan/utils/nodes.d.ts.map +1 -1
  110. package/dest/spartan/utils/nodes.js +9 -9
  111. package/dest/spartan/utils/pod_logs.d.ts +25 -0
  112. package/dest/spartan/utils/pod_logs.d.ts.map +1 -0
  113. package/dest/spartan/utils/pod_logs.js +74 -0
  114. package/dest/test-wallet/test_wallet.d.ts +83 -0
  115. package/dest/test-wallet/test_wallet.d.ts.map +1 -0
  116. package/dest/test-wallet/test_wallet.js +214 -0
  117. package/dest/test-wallet/utils.d.ts +41 -0
  118. package/dest/test-wallet/utils.d.ts.map +1 -0
  119. package/dest/test-wallet/utils.js +71 -0
  120. package/dest/test-wallet/wallet_worker_script.d.ts +2 -0
  121. package/dest/test-wallet/wallet_worker_script.d.ts.map +1 -0
  122. package/dest/test-wallet/wallet_worker_script.js +48 -0
  123. package/dest/test-wallet/worker_wallet.d.ts +52 -0
  124. package/dest/test-wallet/worker_wallet.d.ts.map +1 -0
  125. package/dest/test-wallet/worker_wallet.js +151 -0
  126. package/dest/test-wallet/worker_wallet_schema.d.ts +274 -0
  127. package/dest/test-wallet/worker_wallet_schema.d.ts.map +1 -0
  128. package/dest/test-wallet/worker_wallet_schema.js +10 -0
  129. package/package.json +43 -43
  130. package/src/bench/client_flows/client_flows_benchmark.ts +42 -38
  131. package/src/bench/client_flows/config.ts +9 -1
  132. package/src/bench/utils.ts +8 -3
  133. package/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts +28 -15
  134. package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +7 -8
  135. package/src/e2e_deploy_contract/deploy_test.ts +3 -3
  136. package/src/e2e_epochs/epochs_test.ts +74 -63
  137. package/src/e2e_fees/bridging_race.notest.ts +1 -1
  138. package/src/e2e_fees/fees_test.ts +20 -28
  139. package/src/e2e_nested_contract/nested_contract_test.ts +7 -5
  140. package/src/e2e_p2p/inactivity_slash_test.ts +4 -4
  141. package/src/e2e_p2p/p2p_network.ts +36 -10
  142. package/src/e2e_p2p/reqresp/utils.ts +61 -12
  143. package/src/e2e_p2p/shared.ts +58 -3
  144. package/src/e2e_storage_proof/fixtures/storage_proof.json +915 -0
  145. package/src/e2e_storage_proof/fixtures/storage_proof_fetcher.ts +190 -0
  146. package/src/e2e_storage_proof/fixtures/storage_proof_fixture.ts +173 -0
  147. package/src/e2e_token_contract/token_contract_test.ts +26 -9
  148. package/src/fixtures/authwit_proxy.ts +50 -0
  149. package/src/fixtures/dumps/epoch_proof_result.json +1 -1
  150. package/src/fixtures/e2e_prover_test.ts +39 -43
  151. package/src/fixtures/elu_monitor.ts +126 -0
  152. package/src/fixtures/fixtures.ts +10 -0
  153. package/src/fixtures/ha_setup.ts +3 -1
  154. package/src/fixtures/setup.ts +100 -214
  155. package/src/fixtures/setup_p2p_test.ts +25 -24
  156. package/src/fixtures/token_utils.ts +6 -3
  157. package/src/guides/up_quick_start.sh +3 -3
  158. package/src/shared/cross_chain_test_harness.ts +13 -9
  159. package/src/shared/gas_portal_test_harness.ts +1 -1
  160. package/src/shared/index.ts +1 -0
  161. package/src/shared/jest_setup.ts +51 -1
  162. package/src/shared/mock_state_view.ts +188 -0
  163. package/src/shared/submit-transactions.ts +3 -2
  164. package/src/shared/uniswap_l1_l2.ts +15 -15
  165. package/src/simulators/lending_simulator.ts +4 -2
  166. package/src/simulators/token_simulator.ts +6 -30
  167. package/src/spartan/setup_test_wallets.ts +102 -17
  168. package/src/spartan/tx_metrics.ts +1 -1
  169. package/src/spartan/utils/bot.ts +4 -1
  170. package/src/spartan/utils/config.ts +2 -0
  171. package/src/spartan/utils/index.ts +7 -0
  172. package/src/spartan/utils/k8s.ts +8 -0
  173. package/src/spartan/utils/nodes.ts +15 -10
  174. package/src/spartan/utils/pod_logs.ts +99 -0
  175. package/src/test-wallet/test_wallet.ts +306 -0
  176. package/src/test-wallet/utils.ts +112 -0
  177. package/src/test-wallet/wallet_worker_script.ts +60 -0
  178. package/src/test-wallet/worker_wallet.ts +213 -0
  179. package/src/test-wallet/worker_wallet_schema.ts +13 -0
@@ -1 +1 @@
1
- {"version":3,"file":"cross_chain_test_harness.d.ts","sourceRoot":"","sources":["../../src/shared/cross_chain_test_harness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cross_chain_test_harness.d.ts","sourceRoot":"","sources":["../../src/shared/cross_chain_test_harness.ts"],"names":[],"mappings":"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"}
@@ -26,30 +26,30 @@ import { mintTokensToPrivate } from '../fixtures/token_utils.js';
26
26
  client: l1Client
27
27
  });
28
28
  // deploy l2 token
29
- const token = await TokenContract.deploy(wallet, owner, 'TokenName', 'TokenSymbol', 18).send({
29
+ const { contract: token } = await TokenContract.deploy(wallet, owner, 'TokenName', 'TokenSymbol', 18).send({
30
30
  from: owner
31
31
  });
32
32
  // deploy l2 token bridge and attach to the portal
33
- const bridge = await TokenBridgeContract.deploy(wallet, token.address, tokenPortalAddress).send({
33
+ const { contract: bridge } = await TokenBridgeContract.deploy(wallet, token.address, tokenPortalAddress).send({
34
34
  from: owner
35
35
  });
36
- if (await token.methods.get_admin().simulate({
36
+ if ((await token.methods.get_admin().simulate({
37
37
  from: owner
38
- }) !== owner.toBigInt()) {
38
+ })).result !== owner.toBigInt()) {
39
39
  throw new Error(`Token admin is not ${owner}`);
40
40
  }
41
41
  if (!(await bridge.methods.get_config().simulate({
42
42
  from: owner
43
- })).token.equals(token.address)) {
43
+ })).result.token.equals(token.address)) {
44
44
  throw new Error(`Bridge token is not ${token.address}`);
45
45
  }
46
46
  // make the bridge a minter on the token:
47
47
  await token.methods.set_minter(bridge.address, true).send({
48
48
  from: owner
49
49
  });
50
- if (await token.methods.is_minter(bridge.address).simulate({
50
+ if ((await token.methods.is_minter(bridge.address).simulate({
51
51
  from: owner
52
- }) === 1n) {
52
+ })).result === 1n) {
53
53
  throw new Error(`Bridge is not a minter`);
54
54
  }
55
55
  // initialize portal
@@ -167,7 +167,7 @@ import { mintTokensToPrivate } from '../fixtures/token_utils.js';
167
167
  });
168
168
  }
169
169
  async withdrawPrivateFromAztecToL1(withdrawAmount, authwitNonce = Fr.ZERO, authWitness) {
170
- const withdrawReceipt = await this.l2Bridge.methods.exit_to_l1_private(this.l2Token.address, this.ethAccount, withdrawAmount, EthAddress.ZERO, authwitNonce).send({
170
+ const { receipt: withdrawReceipt } = await this.l2Bridge.methods.exit_to_l1_private(this.l2Token.address, this.ethAccount, withdrawAmount, EthAddress.ZERO, authwitNonce).send({
171
171
  authWitnesses: [
172
172
  authWitness
173
173
  ],
@@ -176,15 +176,15 @@ import { mintTokensToPrivate } from '../fixtures/token_utils.js';
176
176
  return withdrawReceipt;
177
177
  }
178
178
  async withdrawPublicFromAztecToL1(withdrawAmount, authwitNonce = Fr.ZERO) {
179
- const withdrawReceipt = await this.l2Bridge.methods.exit_to_l1_public(this.ethAccount, withdrawAmount, EthAddress.ZERO, authwitNonce).send({
179
+ const { receipt: withdrawReceipt } = await this.l2Bridge.methods.exit_to_l1_public(this.ethAccount, withdrawAmount, EthAddress.ZERO, authwitNonce).send({
180
180
  from: this.ownerAddress
181
181
  });
182
182
  return withdrawReceipt;
183
183
  }
184
184
  async getL2PrivateBalanceOf(owner) {
185
- return await this.l2Token.methods.balance_of_private(owner).simulate({
185
+ return (await this.l2Token.methods.balance_of_private(owner).simulate({
186
186
  from: owner
187
- });
187
+ })).result;
188
188
  }
189
189
  async expectPrivateBalanceOnL2(owner, expectedBalance) {
190
190
  const balance = await this.getL2PrivateBalanceOf(owner);
@@ -192,9 +192,9 @@ import { mintTokensToPrivate } from '../fixtures/token_utils.js';
192
192
  expect(balance).toBe(expectedBalance);
193
193
  }
194
194
  async getL2PublicBalanceOf(owner) {
195
- return await this.l2Token.methods.balance_of_public(owner).simulate({
195
+ return (await this.l2Token.methods.balance_of_public(owner).simulate({
196
196
  from: this.ownerAddress
197
- });
197
+ })).result;
198
198
  }
199
199
  async expectPublicBalanceOnL2(owner, expectedBalance) {
200
200
  const balance = await this.getL2PublicBalanceOf(owner);
@@ -75,9 +75,9 @@ export class FeeJuicePortalTestingHarnessFactory {
75
75
  });
76
76
  }
77
77
  async getL2PublicBalanceOf(owner) {
78
- return await this.feeJuice.methods.balance_of_public(owner).simulate({
78
+ return (await this.feeJuice.methods.balance_of_public(owner).simulate({
79
79
  from: owner
80
- });
80
+ })).result;
81
81
  }
82
82
  async expectPublicBalanceOnL2(owner, expectedBalance) {
83
83
  const balance = await this.getL2PublicBalanceOf(owner);
@@ -1,2 +1,3 @@
1
1
  export { uniswapL1L2TestSuite } from './uniswap_l1_l2.js';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zaGFyZWQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0JBQW9CLENBQUMifQ==
2
+ export { MockStateView, diffInBps } from './mock_state_view.js';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zaGFyZWQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1 +1,2 @@
1
1
  export { uniswapL1L2TestSuite } from './uniswap_l1_l2.js';
2
+ export { MockStateView, diffInBps } from './mock_state_view.js';
@@ -1,6 +1,12 @@
1
1
  import { createLogger } from '@aztec/aztec.js/log';
2
- import { beforeEach, expect } from '@jest/globals';
2
+ import { afterAll, afterEach, beforeEach, expect } from '@jest/globals';
3
+ import { readlinkSync } from 'fs';
3
4
  import { basename } from 'path';
5
+ import { EluMonitor } from '../fixtures/elu_monitor.js';
6
+ const eluMonitor = process.env.ELU_MONITOR_FILE ? new EluMonitor(process.env.ELU_MONITOR_FILE, Number(process.env.ELU_MONITOR_INTERVAL_MS) || undefined) : undefined;
7
+ if (eluMonitor) {
8
+ process.on('exit', ()=>eluMonitor.stop());
9
+ }
4
10
  beforeEach(()=>{
5
11
  const { testPath, currentTestName } = expect.getState();
6
12
  if (!testPath || !currentTestName) {
@@ -8,4 +14,38 @@ beforeEach(()=>{
8
14
  }
9
15
  const logger = createLogger(`e2e:${basename(testPath).replace('.test.ts', '')}`);
10
16
  logger.info(`Running test: ${currentTestName}`);
17
+ eluMonitor?.startTest(currentTestName);
18
+ });
19
+ afterEach(()=>{
20
+ eluMonitor?.stopTest();
21
+ });
22
+ // Log leaked handles after all tests complete. This runs after test-level afterAll hooks,
23
+ // so any handles still alive at this point were not properly cleaned up during teardown.
24
+ // This diagnostic helps identify the source of exit hangs without masking them.
25
+ afterAll(()=>{
26
+ const handles = process._getActiveHandles();
27
+ if (handles.length > 0) {
28
+ const details = handles.map((h)=>{
29
+ const type = h?.constructor?.name ?? typeof h;
30
+ const fd = h?.fd ?? h?._handle?.fd ?? '?';
31
+ const destroyed = h?.destroyed ?? '?';
32
+ const hasRef = typeof h?.hasRef === 'function' ? h.hasRef() : '?';
33
+ const localAddr = h?.localAddress ?? '';
34
+ const remoteAddr = h?.remoteAddress ?? '';
35
+ const localPort = h?.localPort ?? '';
36
+ const remotePort = h?.remotePort ?? '';
37
+ const proto = Object.getPrototypeOf(h)?.constructor?.name ?? '?';
38
+ const keys = Object.keys(h).slice(0, 10).join(',');
39
+ let fdTarget = '';
40
+ if (typeof fd === 'number') {
41
+ try {
42
+ fdTarget = ` -> ${readlinkSync(`/proc/self/fd/${fd}`)}`;
43
+ } catch {
44
+ // ignore
45
+ }
46
+ }
47
+ return ` ${type}(fd=${fd}, destroyed=${destroyed}, hasRef=${hasRef}${fdTarget}) proto=${proto} addr=${localAddr}:${localPort}->${remoteAddr}:${remotePort} keys=[${keys}]`;
48
+ });
49
+ process.stderr.write(`\n[jest_setup] WARNING: ${handles.length} handle(s) still active after teardown:\n${details.join('\n')}\n` + `These may prevent Jest from exiting. Investigate and fix the leak.\n\n`);
50
+ }
11
51
  });
@@ -0,0 +1,86 @@
1
+ import { EthAddress } from '@aztec/aztec.js/addresses';
2
+ import type { EthCheatCodes } from '@aztec/aztec/testing';
3
+ import type { ExtendedViemWalletClient } from '@aztec/ethereum/types';
4
+ /**
5
+ * Mock StateView contract for testing the Uniswap price oracle.
6
+ *
7
+ * Wraps a compiled Solidity contract that mimics the Uniswap V4 StateView's getSlot0 function.
8
+ * The mock allows setting return values dynamically for testing different price scenarios.
9
+ *
10
+ * Solidity source:
11
+ * ```solidity
12
+ * // SPDX-License-Identifier: Apache-2.0
13
+ * pragma solidity >=0.8.27;
14
+ *
15
+ * contract MockStateView {
16
+ * uint160 public sqrtPriceX96;
17
+ * int24 public tick;
18
+ * uint24 public protocolFee;
19
+ * uint24 public lpFee;
20
+ *
21
+ * function setReturnValues(
22
+ * uint160 _sqrtPriceX96,
23
+ * int24 _tick,
24
+ * uint24 _protocolFee,
25
+ * uint24 _lpFee
26
+ * ) external {
27
+ * sqrtPriceX96 = _sqrtPriceX96;
28
+ * tick = _tick;
29
+ * protocolFee = _protocolFee;
30
+ * lpFee = _lpFee;
31
+ * }
32
+ *
33
+ * function getSlot0(bytes32 poolId) external view returns (uint160, int24, uint24, uint24) {
34
+ * return (sqrtPriceX96, tick, protocolFee, lpFee);
35
+ * }
36
+ * }
37
+ * ```
38
+ */
39
+ export declare class MockStateView {
40
+ private readonly address;
41
+ private readonly walletClient;
42
+ private readonly log;
43
+ private static readonly BYTECODE;
44
+ private static readonly ABI;
45
+ private constructor();
46
+ /**
47
+ * Deploys the mock StateView contract at the specified address using etch.
48
+ * @param ethCheatCodes - Cheat codes for etching bytecode
49
+ * @param walletClient - Wallet client for sending transactions
50
+ * @param address - Address to deploy the mock at (typically the real StateView address)
51
+ */
52
+ static deploy(ethCheatCodes: EthCheatCodes, walletClient: ExtendedViemWalletClient, address: EthAddress): Promise<MockStateView>;
53
+ /**
54
+ * Sets the price using the ethPerFeeAssetE12 format (same as rollup contract).
55
+ * Computes the corresponding sqrtPriceX96 internally.
56
+ *
57
+ * Math (from fee_asset_price_oracle.ts):
58
+ * ethPerFeeAssetE12 = 1e12 * 2^192 / sqrtPriceX96^2
59
+ *
60
+ * Inverted:
61
+ * sqrtPriceX96^2 = 1e12 * 2^192 / ethPerFeeAssetE12
62
+ * sqrtPriceX96 = sqrt(1e12 * 2^192 / ethPerFeeAssetE12)
63
+ *
64
+ * @param ethPerFeeAssetE12 - The price in ETH per fee asset, scaled by 1e12
65
+ */
66
+ setEthPerFeeAsset(ethPerFeeAssetE12: bigint): Promise<import("viem").TransactionReceipt>;
67
+ /**
68
+ * Sets the sqrtPriceX96 value directly (Uniswap's price encoding).
69
+ * @param sqrtPriceX96 - The sqrtPriceX96 value
70
+ * @param tick - The tick value (default 10)
71
+ * @param protocolFee - The protocol fee (default 0)
72
+ * @param lpFee - The LP fee (default 500)
73
+ */
74
+ setSqrtPriceX96(sqrtPriceX96: bigint, tick?: number, protocolFee?: number, lpFee?: number): Promise<import("viem").TransactionReceipt>;
75
+ /**
76
+ * Converts ethPerFeeAssetE12 to sqrtPriceX96 (inverse of sqrtPriceX96ToEthPerFeeAssetE12).
77
+ *
78
+ * Math:
79
+ * sqrtPriceX96 = sqrt(1e12 * 2^192 / ethPerFeeAssetE12)
80
+ */
81
+ ethPerFeeAssetE12ToSqrtPriceX96(ethPerFeeAssetE12: bigint): bigint;
82
+ /** Integer square root using Newton's method */
83
+ bigintSqrt(n: bigint): bigint;
84
+ }
85
+ export declare function diffInBps(a: bigint, b: bigint): bigint;
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja19zdGF0ZV92aWV3LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2hhcmVkL21vY2tfc3RhdGVfdmlldy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFdkQsT0FBTyxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxLQUFLLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUl0RTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtDRztBQUNILHFCQUFhLGFBQWE7SUFxRHRCLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTztJQUN4QixPQUFPLENBQUMsUUFBUSxDQUFDLFlBQVk7SUFDN0IsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHO0lBdER0QixPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQ20rRTtJQUNuZ0YsT0FBTyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQStDaEI7SUFFWCxPQUFPLGVBSUg7SUFFSjs7Ozs7T0FLRztJQUNILE9BQWEsTUFBTSxDQUNqQixhQUFhLEVBQUUsYUFBYSxFQUM1QixZQUFZLEVBQUUsd0JBQXdCLEVBQ3RDLE9BQU8sRUFBRSxVQUFVLEdBQ2xCLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FHeEI7SUFFRDs7Ozs7Ozs7Ozs7O09BWUc7SUFDRyxpQkFBaUIsQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLDhDQUdoRDtJQUVEOzs7Ozs7T0FNRztJQUNHLGVBQWUsQ0FBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLElBQUksR0FBRSxNQUFXLEVBQUUsV0FBVyxHQUFFLE1BQVUsRUFBRSxLQUFLLEdBQUUsTUFBWSw4Q0FVMUc7SUFFRDs7Ozs7T0FLRztJQUNILCtCQUErQixDQUFDLGlCQUFpQixFQUFFLE1BQU0sR0FBRyxNQUFNLENBT2pFO0lBRUQsZ0RBQWdEO0lBQ2hELFVBQVUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxHQUFHLE1BQU0sQ0FjNUI7Q0FDRjtBQUVELHdCQUFnQixTQUFTLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsTUFBTSxHQUFHLE1BQU0sQ0FFdEQifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock_state_view.d.ts","sourceRoot":"","sources":["../../src/shared/mock_state_view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAItE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,qBAAa,aAAa;IAqDtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,GAAG;IAtDtB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CACm+E;IACngF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CA+ChB;IAEX,OAAO,eAIH;IAEJ;;;;;OAKG;IACH,OAAa,MAAM,CACjB,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,wBAAwB,EACtC,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,aAAa,CAAC,CAGxB;IAED;;;;;;;;;;;;OAYG;IACG,iBAAiB,CAAC,iBAAiB,EAAE,MAAM,8CAGhD;IAED;;;;;;OAMG;IACG,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,GAAE,MAAW,EAAE,WAAW,GAAE,MAAU,EAAE,KAAK,GAAE,MAAY,8CAU1G;IAED;;;;;OAKG;IACH,+BAA+B,CAAC,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAOjE;IAED,gDAAgD;IAChD,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAc5B;CACF;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAEtD"}
@@ -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 '@aztec/test-wallet/server';
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibWl0LXRyYW5zYWN0aW9ucy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NoYXJlZC9zdWJtaXQtdHJhbnNhY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUd6RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUE0QixNQUFNLG9CQUFvQixDQUFDO0FBRXRFLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRzVELGVBQU8sTUFBTSxXQUFXLG9HQXFCdkIsQ0FBQyJ9
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;AAEtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAG5D,eAAO,MAAM,WAAW,oGAqBvB,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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pc3dhcF9sMV9sMi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NoYXJlZC91bmlzd2FwX2wxX2wyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXdCQSxPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQW1DLE1BQU0sc0JBQXNCLENBQUM7QUFZN0YsZUFBTyxNQUFNLG9CQUFvQixpSEFrK0JoQyxDQUFDIn0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pc3dhcF9sMV9sMi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NoYXJlZC91bmlzd2FwX2wxX2wyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVCQSxPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQW1DLE1BQU0sc0JBQXNCLENBQUM7QUFhN0YsZUFBTyxNQUFNLG9CQUFvQixpSEFrK0JoQyxDQUFDIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"uniswap_l1_l2.d.ts","sourceRoot":"","sources":["../../src/shared/uniswap_l1_l2.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,KAAK,eAAe,EAAmC,MAAM,sBAAsB,CAAC;AAY7F,eAAO,MAAM,oBAAoB,iHAk+BhC,CAAC"}
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,iHAk+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 { CheckpointNumber, EpochNumber } from '@aztec/foundation/branded-types';
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?.setIsMarkingAsProven(false);
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 checkpointNumber = CheckpointNumber.fromBlockNumber(l2UniswapInteractionReceipt.blockNumber);
170
- const epoch = await rollup.getEpochNumberForCheckpoint(checkpointNumber);
169
+ const block = await aztecNode.getBlock(l2UniswapInteractionReceipt.blockNumber);
170
+ const epoch = await rollup.getEpochNumberForCheckpoint(block.checkpointNumber);
171
171
  await cheatCodes.rollup.advanceToEpoch(EpochNumber(epoch + 1));
172
172
  await waitForProven(aztecNode, l2UniswapInteractionReceipt, {
173
173
  provenTimeout: 300
@@ -538,7 +538,7 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
538
538
  // Swap
539
539
  logger.info('Withdrawing weth to L1 and sending message to swap to dai');
540
540
  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({
541
+ 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
542
  from: ownerAddress,
543
543
  authWitnesses: [
544
544
  transferToPublicAuhtwit
@@ -574,7 +574,8 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
574
574
  rollupVersion: new Fr(version),
575
575
  chainId: new Fr(l1Client.chain.id)
576
576
  });
577
- const epoch = await rollup.getEpochNumberForCheckpoint(CheckpointNumber.fromBlockNumber(withdrawReceipt.blockNumber));
577
+ const block = await aztecNode.getBlock(withdrawReceipt.blockNumber);
578
+ const epoch = await rollup.getEpochNumberForCheckpoint(block.checkpointNumber);
578
579
  const swapResult = await computeL2ToL1MembershipWitness(aztecNode, epoch, swapPrivateLeaf);
579
580
  const withdrawResult = await computeL2ToL1MembershipWitness(aztecNode, epoch, withdrawLeaf);
580
581
  const swapPrivateL2MessageIndex = swapResult.leafIndex;
@@ -630,7 +631,7 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
630
631
  await validateActionInteraction.send();
631
632
  // Call swap_public on L2
632
633
  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({
634
+ 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
635
  from: ownerAddress
635
636
  });
636
637
  const swapPublicContent = sha256ToField([
@@ -664,7 +665,8 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
664
665
  rollupVersion: new Fr(version),
665
666
  chainId: new Fr(l1Client.chain.id)
666
667
  });
667
- const epoch = await rollup.getEpochNumberForCheckpoint(CheckpointNumber.fromBlockNumber(withdrawReceipt.blockNumber));
668
+ const block = await aztecNode.getBlock(withdrawReceipt.blockNumber);
669
+ const epoch = await rollup.getEpochNumberForCheckpoint(block.checkpointNumber);
668
670
  const swapResult = await computeL2ToL1MembershipWitness(aztecNode, epoch, swapPublicLeaf);
669
671
  const withdrawResult = await computeL2ToL1MembershipWitness(aztecNode, epoch, withdrawLeaf);
670
672
  const swapPublicL2MessageIndex = swapResult.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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVuZGluZ19zaW11bGF0b3IuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zaW11bGF0b3JzL2xlbmRpbmdfc2ltdWxhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR2hFLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFeEUsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFM0Q7O0dBRUc7QUFDSCxxQkFBYSxjQUFjO0lBQ3pCLHlDQUF5QztJQUN6QyxTQUFnQixPQUFPLEVBQUUsWUFBWSxDQUFDO0lBQ3RDLDJDQUEyQztJQUMzQyxTQUFnQixNQUFNLEVBQUUsRUFBRSxDQUFDO0lBRTNCLFlBQVksT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUc1QztJQUVEOzs7T0FHRztJQUNJLEdBQUcsZ0JBRVQ7Q0FDRjtBQWdDRDs7R0FFRztBQUNILHFCQUFhLGdCQUFnQjtJQVl6QixPQUFPLENBQUMsRUFBRTtJQUNWLE9BQU8sQ0FBQyxPQUFPO0lBQ2YsT0FBTyxDQUFDLElBQUk7SUFDWixPQUFPLENBQUMsb0JBQW9CO0lBQzVCLDBCQUEwQjtJQUNuQixNQUFNLEVBQUUsY0FBYztJQUM3QiwyQkFBMkI7SUFDcEIsZUFBZSxFQUFFLGVBQWU7SUFDdkMsd0RBQXdEO0lBQ2pELGVBQWUsRUFBRSxjQUFjO0lBQ3RDLHVEQUF1RDtJQUNoRCxVQUFVLEVBQUUsY0FBYztJQXRCbkMsZ0NBQWdDO0lBQ3pCLFdBQVcsRUFBRSxNQUFNLENBQU07SUFDaEMsb0NBQW9DO0lBQzdCLElBQUksRUFBRSxNQUFNLENBQUs7SUFFeEIsT0FBTyxDQUFDLFVBQVUsQ0FBNkI7SUFDL0MsT0FBTyxDQUFDLFVBQVUsQ0FBNkI7SUFDL0MsT0FBTyxDQUFDLFFBQVEsQ0FBYztJQUM5QixPQUFPLENBQUMsYUFBYSxDQUFjO0lBRW5DLFlBQ1UsRUFBRSxFQUFFLFVBQVUsRUFDZCxPQUFPLEVBQUUsY0FBYyxFQUN2QixJQUFJLEVBQUUsTUFBTSxFQUNaLG9CQUFvQixFQUFFLE1BQU07SUFDcEMsMEJBQTBCO0lBQ25CLE1BQU0sRUFBRSxjQUFjO0lBQzdCLDJCQUEyQjtJQUNwQixlQUFlLEVBQUUsZUFBZTtJQUN2Qyx3REFBd0Q7SUFDakQsZUFBZSxFQUFFLGNBQWM7SUFDdEMsdURBQXVEO0lBQ2hELFVBQVUsRUFBRSxjQUFjLEVBQy9CO0lBRUUsT0FBTyxrQkFJWjtJQUVLLGFBQWEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLFlBQVksQ0FBQyxFQUFFLGdCQUFnQixpQkFrQmhFO0lBRUQsY0FBYyxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUdoRTtJQUVELGFBQWEsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFHL0Q7SUFFRCxPQUFPLENBQUMsT0FBTztJQUtmLFFBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFJMUQ7SUFFRCxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBT3hEO0lBRUQsWUFBWSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUc5RDtJQUVELFdBQVcsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFHN0Q7SUFFRCxPQUFPLENBQUMsS0FBSztJQVFiLHlCQUF5QixDQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLFVBQVEsUUFPOUU7SUFFSyxLQUFLLGtCQXlCVjtDQUNGIn0=
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVuZGluZ19zaW11bGF0b3IuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zaW11bGF0b3JzL2xlbmRpbmdfc2ltdWxhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR2hFLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFeEUsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFM0Q7O0dBRUc7QUFDSCxxQkFBYSxjQUFjO0lBQ3pCLHlDQUF5QztJQUN6QyxTQUFnQixPQUFPLEVBQUUsWUFBWSxDQUFDO0lBQ3RDLDJDQUEyQztJQUMzQyxTQUFnQixNQUFNLEVBQUUsRUFBRSxDQUFDO0lBRTNCLFlBQVksT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUc1QztJQUVEOzs7T0FHRztJQUNJLEdBQUcsZ0JBRVQ7Q0FDRjtBQWdDRDs7R0FFRztBQUNILHFCQUFhLGdCQUFnQjtJQVl6QixPQUFPLENBQUMsRUFBRTtJQUNWLE9BQU8sQ0FBQyxPQUFPO0lBQ2YsT0FBTyxDQUFDLElBQUk7SUFDWixPQUFPLENBQUMsb0JBQW9CO0lBQzVCLDBCQUEwQjtJQUNuQixNQUFNLEVBQUUsY0FBYztJQUM3QiwyQkFBMkI7SUFDcEIsZUFBZSxFQUFFLGVBQWU7SUFDdkMsd0RBQXdEO0lBQ2pELGVBQWUsRUFBRSxjQUFjO0lBQ3RDLHVEQUF1RDtJQUNoRCxVQUFVLEVBQUUsY0FBYztJQXRCbkMsZ0NBQWdDO0lBQ3pCLFdBQVcsRUFBRSxNQUFNLENBQU07SUFDaEMsb0NBQW9DO0lBQzdCLElBQUksRUFBRSxNQUFNLENBQUs7SUFFeEIsT0FBTyxDQUFDLFVBQVUsQ0FBNkI7SUFDL0MsT0FBTyxDQUFDLFVBQVUsQ0FBNkI7SUFDL0MsT0FBTyxDQUFDLFFBQVEsQ0FBYztJQUM5QixPQUFPLENBQUMsYUFBYSxDQUFjO0lBRW5DLFlBQ1UsRUFBRSxFQUFFLFVBQVUsRUFDZCxPQUFPLEVBQUUsY0FBYyxFQUN2QixJQUFJLEVBQUUsTUFBTSxFQUNaLG9CQUFvQixFQUFFLE1BQU07SUFDcEMsMEJBQTBCO0lBQ25CLE1BQU0sRUFBRSxjQUFjO0lBQzdCLDJCQUEyQjtJQUNwQixlQUFlLEVBQUUsZUFBZTtJQUN2Qyx3REFBd0Q7SUFDakQsZUFBZSxFQUFFLGNBQWM7SUFDdEMsdURBQXVEO0lBQ2hELFVBQVUsRUFBRSxjQUFjLEVBQy9CO0lBRUUsT0FBTyxrQkFJWjtJQUVLLGFBQWEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLFlBQVksQ0FBQyxFQUFFLGdCQUFnQixpQkFrQmhFO0lBRUQsY0FBYyxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUdoRTtJQUVELGFBQWEsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFHL0Q7SUFFRCxPQUFPLENBQUMsT0FBTztJQUtmLFFBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFJMUQ7SUFFRCxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBT3hEO0lBRUQsWUFBWSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUc5RDtJQUVELFdBQVcsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFHN0Q7SUFFRCxPQUFPLENBQUMsS0FBSztJQVFiLHlCQUF5QixDQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLFVBQVEsUUFPOUU7SUFFSyxLQUFLLGtCQTJCVjtDQUNGIn0=
@@ -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,kBAIZ;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,kBAyBV;CACF"}
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,kBAIZ;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"}
@@ -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);