@@ -8,35 +8,74 @@ spoken - this is a very complex piece of software which targets a bleeding-edge,
8
8
Mistakes happen, and no matter how hard you try and whether you pay someone to audit it, it may eat your tokens, set
9
9
your printer on fire or startle your cat. Cryptocurrencies are a high-risk investment, no matter how fancy.
10
10
11
- ## Testing Flow
11
+ ## Testing with Tilt
12
12
13
- > 🚧 This is a work in progress!
14
-
15
- First tilt up.
13
+ To run tests using Tilt, execute the following command:
16
14
17
15
``` bash
18
16
tilt up
19
17
```
20
18
21
- Next, deploy integration contracts to each chain.
19
+ This will spin up a local development environment with all necessary components including Anvil chains and the executor service.
20
+
21
+ After Tilt is running, the test suite will run automatically in the ` e2e ` step.
22
+
23
+ ````
24
+
25
+ ## Capabilities and Supported Platforms
26
+
27
+ | Capability | Status | Description |
28
+ |------------|--------|-------------|
29
+ | NTT V1 | ✅ Supported | Native Token Transfer protocol integration |
30
+ | VAA V1 | ✅ Supported | Verified Action Approvals V1 protocol |
31
+
32
+ | Platform | Status | Networks |
33
+ |----------|--------|----------|
34
+ | EVM | ✅ Supported | Ethereum, BSC, Polygon, Avalanche, etc. |
35
+
36
+ ## Running the Docker Image
37
+
38
+ You can run the executor using the published Docker image. To override the default configuration:
22
39
23
40
```bash
24
- forge create ExecutorVAAv1Integration -r http://localhost:8545 --broadcast --private-key 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 --constructor-args 0x4a8bc80Ed5a4067f1CCf107057b8270E0cC11A78 0xD0fb39f5a3361F21457653cB70F9D0C9bD86B66B 200
25
- forge create ExecutorVAAv1Integration -r http://localhost:8546 --broadcast --private-key 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 --constructor-args 0x79A1027a6A159502049F10906D333EC57E95F083 0x51B47D493CBA7aB97e3F8F163D6Ce07592CE4482 200
26
- ```
41
+ docker run -v /path/to/your/config.json:/app/config.json \
42
+ -e CONFIG_PATH=/app/config.json \
43
+ example-executor:latest
44
+ ````
45
+
46
+ The configuration file should contain your chain settings, RPC endpoints, and other necessary parameters.
27
47
28
- Finally, bun test
48
+ ## Customizing Your Anvil Environment
49
+
50
+ The local Anvil chains can be customized to deploy additional integration contracts or modify the blockchain state for testing purposes. You can:
51
+
52
+ - Deploy custom contracts using Forge or other deployment tools
53
+ - Modify chain state using Anvil's RPC methods
54
+ - Configure custom accounts and balances
55
+ - Set up specific testing scenarios
56
+
57
+ Example of deploying additional contracts:
29
58
30
59
``` bash
31
- bun test
60
+ forge create YourContract -r http://localhost:8545 --private-key < your-private-key >
32
61
```
33
62
34
- Click the link! It should be ` pending ` at first and then after a couple seconds, refresh and it should be ` submitted ` !
63
+ ## Deployed Contracts
64
+
65
+ The following contracts are used as part of this repository infrastructure:
66
+
67
+ | Contract | Network | Address | Description |
68
+ | ----------| ---------| ---------| -------------|
69
+ | NTT Shim Contract | Sepolia | [ 0x54DD7080aE169DD923fE56d0C4f814a0a17B8f41] ( https://sepolia.etherscan.io/address/0x54DD7080aE169DD923fE56d0C4f814a0a17B8f41 ) | Handles NTT protocol integration |
70
+ | Executor | Sepolia | [ 0xD0fb39f5a3361F21457653cB70F9D0C9bD86B66B] ( https://sepolia.etherscan.io/address/0xD0fb39f5a3361F21457653cB70F9D0C9bD86B66B ) | Main executor contract |
71
+ | MultiReceiveWithGasDropOff | Base Sepolia | [ 0xe3cc16Cffa085C78e5D8144C74Fa97e4Fe53d68d] ( https://sepolia.basescan.org/address/0xe3cc16Cffa085C78e5D8144C74Fa97e4Fe53d68d ) | Manages multi-receiver operations |
35
72
36
- Next steps
73
+ ## Using the Executor Explorer
74
+
75
+ You can monitor and explore executor transactions using the Executor Explorer. For local development:
76
+
77
+ ```
78
+ https://wormholelabs-xyz.github.io/executor-explorer/#/chain/10002/tx/${hash}?endpoint=http%3A%2F%2Flocalhost%3A3000&env=Testnet
79
+ ```
37
80
38
- - Support NTT v1
39
- - Publish the executor docker image
40
- - Support passing the executor chain config from env or command line so that someone using the docker image can configure the chain info
41
- - Deploy the contracts within the e2e test and actually confirm the messages send both ways and update the contract number.
42
- - Trigger the e2e test in CI
81
+ Replace ` ${hash} ` with your transaction hash. The explorer will connect to your local executor instance running on port 3000.
0 commit comments