-
Notifications
You must be signed in to change notification settings - Fork 6
/
Cargo.toml
150 lines (140 loc) · 7.07 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
[workspace.package]
version = "0.0.3"
authors = ["Michal Nazarewicz <mina86@mina86.com>", "Dhruv D Jain <dhruv@iamsizzling.com>"]
edition = "2021"
rust-version = "1.71.0"
[workspace]
members = [
"common/*",
"solana/allocator",
"solana/restaking/programs/*",
"solana/signature-verifier",
"solana/solana-ibc/programs/*",
"solana/trie",
"solana/witnessed-trie",
"solana/witnessed-trie-cli",
"solana/write-account",
"validator",
]
exclude = [
# See solana/trie-geyser-plugin/Cargo.toml for description why
# this is not part of the workspace.
"solana/trie-geyser-plugin",
]
resolver = "2"
[profile.release]
overflow-checks = true
lto = "fat"
codegen-units = 1
[profile.release.build-override]
opt-level = 3
incremental = false
codegen-units = 1
[workspace.dependencies]
anchor-lang = { version = "0.29.0", features = ["init-if-needed"] }
anchor-spl = "0.29.0"
arrayvec = "0.7.4"
ascii = "1.1.0"
base64 = { version = "0.21", default-features = false, features = ["alloc"] }
blake3 = { version = "1.3.3", default-features = false }
borsh = { version = "0.10.4", default-features = false }
bs58 = { version = "0.5.0", default-features = false }
bytemuck = { version = "1.14", default-features = false }
chrono = { version = "0.4", default-features = false }
clap = { version = "4.4.18", features = ["derive"] }
const_format = { version = "0.2.32", default-features = false }
derive_more = "0.99.17"
dialoguer = "0.10"
directories = "5.0"
ed25519-dalek = "=1.0.1" # Must match solana-sdk’s dependency.
env_logger = "0.7.1"
hex = { git = "https://github.com/mina86/rust-hex.git", branch = "main", default-features = false }
hex-literal = "0.4.1"
rayon = "1.10.0"
# Use unreleased ibc-rs which supports custom verifier.
ibc = { git = "https://github.com/mina86/ibc-rs", rev = "e1be8c9292c82c1e7c158067f0014fb292ee652d", default-features = false, features = ["borsh", "serde"] }
ibc-client-tendermint-types = { git = "https://github.com/mina86/ibc-rs", rev = "e1be8c9292c82c1e7c158067f0014fb292ee652d", default-features = false }
ibc-core-channel-types = { git = "https://github.com/mina86/ibc-rs", rev = "e1be8c9292c82c1e7c158067f0014fb292ee652d", default-features = false }
ibc-core-client-context = { git = "https://github.com/mina86/ibc-rs", rev = "e1be8c9292c82c1e7c158067f0014fb292ee652d", default-features = false }
ibc-core-client-types = { git = "https://github.com/mina86/ibc-rs", rev = "e1be8c9292c82c1e7c158067f0014fb292ee652d", default-features = false }
ibc-core-commitment-types = { git = "https://github.com/mina86/ibc-rs", rev = "e1be8c9292c82c1e7c158067f0014fb292ee652d", default-features = false }
ibc-core-connection-types = { git = "https://github.com/mina86/ibc-rs", rev = "e1be8c9292c82c1e7c158067f0014fb292ee652d", default-features = false }
ibc-core-host = { git = "https://github.com/mina86/ibc-rs", rev = "e1be8c9292c82c1e7c158067f0014fb292ee652d", default-features = false }
ibc-core-host-types = { git = "https://github.com/mina86/ibc-rs", rev = "e1be8c9292c82c1e7c158067f0014fb292ee652d", default-features = false }
ibc-primitives = { git = "https://github.com/mina86/ibc-rs", rev = "e1be8c9292c82c1e7c158067f0014fb292ee652d", default-features = false }
ibc-testkit = { git = "https://github.com/mina86/ibc-rs", rev = "e1be8c9292c82c1e7c158067f0014fb292ee652d", default-features = false }
ibc-proto = { version = "0.41.0", default-features = false }
insta = { version = "1.34.0" }
jsonrpc-core = "18.0"
jsonrpc-core-client = "18.0"
jsonrpc-derive = "18.0"
# https://github.com/contain-rs/linear-map/pull/38 adds no_std support
linear-map = { git = "https://github.com/contain-rs/linear-map", rev = "57f1432e26ff902bc883b250a85e0b5716bd241c", default-features = false }
log = "0.4.20"
pretty_assertions = "1.4.0"
primitive-types = "0.12.2"
prost = { version = "0.12.3", default-features = false }
prost-build = { version = "0.12.3", default-features = false }
rand = "0.8.5"
rand_chacha = "0.3.1"
reqwest = "0.12.3"
# TODO(mina86): Change to "1" once we update the toolchain. Building
# with serde 1.0.204 breaks due to the use of ‘diagnostic’ attribute.
serde = "=1.0.203"
serde_json = "1"
serde_bytes = "0.11.14"
sha2 = { version = "0.10.7", default-features = false }
solana-cli-config = "1.17.30"
solana-client = "1.17.30"
solana-program = "1.17.30"
solana-program-2 = { package = "solana-program", version = "2" }
solana-sdk = "1.17.30"
solana-transaction-status = "1.17.30"
spl-associated-token-account = "2.2.0"
spl-token = "4.0.0"
strum = { version = "0.25.0", default-features = false, features = ["derive"] }
tendermint = { version = "0.34.0", default-features = false }
tendermint-light-client-verifier = { version = "0.34.0", default-features = false }
tokio = "1.35.1"
toml = "0.8.8"
uint = "0.9.5"
cf-guest = { path = "common/cf-guest" }
cf-solana = { path = "common/cf-solana" }
guestchain = { path = "common/guestchain" }
lib = { path = "common/lib" }
memory = { path = "common/memory" }
proto-utils = { path = "common/proto-utils" }
restaking = { path = "solana/restaking/programs/restaking" }
sealable-trie = { path = "common/sealable-trie" }
solana-allocator = { path = "solana/allocator" }
solana-ibc = { path = "solana/solana-ibc/programs/solana-ibc" }
solana-signature-verifier = { path = "solana/signature-verifier" }
solana-witnessed-trie = { path = "solana/witnessed-trie" }
solana-trie = { path = "solana/trie" }
solana-write-account = { path = "solana/write-account" }
stdx = { path = "common/stdx" }
trie-ids = { path = "common/trie-ids" }
wasm = { path = "common/wasm" }
# dev-dependencies
anchor-client = "0.29.0"
anyhow = "1.0.32"
[patch.crates-io]
# aes-gcm-siv 0.10.3 and curve25519-dalek 3.x pin zeroize to <1.4
# which conflicts with other dependencies requiring zeroize ^1.5.
# We’re patching both crates to unpin zeroize.
#
# For aes-gcm-siv we’re using the same revision Solana uses in
# an (as of now) unreleased commit, see
# https://github.com/solana-labs/solana/commit/01f1bf27994d9813fadfcd134befd3a449aaa0bd
#
# For curve25519-dalek we’re using commit from a PR, see
# https://github.com/dalek-cryptography/curve25519-dalek/pull/606
aes-gcm-siv = { git = "https://github.com/RustCrypto/AEADs", rev = "6105d7a5591aefa646a95d12b5e8d3f55a9214ef" }
curve25519-dalek = { git = "https://github.com/dalek-cryptography/curve25519-dalek", rev = "8274d5cbb6fc3f38cdc742b4798173895cd2a290" }
# Uses solana sys call as default hashing
tendermint = { git = "https://github.com/mina86/tendermint-rs", rev = "9f157c06f9053940bd182f4b3e8e958e5731d0c7" }
tendermint-light-client = { git = "https://github.com/mina86/tendermint-rs", rev = "9f157c06f9053940bd182f4b3e8e958e5731d0c7" }
tendermint-light-client-verifier = { git = "https://github.com/mina86/tendermint-rs", rev = "9f157c06f9053940bd182f4b3e8e958e5731d0c7" }
tendermint-proto = { git = "https://github.com/mina86/tendermint-rs", rev = "9f157c06f9053940bd182f4b3e8e958e5731d0c7" }
# Adds support for custom-entrypoint feature
anchor-syn = { git = "https://github.com/mina86/anchor", branch = "custom-entrypoint" }