-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathCargo.toml
176 lines (159 loc) · 8.21 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
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
[workspace]
# Workspace configuration for the "kanari-sdk" project.
# Defines the overall structure and settings for the workspace.
resolver = "2" # Use the version 2 feature resolver for more consistent feature resolution.
# Exclude List: Directories to be excluded from the workspace build.
# This can be useful for excluding third-party code or components
# that are not directly part of the workspace's build process.
exclude = ["third_party/move"] # Exclude the 'third_party/move' directory from workspace builds.
# Members List: Crates that are part of this workspace.
# These are the core components of the "kanari-sdk" project.
members = [
"crates/command",
"crates/kari",
"crates/kari-move",
"crates/kari-move-analyzer",
"framework",
# Move Crates: Crates specifically related to MoveVM integration.
"mona/*", # Include all crates under the 'mona' directory, likely storage or Move related.
]
# Profile Configurations: Define different build profiles for various scenarios.
[profile.bench] # Profile for benchmarking.
debug = true # Include debug information for profiling.
opt-level = 3 # Maximum optimization level for performance.
lto = "thin" # Enable Link-Time Optimization (thin LTO for faster linking).
codegen-units = 1 # Reduce codegen units to improve LTO effectiveness (may increase compile time).
[profile.dev] # Profile for development builds.
debug = true # Enable debug information for easier debugging.
opt-level = 0 # No optimization for faster compile times.
split-debuginfo = "unpacked" # Configure debug info splitting for better debugger experience.
[profile.ci] # Profile for Continuous Integration builds.
inherits = "test" # Inherit settings from the 'test' profile (if defined, otherwise defaults).
debug = 0 # Disable debug information for potentially faster and smaller builds.
incremental = false # Disable incremental compilation for cleaner and more reliable CI builds.
codegen-units = 16 # Increase codegen units for potentially faster parallel compilation in CI.
opt-level = 1 # Moderate optimization level for a balance of speed and performance.
[profile.release] # Profile for release builds.
opt-level = 3 # Maximum optimization level for performance.
lto = true # Enable full Link-Time Optimization for maximum performance and smaller binaries.
codegen-units = 1 # Reduce codegen units to improve LTO effectiveness.
strip = true # Strip debug symbols from the final binary to reduce size.
debug = false # Disable debug information for release binaries.
# Workspace Package Configuration: Metadata for the entire workspace as a package.
# This information is used when publishing the SDK as a crate.
[workspace.package]
edition = "2021" # Use Rust 2021 edition.
categories = ["development-tools"] # Categorize as development tools on crates.io.
keywords = ["blockchain", "sdk"] # Keywords for crates.io search.
homepage = "https://kanari.network" # Project homepage.
documentation = "https://docs.kanari.network" # Link to project documentation.
version = "0.0.5" # Current version of the SDK.
authors = ["Kanari Network"] # Authors of the SDK.
license = "Apache-2.0" # License information.
repository = "https://github.com/kanari-network/kanari-sdk" # Link to the code repository.
description = "Kanari Network SDK" # Short description of the SDK.
# Workspace Dependencies: Dependencies that are shared across multiple crates in the workspace.
# Centralized dependency management for consistent versions.
[workspace.dependencies]
# Cryptography & Security
argon2 = "0.5.3"
blake3 = "1.5.3"
chacha20poly1305 = "0.10.1"
crypto = "0.5.1"
digest = "0.10.7"
hex = "0.4.3"
secp256k1 = { version = "0.30.0", features = ["rand"] }
sha2 = "0.10.8"
sha3 = "0.10.8"
# Serialization & Data Formats
bcs = "0.1.4"
bincode = "1.3"
mime_guess = "2.0.5"
serde = { version = "1.0.217", features = ["derive", "rc"] }
serde_json = { version = "1.0.134", features = ["preserve_order", "arbitrary_precision"] }
serde_yaml = "0.9.33"
toml = "0.8.20"
toml_edit = { version = "0.22.24" }
petgraph = "0.7.1"
# Async & Network Programming
async-trait = "0.1"
futures = "0.3.30"
jsonrpc-core = "18.0"
jsonrpc-http-server = "18.0"
tokio = { version = "1", features = ["full"] }
im = "15.1.0"
# Core Utilities
bip39 = { version = "2.0.0", features = ["rand"] }
chrono = "0.4.38"
crossbeam = "0.8.4"
difference = "2.0.0"
dirs = "6.0.0"
once_cell = "1.20.2"
rand = "0.8.5"
tempfile = "3.3.0"
uuid = { version = "1.12", features = ["v4", "serde"] }
walkdir = "2.3.2"
reqwest = "0.12.12"
# Logging & Diagnostics
env_logger = "0.11.6"
log = "0.4.25"
tracing = "0.1.41"
httpmock = "0.7.0"
# Error Handling
anyhow = "1.0.95"
lazy_static = "1.5.0"
thiserror = "2.0.11"
url = "2.5.4"
# CLI & User Interface
clap = { version = "4.5.30" }
codespan-reporting = "0.11.0"
colored = "3.0.0"
derivative = "2.2.0"
# Storage & Database
rocksdb = "0.23.0"
dunce = "1.0.5"
# Testing
datatest-stable = "0.3.2"
# Code Generation
kari-move-analyzer = { path = "crates/kari-move-analyzer" }
kari-move = { path = "crates/kari-move" }
anoma = { path = "mona/anoma" }
mona-types = { path = "mona/types" }
mona-storage = { path = "mona/mona-storage" }
command = { path = "crates/command" }
framework = { path = "framework" }
# Note: the BEGIN and END comments below are required for external tooling. Do not remove.
# BEGIN MOVE DEPENDENCIES
move-abigen = { path = "third_party/move/language/move-prover/move-abigen" }
move-binary-format = { path = "third_party/move/language/move-binary-format" }
move-bytecode-verifier = { path = "third_party/move/language/move-bytecode-verifier" }
move-bytecode-utils = { path = "third_party/move/language/tools/move-bytecode-utils" }
move-cli = { path = "third_party/move/language/tools/move-cli" }
move-command-line-common = { path = "third_party/move/language/move-command-line-common" }
move-compiler = { path = "third_party/move/language/move-compiler" }
move-core-types = { path = "third_party/move/language/move-core/types" }
move-coverage = { path = "third_party/move/language/tools/move-coverage" }
move-disassembler = { path = "third_party/move/language/tools/move-disassembler" }
move-docgen = { path = "third_party/move/language/move-prover/move-docgen" }
move-errmapgen = { path = "third_party/move/language/move-prover/move-errmapgen" }
move-ir-compiler = { path = "third_party/move/language/move-ir-compiler" }
move-model = { path = "third_party/move/language/move-model" }
move-package = { path = "third_party/move/language/tools/move-package" }
move-prover = { path = "third_party/move/language/move-prover" }
move-prover-boogie-backend = { path = "third_party/move/language/move-prover/boogie-backend" }
move-stackless-bytecode = { path = "third_party/move/language/move-prover/bytecode" }
move-prover-test-utils = { path = "third_party/move/language/move-prover/test-utils" }
move-resource-viewer = { path = "third_party/move/language/tools/move-resource-viewer" }
move-stdlib = { path = "third_party/move/language/move-stdlib", features = ["testing"] }
move-symbol-pool = { path = "third_party/move/language/move-symbol-pool" }
move-transactional-test-runner = { path = "third_party/move/language/testing-infra/transactional-test-runner" }
move-unit-test = { path = "third_party/move/language/tools/move-unit-test", features = ["table-extension"] }
move-vm-runtime = { path = "third_party/move/language/move-vm/runtime", features = ["stacktrace", "debugging", "testing"] }
move-vm-test-utils = { path = "third_party/move/language/move-vm/test-utils", features = ["table-extension"] }
move-vm-types = { path = "third_party/move/language/move-vm/types" }
move-bytecode-source-map = { path = "third_party/move/language/move-ir-compiler/move-bytecode-source-map" }
move-ir-types = { path = "third_party/move/language/move-ir/types" }
move-bytecode-viewer = { path = "third_party/move/language/tools/move-bytecode-viewer" }
move-table-extension = { path = "third_party/move/language/extensions/move-table-extension" }
read-write-set = { path = "third_party/move/language/tools/read-write-set" }
read-write-set-dynamic = { path = "third_party/move/language/tools/read-write-set/dynamic" }