Skip to content

Commit f278506

Browse files
douglasgalicoevan-gray
authored andcommitted
readme
1 parent a2bfe89 commit f278506

File tree

1 file changed

+56
-17
lines changed

1 file changed

+56
-17
lines changed

README.md

Lines changed: 56 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -8,35 +8,74 @@ spoken - this is a very complex piece of software which targets a bleeding-edge,
88
Mistakes happen, and no matter how hard you try and whether you pay someone to audit it, it may eat your tokens, set
99
your printer on fire or startle your cat. Cryptocurrencies are a high-risk investment, no matter how fancy.
1010

11-
## Testing Flow
11+
## Testing with Tilt
1212

13-
> 🚧 This is a work in progress!
14-
15-
First tilt up.
13+
To run tests using Tilt, execute the following command:
1614

1715
```bash
1816
tilt up
1917
```
2018

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:
2239
2340
```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.
2747

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:
2958

3059
```bash
31-
bun test
60+
forge create YourContract -r http://localhost:8545 --private-key <your-private-key>
3261
```
3362

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 |
3572

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+
```
3780

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

Comments
 (0)