Skip to content

Commit 2ccb3d4

Browse files
authored
Enhance Solana transaction support and add new dependencies (#78)
* Enhance Solana transaction support and add new dependencies - Introduced `SolanaSigner` to the engine core for improved Solana transaction handling. - Added `base64`, `bincode`, `solana-client`, and `solana-sdk` as dependencies in `Cargo.toml`. - Updated server state to include `solana_signer` and added new route for signing Solana transactions. * Add Solana RPC cache support in server - Introduced `SolanaRpcCache` to manage RPC URLs for Solana transactions. - Updated server state to include `solana_rpc_cache` for efficient RPC client retrieval. - Refactored transaction signing logic to utilize the new RPC cache, improving performance and reliability. * add integration testing infra * use spl interface * fix deps
1 parent c1830ef commit 2ccb3d4

File tree

15 files changed

+1416
-10
lines changed

15 files changed

+1416
-10
lines changed

Cargo.lock

Lines changed: 43 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ members = [
99
"solana-core",
1010
"thirdweb-core",
1111
"twmq",
12+
"integration-tests",
1213
]
1314
resolver = "2"
1415

@@ -28,7 +29,9 @@ solana-transaction-status = "3.0"
2829
solana-connection-cache = "3.0"
2930
solana-commitment-config = "3.0"
3031
solana-compute-budget-interface = "3.0"
32+
solana-system-interface = { version = "2.0", features = ["bincode"] }
3133
spl-memo-interface = "2.0"
34+
spl-token-2022-interface = "2.1"
3235

3336
# AWS
3437
aws-config = "1.8.2"

integration-tests/.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
/target
2+
*local.yaml

integration-tests/Cargo.toml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
[package]
2+
name = "engine-integration-tests"
3+
version = "0.1.0"
4+
edition = "2024"
5+
6+
[lib]
7+
test = false # Don't build unit test harness for src/lib.rs etc.
8+
doctest = false # Don't run doc tests for the library
9+
10+
[dependencies]
11+
anyhow = { workspace = true }
12+
tokio = { workspace = true, features = ["full"] }
13+
tracing = { workspace = true }
14+
tracing-subscriber = { workspace = true, features = ["env-filter"] }
15+
serde = { workspace = true }
16+
serde_json = { workspace = true }
17+
base64 = { workspace = true }
18+
bincode = { workspace = true }
19+
moka = { workspace = true }
20+
reqwest = { workspace = true, features = ["json"] }
21+
prometheus = { workspace = true }
22+
config = { workspace = true }
23+
24+
# Solana dependencies
25+
solana-sdk = { workspace = true, features = ["full"] }
26+
solana-client = { workspace = true }
27+
solana-system-interface = { workspace = true }
28+
spl-token-2022-interface = { workspace = true }
29+
30+
# Vault/Engine dependencies
31+
vault-sdk = { workspace = true }
32+
vault-types = { workspace = true }
33+
engine-solana-core = { path = "../solana-core" }
34+
engine-core = { path = "../core" }
35+
engine-executors = { path = "../executors" }
36+
thirdweb-core = { path = "../thirdweb-core" }
37+
38+
# Testing utilities
39+
once_cell = "1.20"
40+
41+
[dev-dependencies]
42+
thirdweb-engine = { path = "../server" }
43+
twmq = { path = "../twmq" }
44+
rand = { workspace = true }

0 commit comments

Comments
 (0)