Skip to content

Commit cbe4f05

Browse files
committed
chore: dogecoin executor testing
1 parent 60287f2 commit cbe4f05

9 files changed

Lines changed: 840 additions & 2 deletions

File tree

testing/dogecoin/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
/*.json
22
!package.json
3+
!tsconfig.json
34
.env
45
.env.*
56
node_modules

testing/dogecoin/README.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,28 @@
22

33
This folder contains a script to test deposits and withdrawals via the Wormhole testnet guardian's 5-of-7 multisig Dogecoin Delegated Manager Set.
44

5+
## Integrator Notes
6+
7+
Integrators may use Executor to relay their `UTX0` VAA v1 transfers to Dogecoin.
8+
9+
For an on-chain integration on Solana, this flow might look like:
10+
11+
1. Off-chain, call the Executor API to get a signed quote from Solana to Dogecoin.
12+
2. Pass that quote to your on-chain program which emits the Wormhole message.
13+
3. Within you program, after emitting a message, call `request_for_execution` on the Executor contract. This requires constructing a [VAA v1 request](https://github.com/wormholelabs-xyz/example-messaging-executor/blob/2061262868ed420e911a54ef619dd9b00949beb1/svm/modules/executor-requests/src/lib.rs#L7) for the VAA ID (chain, emitter, sequence number) that you just emitted.
14+
4. Off-chain, status the request via the Executor API.
15+
16+
See [withdraw-testnet-executor.ts](./withdraw-testnet-executor.ts) and the [Executor Integration Notes](https://wormholelabs.notion.site/Executor-Integration-Notes-Public-1bd3029e88cb804e8281ec19e3264c3b) for more information.
17+
518
## Testing Artifacts
619

720
https://doge-testnet-explorer.qed.me/tx/8d55cbffc83f27ec16fb3da9c550857533169233c6683f8d97986b14b928de81
821
https://doge-testnet-explorer.qed.me/tx/2916f3063844f0e2721f81041c3dc2ac02790d24ce3a1b31b8c1fb2e908d52c0
922

23+
### Testnet Executor Example
24+
25+
https://wormholelabs-xyz.github.io/executor-explorer/#/chain/1/tx/4yfrbt7q6fyW4MPojAkxmN74cH6hwcNA5to1qJZB2A14Z1Sc77URTLF9HaKMd9aFckgqSyVgD5kNqX9VpNxxHEU2?endpoint=https%3A%2F%2Fexecutor-testnet.labsapis.com&env=Testnet
26+
1027
## Prerequisites
1128

1229
### Bun

testing/dogecoin/bun.lock

Lines changed: 37 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
{
2+
"address": "execXUrAsMnqMmTHj5m7N1YQgsDz3cwGLYCYyuDRciV",
3+
"metadata": {
4+
"name": "executor",
5+
"version": "0.1.0",
6+
"spec": "0.1.0",
7+
"description": "Created with Anchor"
8+
},
9+
"instructions": [
10+
{
11+
"name": "request_for_execution",
12+
"discriminator": [
13+
109,
14+
107,
15+
87,
16+
37,
17+
151,
18+
192,
19+
119,
20+
115
21+
],
22+
"accounts": [
23+
{
24+
"name": "payer",
25+
"writable": true,
26+
"signer": true
27+
},
28+
{
29+
"name": "payee",
30+
"writable": true
31+
},
32+
{
33+
"name": "system_program",
34+
"address": "11111111111111111111111111111111"
35+
}
36+
],
37+
"args": [
38+
{
39+
"name": "args",
40+
"type": {
41+
"defined": {
42+
"name": "RequestForExecutionArgs"
43+
}
44+
}
45+
}
46+
]
47+
}
48+
],
49+
"errors": [
50+
{
51+
"code": 6000,
52+
"name": "InvalidArguments",
53+
"msg": "InvalidArguments"
54+
},
55+
{
56+
"code": 6001,
57+
"name": "QuoteSrcChainMismatch",
58+
"msg": "QuoteSrcChainMismatch"
59+
},
60+
{
61+
"code": 6002,
62+
"name": "QuoteDstChainMismatch",
63+
"msg": "QuoteDstChainMismatch"
64+
},
65+
{
66+
"code": 6003,
67+
"name": "QuoteExpired",
68+
"msg": "QuoteExpired"
69+
},
70+
{
71+
"code": 6004,
72+
"name": "QuotePayeeMismatch",
73+
"msg": "QuotePayeeMismatch"
74+
}
75+
],
76+
"types": [
77+
{
78+
"name": "RequestForExecutionArgs",
79+
"type": {
80+
"kind": "struct",
81+
"fields": [
82+
{
83+
"name": "amount",
84+
"type": "u64"
85+
},
86+
{
87+
"name": "dst_chain",
88+
"type": "u16"
89+
},
90+
{
91+
"name": "dst_addr",
92+
"type": {
93+
"array": [
94+
"u8",
95+
32
96+
]
97+
}
98+
},
99+
{
100+
"name": "refund_addr",
101+
"type": "pubkey"
102+
},
103+
{
104+
"name": "signed_quote_bytes",
105+
"type": "bytes"
106+
},
107+
{
108+
"name": "request_bytes",
109+
"type": "bytes"
110+
},
111+
{
112+
"name": "relay_instructions",
113+
"type": "bytes"
114+
}
115+
]
116+
}
117+
}
118+
]
119+
}

0 commit comments

Comments
 (0)