Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions crates/discovery-core/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@ cp tests/fixtures/cairo-reference-data.json ../crates/discovery-core/tests/fixtu

## Devnet State Fixture

The devnet state fixture contains real storage slots from SDK integration tests.
The devnet state fixture contains real storage slots produced by the e2e dump script.
To regenerate:

1. Start devnet: `starknet-devnet --seed 42`
2. Run SDK tests with dump enabled:
```bash
cd sdk
DUMP_STATE_PATH=../crates/discovery-core/tests/fixtures/devnet-state.json npm test
```
```bash
cd e2e && npm run generate-dump
```

This writes `tests/fixtures/devnet-state.json` (among other crate fixtures).
Run `cargo test -p discovery-core` afterwards to verify.
73 changes: 37 additions & 36 deletions crates/discovery-core/tests/fixtures/devnet-state.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"_comment": "Devnet storage dump for Rust discovery tests. Regenerate by running SDK devnet tests with DUMP_STATE_PATH set.",
"_comment": "Devnet storage dump for Rust discovery tests. Regenerate with: cd e2e && npm run generate-dump",
"constants": {
"contract_address": "0x2af189f2f77758dacd689baf7d0166e65b03f25be65f54f7d131b9cc8a0438d",
"alice_address": "0x34ba56f92265f0868c57d3fe72ecab144fc96f97954bbbc4252cef8e8a979ba",
Expand All @@ -10,52 +10,53 @@
"eth_token": "0x49d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",
"strk_token": "0x4718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d"
},
"block": 5,
"block": 6,
"slots": {
"0x145860488339af4c45f0085e66a70617fb7411d299e0418163195b9641a9828": "0x3e615638e0b79444a70f8c695bf8f2a47033bf1cf95691ec3130f64939cee99",
"0x675fe956fdd281705b9f422743ff351ec886bee0d59c21556f039d9e4d5c001": "0x26bd110619d11cfdfc28e281df893bc24828e89177318e9dbd860cdaedeb6b3",
"0x3c0ba99f1a18bcdc81fcbcb6b4f15a9a6725f937075aed6fac107ffcb147068": "0x1",
"0x5471bb93b2a05646d87e41f8fb7039ba36a43da1957aee350ed793c21d6ef94": "0x1",
"0x39750ebce9127dd81b0a39b625234ba6e1481527bb56a40c11f3a942c6716e7": "0x26bd110619d11cfdfc28e281df893bc24828e89177318e9dbd860cdaedeb6b3",
"0x675fe956fdd281705b9f422743ff351ec886bee0d59c21556f039d9e4d5c001": "0x26bd110619d11cfdfc28e281df893bc24828e89177318e9dbd860cdaedeb6b3",
"0x34a44171b22cb2e8cd7fee8ef4933a64583d5b87430b41fcd9a0cc51bab4b20": "0x1",
"0x25e8088c2025e3b546ab067a53a231a34b6368597c5248bcb7628903ed1cb52": "0x3e615638e0b79444a70f8c695bf8f2a47033bf1cf95691ec3130f64939cee99",
"0x4f9c163f4caf315f8ce4869a1d6227a5dfa05731f83e2bcb14d7a4c061e7fe7": "0x3e615638e0b79444a70f8c695bf8f2a47033bf1cf95691ec3130f64939cee99",
"0x447dbadc22f4aaec901a1d97f3ba76a1052d4ee64dc1b302bed245d70910b98": "0x3711c9d994faf6055172091cb841fd4831aa743e6f3315163b06a122c841846",
"0x19241d223519f013e4db3aaf8a1a67fd7e44e4ff8764ac686c57f1014047923": "0x3711c9d994faf6055172091cb841fd4831aa743e6f3315163b06a122c841846",
"0x343dfcaa63b03b34a4dc1a0303067e9727ce519478f11e9aa586f55cef98689": "0x26bd110619d11cfdfc28e281df893bc24828e89177318e9dbd860cdaedeb6b3",
"0x62ae2cfa69d93aaaa82aa1b793ca044a7d1f7e50ad57265b0a07e7a458f030d": "0x1",
"0xf8612cacb74429aab92a1b3e95db91c6a0c6e6436b0777064ed21bb4ecb0ed": "0x1",
"0x3bc73a5b8cdf1fc3762b454d423f43427687a625f3248bf91df99c8ab34da59": "0x3e615638e0b79444a70f8c695bf8f2a47033bf1cf95691ec3130f64939cee99",
"0x26d7fc4b2c02d678e0c3dcc1c4805c46095efef612a4f6b131c74262b46c871": "0x3711c9d994faf6055172091cb841fd4831aa743e6f3315163b06a122c841846",
"0x62ae2cfa69d93aaaa82aa1b793ca044a7d1f7e50ad57265b0a07e7a458f030d": "0x1",
"0x379e8500fa24fa25f718174430d31f5e26efae5ca7f9746e2ba0a7ba23682ab": "0x1",
"0x379e8500fa24fa25f718174430d31f5e26efae5ca7f9746e2ba0a7ba23682ac": "0x3d39b267cacff3efa41fd63d7a62b91b2cda5ed3707fab5dcfb3e71730e6f46",
"0x447dbadc22f4aaec901a1d97f3ba76a1052d4ee64dc1b302bed245d70910b98": "0x3711c9d994faf6055172091cb841fd4831aa743e6f3315163b06a122c841846",
"0x343dfcaa63b03b34a4dc1a0303067e9727ce519478f11e9aa586f55cef98689": "0x26bd110619d11cfdfc28e281df893bc24828e89177318e9dbd860cdaedeb6b3",
"0x19241d223519f013e4db3aaf8a1a67fd7e44e4ff8764ac686c57f1014047923": "0x3711c9d994faf6055172091cb841fd4831aa743e6f3315163b06a122c841846",
"0x4f9c163f4caf315f8ce4869a1d6227a5dfa05731f83e2bcb14d7a4c061e7fe7": "0x3e615638e0b79444a70f8c695bf8f2a47033bf1cf95691ec3130f64939cee99",
"0x5471bb93b2a05646d87e41f8fb7039ba36a43da1957aee350ed793c21d6ef94": "0x1",
"0x3c0ba99f1a18bcdc81fcbcb6b4f15a9a6725f937075aed6fac107ffcb147068": "0x1",
"0x5edfcc8f06227313126c1e9dc8e05b63f6e0be07034c9b309b6f6d3a8422163": "0x7c53034b6dea7afaa4ff6317dbf852a6ee8cb88391194e36efaaef406373da4",
"0x379e8500fa24fa25f718174430d31f5e26efae5ca7f9746e2ba0a7ba23682ad": "0x4a70ec5bfcbe40fb106c7448eeba3a1814f01bb62738b18e34e54dd206b025f",
"0x2fc83002bf5a013133e268d023531d33b190144c5b1239465caa2c99f017d25": "0x1",
"0x6b701cacf6618c2f53e8738f28e5bd34c91c907f089f8505d2616f39ca34dfe": "0x1",
"0x8c919011215bafdb77dd3554171499e8d88e3e9377e24996d6a52def26e97": "0x65a726f01770b19ff9d6c6b69bc2b5dc4e405d71398ceaa7d0d8fa7b2d53e7b",
"0x3b201a5dd5bde7e1b8f016c1277b1b0ac26e29637600cada1c27c65d1a4e4ee": "0x6bd0276cf6bae25f911d6fd9b515112c865fefac0f5a85f1ce6f204c24dfae8",
"0x379e8500fa24fa25f718174430d31f5e26efae5ca7f9746e2ba0a7ba23682ab": "0x1",
"0x379e8500fa24fa25f718174430d31f5e26efae5ca7f9746e2ba0a7ba23682ad": "0x23fa0cef4a3f026a6fff676af7006b4d2eb471ef9653c74a3da93ae6f8d2aa5",
"0x379e8500fa24fa25f718174430d31f5e26efae5ca7f9746e2ba0a7ba23682ac": "0x5b83b33ebd3627ea473305afa261b63d943c7d29e40801674a6f0d39afac6c7",
"0x7b007270125cd57751a5af44f643ee9c0cfd05d124df2ce52cdd7b51ccc6413": "0x74d2c34a8179faeb62117c636298beb8bd91b43c4747171556bc7270bbefdfe",
"0x8c919011215bafdb77dd3554171499e8d88e3e9377e24996d6a52def26e98": "0x130c77845305fd8bfcd35832eaabc1cac23ea88c87079f6c2efaa69951354c3",
"0x6f444cb92479abe0d7d2a2e305a4c2ab1020333adc71db669b93706137f3b40": "0x6eafcf3fb824dd7fde6c2ad58b37f9ada17447d423f6da59b93804ee0a5f510",
"0x8c919011215bafdb77dd3554171499e8d88e3e9377e24996d6a52def26e96": "0x335a96509e630bd76df96976bf104cecd7852cc15c09cf44366295e3d7473af",
"0x3b201a5dd5bde7e1b8f016c1277b1b0ac26e29637600cada1c27c65d1a4e4ee": "0x3ff4c11cfcc6f5f4b841f63e3dde0e561823241977e570dbfa99c58f50b4a44",
"0x3b201a5dd5bde7e1b8f016c1277b1b0ac26e29637600cada1c27c65d1a4e4f0": "0x7a8cea91f0de3ffedbb98862248c44834016aa990810aae8c197bda0ced4cfc",
"0x34acc712e95a859fc17699fc81a191f9ec885ab5d587a4d4d00bb4fcb5e73c0": "0x2b11c1d1f87c81b598188e81e68de2be621ce076c2307d17b402d7aac3fab8f",
"0x7b007270125cd57751a5af44f643ee9c0cfd05d124df2ce52cdd7b51ccc6412": "0x1",
"0x7b007270125cd57751a5af44f643ee9c0cfd05d124df2ce52cdd7b51ccc6413": "0x6e026c696bd6a283596a14d75c11ac5cfa5d6de5c5612d63c0ba0d1c406cd90",
"0x5003f5276fd4d1a5150571f54551bdd8ace4884c9c218896b8c7b96bb089742": "0x3320e456dfb5c86d8f79377ab0e3394b26ecd0dd8753694b56e6d38d956798f",
"0x5003f5276fd4d1a5150571f54551bdd8ace4884c9c218896b8c7b96bb089743": "0x4e0aa260d9ddd7d4599f979987771dbe14163190f197a3c9f00c4eebe5486aa",
"0x7b007270125cd57751a5af44f643ee9c0cfd05d124df2ce52cdd7b51ccc6414": "0x129ba94f8784a86b30ca2e0913e63f80e9c5c63cb0fcf540098b53c0a611cb2",
"0x34acc712e95a859fc17699fc81a191f9ec885ab5d587a4d4d00bb4fcb5e73c1": "0x5c1096e3f3a13ac42186f8596f34d54c6c53155db2b3409c69c7ca64954bbe1",
"0x5eb8c2889287ec0461d826776d00817bc5dfa4334acdaef61af6f4660ded18a": "0x1",
"0x72d080c3472770b49a6c53ca26f67511fd2a645fe33dc116d11764c15e75c61": "0xb68a8ee91087546a333536c30039f58a3ac466af90e913873800f93bbc61ff",
"0x6f444cb92479abe0d7d2a2e305a4c2ab1020333adc71db669b93706137f3b40": "0x76603957aa668537460322afa2c13d61f3a0784a726406a603f4cfa74d6ffd8",
"0x3b201a5dd5bde7e1b8f016c1277b1b0ac26e29637600cada1c27c65d1a4e4ef": "0x1ee2913b3ab08b75c743907d5cadffe5e5130ef74e22b2b6efc95acc787738d",
"0x39c697c748137a6b21a1cd516f2442e8dfe2b3d3002c04c9df0a815381e3c81": "0x1",
"0x52b584ea1eefc2f77a33d944db5b408429c95d724f16feeb4c58b885f9e9a5": "0x1",
"0x6f444cb92479abe0d7d2a2e305a4c2ab1020333adc71db669b93706137f3b41": "0x1c34e015cbb3b0f1f8e9297f1f474d741fcaef07e9458be4384fb50d924a864",
"0x3b201a5dd5bde7e1b8f016c1277b1b0ac26e29637600cada1c27c65d1a4e4f0": "0x58e08e245a5bb25961dddc315c7eb4bb8c06111e774719d4c4a56e0701cfccf",
"0x47bd4a7734d20c919cffb3b1508a20b33e112c1dd314600e3177d07a55fc820": "0xe89707a843484b33e58a87eb76ce16979237d1f610386eb29e5e12b63cf63d",
"0x8c919011215bafdb77dd3554171499e8d88e3e9377e24996d6a52def26e96": "0x55b24eeec617818ebf516ac355c9a441ae5e59bcd8c52ea65b73bdf7957cf6d",
"0x1ea274a11911678e614de72ecb6a747a22a01c0517b7ac424f3e7020c016d4b": "0x1",
"0x39c697c748137a6b21a1cd516f2442e8dfe2b3d3002c04c9df0a815381e3c81": "0x1",
"0x3c4e1600fd612575abb99758b3d97e553879841fdf9cf2d9ed8c1c025723d44": "0x7913e4dbbc06e873598f6e0bb0076449079fbdd951650c7f7a258d1c6b6a82d",
"0x34acc712e95a859fc17699fc81a191f9ec885ab5d587a4d4d00bb4fcb5e73c1": "0x3e834790a84c935398f25697273b6e9b218567d296722cad328c3c0c64c4318",
"0x8c919011215bafdb77dd3554171499e8d88e3e9377e24996d6a52def26e98": "0x6d34cec76e786641e9a5de87f15a9d1a520da1ae932870a003b16f0859d3be1",
"0x34acc712e95a859fc17699fc81a191f9ec885ab5d587a4d4d00bb4fcb5e73c0": "0x3f0b0d6b3b5912d2094195d06d293691ac62e9f586f6d21cac4dae59dd49016",
"0x9af47cfba5e6d9ebf4baba7e529e15096aed25234b4a7defdbfbd1d904bc00": "0x1da7a0edf47109a1e000808c6661cf92d8be5981eedcc1b02edbca9f0e4fd34",
"0x9af47cfba5e6d9ebf4baba7e529e15096aed25234b4a7defdbfbd1d904bc01": "0x778f02681e02678eddcf97a07daf68131fe0ca20f44da6c80946f9f7a7dfedf"
"0x9af47cfba5e6d9ebf4baba7e529e15096aed25234b4a7defdbfbd1d904bc00": "0x19ef9ab2fed7f12f7569a29cd18001446f1d6ad72068bf20d0018c98f86b0a6",
"0x9af47cfba5e6d9ebf4baba7e529e15096aed25234b4a7defdbfbd1d904bc01": "0x298a2021b078cecced5320a606a28b6a655758fa78b3ec3f5edd125bca5c58e",
"0x47bd4a7734d20c919cffb3b1508a20b33e112c1dd314600e3177d07a55fc820": "0x8d2efae26365f3147f04d93c9b051148d6ce13bc2fc9c1e1eacadbf7f68075",
"0x6b701cacf6618c2f53e8738f28e5bd34c91c907f089f8505d2616f39ca34dfe": "0x1",
"0x5003f5276fd4d1a5150571f54551bdd8ace4884c9c218896b8c7b96bb089743": "0x498276e8011a699e130d26ecf926dcf22c7de28be96993e5e987eec99ce5ea",
"0x72d080c3472770b49a6c53ca26f67511fd2a645fe33dc116d11764c15e75c61": "0xb31e843bf54ad0d6841f8d8a936923559d580977e792a9ebf41b5d81a342bd",
"0x6f444cb92479abe0d7d2a2e305a4c2ab1020333adc71db669b93706137f3b41": "0x6a0b4848a90601a3ccd2c1255b449d6309cd58a2a61ecf10da93fcecda35bc1",
"0x8c919011215bafdb77dd3554171499e8d88e3e9377e24996d6a52def26e97": "0x17b21d78f7f5e3429dd06327887f8620a9ae94ba36c5d2978d21e7fc8642c4a",
"0x3b201a5dd5bde7e1b8f016c1277b1b0ac26e29637600cada1c27c65d1a4e4ef": "0x7a27ed8ce2d1e1ee68df7480b9ee67cac55284baa5ac2fa9d4b51d15530e712",
"0x2fc83002bf5a013133e268d023531d33b190144c5b1239465caa2c99f017d25": "0x1",
"0x1ea274a11911678e614de72ecb6a747a22a01c0517b7ac424f3e7020c016d4b": "0x1",
"0x7b007270125cd57751a5af44f643ee9c0cfd05d124df2ce52cdd7b51ccc6414": "0x9dee8186f4e3fbc06ecfd899222457ed908e6659837e1f0e137db129915e7f",
"0x5003f5276fd4d1a5150571f54551bdd8ace4884c9c218896b8c7b96bb089742": "0x2d0b924a86ff7c81892febd23de6b49272d3b5ea085838ecd1a5e9813b660ab",
"0x68b096457d951aa342cf8b0ad600961426508a9383e5591a7f376121c4e60f7": "0x1"
}
}
}
7 changes: 3 additions & 4 deletions crates/discovery-service/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,11 +70,10 @@ Note: Integration tests spawn starknet-devnet instances on dynamically allocated
### Generate fixtures (only when contract changes)
Fixtures are checked into the repo. Regenerate if contract storage layout changes:
```bash
cd sdk && \
DUMP_DEVNET_PATH=../crates/discovery-service/tests/fixtures/ \
npm test -- --run devnet.test.ts
cd e2e && npm run generate-dump
```
This generates `devnet-dump.json.gz` and `devnet-dump.metadata.json` in the fixtures directory.
This writes `devnet-dump.json.gz` and `devnet-dump.metadata.json` into `tests/fixtures/`
(and also updates discovery-core fixtures).

### Time-sensitive transactions in fixtures

Expand Down
Binary file modified crates/discovery-service/tests/fixtures/devnet-dump.json.gz
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"timestamp": 1770203859,
"timestamp": 1770302104,
"contract_address": "0x2af189f2f77758dacd689baf7d0166e65b03f25be65f54f7d131b9cc8a0438d",
"alice_address": "0x34ba56f92265f0868c57d3fe72ecab144fc96f97954bbbc4252cef8e8a979ba",
"alice_private_key": "0xb137668388dbe9acdfa3bc734cc2c469"
}
}
3 changes: 0 additions & 3 deletions crates/discovery-service/tests/test_rpc_backend.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,6 @@
//! Run with: `cargo test -p discovery-service --test rpc_backend_tests`
//!
//! These tests verify the RPC backend can correctly query on-chain state.
//!
//! The devnet-dump.json.gz fixture is generated by SDK tests:
//! `DUMP_DEVNET_PATH=../crates/discovery-service/tests/fixtures/devnet-dump.json.gz npm test`

mod common;

Expand Down
33 changes: 33 additions & 0 deletions e2e/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# e2e

End-to-end tests and fixture generation for the privacy pool.

## Prerequisites

1. Install starknet-devnet: `cargo install starknet-devnet`
2. Build the privacy contract: `scarb build`
3. Build the SDK: `cd sdk && npm run build`
4. Install e2e dependencies: `npm install`

## Tests

```bash
npm test
```

Smoke tests spin up a live devnet, deploy contracts, run the indexer, and verify the full flow.

## Fixture generation

Regenerate Rust crate test fixtures when the contract or SDK test scenario changes:

```bash
npm run generate-dump
```

This writes fixtures directly to:
- `crates/discovery-core/tests/fixtures/devnet-state.json` -- contract storage slots
- `crates/discovery-service/tests/fixtures/devnet-dump.json.gz` -- full devnet state
- `crates/discovery-service/tests/fixtures/devnet-dump.metadata.json` -- timestamp + addresses

After regenerating, run `cargo test` from the repo root to confirm Rust tests still pass.
Loading