Commit f106797
ntt: sui implementation (#613)
* sui: implement NTT
* sui: add docs on auth system
* sui: fix transceiver message serialisation
* sui: handle additional payload in native token transfers
* sui: fix wormhole transceiver auth type name
this needs to be Auth
* sui: add wormhole transceiver init logic
* sui: allow updating peers (and updating inbound rate limit)
* sui: remove frontrun protection in payload handling
payloads are supposed to be handled by modifying the ntt source code,
instead of having the recipient handle it. because of this, we don't
need to implemnent any additional protections in the default ntt
instance
* sui: untrim amounts in outbound rate limiting
* Add demo of accountant changes
* Edit implementation to include only a single SetPeer
* Add parsing tests to files
* Add more comments
* Remove 'option' from the WH message ticket
* sui: fine grained access control in contract_auth.move
* sui: tie transceiver to a particular manager
* sui: store admin cap in state for off-chain discoverability
* sui: add get_next_sequence
* sui: switch to testnet branch of wormhole (temporary)
* sui: rename test auth module
duplicate module names across different packages triggers a compiler bug
* sui: store admin cap id in state for off-chain discoverability
* sui: store transceiver state object id for off-chain discoverability
* sui: separate entrypoint for completing burning and locking setup
* sui: store upgrade cap id for off chain discoverability
* sui: manager identifies itself by its state object
* sui: add get_transceiver_type to transceiver
* sui: cli + sdk
sui: store state object id in transceiver registry
sui: store admin cap id in wormhole transceiver
cli: deployment works
sdk: add ability to set threshold
sdk/sui: some clean up
sdk/sui: better typing for sui contract data
cli: sui upgradeability wip
cli: create local env for sui commands
instead of relying on global environment
cli: register correct address sui
cli: use sui manager package id in registration
the deployment json stores the state id, but we need to register the
package id
sui: add get_transceiver_type to transceiver [sdk]
* sui/sdk: dynamic coin metadata (does it work? haven't tried yet)
* wip cli separate entrypoint
* small cli fixes
* cli: await askForConfirmation
* cli: update sui dependency revision
* cli/install: don't link package by name
* Adding executor SDK for Sui NTT (#27)
* Implement redeem and add unit tests
Signed-off-by: Emre Bogazliyanlioglu <emre@wormholelabs.xyz>
* Add Executor SDK
Signed-off-by: Emre Bogazliyanlioglu <emre@wormholelabs.xyz>
* Verify executor SDK and trim down excessive tests
Signed-off-by: Emre Bogazliyanlioglu <emre@wormholelabs.xyz>
* Revert previous redeem implementation
Signed-off-by: Emre Bogazliyanlioglu <emre@wormholelabs.xyz>
* Update tests
Signed-off-by: Emre Bogazliyanlioglu <emre@wormholelabs.xyz>
* Combine tests
Signed-off-by: Emre Bogazliyanlioglu <emre@wormholelabs.xyz>
* Fix gas limits for Sui executor route
Signed-off-by: Emre Bogazliyanlioglu <emre@wormholelabs.xyz>
* Enable EVM
Signed-off-by: Emre Bogazliyanlioglu <emre@wormholelabs.xyz>
* Copy sui/ts to Dockerfile.cli build
Signed-off-by: Emre Bogazliyanlioglu <emre@wormholelabs.xyz>
---------
Signed-off-by: Emre Bogazliyanlioglu <emre@wormholelabs.xyz>
* Add Mainnet addresses and use isSameType for coin type comparison on Sui
Signed-off-by: Emre Bogazliyanlioglu <emre@wormholelabs.xyz>
* omit cli-checking from 'build' script
we do this for the practical reason that the cli is not included in the
ci docker image
* chore: Address previous feedback from PR#27
Signed-off-by: Emre Bogazliyanlioglu <emre@wormholelabs.xyz>
* chore: Remove unnecessary chain/platform check
Signed-off-by: Emre Bogazliyanlioglu <emre@wormholelabs.xyz>
* fix: TS error for unused import
Signed-off-by: Emre Bogazliyanlioglu <emre@wormholelabs.xyz>
* chore: Add temp values for inboud limits to unblock local testing
Signed-off-by: Emre Bogazliyanlioglu <emre@wormholelabs.xyz>
* chore: Use SUI_CLOCK_OBJECT_ID instead
Signed-off-by: Emre Bogazliyanlioglu <emre@wormholelabs.xyz>
* feat: Adding impl for rate limiting functions (#28)
Signed-off-by: Emre Bogazliyanlioglu <emre@wormholelabs.xyz>
* sui: add pausing functionality
* sdk: sui pausing
* sui: threshold invariants
* feat: Adding implementation for redeem and transfer status functions (#29)
* feat: Adding implementation for transfer status functions
Signed-off-by: Emre Bogazliyanlioglu <emre@wormholelabs.xyz>
* Add redeem implementation
Signed-off-by: Emre Bogazliyanlioglu <emre@wormholelabs.xyz>
* Fix tests
Signed-off-by: Emre Bogazliyanlioglu <emre@wormholelabs.xyz>
---------
Signed-off-by: Emre Bogazliyanlioglu <emre@wormholelabs.xyz>
* Add completeInboundQueuedTransfer implementation and fix function signatures to match NTT interface
Signed-off-by: Emre Bogazliyanlioglu <emre@wormholelabs.xyz>
* Add Sui to Publish workflow
Signed-off-by: Emre Bogazliyanlioglu <emre@wormholelabs.xyz>
* Fix Attestation creation and add more checks
Signed-off-by: Emre Bogazliyanlioglu <emre@wormholelabs.xyz>
* Use seconds instead of millis for rate limit timestamp
Signed-off-by: Emre Bogazliyanlioglu <emre@wormholelabs.xyz>
* Add ntt::release call to redeem flow (#30)
* Add ntt::release call to redeem flow
Signed-off-by: Emre Bogazliyanlioglu <emre@wormholelabs.xyz>
* Fix tests
Signed-off-by: Emre Bogazliyanlioglu <emre@wormholelabs.xyz>
---------
Signed-off-by: Emre Bogazliyanlioglu <emre@wormholelabs.xyz>
* Fix coin split
Signed-off-by: Emre Bogazliyanlioglu <emre@wormholelabs.xyz>
* Refactor
Signed-off-by: Emre Bogazliyanlioglu <emre@wormholelabs.xyz>
* Fix transfer function manual outbound transfers
Signed-off-by: Emre Bogazliyanlioglu <emre@wormholelabs.xyz>
* sui: take/return treasury cap
* Move shared functionality to utils and constants (#32)
* Move shared functionality to utils and constants
Signed-off-by: Emre Bogazliyanlioglu <emre@wormholelabs.xyz>
* Fix unit tests
Signed-off-by: Emre Bogazliyanlioglu <emre@wormholelabs.xyz>
---------
Signed-off-by: Emre Bogazliyanlioglu <emre@wormholelabs.xyz>
* Add implementation for setOwner (#31)
* Implement setOwner
Signed-off-by: Emre Bogazliyanlioglu <emre@wormholelabs.xyz>
* Remove extensive variable checks
Signed-off-by: Emre Bogazliyanlioglu <emre@wormholelabs.xyz>
---------
Signed-off-by: Emre Bogazliyanlioglu <emre@wormholelabs.xyz>
* sui: pause create_transceiver_message
* Address PR feedback
Signed-off-by: Emre Bogazliyanlioglu <emre@wormholelabs.xyz>
* Revert wormhole-foundation/sdk* version bumps
Signed-off-by: Emre Bogazliyanlioglu <emre@wormholelabs.xyz>
---------
Signed-off-by: Emre Bogazliyanlioglu <emre@wormholelabs.xyz>
Co-authored-by: Maxwell Dulin <strikeout@maxwells-mbp.lan>
Co-authored-by: Maxwell Dulin <strikeout@mac.lan>
Co-authored-by: Emre Bogazliyanlioglu <emreboga@users.noreply.github.com>
Co-authored-by: Emre Bogazliyanlioglu <emre@wormholelabs.xyz>1 parent 94a4f6b commit f106797
68 files changed
Lines changed: 10559 additions & 68 deletions
File tree
- .github/workflows
- cli
- src
- test
- evm/ts
- src
- sdk
- definitions/src
- route/src/executor
- solana
- ts/sdk
- sui
- packages
- ntt_common
- sources
- datatypes
- messages
- utils
- ntt
- sources
- datatypes
- tests
- wormhole_transceiver
- sources
- messages
- scripts
- ts
- __tests__
- src
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
8 | 8 | | |
9 | | - | |
| 9 | + | |
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| |||
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
| 39 | + | |
39 | 40 | | |
40 | 41 | | |
41 | 42 | | |
42 | 43 | | |
43 | | - | |
| 44 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
| 6 | + | |
5 | 7 | | |
6 | 8 | | |
7 | 9 | | |
| |||
25 | 27 | | |
26 | 28 | | |
27 | 29 | | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
48 | 48 | | |
49 | 49 | | |
50 | 50 | | |
| 51 | + | |
51 | 52 | | |
52 | 53 | | |
53 | 54 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
157 | 157 | | |
158 | 158 | | |
159 | 159 | | |
160 | | - | |
161 | | - | |
162 | 160 | | |
163 | 161 | | |
164 | 162 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
| 20 | + | |
| 21 | + | |
20 | 22 | | |
21 | 23 | | |
22 | 24 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
3 | 4 | | |
4 | 5 | | |
5 | 6 | | |
| |||
55 | 56 | | |
56 | 57 | | |
57 | 58 | | |
| 59 | + | |
58 | 60 | | |
59 | 61 | | |
60 | 62 | | |
61 | 63 | | |
62 | 64 | | |
63 | 65 | | |
| 66 | + | |
64 | 67 | | |
65 | 68 | | |
66 | 69 | | |
| |||
94 | 97 | | |
95 | 98 | | |
96 | 99 | | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
97 | 120 | | |
98 | 121 | | |
99 | 122 | | |
| |||
0 commit comments