Skip to content

Commit 6c601d8

Browse files
authored
add solana transaction support (#72)
* add solana transaction support * address review comments
1 parent 0311adc commit 6c601d8

File tree

33 files changed

+6145
-387
lines changed

33 files changed

+6145
-387
lines changed

Cargo.lock

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

Cargo.toml

Lines changed: 86 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,95 @@ members = [
66
"eip7702-core",
77
"executors",
88
"server",
9+
"solana-core",
910
"thirdweb-core",
1011
"twmq",
1112
]
1213
resolver = "2"
1314

1415
[workspace.dependencies]
15-
alloy = { version = "1.0.23" }
16-
vault-types = { version = "0.1.0", git = "ssh://git@github.com/thirdweb-dev/vault.git", branch = "pb/update-alloy" }
17-
vault-sdk = { version = "0.1.0", git = "ssh://git@github.com/thirdweb-dev/vault.git", branch = "pb/update-alloy" }
16+
# Alloy and related
17+
alloy = { version = "1.0.36" }
18+
alloy-signer-aws = { version = "1.0.23" }
19+
20+
# Vault
21+
vault-types = { version = "0.1.0", git = "ssh://git@github.com/thirdweb-dev/vault.git", branch = "main" }
22+
vault-sdk = { version = "0.1.0", git = "ssh://git@github.com/thirdweb-dev/vault.git", branch = "main" }
23+
24+
# Solana
25+
solana-sdk = "3.0"
26+
solana-client = "3.0"
27+
solana-transaction-status = "3.0"
28+
solana-connection-cache = "3.0"
29+
solana-commitment-config = "3.0"
30+
solana-compute-budget-interface = "3.0"
31+
spl-memo-interface = "2.0"
32+
33+
# AWS
34+
aws-config = "1.8.2"
35+
aws-sdk-kms = "1.79.0"
36+
aws-credential-types = "1.2.4"
37+
38+
# Serialization
39+
serde = { version = "1.0.219", features = ["derive"] }
40+
serde_json = "1.0.140"
41+
serde_with = "3.14.0"
42+
serde-bool = "0.1.3"
43+
serde_repr = "0.1.20"
44+
45+
# Error handling
46+
thiserror = "2.0.12"
47+
anyhow = "1.0.98"
48+
49+
# Logging and tracing
50+
tracing = "0.1.41"
51+
tracing-subscriber = { version = "0.3.19" }
52+
53+
# Async runtime
54+
tokio = { version = "1.45.0" }
55+
futures = "0.3.31"
56+
57+
# API documentation
58+
utoipa = { version = "5.4.0" }
59+
utoipa-axum = "0.2.0"
60+
utoipa-scalar = { version = "0.3.0" }
61+
schemars = "0.8.22"
62+
aide = { version = "0.14.2" }
63+
64+
# Web framework
65+
axum = { version = "0.8.4" }
66+
tower = "0.5.2"
67+
tower-http = { version = "0.6.2" }
68+
69+
# Caching
70+
moka = { version = "0.12.10", features = ["future"] }
71+
72+
# Utilities
73+
uuid = { version = "1.17.0", features = ["v4"] }
74+
rand = "0.9.1"
75+
chrono = "0.4.41"
76+
base64 = "0.22.1"
77+
hex = "0.4.3"
78+
url = "2.5.4"
79+
nanoid = "0.4.0"
80+
81+
# HTTP client
82+
reqwest = "0.12.18"
83+
84+
# Cryptography
85+
hmac = "0.12.1"
86+
sha2 = "0.10.9"
87+
88+
# Metrics
89+
prometheus = "0.13.4"
90+
lazy_static = "1.5.0"
91+
92+
# Configuration
93+
config = "0.15.11"
94+
aws-arn = "0.3.1"
95+
96+
# Redis
97+
redis = { version = "0.31.0", features = ["tokio-comp", "connection-manager"] }
98+
99+
# Dev dependencies
100+
criterion = { version = "0.6", features = ["html_reports", "async_tokio"] }

aa-core/Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ edition = "2024"
55

66
[dependencies]
77
alloy = { workspace = true, features = ["serde"] }
8-
tokio = "1.44.2"
8+
tokio = { workspace = true }
99
engine-aa-types = { path = "../aa-types" }
1010
engine-core = { path = "../core" }
1111
vault-types = { workspace = true }
1212
vault-sdk = { workspace = true }
13-
serde = "1.0.219"
14-
tracing = "0.1.41"
13+
serde = { workspace = true }
14+
tracing = { workspace = true }

aa-types/Cargo.toml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ version = "0.1.0"
44
edition = "2024"
55

66
[dependencies]
7-
alloy = { version = "1.0.8", features = ["serde"] }
8-
serde = { version = "1.0.219", features = ["derive"] }
9-
serde_json = "1.0.140"
10-
thiserror = "2.0.12"
11-
schemars = "0.8.22"
12-
utoipa = "5.4.0"
7+
alloy = { workspace = true, features = ["serde"] }
8+
serde = { workspace = true }
9+
serde_json = { workspace = true }
10+
thiserror = { workspace = true }
11+
schemars = { workspace = true }
12+
utoipa = { workspace = true }

core/Cargo.toml

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,27 @@ version = "0.1.0"
44
edition = "2024"
55

66
[dependencies]
7-
alloy = { version = "1.0.8", features = ["serde", "json-rpc"] }
7+
alloy = { workspace = true, features = ["serde", "json-rpc"] }
88
engine-aa-types = { path = "../aa-types" }
9-
schemars = "0.8.22"
10-
serde = { version = "1.0.219", features = ["derive"] }
11-
serde_json = "1.0.140"
12-
thiserror = "2.0.12"
9+
schemars = { workspace = true }
10+
serde = { workspace = true }
11+
serde_json = { workspace = true }
12+
thiserror = { workspace = true }
1313
vault-types = { workspace = true }
1414
vault-sdk = { workspace = true }
15-
tower = "0.5.2"
16-
tracing = "0.1.41"
15+
tower = { workspace = true }
16+
tracing = { workspace = true }
1717
twmq = { version = "0.1.0", path = "../twmq" }
1818
thirdweb-core = { version = "0.1.0", path = "../thirdweb-core" }
19-
uuid = { version = "1.17.0", features = ["v4"] }
20-
utoipa = { version = "5.4.0", features = ["preserve_order"] }
21-
serde_with = "3.13.0"
22-
alloy-signer-aws = { version = "1.0.23", features = ["eip712"] }
23-
aws-config = "1.8.2"
24-
aws-sdk-kms = "1.79.0"
25-
aws-credential-types = "1.2.4"
26-
moka = { version = "0.12", features = ["future"] }
19+
uuid = { workspace = true }
20+
utoipa = { workspace = true, features = ["preserve_order"] }
21+
serde_with = { workspace = true }
22+
alloy-signer-aws = { workspace = true, features = ["eip712"] }
23+
aws-config = { workspace = true }
24+
aws-sdk-kms = { workspace = true }
25+
aws-credential-types = { workspace = true }
26+
moka = { workspace = true }
27+
solana-sdk = { workspace = true }
28+
solana-commitment-config = { workspace = true }
29+
solana-client = { workspace = true }
30+
engine-solana-core = { version = "0.1.0", path = "../solana-core" }

0 commit comments

Comments
 (0)