forked from OpenZeppelin/rust-contracts-stylus
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCargo.toml
126 lines (115 loc) · 3.09 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
[workspace]
members = [
"contracts",
"contracts-proc",
"lib/crypto",
"lib/motsu",
"lib/motsu-proc",
"lib/e2e",
"lib/e2e-proc",
"examples/erc20",
"examples/erc20-permit",
"examples/erc721",
"examples/erc721-consecutive",
"examples/erc721-metadata",
"examples/erc1155",
"examples/merkle-proofs",
"examples/ownable",
"examples/access-control",
"examples/basic/token",
"examples/basic/script",
"examples/ecdsa",
"benches",
]
default-members = [
"contracts",
"contracts-proc",
"lib/crypto",
"lib/motsu",
"lib/motsu-proc",
"lib/e2e-proc",
"examples/erc20",
"examples/erc20-permit",
"examples/erc721",
"examples/erc721-consecutive",
"examples/erc721-metadata",
"examples/erc1155",
"examples/merkle-proofs",
"examples/ownable",
"examples/access-control",
"examples/basic/token",
"examples/ecdsa",
]
# Explicitly set the resolver to version 2, which is the default for packages
# with edition >= 2021.
# https://doc.rust-lang.org/edition-guide/rust-2021/default-cargo-resolver.html
resolver = "2"
[workspace.package]
authors = ["OpenZeppelin"]
edition = "2021"
license = "MIT"
repository = "https://github.com/OpenZeppelin/rust-contracts-stylus"
version = "0.1.1"
[workspace.lints.rust]
missing_docs = "warn"
unreachable_pub = "warn"
rust_2021_compatibility = { level = "warn", priority = -1 }
[workspace.lints.clippy]
pedantic = "warn"
all = "warn"
[workspace.dependencies]
# stylus-related
stylus-sdk = "0.6.0"
alloy = { version = "=0.1.4", features = [
"contract",
"network",
"providers",
"provider-http",
"rpc-client",
"rpc-types-eth",
"signer-local",
"getrandom",
] }
# Even though `alloy` includes `alloy-primitives` and `alloy-sol-types` we need
# to keep both versions for compatibility with the Stylus SDK. Once they start
# using `alloy` we can remove these.
alloy-primitives = { version = "=0.7.6", default-features = false }
alloy-sol-types = { version = "=0.7.6", default-features = false }
alloy-sol-macro = { version = "=0.7.6", default-features = false }
alloy-sol-macro-expander = { version = "=0.7.6", default-features = false }
alloy-sol-macro-input = { version = "=0.7.6", default-features = false }
const-hex = { version = "1.11.1", default-features = false }
eyre = "0.6.8"
keccak-const = "0.2.0"
koba = "0.2.0"
once_cell = "1.19.0"
rand = "0.8.5"
regex = "1.10.4"
tiny-keccak = { version = "2.0.2", features = ["keccak"] }
tokio = { version = "1.12.0", features = ["full"] }
futures = "0.3.30"
dashmap = "6.1.0"
# procedural macros
syn = { version = "2.0.58", features = ["full"] }
proc-macro2 = "1.0.79"
quote = "1.0.35"
# members
openzeppelin-stylus = { path = "contracts" }
openzeppelin-stylus-proc = { path = "contracts-proc", version = "0.1.0" }
openzeppelin-crypto = { path = "lib/crypto" }
motsu = { path = "lib/motsu" }
motsu-proc = { path = "lib/motsu-proc", version = "0.1.0" }
e2e = { path = "lib/e2e" }
e2e-proc = { path = "lib/e2e-proc" }
[profile.release]
codegen-units = 1
panic = "abort"
opt-level = "z"
strip = true
lto = true
debug = false
rpath = false
debug-assertions = false
incremental = false
[profile.dev]
panic = "abort"