Skip to content

Commit e02d1fd

Browse files
authored
Refactor svm contract folder structure (#131)
1 parent 5607c34 commit e02d1fd

File tree

119 files changed

+118
-123
lines changed

Some content is hidden

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

119 files changed

+118
-123
lines changed

.github/workflows/ci-pre-commit.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,22 +29,22 @@ jobs:
2929
with:
3030
version: nightly
3131
- name: Install npm dependencies
32-
working-directory: contracts
32+
working-directory: contracts/evm
3333
run: npm install
3434
- name: Install forge dependencies 1
35-
working-directory: contracts
35+
working-directory: contracts/evm
3636
run: forge install foundry-rs/forge-std@v1.8.0 --no-git --no-commit
3737
- name: Install forge dependencies 2
38-
working-directory: contracts
38+
working-directory: contracts/evm
3939
run: forge install OpenZeppelin/openzeppelin-contracts@v5.0.2 --no-git --no-commit
4040
- name: Install forge dependencies 3
41-
working-directory: contracts
41+
working-directory: contracts/evm
4242
run: forge install OpenZeppelin/openzeppelin-contracts-upgradeable@v4.9.6 --no-git --no-commit
4343
- name: Install forge dependencies 4
44-
working-directory: contracts
44+
working-directory: contracts/evm
4545
run: forge install Uniswap/permit2@0x000000000022D473030F116dDEE9F6B43aC78BA3 --no-git --no-commit
4646
- name: Install forge dependencies 5
47-
working-directory: contracts
47+
working-directory: contracts/evm
4848
run: forge install nomad-xyz/ExcessivelySafeCall@be417ab0c26233578b8d8f3a37b87bd1fcb4e286 --no-git --no-commit
4949
- uses: pre-commit/action@v3.0.0
5050
if: ${{ github.event_name == 'pull_request' }}

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ api_keys.py
1414

1515
# env files
1616
*.env
17-
contracts/latestEnvironment.json
17+
contracts/evm/latestEnvironment.json
1818

1919
# Ignores development broadcast logs
2020
!/broadcast

.pre-commit-config.yaml

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,25 @@ repos:
5050
entry: cargo +nightly-2024-04-10 fmt --manifest-path ./gas-oracle/Cargo.toml --all -- --config-path rustfmt.toml
5151
pass_filenames: false
5252
files: gas-oracle
53-
- id: cargo-clippy-vault-simulator
53+
- id: cargo-clippy-gas-oracle
5454
name: Cargo clippy for gas oracle
5555
language: "rust"
5656
entry: cargo +stable clippy --manifest-path ./gas-oracle/Cargo.toml --tests --fix --allow-dirty --allow-staged -- -D warnings
5757
pass_filenames: false
5858
files: gas-oracle
59+
# Hooks for contracts-svm
60+
- id: cargo-fmt-contracts-svm
61+
name: Cargo format for svm contracts
62+
language: "rust"
63+
entry: cargo +nightly-2024-04-10 fmt --manifest-path ./contracts/svm/Cargo.toml --all -- --config-path rustfmt.toml
64+
pass_filenames: false
65+
files: contracts/svm
66+
- id: cargo-clippy-contracts-svm
67+
name: Cargo clippy for svm contracts
68+
language: "rust"
69+
entry: cargo +stable clippy --manifest-path ./contracts/svm/Cargo.toml --tests --fix --allow-dirty --allow-staged -- -D warnings
70+
pass_filenames: false
71+
files: contracts/svm
5972
# For python files
6073
- id: isort
6174
name: isort

.vscode/settings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@
33
"./auction-server/Cargo.toml",
44
"./gas-oracle/Cargo.toml",
55
"./vault-simulator/Cargo.toml",
6-
"./express_relay/programs/express_relay/Cargo.toml"
6+
"./contracts/svm/Cargo.toml"
77
]
88
}

Dockerfile

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ ARG RUST_VERSION=1.66.1
44
FROM node:21-alpine3.18 AS npm_build
55
WORKDIR /src
66
COPY contracts contracts
7-
WORKDIR /src/contracts
7+
WORKDIR /src/contracts/evm
88
RUN npm install
99

1010

@@ -18,11 +18,13 @@ ENV PATH="${PATH}:/root/.foundry/bin/"
1818
RUN foundryup
1919
RUN cargo install --git https://github.com/coral-xyz/anchor --tag v0.30.1 anchor-cli --locked
2020

21-
# Add solidity dependencies
21+
# Add contracts
2222
WORKDIR /src
2323
COPY contracts contracts
24-
COPY --from=npm_build /src/contracts/node_modules/ /src/contracts/node_modules/
25-
WORKDIR /src/contracts
24+
25+
# Add solidity dependencies
26+
COPY --from=npm_build /src/contracts/evm/node_modules/ /src/contracts/evm/node_modules/
27+
WORKDIR /src/contracts/evm
2628
RUN forge install foundry-rs/forge-std@v1.8.0 --no-git --no-commit
2729
RUN forge install OpenZeppelin/openzeppelin-contracts@v5.0.2 --no-git --no-commit
2830
RUN forge install OpenZeppelin/openzeppelin-contracts-upgradeable@v4.9.6 --no-git --no-commit
@@ -31,8 +33,7 @@ RUN forge install nomad-xyz/ExcessivelySafeCall@be417ab0c26233578b8d8f3a37b87bd1
3133

3234
# Add solana dependencies
3335
WORKDIR /src
34-
COPY express_relay express_relay
35-
WORKDIR /src/express_relay
36+
WORKDIR /src/contracts/svm
3637
RUN anchor build
3738

3839
# Build auction-server

Tiltfile

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ local_resource(
4040
+ forge_base_command
4141
+ " --sig 'setUpLocalnet()' --broadcast; "
4242
+ "cast rp --rpc-url http://localhost:9545 evm_setIntervalMining %s" % block_time,
43-
dir="contracts",
43+
dir="contracts/evm",
4444
env={"PRIVATE_KEY": private_key},
4545
resource_deps=["evm-anvil"],
4646
)
@@ -50,7 +50,7 @@ cmd_button(
5050
argv=[
5151
"sh",
5252
"-c",
53-
"cd contracts; "
53+
"cd contracts/evm; "
5454
+ forge_base_command
5555
+ " --sig 'getVault(uint256)' $VAULT --broadcast",
5656
],
@@ -69,7 +69,7 @@ cmd_button(
6969
argv=[
7070
"sh",
7171
"-c",
72-
"cd contracts; "
72+
"cd contracts/evm; "
7373
+ forge_base_command
7474
+ " --sig 'createLiquidatableVault()' --broadcast",
7575
],
@@ -86,7 +86,7 @@ local_resource(
8686
local_resource(
8787
"svm-build-programs",
8888
"cargo build-sbf && anchor build",
89-
dir="express_relay",
89+
dir="contracts/svm",
9090
)
9191

9292
local_resource(
@@ -138,7 +138,7 @@ local_resource(
138138
local_resource(
139139
"svm-localnet",
140140
serve_cmd="solana-test-validator $(./test-validator-params.sh)",
141-
serve_dir="express_relay",
141+
serve_dir="contracts/svm",
142142
# check readiness by sending a health GET query to the RPC url
143143
readiness_probe=probe(
144144
period_secs=10,

auction-server/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ bincode = "1.3.3"
4545
serde_with = "3.9.0"
4646
anchor-lang-idl = { version = "0.1.1", features = ["convert"] }
4747
anchor-lang = "0.30.1"
48-
express_relay = { path = "../express_relay/programs/express_relay" }
48+
express_relay = { path = "../contracts/svm/programs/express_relay" }
4949

5050
# The curve25519-dalek crate is a dependency of solana-sdk.
5151
# This crate relies on a specific version of zeroize that is incompatible with many other packages.

auction-server/build.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@ use std::process::Command;
22

33
fn main() {
44
let contract_setup = r#"
5-
cd ../contracts
5+
cd ../contracts/evm
66
forge build --via-ir
77
"#;
8-
println!("cargo:rerun-if-changed=../contracts");
8+
println!("cargo:rerun-if-changed=../contracts/evm");
99
println!("cargo:rerun-if-changed=migrations");
1010

1111
// Build the contracts and generate the ABIs. This is required for abigen! macro expansions to work.

auction-server/src/auction.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ use {
9999

100100
abigen!(
101101
ExpressRelay,
102-
"../contracts/out/ExpressRelay.sol/ExpressRelay.json"
102+
"../contracts/evm/out/ExpressRelay.sol/ExpressRelay.json"
103103
);
104104
pub type ExpressRelayContract = ExpressRelay<Provider<TracedClient>>;
105105
pub type SignableProvider = TransformerMiddleware<

auction-server/src/opportunity_adapter.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -91,12 +91,12 @@ use {
9191

9292
abigen!(
9393
OpportunityAdapter,
94-
"../contracts/out/OpportunityAdapter.sol/OpportunityAdapter.json";
94+
"../contracts/evm/out/OpportunityAdapter.sol/OpportunityAdapter.json";
9595
AdapterFactory,
96-
"../contracts/out/OpportunityAdapterFactory.sol/OpportunityAdapterFactory.json"
96+
"../contracts/evm/out/OpportunityAdapterFactory.sol/OpportunityAdapterFactory.json"
9797
);
98-
abigen!(ERC20, "../contracts/out/ERC20.sol/ERC20.json");
99-
abigen!(WETH9, "../contracts/out/WETH9.sol/WETH9.json");
98+
abigen!(ERC20, "../contracts/evm/out/ERC20.sol/ERC20.json");
99+
abigen!(WETH9, "../contracts/evm/out/WETH9.sol/WETH9.json");
100100

101101
pub enum VerificationResult {
102102
Success,

0 commit comments

Comments
 (0)