[workspace] resolver = "3" members = [ "common", "contract/*", "fuzz", "tools/*", "mock/*", "service/*", "test-utils", "universal-account", ] [workspace.package] license = "MIT" repository = "https://github.com/Templar-Protocol/contracts" edition = "2021" [workspace.dependencies] alloy = { version = "1", default-features = false } alloy-primitives = { version = "1", default-features = false } anyhow = "1.0.95" arbitrary = { version = "1", features = ["derive"] } async-trait = "0.1.88" base64 = "0.22.1" borsh = { version = "1.5", features = ["unstable__schema"] } clap = { version = "4.5.23", features = ["derive", "env"] } ed25519-dalek = "2.2.0" futures = "0.3.31" getrandom = { version = "0.2", features = ["custom"] } hex = { version = "0.4.3", features = ["serde"] } hex-literal = "0.4" itertools = "0.14.0" libfuzzer-sys = "0.4" near-account-id = "1.1.4" near-chain-configs = "0.31.1" near-contract-standards = "5.17.2" near-crypto = "0.31.1" near-jsonrpc-client = "0.18.0" near-jsonrpc-primitives = "0.31.1" near-parameters = "0.31.1" near-primitives = "0.31.1" near-sdk = { version = "5.17.2", features = ["unstable"] } near-sdk-contract-tools = { git = "https://github.com/near/near-sdk-contract-tools", branch = "140-nep-245-multitoken-component" } near-workspaces = { version = "0.21.0", features = ["unstable"] } p256 = "0.13.2" primitive-types = { version = "0.10.1" } rstest = { version = "0.24" } schemars = { version = "0.8" } solana-sdk = "3.0.0" templar-common = { path = "./common" } templar-universal-account = { path = "./universal-account" } templar-vault-contract = { path = "./contract/vault" } test-utils = { path = "./test-utils" } thiserror = "2.0.11" tokio = { version = "1.30.0", features = ["full"] } tower = "0.4.13" tower-http = { version = "0.6.6", features = ["full"] } tracing = "0.1.41" tracing-subscriber = { version = "0.3.19", features = ["env-filter"] } wiremock = "0.5.22" [workspace.lints.clippy] pedantic = { level = "warn", priority = -1 } must_use_candidate = "allow" large_futures = "allow" redundant_closure_for_method_calls = "allow" module_name_repetitions = "allow" unwrap_used = "warn" expect_used = "warn" large_digit_groups = "warn" missing_panics_doc = "allow" wildcard_imports = "warn" [profile.dev] incremental = true [profile.release] codegen-units = 1 # Tell `rustc` to optimize for small code size. opt-level = "z" lto = true debug = false panic = "abort" # Opt into extra safety checks on arithmetic operations https://stackoverflow.com/a/64136471/249801 overflow-checks = true # https://github.com/launchbadge/sqlx?tab=readme-ov-file#compile-time-verification [profile.dev.package.sqlx-macros] opt-level = 3 # Coverage profile for testing [profile.coverage] inherits = "dev" debug = true # Disable optimizations to get accurate coverage opt-level = 0 overflow-checks = false