datahaven/operator/pallets/outbound-queue-v2/Cargo.toml

96 lines
2.8 KiB
TOML
Raw Permalink Normal View History

[package]
authors = ["Snowfork <contact@snowfork.com>"]
categories = ["cryptography::cryptocurrencies"]
description = "Snowbridge Outbound Queue Pallet V2"
edition.workspace = true
license = "Apache-2.0"
name = "snowbridge-pallet-outbound-queue-v2"
repository.workspace = true
version.workspace = true
[package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"]
[package.metadata.polkadot-sdk]
exclude-from-umbrella = true
[dependencies]
alloy-core = { workspace = true, features = ["sol-types"] }
codec = { features = ["derive"], workspace = true }
ethabi = { workspace = true }
hex-literal = { workspace = true, default-features = true }
scale-info = { features = ["derive"], workspace = true }
serde = { features = ["alloc", "derive"], workspace = true }
frame-benchmarking = { optional = true, workspace = true }
frame-support = { workspace = true }
frame-system = { workspace = true }
sp-arithmetic = { workspace = true }
sp-core = { workspace = true }
sp-io = { workspace = true }
sp-runtime = { workspace = true }
sp-std = { workspace = true }
bp-relayers = { workspace = true }
bridge-hub-common = { workspace = true }
test: init benchmark infra (#110) * Add `run_benchmarks.sh` script to run runtime benchmarks * Sets up benchmark configs and directory structure to store weights (`operator/runtime/<RUNTIME>/weights`) * (naive) fixes to some benchmarks: * `pallet_datahaven_native_transfer`: * use a mock for `NativeTokenId` * look at the balance difference of the treasury instead of the total (this makes the benchmark agnostic to genesis setup) * `snowbridge_pallet_system` / `snowbridge_pallet_system_v2` use native token xcm location vs relay chain one. Add missing benchmark methods and update fixture with valid data. * `snowbridge_pallet_ethereum_client`: update fixtures with valid data * `snowbrige_pallet_inbound_queue_v2`: set EthereumGatewayAddress when initializing storage on benchmark and use a mock message processor ( as fixture has `CreateAsset` payload which is not supported in the `EigenLayerMessageProcessor`) * `snowbridge_pallet_outbound_queue_v2`: add missing `submit_delivery_receipt` benchmark which required a dedicated fixture (all copied from the upstream pallet) * `pallet_treasury`: Use an `ExistentialDeposit` of `1` on benchmark, else payout fails. * `pallet_transaction_payment`: Use a custom `WeightToFee` that makes the Fee small, else account in benchmark cannot pay for fees (It is funded a multiplier of `ExistentialDeposit` and is expected for that to be enough, but it's not in our particular setup). * comment out `pallet_identity` and `pallet_im_online` due to incompatibilities (to be addressed later) * Basic benchmark run to set `WeightInfo` from `weights` in configs (real run should be done later using target hardware) --------- Co-authored-by: Ahmad Kaouk <ahmadkaouk.93@gmail.com> Co-authored-by: Tobi Demeco <50408393+TDemeco@users.noreply.github.com> Co-authored-by: undercover-cactus <lola@moonsonglabs.com> Co-authored-by: TDemeco <tdemeco@itba.edu.ar>
2025-08-06 11:44:42 +00:00
snowbridge-beacon-primitives = { workspace = true }
snowbridge-core = { workspace = true }
snowbridge-inbound-queue-primitives = { workspace = true }
snowbridge-merkle-tree = { workspace = true }
snowbridge-outbound-queue-primitives = { workspace = true }
test: init benchmark infra (#110) * Add `run_benchmarks.sh` script to run runtime benchmarks * Sets up benchmark configs and directory structure to store weights (`operator/runtime/<RUNTIME>/weights`) * (naive) fixes to some benchmarks: * `pallet_datahaven_native_transfer`: * use a mock for `NativeTokenId` * look at the balance difference of the treasury instead of the total (this makes the benchmark agnostic to genesis setup) * `snowbridge_pallet_system` / `snowbridge_pallet_system_v2` use native token xcm location vs relay chain one. Add missing benchmark methods and update fixture with valid data. * `snowbridge_pallet_ethereum_client`: update fixtures with valid data * `snowbrige_pallet_inbound_queue_v2`: set EthereumGatewayAddress when initializing storage on benchmark and use a mock message processor ( as fixture has `CreateAsset` payload which is not supported in the `EigenLayerMessageProcessor`) * `snowbridge_pallet_outbound_queue_v2`: add missing `submit_delivery_receipt` benchmark which required a dedicated fixture (all copied from the upstream pallet) * `pallet_treasury`: Use an `ExistentialDeposit` of `1` on benchmark, else payout fails. * `pallet_transaction_payment`: Use a custom `WeightToFee` that makes the Fee small, else account in benchmark cannot pay for fees (It is funded a multiplier of `ExistentialDeposit` and is expected for that to be enough, but it's not in our particular setup). * comment out `pallet_identity` and `pallet_im_online` due to incompatibilities (to be addressed later) * Basic benchmark run to set `WeightInfo` from `weights` in configs (real run should be done later using target hardware) --------- Co-authored-by: Ahmad Kaouk <ahmadkaouk.93@gmail.com> Co-authored-by: Tobi Demeco <50408393+TDemeco@users.noreply.github.com> Co-authored-by: undercover-cactus <lola@moonsonglabs.com> Co-authored-by: TDemeco <tdemeco@itba.edu.ar>
2025-08-06 11:44:42 +00:00
snowbridge-verification-primitives = { workspace = true }
xcm = { workspace = true }
xcm-builder = { workspace = true }
xcm-executor = { workspace = true }
[dev-dependencies]
pallet-message-queue = { workspace = true }
sp-keyring = { workspace = true, default-features = true }
[features]
default = ["std"]
runtime-benchmarks = [
"bridge-hub-common/runtime-benchmarks",
"frame-benchmarking",
"frame-benchmarking/runtime-benchmarks",
"frame-support/runtime-benchmarks",
"frame-system/runtime-benchmarks",
"pallet-message-queue/runtime-benchmarks",
"snowbridge-core/runtime-benchmarks",
"sp-runtime/runtime-benchmarks",
"xcm-builder/runtime-benchmarks",
"xcm-executor/runtime-benchmarks",
]
std = [
"alloy-core/std",
"bp-relayers/std",
"bridge-hub-common/std",
"codec/std",
"ethabi/std",
"frame-benchmarking/std",
"frame-support/std",
"frame-system/std",
"pallet-message-queue/std",
"scale-info/std",
"serde/std",
"snowbridge-core/std",
"snowbridge-merkle-tree/std",
"snowbridge-outbound-queue-primitives/std",
"sp-arithmetic/std",
"sp-core/std",
"sp-io/std",
"sp-runtime/std",
"sp-std/std",
"xcm-builder/std",
"xcm-executor/std",
"xcm/std",
]
try-runtime = [
"frame-support/try-runtime",
"frame-system/try-runtime",
"pallet-message-queue/try-runtime",
"sp-runtime/try-runtime",
]