Skip to content

Commit 0cbb0b3

Browse files
a5-picklegator-boideekerno
authored
solana: add matching engine and token router (#7)
Co-authored-by: A5 Pickle <a5-pickle@users.noreply.github.com> Co-authored-by: gator-boi <gator-boi@users.noreply.github.com> Co-authored-by: Alexander <alex@deekerno.com>
1 parent 1df4616 commit 0cbb0b3

File tree

235 files changed

+35992
-444
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

235 files changed

+35992
-444
lines changed
+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: Solana Integration Checks
2+
on:
3+
push:
4+
branches:
5+
- solana/integration
6+
pull_request: null
7+
8+
env:
9+
RUSTC_VERSION: 1.76.0
10+
jobs:
11+
cancel-previous-runs:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- name: Cancel Previous Runs
15+
uses: styfle/cancel-workflow-action@0.9.1
16+
with:
17+
access_token: ${{ github.token }}
18+
make-lint:
19+
name: make lint
20+
runs-on: ubuntu-latest
21+
steps:
22+
- uses: actions/checkout@v4
23+
- name: Install toolchain
24+
uses: dtolnay/rust-toolchain@master
25+
with:
26+
toolchain: ${{ env.RUSTC_VERSION }}
27+
components: clippy, rustfmt
28+
- name: make lint
29+
run: make lint
30+
working-directory: ./solana
31+
make-test:
32+
name: make test
33+
runs-on: ubuntu-latest
34+
# Anchor Docker image: https://www.anchor-lang.com/docs/verifiable-builds#images
35+
container: backpackapp/build:v0.29.0
36+
steps:
37+
- uses: actions/checkout@v4
38+
- name: Set default Rust toolchain
39+
run: rustup default stable
40+
working-directory: ./solana
41+
- name: make test
42+
run: make test
43+
working-directory: ./solana

evm/env/localnet/arbitrum.env

+3-2
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@ export RELEASE_TOKEN_ROUTER_ADDRESS=0xB9c90045934D8AdBc665BC5D77c5F8C112F2a2ca
4242
############################### Matching Engine ###############################
4343

4444

45-
### Matching Engine Proxy (evm address)
45+
### Matching Engine Proxy (universal evm address)
4646
export RELEASE_MATCHING_ENGINE_CHAIN=6
47-
export RELEASE_MATCHING_ENGINE_ADDRESS=0xB9c90045934D8AdBc665BC5D77c5F8C112F2a2ca
47+
export RELEASE_MATCHING_ENGINE_ADDRESS=0x000000000000000000000000B9c90045934D8AdBc665BC5D77c5F8C112F2a2ca
48+
export RELEASE_MATCHING_ENGINE_MINT_RECIPIENT=0x000000000000000000000000B9c90045934D8AdBc665BC5D77c5F8C112F2a2ca
4849
export RELEASE_MATCHING_ENGINE_DOMAIN=1

evm/env/localnet/avalanche.env

+3-2
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,10 @@ export RELEASE_TOKEN_ROUTER_ADDRESS=0x438fDf069b811b871280AECd130D58ab6EC5c0Bc
4949
############################### Matching Engine ###############################
5050

5151

52-
### Matching Engine Proxy (evm address)
52+
### Matching Engine Proxy (universal evm address)
5353
export RELEASE_MATCHING_ENGINE_CHAIN=6
54-
export RELEASE_MATCHING_ENGINE_ADDRESS=0xB9c90045934D8AdBc665BC5D77c5F8C112F2a2ca
54+
export RELEASE_MATCHING_ENGINE_ADDRESS=0x000000000000000000000000B9c90045934D8AdBc665BC5D77c5F8C112F2a2ca
55+
export RELEASE_MATCHING_ENGINE_MINT_RECIPIENT=0x000000000000000000000000B9c90045934D8AdBc665BC5D77c5F8C112F2a2ca
5556
export RELEASE_MATCHING_ENGINE_DOMAIN=1
5657

5758

evm/env/localnet/ethereum.env

+3-2
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@ export RELEASE_TOKEN_ROUTER_ADDRESS=0xd98bfe6915cE92D4915149941246d36504125501
4242
############################### Matching Engine ###############################
4343

4444

45-
### Matching Engine Proxy (evm address)
45+
### Matching Engine Proxy (universal evm address)
4646
export RELEASE_MATCHING_ENGINE_CHAIN=6
47-
export RELEASE_MATCHING_ENGINE_ADDRESS=0xB9c90045934D8AdBc665BC5D77c5F8C112F2a2ca
47+
export RELEASE_MATCHING_ENGINE_ADDRESS=0x000000000000000000000000B9c90045934D8AdBc665BC5D77c5F8C112F2a2ca
48+
export RELEASE_MATCHING_ENGINE_MINT_RECIPIENT=0x000000000000000000000000B9c90045934D8AdBc665BC5D77c5F8C112F2a2ca
4849
export RELEASE_MATCHING_ENGINE_DOMAIN=1

evm/forge/scripts/DeployTokenRouterContracts.s.sol

+5-2
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,9 @@ contract DeployTokenRouterContracts is CheckWormholeContracts, Script {
2525
address immutable _wormhole = vm.envAddress("RELEASE_WORMHOLE_ADDRESS");
2626
address immutable _cctpTokenMessenger = vm.envAddress("RELEASE_TOKEN_MESSENGER_ADDRESS");
2727
address immutable _ownerAssistantAddress = vm.envAddress("RELEASE_OWNER_ASSISTANT_ADDRESS");
28-
address immutable _matchingEngineAddress = vm.envAddress("RELEASE_MATCHING_ENGINE_ADDRESS");
28+
bytes32 immutable _matchingEngineAddress = vm.envBytes32("RELEASE_MATCHING_ENGINE_ADDRESS");
29+
bytes32 immutable _matchingEngineMintRecipient =
30+
vm.envBytes32("RELEASE_MATCHING_ENGINE_MINT_RECIPIENT");
2931
uint16 immutable _matchingEngineChain = uint16(vm.envUint("RELEASE_MATCHING_ENGINE_CHAIN"));
3032
uint32 immutable _matchingEngineDomain = uint32(vm.envUint("RELEASE_MATCHING_ENGINE_DOMAIN"));
3133

@@ -37,7 +39,8 @@ contract DeployTokenRouterContracts is CheckWormholeContracts, Script {
3739
_wormhole,
3840
_cctpTokenMessenger,
3941
_matchingEngineChain,
40-
_matchingEngineAddress.toUniversalAddress(),
42+
_matchingEngineAddress,
43+
_matchingEngineMintRecipient,
4144
_matchingEngineDomain
4245
);
4346

evm/forge/scripts/UpgradeMatchingEngine.s.sol

+9-2
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,17 @@ import {MatchingEngineImplementation} from
1616

1717
import {CheckWormholeContracts} from "./helpers/CheckWormholeContracts.sol";
1818

19+
import {Utils} from "../../src/shared/Utils.sol";
20+
1921
contract UpgradeMatchingEngine is CheckWormholeContracts, Script {
22+
using Utils for bytes32;
23+
2024
uint16 immutable _chainId = uint16(vm.envUint("RELEASE_CHAIN_ID"));
2125
address immutable _token = vm.envAddress("RELEASE_TOKEN_ADDRESS");
2226
address immutable _wormhole = vm.envAddress("RELEASE_WORMHOLE_ADDRESS");
2327
address immutable _cctpTokenMessenger = vm.envAddress("RELEASE_TOKEN_MESSENGER_ADDRESS");
24-
address immutable _matchingEngineAddress = vm.envAddress("RELEASE_MATCHING_ENGINE_ADDRESS");
28+
bytes32 immutable _matchingEngineAddress =
29+
vm.envBytes32("RELEASE_MATCHING_ENGINE_MINT_RECIPIENT");
2530

2631
// Auction parameters.
2732
uint24 immutable _userPenaltyRewardBps = uint24(vm.envUint("RELEASE_USER_REWARD_BPS"));
@@ -43,7 +48,9 @@ contract UpgradeMatchingEngine is CheckWormholeContracts, Script {
4348
_auctionGracePeriod,
4449
_auctionPenaltyBlocks
4550
);
46-
IMatchingEngine(_matchingEngineAddress).upgradeContract(address(implementation));
51+
IMatchingEngine(_matchingEngineAddress.fromUniversalAddress()).upgradeContract(
52+
address(implementation)
53+
);
4754
}
4855

4956
function run() public {

evm/forge/scripts/UpgradeTokenRouter.s.sol

+5-2
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,9 @@ contract UpgradeTokenRouter is CheckWormholeContracts, Script {
2525
address immutable _wormhole = vm.envAddress("RELEASE_WORMHOLE_ADDRESS");
2626
address immutable _cctpTokenMessenger = vm.envAddress("RELEASE_TOKEN_MESSENGER_ADDRESS");
2727
address immutable _ownerAssistantAddress = vm.envAddress("RELEASE_OWNER_ASSISTANT_ADDRESS");
28-
address immutable _matchingEngineAddress = vm.envAddress("RELEASE_MATCHING_ENGINE_ADDRESS");
28+
bytes32 immutable _matchingEngineAddress = vm.envBytes32("RELEASE_MATCHING_ENGINE_ADDRESS");
29+
bytes32 immutable _matchingEngineMintRecipient =
30+
vm.envBytes32("RELEASE_MATCHING_ENGINE_MINT_RECIPIENT");
2931
uint16 immutable _matchingEngineChain = uint16(vm.envUint("RELEASE_MATCHING_ENGINE_CHAIN"));
3032
uint32 immutable _matchingEngineDomain = uint32(vm.envUint("RELEASE_MATCHING_ENGINE_DOMAIN"));
3133

@@ -37,7 +39,8 @@ contract UpgradeTokenRouter is CheckWormholeContracts, Script {
3739
_wormhole,
3840
_cctpTokenMessenger,
3941
_matchingEngineChain,
40-
_matchingEngineAddress.toUniversalAddress(),
42+
_matchingEngineAddress,
43+
_matchingEngineMintRecipient,
4144
_matchingEngineDomain
4245
);
4346

0 commit comments

Comments
 (0)