[workspace] resolver = "2" members = [ "cli/cli-test-utils", "cli/s-cli-utils", "cli/s-controller", "cli/generic-pool-calculator", "cli/pricing-programs/*", "generated/pricing-programs/*", "generated/s_controller_interface", "generated/sol-value-calculator-programs/*", "keys/*", "libs/aggregate/*", "libs/pricing-programs/*", "libs/s-controller-lib", "libs/s-controller-test-utils", "libs/s-jup-interface", "libs/sanctum-s-common", "libs/sol-value-calculator-programs/*", "programs/pricing-programs/*", "programs/s-controller", "programs/sol-value-calculator-programs/*", "test-utils", ] #[profile.release] #overflow-checks = true # increases binary size, we're using checked ops everywhere #lto = "fat" # doesn't affect binary size #panic = "abort" # cargo-build-sbf does this #strip = true # cargo-build-sbf strips symbols after building [workspace.dependencies] anyhow = "^1" assert_cmd = "^2" async-trait = ">=0.1" bincode = "^1" borsh = ">=0.9" bs58 = "^0.4" bytemuck = "^1" clap = { version = "^4", features = ["derive"] } data-encoding = "^2" inquire = { version = "^0.7", default-features = false, features = ["crossterm"] } jupiter-amm-interface = "~0.4" num-derive = ">=0.3" num-traits = ">=0.2" proptest = "^1" rand = ">=0.1" rust_decimal = ">=1.0" # anything >1.32 uses borsh ^1 sanctum-macros = "^1.2" serde = "^1.0.197" serde_json = "^1" spl-pod = ">=0.1.0" spl-stake-pool = ">=0.1.0" spl-token = ">=0.1.0" spl-token-2022 = ">=0.1.0" spl-token-metadata-interface = ">=0.1.0" spl-associated-token-account = ">=0.1.0" static_assertions = "^1" thiserror = "^1" tokio = "^1" # DO NOT ENABLE `features = ["solana-sdk"]` HERE OR ELSE IT'LL MAKE ALL ONCHAIN PROGRAMS UNCOMPILABLE # CLIENT CRATES SHOULD ENABLE IT SEPARATELY solana-readonly-account = "^1.1" # solana libraries (not pure rust) # Use >=1 for flexibility for library users, but lock to 1.17.6 for deploy. solana-account-decoder = ">=1" solana-client = ">=1" solana-program = ">=1" solana-program-test = ">=1" solana-remote-wallet = ">=1" solana-rpc-client-api = ">=1" solana-sdk = ">=1" solana-transaction-status = ">=1" # sanctum-solana-utils # TODO: use the same commit for everything once all the *-lib libs are ready, requires refactor # 2d1718f is the older version, frozen for now due to breaking changes in these 3 libs sanctum-associated-token-lib = { git = "https://github.com/igneous-labs/sanctum-solana-utils.git", branch = "2d1718f-loose-deps" } sanctum-misc-utils = { git = "https://github.com/igneous-labs/sanctum-solana-utils.git", branch = "2d1718f-loose-deps" } sanctum-token-lib = { git = "https://github.com/igneous-labs/sanctum-solana-utils.git", branch = "2d1718f-loose-deps" } sanctum-solana-cli-utils = { git = "https://github.com/igneous-labs/sanctum-solana-utils.git", branch = "f6c40a0-loose-deps", features = ["clap"] } sanctum-solana-client-utils = { git = "https://github.com/igneous-labs/sanctum-solana-utils.git", branch = "f6c40a0-loose-deps" } sanctum-solana-test-utils = { git = "https://github.com/igneous-labs/sanctum-solana-utils.git", branch = "f6c40a0-loose-deps" } sanctum-system-program-lib = { git = "https://github.com/igneous-labs/sanctum-solana-utils.git", branch = "f6c40a0-loose-deps" } sanctum-token-ratio = { git = "https://github.com/igneous-labs/sanctum-solana-utils.git", branch = "f6c40a0-loose-deps" } system_program_interface = { git = "https://github.com/igneous-labs/sanctum-solana-utils.git", branch = "f6c40a0-loose-deps" } # sanctum-lst-list sanctum-lst-list = { git = "https://github.com/igneous-labs/sanctum-lst-list.git", branch = "master" } marinade_finance_interface = { git = "https://github.com/igneous-labs/marinade_finance_interface.git", branch = "master" } # stakedex stakedex_interface = { git = "https://github.com/igneous-labs/stakedex-sdk.git", branch = "solana-v1" } stakedex_marinade = { git = "https://github.com/igneous-labs/stakedex-sdk.git", branch = "solana-v1" } stakedex_sdk_common = { git = "https://github.com/igneous-labs/stakedex-sdk.git", branch = "solana-v1" } stakedex_spl_stake_pool = { git = "https://github.com/igneous-labs/stakedex-sdk.git", branch = "solana-v1" } # workspace members cli-test-utils = { path = "./cli/cli-test-utils" } flat_fee_interface = { path = "./generated/pricing-programs/flat_fee_interface" } pricing_programs_interface = { path = "./generated/pricing-programs/pricing_programs_interface" } s_controller_interface = { path = "./generated/s_controller_interface" } generic_pool_calculator_interface = { path = "./generated/sol-value-calculator-programs/generic_pool_calculator_interface" } lido_calculator_interface = { path = "./generated/sol-value-calculator-programs/lido_calculator_interface" } marinade_calculator_interface = { path = "./generated/sol-value-calculator-programs/marinade_calculator_interface" } sol_value_calculator_interface = { path = "./generated/sol-value-calculator-programs/sol_value_calculator_interface" } spl_calculator_interface = { path = "./generated/sol-value-calculator-programs/spl_calculator_interface" } wsol_calculator_interface = { path = "./generated/sol-value-calculator-programs/wsol_calculator_interface" } lido-keys = { path = "./keys/lido-keys" } marinade-keys = { path = "./keys/marinade-keys" } sanctum-spl-multi-stake-pool-keys = { path = "./keys/sanctum-spl-multi-stake-pool-keys" } spl-stake-pool-keys = { path = "./keys/spl-stake-pool-keys" } wsol-keys = { path = "./keys/wsol-keys" } flat-fee-lib = { path = "./libs/pricing-programs/flat-fee-lib" } flat-fee-test-utils = { path = "./libs/pricing-programs/flat-fee-test-utils" } s-controller-lib = { path = "./libs/s-controller-lib" } generic-pool-calculator-lib = { path = "./libs/sol-value-calculator-programs/generic-pool-calculator-lib" } generic-pool-calculator-onchain = { path = "./libs/sol-value-calculator-programs/generic-pool-calculator-onchain" } generic-pool-calculator-test-utils = { path = "./libs/sol-value-calculator-programs/generic-pool-calculator-test-utils" } lido-calculator-lib = { path = "./libs/sol-value-calculator-programs/lido-calculator-lib" } marinade-calculator-lib = { path = "./libs/sol-value-calculator-programs/marinade-calculator-lib" } s-jup-interface = { path = "./libs/s-jup-interface"} s-pricing-prog-aggregate = { path = "./libs/aggregate/s-pricing-prog-aggregate"} s-sol-val-calc-prog-aggregate = { path = "./libs/aggregate/s-sol-val-calc-prog-aggregate" } sanctum-s-common = { path = "./libs/sanctum-s-common" } sanctum-spl-stake-pool-keys = { path = "./keys/sanctum-spl-stake-pool-keys" } sol-value-calculator-lib = { path = "./libs/sol-value-calculator-programs/sol-value-calculator-lib" } sol-value-calculator-onchain = { path = "./libs/sol-value-calculator-programs/sol-value-calculator-onchain" } spl-calculator-lib = { path = "./libs/sol-value-calculator-programs/spl-calculator-lib" } wsol-calculator-lib = { path = "./libs/sol-value-calculator-programs/wsol-calculator-lib" } flat-fee = { path = "./programs/pricing-programs/flat-fee" } no-fee-pricing-program = { path = "./programs/pricing-programs/no-fee-pricing-program" } s-cli-utils = { path = "./cli/s-cli-utils" } s-controller = { path = "./programs/s-controller" } s-controller-test-utils = { path = "./libs/s-controller-test-utils" } lido-calculator = { path = "./programs/sol-value-calculator-programs/lido-calculator" } marinade-calculator = { path = "./programs/sol-value-calculator-programs/marinade-calculator" } spl-calculator = { path = "./programs/sol-value-calculator-programs/spl-calculator" } wsol-calculator = { path = "./programs/sol-value-calculator-programs/wsol-calculator" } test-utils = { path = "./test-utils" }