From 6b13258aa9cbcf72ecc691303e141a5341b4f03b Mon Sep 17 00:00:00 2001 From: brentstone Date: Mon, 26 Aug 2024 23:39:19 -0700 Subject: [PATCH 1/6] change naming to correspond to the phase to which we are upgrading --- Cargo.lock | 30 ++-- Cargo.toml | 8 +- Earthfile | 2 +- README.md | 8 +- block_party/src/lib.rs | 29 ---- ...lding-reward-party.json => nam-party.json} | 2 +- ...arty.json => shielding-rewards-party.json} | 8 +- builder/parameters/staking-party.json | 6 +- .../Cargo.toml | 2 +- .../src/lib.rs | 0 shielding_party/Cargo.toml | 2 +- shielding_party/src/lib.rs | 113 ++------------- .../Cargo.toml | 5 +- shielding_rewards_party/src/lib.rs | 135 ++++++++++++++++++ staking_party/Cargo.toml | 3 +- staking_party/src/lib.rs | 46 +++--- 16 files changed, 209 insertions(+), 190 deletions(-) rename builder/parameters/{shielding-reward-party.json => nam-party.json} (95%) rename builder/parameters/{block-party.json => shielding-rewards-party.json} (87%) rename {shielding_reward_party => nam_party}/Cargo.toml (93%) rename {shielding_reward_party => nam_party}/src/lib.rs (100%) rename {block_party => shielding_rewards_party}/Cargo.toml (69%) create mode 100644 shielding_rewards_party/src/lib.rs diff --git a/Cargo.lock b/Cargo.lock index 23174f8..d442f95 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -306,20 +306,20 @@ dependencies = [ ] [[package]] -name = "block_party" -version = "0.1.0" +name = "bls12_381" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7bc6d6292be3a19e6379786dac800f551e5865a5bb51ebbe3064ab80433f403" dependencies = [ - "getrandom", - "namada_proof_of_stake", - "namada_tx_prelude", - "rlsf", + "ff", + "rand_core", + "subtle", ] [[package]] name = "bls12_381" version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7bc6d6292be3a19e6379786dac800f551e5865a5bb51ebbe3064ab80433f403" +source = "git+https://github.com/heliaxdev/bls12_381.git?rev=d3ebe9dd6488fac1923db120a7498079e55dd838#d3ebe9dd6488fac1923db120a7498079e55dd838" dependencies = [ "ff", "rand_core", @@ -1875,6 +1875,15 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" +[[package]] +name = "nam_party" +version = "0.1.0" +dependencies = [ + "getrandom", + "namada_tx_prelude", + "rlsf", +] + [[package]] name = "namada_account" version = "0.43.0" @@ -3126,7 +3135,7 @@ dependencies = [ ] [[package]] -name = "shielded_reward_party" +name = "shielding_party" version = "0.1.0" dependencies = [ "getrandom", @@ -3135,7 +3144,7 @@ dependencies = [ ] [[package]] -name = "shielding_party" +name = "shielding_rewards_party" version = "0.1.0" dependencies = [ "getrandom", @@ -3198,6 +3207,7 @@ name = "staking_party" version = "0.1.0" dependencies = [ "getrandom", + "namada_proof_of_stake", "namada_tx_prelude", "rlsf", ] diff --git a/Cargo.toml b/Cargo.toml index 47f6265..69131c3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,17 +2,17 @@ resolver = "2" members = [ - "block_party", "staking_party", "shielding_party", - "shielding_reward_party", + "shielding_rewards_party", + "nam_party", ] default-members = [ - "block_party", "staking_party", "shielding_party", - "shielding_reward_party", + "shielding_rewards_party", + "nam_party", ] [workspace.package] diff --git a/Earthfile b/Earthfile index 51b9684..bd29a26 100644 --- a/Earthfile +++ b/Earthfile @@ -18,7 +18,7 @@ source: COPY --keep-ts Cargo.toml Cargo.lock ./ COPY --keep-ts --chmod 755 docker/run-wasmopt.sh ./run-wasmopt.sh COPY --keep-ts --chmod 755 docker/download-wasmopt.sh ./download-wasmopt.sh - COPY --keep-ts --dir block_party shielding_party staking_party shielding_reward_party ./ + COPY --keep-ts --dir shielding_party staking_party shielding_rewards_party nam_party ./ # lint runs cargo clippy on the source code lint: diff --git a/README.md b/README.md index b8cbc35..1f7c86f 100644 --- a/README.md +++ b/README.md @@ -8,25 +8,25 @@ Namada mainnet launch is divided into [5 phases](https://namada.net/mainnet-laun Staking rewards are enabled for delegators and validators staking NAM. Public Goods Funding is enabled to support public goods in the Namada ecosystem and beyond. -The reference code can be found in [block_party folder](./block_party/). +The reference code can be found in [staking_party folder](./staking_party/). ## Staking party -> Shielding party (Phase 2 -> 3) Transparent and shielded transfers of governance-enabled IBC assets are enabled. Users can begin shielding assets in the unified shielded set. NAM transfers remain locked until phase 5 (NAM party). -The reference code can be found in [staking_party folder](./staking_party/). +The reference code can be found in [shielding_party folder](./shielding_party/). ## Shielding party -> Shielding Reward party (Phase 3 -> 4) Shielding rewards for governance-enabled IBC assets are enabled. Users begin collecting rewards for shielding assets, which protects their data and helps strengthen Namada’s unified shielded set. -The reference code can be found in [shielding_party folder](./shielding_party/). +The reference code can be found in [shielding_rewards_party folder](./shielding_rewards_party/). ## Shielding Reward party -> NAM Party (Phase 4 -> 5) When the Namada community is confident that the network is stable, NAM transfers are enabled. All key protocol functionality is now live. From here on, new features and support for new assets can continue to be added by the community via on-chain governance. -The reference code can be found in [shielding_reward_party folder](./shielding_reward_party/). +The reference code can be found in [nam_party folder](./nam_party/). # How to build To generate the wasm artifacts that can be attached to the governance proposal, run: diff --git a/block_party/src/lib.rs b/block_party/src/lib.rs index 5c558a5..e69de29 100644 --- a/block_party/src/lib.rs +++ b/block_party/src/lib.rs @@ -1,29 +0,0 @@ -use dec::Dec; -use namada_tx_prelude::*; - -use std::str::FromStr; - -use namada_proof_of_stake::storage::{read_pos_params, write_pos_params}; - -#[transaction] -fn apply_tx(ctx: &mut Ctx, _tx_data: BatchedTx) -> TxResult { - // PoS inflation - let mut pos_params = read_pos_params::<_, governance::Store<_>>(ctx)?.owned; - pos_params.max_inflation_rate = Dec::from_str("0.1").unwrap(); - pos_params.target_staked_ratio = Dec::from_str("0.666667").unwrap(); - pos_params.rewards_gain_p = Dec::from_str("2.5").unwrap(); - pos_params.rewards_gain_d = Dec::from_str("2.5").unwrap(); - write_pos_params(ctx, &pos_params)?; - - // PGF inflation - let pgf_inflation_key = governance::pgf::storage::keys::get_pgf_inflation_rate_key(); - let pgf_inflation_rate = Dec::from_str("0.025").unwrap(); - ctx.write(&pgf_inflation_key, pgf_inflation_rate)?; - - // PGF stewards inflation - let steward_inflation_key = governance::pgf::storage::keys::get_steward_inflation_rate_key(); - let steward_inflation_rate = Dec::from_str("0.001").unwrap(); - ctx.write(&steward_inflation_key, steward_inflation_rate)?; - - Ok(()) -} diff --git a/builder/parameters/shielding-reward-party.json b/builder/parameters/nam-party.json similarity index 95% rename from builder/parameters/shielding-reward-party.json rename to builder/parameters/nam-party.json index 29baab8..a897bfc 100644 --- a/builder/parameters/shielding-reward-party.json +++ b/builder/parameters/nam-party.json @@ -11,5 +11,5 @@ "voting_start_epoch": 9, "voting_end_epoch": 18, "activation_epoch": 25, - "wasm_path": "artifacts/shielded_reward_party.wasm" + "wasm_path": "artifacts/nam_party.wasm" } \ No newline at end of file diff --git a/builder/parameters/block-party.json b/builder/parameters/shielding-rewards-party.json similarity index 87% rename from builder/parameters/block-party.json rename to builder/parameters/shielding-rewards-party.json index d885791..8122259 100644 --- a/builder/parameters/block-party.json +++ b/builder/parameters/shielding-rewards-party.json @@ -8,8 +8,8 @@ "details": "Phasellus quis sem finibus, luctus neque in, vestibulum lectus.", "requires": "-1", "author": "tnam1qxfj3sf6a0meahdu9t6znp05g8zx4dkjtgyn9gfu", - "voting_start_epoch": 6, - "voting_end_epoch": 12, - "activation_epoch": 18, - "wasm_path": "artifacts/block_party.wasm" + "voting_start_epoch": 9, + "voting_end_epoch": 18, + "activation_epoch": 25, + "wasm_path": "artifacts/shielding_rewards_party.wasm" } \ No newline at end of file diff --git a/builder/parameters/staking-party.json b/builder/parameters/staking-party.json index ec54868..a283038 100644 --- a/builder/parameters/staking-party.json +++ b/builder/parameters/staking-party.json @@ -8,8 +8,8 @@ "details": "Phasellus quis sem finibus, luctus neque in, vestibulum lectus.", "requires": "-1", "author": "tnam1qxfj3sf6a0meahdu9t6znp05g8zx4dkjtgyn9gfu", - "voting_start_epoch": 9, - "voting_end_epoch": 18, - "activation_epoch": 25, + "voting_start_epoch": 6, + "voting_end_epoch": 12, + "activation_epoch": 18, "wasm_path": "artifacts/staking_party.wasm" } \ No newline at end of file diff --git a/shielding_reward_party/Cargo.toml b/nam_party/Cargo.toml similarity index 93% rename from shielding_reward_party/Cargo.toml rename to nam_party/Cargo.toml index dc7ede5..dcdaadc 100644 --- a/shielding_reward_party/Cargo.toml +++ b/nam_party/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "shielded_reward_party" +name = "nam_party" description = "WASM transaction to transition from phase 4 to phase 5 of Namada mainnet." authors.workspace = true edition.workspace = true diff --git a/shielding_reward_party/src/lib.rs b/nam_party/src/lib.rs similarity index 100% rename from shielding_reward_party/src/lib.rs rename to nam_party/src/lib.rs diff --git a/shielding_party/Cargo.toml b/shielding_party/Cargo.toml index af9a216..e7a1c03 100644 --- a/shielding_party/Cargo.toml +++ b/shielding_party/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "shielding_party" -description = "WASM transaction to transition from phase 3 to phase 4 of Namada mainnet." +description = "WASM transaction to transition from phase 2 to phase 3 of Namada mainnet." authors.workspace = true edition.workspace = true license.workspace = true diff --git a/shielding_party/src/lib.rs b/shielding_party/src/lib.rs index 9526289..82d1187 100644 --- a/shielding_party/src/lib.rs +++ b/shielding_party/src/lib.rs @@ -1,126 +1,39 @@ -use dec::Dec; use namada_tx_prelude::*; -use std::str::FromStr; -pub type Denomination = u8; pub type ChannelId = &'static str; pub type BaseToken = &'static str; -pub type TokenMaxReward = &'static str; -pub type TokenTargetLockedAmount = u64; -pub type KpGain = &'static str; -pub type KdGain = &'static str; +pub type MintTokenLimit = token::Amount; +pub type ThroughtputTokenLimit = token::Amount; -const IBC_TOKENS: [( - Denomination, - ChannelId, - BaseToken, - TokenMaxReward, - TokenTargetLockedAmount, - KpGain, - KdGain, -); 2] = [ +const IBC_TOKENS: [(ChannelId, BaseToken, MintTokenLimit, ThroughtputTokenLimit); 2] = [ ( - 0, "channel-0", "tnam1qrdm8ymq2svrrafzuqahm547xm4kfuw3aue93uzs", - "0.01", - 1_000_000_000, - "120000", - "120000", + MintTokenLimit::from_u64(1000), + ThroughtputTokenLimit::from_u64(10000), ), ( - 0, "channel-1", "tnam1qqx4luqsngxdmpf5nk8shkn7wwlmz6g7dckp8kgm", - "0.015", - 1_500_000_000, - "150000", - "110000", + MintTokenLimit::from_u64(2000), + ThroughtputTokenLimit::from_u64(13000), ), ]; #[transaction] fn apply_tx(ctx: &mut Ctx, _tx_data: BatchedTx) -> TxResult { - // Read the current MASP token map - let token_map_key = token::storage_key::masp_token_map_key(); - let mut token_map = ctx - .read::(&token_map_key)? - .unwrap_or_default(); - - let nam_address = ctx.get_native_token()?; - - // Add native token to token map - token_map.insert("nam".to_string(), nam_address.clone()); - - let shielded_native_token_last_inflation_key = - token::storage_key::masp_last_inflation_key(&nam_address); - let shielded_native_token_last_locked_amount_key = - token::storage_key::masp_last_locked_amount_key(&nam_address); - let shielded_native_token_max_rewards_key = - token::storage_key::masp_max_reward_rate_key(&nam_address); - let shielded_native_token_target_locked_amount_key = - token::storage_key::masp_locked_amount_target_key(&nam_address); - let shielded_native_token_kp_gain_key = token::storage_key::masp_kp_gain_key(&nam_address); - let shielded_native_token_kd_gain_key = token::storage_key::masp_kd_gain_key(&nam_address); - - // Setup native token shielded set rewards to 0 - ctx.write( - &shielded_native_token_last_inflation_key, - token::Amount::zero(), - )?; - ctx.write( - &shielded_native_token_last_locked_amount_key, - token::Amount::zero(), - )?; - ctx.write(&shielded_native_token_max_rewards_key, Dec::zero())?; - ctx.write( - &shielded_native_token_target_locked_amount_key, - token::Amount::from_uint(0, 6).unwrap(), - )?; - ctx.write(&shielded_native_token_kp_gain_key, Dec::zero())?; - ctx.write(&shielded_native_token_kd_gain_key, Dec::zero())?; - - // Enable shielded set rewards for ibc tokens - for (denomination, channel_id, base_token, max_reward, target_locked_amount, kp, kd) in - IBC_TOKENS - { + // Enable IBC deposit/withdraws limits + for (channel_id, base_token, mint_limit, throughput_limit) in IBC_TOKENS { let ibc_denom = format!("transfer/{channel_id}/{base_token}"); let token_address = ibc::ibc_token(&ibc_denom); - let shielded_token_last_inflation_key = - token::storage_key::masp_last_inflation_key(&token_address); - let shielded_token_last_locked_amount_key = - token::storage_key::masp_last_locked_amount_key(&token_address); - let shielded_token_max_rewards_key = - token::storage_key::masp_max_reward_rate_key(&token_address); - let shielded_token_target_locked_amount_key = - token::storage_key::masp_locked_amount_target_key(&token_address); - let shielded_token_kp_gain_key = token::storage_key::masp_kp_gain_key(&token_address); - let shielded_token_kd_gain_key = token::storage_key::masp_kd_gain_key(&token_address); - - // Add the ibc token to the masp token map - token_map.insert(ibc_denom, token_address); + let mint_limit_token_key = ibc::mint_limit_key(&token_address); + ctx.write(&mint_limit_token_key, mint_limit)?; - // Write the MASP inflation keys - ctx.write(&shielded_token_last_inflation_key, token::Amount::zero())?; - ctx.write( - &shielded_token_last_locked_amount_key, - token::Amount::zero(), - )?; - ctx.write( - &shielded_token_max_rewards_key, - Dec::from_str(max_reward).unwrap(), - )?; - ctx.write( - &shielded_token_target_locked_amount_key, - token::Amount::from_uint(target_locked_amount, denomination).unwrap(), - )?; - ctx.write(&shielded_token_kp_gain_key, Dec::from_str(kp).unwrap())?; - ctx.write(&shielded_token_kd_gain_key, Dec::from_str(kd).unwrap())?; + let throughput_limit_token_key = ibc::throughput_limit_key(&token_address); + ctx.write(&throughput_limit_token_key, throughput_limit)?; } - ctx.write(&token_map_key, token_map)?; - Ok(()) } diff --git a/block_party/Cargo.toml b/shielding_rewards_party/Cargo.toml similarity index 69% rename from block_party/Cargo.toml rename to shielding_rewards_party/Cargo.toml index 8c8bd01..63718d4 100644 --- a/block_party/Cargo.toml +++ b/shielding_rewards_party/Cargo.toml @@ -1,6 +1,6 @@ [package] -name = "block_party" -description = "WASM transaction to transition from phase 1 to phase 2 of Namada mainnet." +name = "shielding_rewards_party" +description = "WASM transaction to transition from phase 3 to phase 4 of Namada mainnet." authors.workspace = true edition.workspace = true license.workspace = true @@ -10,7 +10,6 @@ version.workspace = true [dependencies] namada_tx_prelude.workspace = true -namada_proof_of_stake.workspace = true rlsf.workspace = true getrandom.workspace = true diff --git a/shielding_rewards_party/src/lib.rs b/shielding_rewards_party/src/lib.rs new file mode 100644 index 0000000..a196321 --- /dev/null +++ b/shielding_rewards_party/src/lib.rs @@ -0,0 +1,135 @@ +use dec::Dec; +use namada_tx_prelude::*; +use std::str::FromStr; + +pub type Denomination = u8; +pub type ChannelId = &'static str; +pub type BaseToken = &'static str; + +pub type TokenMaxReward = &'static str; +pub type TokenTargetLockedAmount = u64; +pub type KpGain = &'static str; +pub type KdGain = &'static str; + +const IBC_TOKENS: [( + Denomination, + ChannelId, + BaseToken, + TokenMaxReward, + TokenTargetLockedAmount, + KpGain, + KdGain, +); 2] = [ + ( + 0, + "channel-0", + "tnam1qrdm8ymq2svrrafzuqahm547xm4kfuw3aue93uzs", + "0.01", + 1_000_000_000, + "120000", + "120000", + ), + ( + 0, + "channel-1", + "tnam1qqx4luqsngxdmpf5nk8shkn7wwlmz6g7dckp8kgm", + "0.015", + 1_500_000_000, + "150000", + "110000", + ), +]; + +#[transaction] +fn apply_tx(ctx: &mut Ctx, _tx_data: BatchedTx) -> TxResult { + // Read the current MASP token map + let token_map_key = token::storage_key::masp_token_map_key(); + let mut token_map = ctx + .read::(&token_map_key)? + .unwrap_or_default(); + + let nam_address = ctx.get_native_token()?; + + // Add native token to token map + token_map.insert("nam".to_string(), nam_address.clone()); + + let shielded_native_token_last_inflation_key = + token::storage_key::masp_last_inflation_key(&nam_address); + let shielded_native_token_last_locked_amount_key = + token::storage_key::masp_last_locked_amount_key(&nam_address); + let shielded_native_token_max_rewards_key = + token::storage_key::masp_max_reward_rate_key(&nam_address); + let shielded_native_token_target_locked_amount_key = + token::storage_key::masp_locked_amount_target_key(&nam_address); + let shielded_native_token_kp_gain_key = token::storage_key::masp_kp_gain_key(&nam_address); + let shielded_native_token_kd_gain_key = token::storage_key::masp_kd_gain_key(&nam_address); + + // Setup native token shielded set rewards to 0 + ctx.write( + &shielded_native_token_last_inflation_key, + token::Amount::zero(), + )?; + ctx.write( + &shielded_native_token_last_locked_amount_key, + token::Amount::zero(), + )?; + ctx.write( + &shielded_native_token_max_rewards_key, + Dec::zero(), + )?; + ctx.write( + &shielded_native_token_target_locked_amount_key, + token::Amount::from_uint(0, 6).unwrap(), + )?; + ctx.write( + &shielded_native_token_kp_gain_key, + Dec::zero(), + )?; + ctx.write( + &shielded_native_token_kd_gain_key, + Dec::zero(), + )?; + + // Enable shielded set rewards for ibc tokens + for (denomination, channel_id, base_token, max_reward, target_locked_amount, kp, kd) in + IBC_TOKENS + { + let ibc_denom = format!("transfer/{channel_id}/{base_token}"); + let token_address = ibc::ibc_token(&ibc_denom); + + let shielded_token_last_inflation_key = + token::storage_key::masp_last_inflation_key(&token_address); + let shielded_token_last_locked_amount_key = + token::storage_key::masp_last_locked_amount_key(&token_address); + let shielded_token_max_rewards_key = + token::storage_key::masp_max_reward_rate_key(&token_address); + let shielded_token_target_locked_amount_key = + token::storage_key::masp_locked_amount_target_key(&token_address); + let shielded_token_kp_gain_key = token::storage_key::masp_kp_gain_key(&token_address); + let shielded_token_kd_gain_key = token::storage_key::masp_kd_gain_key(&token_address); + + // Add the ibc token to the masp token map + token_map.insert(ibc_denom, token_address); + + // Write the MASP inflation keys + ctx.write(&shielded_token_last_inflation_key, token::Amount::zero())?; + ctx.write( + &shielded_token_last_locked_amount_key, + token::Amount::zero(), + )?; + ctx.write( + &shielded_token_max_rewards_key, + Dec::from_str(max_reward).unwrap(), + )?; + ctx.write( + &shielded_token_target_locked_amount_key, + token::Amount::from_uint(target_locked_amount, denomination).unwrap(), + )?; + ctx.write(&shielded_token_kp_gain_key, Dec::from_str(kp).unwrap())?; + ctx.write(&shielded_token_kd_gain_key, Dec::from_str(kd).unwrap())?; + } + + ctx.write(&token_map_key, token_map)?; + + Ok(()) +} diff --git a/staking_party/Cargo.toml b/staking_party/Cargo.toml index 56ba1d6..f2fcdab 100644 --- a/staking_party/Cargo.toml +++ b/staking_party/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "staking_party" -description = "WASM transaction to transition from phase 2 to phase 3 of Namada mainnet." +description = "WASM transaction to transition from phase 1 to phase 2 of Namada mainnet." authors.workspace = true edition.workspace = true license.workspace = true @@ -10,6 +10,7 @@ version.workspace = true [dependencies] namada_tx_prelude.workspace = true +namada_proof_of_stake.workspace = true rlsf.workspace = true getrandom.workspace = true diff --git a/staking_party/src/lib.rs b/staking_party/src/lib.rs index 82d1187..3e94d13 100644 --- a/staking_party/src/lib.rs +++ b/staking_party/src/lib.rs @@ -1,39 +1,29 @@ +use dec::Dec; use namada_tx_prelude::*; -pub type ChannelId = &'static str; -pub type BaseToken = &'static str; +use std::str::FromStr; -pub type MintTokenLimit = token::Amount; -pub type ThroughtputTokenLimit = token::Amount; - -const IBC_TOKENS: [(ChannelId, BaseToken, MintTokenLimit, ThroughtputTokenLimit); 2] = [ - ( - "channel-0", - "tnam1qrdm8ymq2svrrafzuqahm547xm4kfuw3aue93uzs", - MintTokenLimit::from_u64(1000), - ThroughtputTokenLimit::from_u64(10000), - ), - ( - "channel-1", - "tnam1qqx4luqsngxdmpf5nk8shkn7wwlmz6g7dckp8kgm", - MintTokenLimit::from_u64(2000), - ThroughtputTokenLimit::from_u64(13000), - ), -]; +use namada_proof_of_stake::storage::{read_pos_params, write_pos_params}; #[transaction] fn apply_tx(ctx: &mut Ctx, _tx_data: BatchedTx) -> TxResult { - // Enable IBC deposit/withdraws limits - for (channel_id, base_token, mint_limit, throughput_limit) in IBC_TOKENS { - let ibc_denom = format!("transfer/{channel_id}/{base_token}"); - let token_address = ibc::ibc_token(&ibc_denom); + // PoS inflation + let mut pos_params = read_pos_params(ctx)?.owned; + pos_params.max_inflation_rate = Dec::from_str("0.1").unwrap(); + pos_params.target_staked_ratio = Dec::from_str("0.666667").unwrap(); + pos_params.rewards_gain_p = Dec::from_str("2.5").unwrap(); + pos_params.rewards_gain_d = Dec::from_str("2.5").unwrap(); + write_pos_params(ctx, &pos_params)?; - let mint_limit_token_key = ibc::mint_limit_key(&token_address); - ctx.write(&mint_limit_token_key, mint_limit)?; + // PGF inflation + let pgf_inflation_key = governance::pgf::storage::keys::get_pgf_inflation_rate_key(); + let pgf_inflation_rate = Dec::from_str("0.025").unwrap(); + ctx.write(&pgf_inflation_key, pgf_inflation_rate)?; - let throughput_limit_token_key = ibc::throughput_limit_key(&token_address); - ctx.write(&throughput_limit_token_key, throughput_limit)?; - } + // PGF stewards inflation + let steward_inflation_key = governance::pgf::storage::keys::get_steward_inflation_rate_key(); + let steward_inflation_rate = Dec::from_str("0.001").unwrap(); + ctx.write(&steward_inflation_key, steward_inflation_rate)?; Ok(()) } From 37ae5d1fedf80e569443276fbb61c6af1f3be14e Mon Sep 17 00:00:00 2001 From: brentstone Date: Mon, 26 Aug 2024 23:39:45 -0700 Subject: [PATCH 2/6] update namada version --- Cargo.toml | 2 +- staking_party/src/lib.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 69131c3..a7dd35a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -33,4 +33,4 @@ lazy_static = "1.4.0" lto = true panic = "abort" opt-level = 'z' -strip = "debuginfo" \ No newline at end of file +strip = "debuginfo" diff --git a/staking_party/src/lib.rs b/staking_party/src/lib.rs index 3e94d13..8d88fab 100644 --- a/staking_party/src/lib.rs +++ b/staking_party/src/lib.rs @@ -8,7 +8,7 @@ use namada_proof_of_stake::storage::{read_pos_params, write_pos_params}; #[transaction] fn apply_tx(ctx: &mut Ctx, _tx_data: BatchedTx) -> TxResult { // PoS inflation - let mut pos_params = read_pos_params(ctx)?.owned; + let mut pos_params = read_pos_params::>(ctx)?.owned; pos_params.max_inflation_rate = Dec::from_str("0.1").unwrap(); pos_params.target_staked_ratio = Dec::from_str("0.666667").unwrap(); pos_params.rewards_gain_p = Dec::from_str("2.5").unwrap(); From 729f0e3de84ed16b5ffd5d23047adb27dbb491e0 Mon Sep 17 00:00:00 2001 From: brentstone Date: Mon, 26 Aug 2024 23:52:34 -0700 Subject: [PATCH 3/6] update gov params as part of moving to phase 5 --- nam_party/src/lib.rs | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/nam_party/src/lib.rs b/nam_party/src/lib.rs index d733820..cf36be0 100644 --- a/nam_party/src/lib.rs +++ b/nam_party/src/lib.rs @@ -8,15 +8,18 @@ pub const NAM_TARGET_LOCKED_AMOUNT: u64 = 1_000_000_000; pub const KP_GAIN: &str = "120000"; pub const KD_GAIN: &str = "120000"; +pub const MIN_PROPOSAL_GRACE_EPOCHS: u64 = 8; +pub const MIN_PROPOSAL_VOTING_PERIOD: u64 = 28; + #[transaction] fn apply_tx(ctx: &mut Ctx, _tx_data: BatchedTx) -> TxResult { let nam_address = ctx.get_native_token()?; - // Enable NAM transfers + // 1. Enable NAM transfers let native_token_transferable_key = parameters_storage::get_native_token_transferable_key(); ctx.write(&native_token_transferable_key, true)?; - // Enable NAM MASP rewards + // 2. Enable MASP rewards for NAM let shielded_token_last_inflation_key = token::storage_key::masp_last_inflation_key(&nam_address); let shielded_token_last_locked_amount_key = @@ -50,5 +53,12 @@ fn apply_tx(ctx: &mut Ctx, _tx_data: BatchedTx) -> TxResult { ctx.write(&shielded_token_kp_gain_key, Dec::from_str(KP_GAIN).unwrap())?; ctx.write(&shielded_token_kd_gain_key, Dec::from_str(KD_GAIN).unwrap())?; + // 3. Update governance parameters + let min_proposal_grace_epochs_key = gov_storage::keys::get_min_proposal_grace_epochs_key(); + ctx.write(&min_proposal_grace_epochs_key, MIN_PROPOSAL_GRACE_EPOCHS)?; + + let min_proposal_voting_period_key = gov_storage::keys::get_min_proposal_voting_period_key(); + ctx.write(&min_proposal_voting_period_key, MIN_PROPOSAL_VOTING_PERIOD)?; + Ok(()) } From 467bca05ae98baf8dc439eb1832ef336c8d80740 Mon Sep 17 00:00:00 2001 From: brentstone Date: Thu, 17 Oct 2024 22:09:02 -0400 Subject: [PATCH 4/6] resolve after rebase --- Cargo.lock | 813 +++++++++++++++++++++++++-------------- Cargo.toml | 6 +- block_party/src/lib.rs | 0 staking_party/src/lib.rs | 10 +- 4 files changed, 523 insertions(+), 306 deletions(-) delete mode 100644 block_party/src/lib.rs diff --git a/Cargo.lock b/Cargo.lock index d442f95..1a12746 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -49,9 +49,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.86" +version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" +checksum = "86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6" [[package]] name = "ark-bls12-381" @@ -140,21 +140,32 @@ dependencies = [ [[package]] name = "arrayref" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d151e35f61089500b617991b791fc8bfd237ae50cd5950803758a179b41e67a" +checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" + +[[package]] +name = "async-trait" +version = "0.1.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] [[package]] name = "autocfg" -version = "1.3.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "base16ct" @@ -276,9 +287,9 @@ dependencies = [ [[package]] name = "blake3" -version = "1.5.3" +version = "1.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9ec96fe9a81b5e365f9db71fe00edc4fe4ca2cc7dcb7861f0603012a7caa210" +checksum = "d82033247fd8e890df8f740e407ad4d038debb9eb1f40533fffb32e7d17dc6f7" dependencies = [ "arrayref", "arrayvec", @@ -316,16 +327,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "bls12_381" -version = "0.8.0" -source = "git+https://github.com/heliaxdev/bls12_381.git?rev=d3ebe9dd6488fac1923db120a7498079e55dd838#d3ebe9dd6488fac1923db120a7498079e55dd838" -dependencies = [ - "ff", - "rand_core", - "subtle", -] - [[package]] name = "bls12_381" version = "0.8.0" @@ -358,7 +359,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.79", "syn_derive", ] @@ -390,9 +391,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.6.1" +version = "1.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a12916984aab3fa6e39d655a33e09c0071eb36d6ab3aea5c2d78551f1df6d952" +checksum = "428d9aa8fbc0670b7b8d6030a7fadd0f86151cae55e4dbbece15f3780a3dfaf3" dependencies = [ "serde", ] @@ -408,9 +409,12 @@ dependencies = [ [[package]] name = "cc" -version = "1.1.6" +version = "1.1.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2aba8f4e9906c7ce3c73463f62a7f0c65183ada1a2d47e397cc8810827f9694f" +checksum = "b16803a61b81d9eabb7eae2588776c4c1e584b738ede45fdbb4c972cec1e9945" +dependencies = [ + "shlex", +] [[package]] name = "cfg-if" @@ -490,31 +494,56 @@ checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" [[package]] name = "const_panic" -version = "0.2.8" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6051f239ecec86fde3410901ab7860d458d160371533842974fc61f96d15879b" +checksum = "013b6c2c3a14d678f38cd23994b02da3a1a1b6a5d1eedddfe63a5a5f11b13a81" [[package]] name = "constant_time_eq" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" +checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" [[package]] name = "core-foundation-sys" -version = "0.8.6" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "cpufeatures" -version = "0.2.12" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +checksum = "608697df725056feaccfa42cffdaeeec3fccc4ffc38358ecd19b243e716a78e0" dependencies = [ "libc", ] +[[package]] +name = "crossbeam-deque" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" + [[package]] name = "crunchy" version = "0.2.2" @@ -600,7 +629,7 @@ checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.79", ] [[package]] @@ -652,7 +681,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.79", ] [[package]] @@ -740,7 +769,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" dependencies = [ "libc", - "windows-sys", + "windows-sys 0.52.0", ] [[package]] @@ -807,9 +836,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.1.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" +checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6" [[package]] name = "ff" @@ -877,12 +906,13 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" +checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" dependencies = [ "futures-channel", "futures-core", + "futures-executor", "futures-io", "futures-sink", "futures-task", @@ -891,9 +921,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" dependencies = [ "futures-core", "futures-sink", @@ -901,39 +931,66 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" + +[[package]] +name = "futures-executor" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] [[package]] name = "futures-io" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" + +[[package]] +name = "futures-macro" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] [[package]] name = "futures-sink" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" [[package]] name = "futures-task" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" [[package]] name = "futures-util" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" dependencies = [ + "futures-channel", "futures-core", + "futures-io", + "futures-macro", "futures-sink", "futures-task", + "memchr", "pin-project-lite", "pin-utils", + "slab", ] [[package]] @@ -976,6 +1033,12 @@ version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +[[package]] +name = "hashbrown" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb" + [[package]] name = "heck" version = "0.5.0" @@ -1010,9 +1073,9 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.60" +version = "0.1.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" +checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -1033,8 +1096,8 @@ dependencies = [ [[package]] name = "ibc" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "ibc-apps", "ibc-clients", @@ -1046,8 +1109,8 @@ dependencies = [ [[package]] name = "ibc-app-nft-transfer" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "ibc-app-nft-transfer-types", "ibc-core", @@ -1056,8 +1119,8 @@ dependencies = [ [[package]] name = "ibc-app-nft-transfer-types" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "base64 0.22.1", "borsh", @@ -1077,8 +1140,8 @@ dependencies = [ [[package]] name = "ibc-app-transfer" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "ibc-app-transfer-types", "ibc-core", @@ -1087,8 +1150,8 @@ dependencies = [ [[package]] name = "ibc-app-transfer-types" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "borsh", "derive_more", @@ -1105,8 +1168,8 @@ dependencies = [ [[package]] name = "ibc-apps" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "ibc-app-nft-transfer", "ibc-app-transfer", @@ -1114,8 +1177,8 @@ dependencies = [ [[package]] name = "ibc-client-tendermint" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "derive_more", "ibc-client-tendermint-types", @@ -1131,8 +1194,8 @@ dependencies = [ [[package]] name = "ibc-client-tendermint-types" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "displaydoc", "ibc-core-client-types", @@ -1148,8 +1211,8 @@ dependencies = [ [[package]] name = "ibc-client-wasm-types" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "base64 0.22.1", "displaydoc", @@ -1162,8 +1225,8 @@ dependencies = [ [[package]] name = "ibc-clients" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "ibc-client-tendermint", "ibc-client-wasm-types", @@ -1171,8 +1234,8 @@ dependencies = [ [[package]] name = "ibc-core" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "ibc-core-channel", "ibc-core-client", @@ -1187,8 +1250,8 @@ dependencies = [ [[package]] name = "ibc-core-channel" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "ibc-core-channel-types", "ibc-core-client", @@ -1202,8 +1265,8 @@ dependencies = [ [[package]] name = "ibc-core-channel-types" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "borsh", "derive_more", @@ -1225,8 +1288,8 @@ dependencies = [ [[package]] name = "ibc-core-client" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "ibc-core-client-context", "ibc-core-client-types", @@ -1238,8 +1301,8 @@ dependencies = [ [[package]] name = "ibc-core-client-context" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "derive_more", "displaydoc", @@ -1254,8 +1317,8 @@ dependencies = [ [[package]] name = "ibc-core-client-types" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "borsh", "derive_more", @@ -1274,8 +1337,8 @@ dependencies = [ [[package]] name = "ibc-core-commitment-types" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "borsh", "derive_more", @@ -1293,8 +1356,8 @@ dependencies = [ [[package]] name = "ibc-core-connection" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "ibc-client-wasm-types", "ibc-core-client", @@ -1302,13 +1365,13 @@ dependencies = [ "ibc-core-handler-types", "ibc-core-host", "ibc-primitives", - "prost", + "prost 0.13.3", ] [[package]] name = "ibc-core-connection-types" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "borsh", "derive_more", @@ -1328,8 +1391,8 @@ dependencies = [ [[package]] name = "ibc-core-handler" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "ibc-core-channel", "ibc-core-client", @@ -1343,8 +1406,8 @@ dependencies = [ [[package]] name = "ibc-core-handler-types" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "borsh", "derive_more", @@ -1367,8 +1430,8 @@ dependencies = [ [[package]] name = "ibc-core-host" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "derive_more", "displaydoc", @@ -1385,8 +1448,8 @@ dependencies = [ [[package]] name = "ibc-core-host-cosmos" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "derive_more", "displaydoc", @@ -1408,8 +1471,8 @@ dependencies = [ [[package]] name = "ibc-core-host-types" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "borsh", "derive_more", @@ -1423,8 +1486,8 @@ dependencies = [ [[package]] name = "ibc-core-router" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "derive_more", "displaydoc", @@ -1437,8 +1500,8 @@ dependencies = [ [[package]] name = "ibc-core-router-types" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "borsh", "derive_more", @@ -1456,25 +1519,25 @@ dependencies = [ [[package]] name = "ibc-derive" -version = "0.7.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" +version = "0.8.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.79", ] [[package]] name = "ibc-primitives" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "borsh", "derive_more", "displaydoc", "ibc-proto", "parity-scale-codec", - "prost", + "prost 0.13.3", "scale-info", "schemars", "serde", @@ -1484,9 +1547,9 @@ dependencies = [ [[package]] name = "ibc-proto" -version = "0.46.0" +version = "0.47.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cb09e0b52b8a16e98ce98845e7c15b018440f3c56defa12fa44782cd66bab65" +checksum = "c852d22b782d2d793f4a646f968de419be635e02bc8798d5d74a6e44eef27733" dependencies = [ "base64 0.22.1", "borsh", @@ -1495,7 +1558,7 @@ dependencies = [ "ics23", "informalsystems-pbjson", "parity-scale-codec", - "prost", + "prost 0.13.3", "scale-info", "schemars", "serde", @@ -1505,9 +1568,9 @@ dependencies = [ [[package]] name = "ics23" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18798160736c1e368938ba6967dbcb3c7afb3256b442a5506ba5222eebb68a5a" +checksum = "73b17f1a5bd7d12ad30a21445cfa5f52fd7651cb3243ba866f9916b1ec112f12" dependencies = [ "anyhow", "blake2", @@ -1515,7 +1578,7 @@ dependencies = [ "bytes", "hex", "informalsystems-pbjson", - "prost", + "prost 0.13.3", "ripemd", "serde", "sha2 0.10.8", @@ -1602,18 +1665,18 @@ source = "git+https://github.com/heliaxdev/indexmap?tag=2.2.4-heliax-1#b5b5b547b dependencies = [ "borsh", "equivalent", - "hashbrown", + "hashbrown 0.14.5", "serde", ] [[package]] name = "indexmap" -version = "2.2.6" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" +checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" dependencies = [ "equivalent", - "hashbrown", + "hashbrown 0.15.0", ] [[package]] @@ -1662,6 +1725,15 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "1.0.11" @@ -1670,9 +1742,9 @@ checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] name = "js-sys" -version = "0.3.69" +version = "0.3.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" +checksum = "6a88f1bda2bd75b0452a14784937d796722fdebfe50df998aeb3f0b7603019a9" dependencies = [ "wasm-bindgen", ] @@ -1706,9 +1778,9 @@ dependencies = [ [[package]] name = "k256" -version = "0.13.3" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "956ff9b67e26e1a6a866cb758f12c6f8746208489e3e4a4b5580802f2f0a587b" +checksum = "f6e3919bbaa2945715f0bb6d3934a173d1e9a59ac23767fbaaef277265a7411b" dependencies = [ "cfg-if", "ecdsa", @@ -1755,9 +1827,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.155" +version = "0.2.161" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" +checksum = "8e9489c2807c139ffd9c1794f4af0ebe86a828db53ecdc7fea2111d0fed085d1" [[package]] name = "libm" @@ -1886,8 +1958,8 @@ dependencies = [ [[package]] name = "namada_account" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?tag=v0.43.0#f5c3b708018c38bb8768da57ce3199a208ff9e12" +version = "0.44.1" +source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" dependencies = [ "borsh", "namada_core", @@ -1898,8 +1970,8 @@ dependencies = [ [[package]] name = "namada_controller" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?tag=v0.43.0#f5c3b708018c38bb8768da57ce3199a208ff9e12" +version = "0.44.1" +source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" dependencies = [ "namada_core", "smooth-operator", @@ -1908,8 +1980,8 @@ dependencies = [ [[package]] name = "namada_core" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?tag=v0.43.0#f5c3b708018c38bb8768da57ce3199a208ff9e12" +version = "0.44.1" +source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" dependencies = [ "bech32", "borsh", @@ -1934,7 +2006,8 @@ dependencies = [ "num256", "num_enum", "primitive-types", - "prost-types", + "prost-types 0.13.3", + "rayon", "ripemd", "serde", "serde_json", @@ -1952,8 +2025,8 @@ dependencies = [ [[package]] name = "namada_events" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?tag=v0.43.0#f5c3b708018c38bb8768da57ce3199a208ff9e12" +version = "0.44.1" +source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" dependencies = [ "borsh", "namada_core", @@ -1966,8 +2039,8 @@ dependencies = [ [[package]] name = "namada_gas" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?tag=v0.43.0#f5c3b708018c38bb8768da57ce3199a208ff9e12" +version = "0.44.1" +source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" dependencies = [ "borsh", "namada_core", @@ -1979,8 +2052,8 @@ dependencies = [ [[package]] name = "namada_governance" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?tag=v0.43.0#f5c3b708018c38bb8768da57ce3199a208ff9e12" +version = "0.44.1" +source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" dependencies = [ "borsh", "itertools 0.12.1", @@ -1992,7 +2065,7 @@ dependencies = [ "namada_state", "namada_systems", "namada_tx", - "namada_vp", + "namada_vp_env", "serde", "serde_json", "smooth-operator", @@ -2002,8 +2075,8 @@ dependencies = [ [[package]] name = "namada_ibc" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?tag=v0.43.0#f5c3b708018c38bb8768da57ce3199a208ff9e12" +version = "0.44.1" +source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" dependencies = [ "borsh", "data-encoding", @@ -2017,12 +2090,11 @@ dependencies = [ "namada_gas", "namada_macros", "namada_state", - "namada_storage", "namada_systems", "namada_tx", "namada_vp", "primitive-types", - "prost", + "prost 0.13.3", "serde", "serde_json", "sha2 0.9.9", @@ -2033,8 +2105,8 @@ dependencies = [ [[package]] name = "namada_macros" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?tag=v0.43.0#f5c3b708018c38bb8768da57ce3199a208ff9e12" +version = "0.44.1" +source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" dependencies = [ "data-encoding", "proc-macro2", @@ -2045,39 +2117,38 @@ dependencies = [ [[package]] name = "namada_merkle_tree" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?tag=v0.43.0#f5c3b708018c38bb8768da57ce3199a208ff9e12" +version = "0.44.1" +source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" dependencies = [ "borsh", "eyre", "ics23", "namada_core", "namada_macros", - "prost", + "prost 0.13.3", "sparse-merkle-tree", "thiserror", ] [[package]] name = "namada_parameters" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?tag=v0.43.0#f5c3b708018c38bb8768da57ce3199a208ff9e12" +version = "0.44.1" +source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" dependencies = [ "namada_core", "namada_macros", "namada_state", - "namada_storage", "namada_systems", "namada_tx", - "namada_vp", + "namada_vp_env", "smooth-operator", "thiserror", ] [[package]] name = "namada_proof_of_stake" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?tag=v0.43.0#f5c3b708018c38bb8768da57ce3199a208ff9e12" +version = "0.44.1" +source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" dependencies = [ "borsh", "itertools 0.12.1", @@ -2088,10 +2159,9 @@ dependencies = [ "namada_events", "namada_macros", "namada_state", - "namada_storage", "namada_systems", "namada_tx", - "namada_vp", + "namada_vp_env", "once_cell", "serde", "smooth-operator", @@ -2101,43 +2171,53 @@ dependencies = [ [[package]] name = "namada_replay_protection" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?tag=v0.43.0#f5c3b708018c38bb8768da57ce3199a208ff9e12" +version = "0.44.1" +source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" dependencies = [ "namada_core", ] [[package]] name = "namada_shielded_token" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?tag=v0.43.0#f5c3b708018c38bb8768da57ce3199a208ff9e12" +version = "0.44.1" +source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" dependencies = [ + "async-trait", "borsh", + "eyre", + "futures", + "itertools 0.12.1", "lazy_static", "masp_primitives", "masp_proofs", "namada_account", "namada_controller", "namada_core", + "namada_events", "namada_gas", + "namada_macros", "namada_state", - "namada_storage", "namada_systems", "namada_tx", - "namada_vp", + "namada_vp_env", + "rand", "rand_core", "ripemd", "serde", + "serde_json", "sha2 0.9.9", "smooth-operator", + "tempfile", "thiserror", "tracing", + "typed-builder", + "xorf", ] [[package]] name = "namada_state" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?tag=v0.43.0#f5c3b708018c38bb8768da57ce3199a208ff9e12" +version = "0.44.1" +source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" dependencies = [ "borsh", "clru", @@ -2159,12 +2239,13 @@ dependencies = [ [[package]] name = "namada_storage" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?tag=v0.43.0#f5c3b708018c38bb8768da57ce3199a208ff9e12" +version = "0.44.1" +source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" dependencies = [ "borsh", "itertools 0.12.1", "namada_core", + "namada_gas", "namada_macros", "namada_merkle_tree", "namada_replay_protection", @@ -2177,17 +2258,18 @@ dependencies = [ [[package]] name = "namada_systems" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?tag=v0.43.0#f5c3b708018c38bb8768da57ce3199a208ff9e12" +version = "0.44.1" +source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" dependencies = [ "namada_core", + "namada_events", "namada_storage", ] [[package]] name = "namada_token" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?tag=v0.43.0#f5c3b708018c38bb8768da57ce3199a208ff9e12" +version = "0.44.1" +source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" dependencies = [ "borsh", "namada_core", @@ -2197,30 +2279,32 @@ dependencies = [ "namada_storage", "namada_systems", "namada_trans_token", + "namada_tx", + "namada_tx_env", "serde", ] [[package]] name = "namada_trans_token" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?tag=v0.43.0#f5c3b708018c38bb8768da57ce3199a208ff9e12" +version = "0.44.1" +source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" dependencies = [ "konst", "namada_core", "namada_events", "namada_state", - "namada_storage", "namada_systems", "namada_tx", - "namada_vp", + "namada_tx_env", + "namada_vp_env", "thiserror", "tracing", ] [[package]] name = "namada_tx" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?tag=v0.43.0#f5c3b708018c38bb8768da57ce3199a208ff9e12" +version = "0.44.1" +source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" dependencies = [ "ark-bls12-381", "bitflags", @@ -2229,14 +2313,15 @@ dependencies = [ "either", "konst", "masp_primitives", + "namada_account", "namada_core", "namada_events", "namada_gas", "namada_macros", "num-derive 0.4.2", "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", - "prost", - "prost-types", + "prost 0.13.3", + "prost-types 0.13.3", "rand_core", "serde", "serde_json", @@ -2247,8 +2332,8 @@ dependencies = [ [[package]] name = "namada_tx_env" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?tag=v0.43.0#f5c3b708018c38bb8768da57ce3199a208ff9e12" +version = "0.44.1" +source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" dependencies = [ "namada_core", "namada_events", @@ -2257,11 +2342,10 @@ dependencies = [ [[package]] name = "namada_tx_prelude" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?tag=v0.43.0#f5c3b708018c38bb8768da57ce3199a208ff9e12" +version = "0.44.1" +source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" dependencies = [ "borsh", - "masp_primitives", "namada_account", "namada_core", "namada_events", @@ -2271,7 +2355,7 @@ dependencies = [ "namada_macros", "namada_parameters", "namada_proof_of_stake", - "namada_storage", + "namada_state", "namada_token", "namada_tx", "namada_tx_env", @@ -2280,18 +2364,16 @@ dependencies = [ [[package]] name = "namada_vm_env" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?tag=v0.43.0#f5c3b708018c38bb8768da57ce3199a208ff9e12" +version = "0.44.1" +source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" dependencies = [ - "borsh", - "masp_primitives", "namada_core", ] [[package]] name = "namada_vp" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?tag=v0.43.0#f5c3b708018c38bb8768da57ce3199a208ff9e12" +version = "0.44.1" +source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" dependencies = [ "namada_core", "namada_events", @@ -2306,13 +2388,14 @@ dependencies = [ [[package]] name = "namada_vp_env" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?tag=v0.43.0#f5c3b708018c38bb8768da57ce3199a208ff9e12" +version = "0.44.1" +source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" dependencies = [ "derivative", "masp_primitives", "namada_core", "namada_events", + "namada_gas", "namada_storage", "namada_tx", "smooth-operator", @@ -2382,7 +2465,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.79", ] [[package]] @@ -2449,30 +2532,30 @@ dependencies = [ [[package]] name = "num_enum" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845" +checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179" dependencies = [ "num_enum_derive", ] [[package]] name = "num_enum_derive" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b" +checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.79", ] [[package]] name = "once_cell" -version = "1.19.0" +version = "1.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" +checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" [[package]] name = "opaque-debug" @@ -2566,9 +2649,9 @@ dependencies = [ [[package]] name = "pest" -version = "2.7.11" +version = "2.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd53dff83f26735fdc1ca837098ccf133605d794cdae66acfc2bfac3ec809d95" +checksum = "879952a81a83930934cbf1786752d6dedc3b1f29e8f8fb2ad1d0a36f377cf442" dependencies = [ "memchr", "thiserror", @@ -2582,7 +2665,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ "fixedbitset", - "indexmap 2.2.6", + "indexmap 2.6.0", ] [[package]] @@ -2626,18 +2709,21 @@ checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppv-lite86" -version = "0.2.17" +version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +dependencies = [ + "zerocopy", +] [[package]] name = "prettyplease" -version = "0.2.20" +version = "0.2.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" +checksum = "479cf940fbbb3426c32c5d5176f62ad57549a0bb84773423ba8be9d089f5faba" dependencies = [ "proc-macro2", - "syn 2.0.72", + "syn 2.0.79", ] [[package]] @@ -2655,9 +2741,9 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "3.1.0" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" +checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" dependencies = [ "toml_edit", ] @@ -2687,9 +2773,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.86" +version = "1.0.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +checksum = "7c3a7fc5db1e57d5a779a352c8cdb57b29aa4c40cc69c3a68a7fedc815fbf2f9" dependencies = [ "unicode-ident", ] @@ -2701,7 +2787,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" dependencies = [ "bytes", - "prost-derive", + "prost-derive 0.12.6", +] + +[[package]] +name = "prost" +version = "0.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b0487d90e047de87f984913713b85c601c05609aad5b0df4b4573fbf69aa13f" +dependencies = [ + "bytes", + "prost-derive 0.13.3", ] [[package]] @@ -2718,10 +2814,10 @@ dependencies = [ "once_cell", "petgraph", "prettyplease", - "prost", - "prost-types", + "prost 0.12.6", + "prost-types 0.12.6", "regex", - "syn 2.0.72", + "syn 2.0.79", "tempfile", ] @@ -2735,7 +2831,20 @@ dependencies = [ "itertools 0.12.1", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.79", +] + +[[package]] +name = "prost-derive" +version = "0.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9552f850d5f0964a4e4d0bf306459ac29323ddfbae05e35a7c0d35cb0803cc5" +dependencies = [ + "anyhow", + "itertools 0.13.0", + "proc-macro2", + "quote", + "syn 2.0.79", ] [[package]] @@ -2744,14 +2853,23 @@ version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9091c90b0a32608e984ff2fa4091273cbdd755d54935c51d520887f4a1dbd5b0" dependencies = [ - "prost", + "prost 0.12.6", +] + +[[package]] +name = "prost-types" +version = "0.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4759aa0d3a6232fb8dbdb97b61de2c20047c68aca932c7ed76da9d788508d670" +dependencies = [ + "prost 0.13.3", ] [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -2792,6 +2910,26 @@ dependencies = [ "getrandom", ] +[[package]] +name = "rayon" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +dependencies = [ + "crossbeam-deque", + "crossbeam-utils", +] + [[package]] name = "reddsa" version = "0.5.1" @@ -2825,9 +2963,9 @@ dependencies = [ [[package]] name = "redox_users" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" +checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ "getrandom", "libredox", @@ -2836,9 +2974,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.5" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" +checksum = "38200e5ee88914975b69f657f0801b6f6dccafd44fd9326302a4aaeecfacb1d8" dependencies = [ "aho-corasick", "memchr", @@ -2848,9 +2986,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" +checksum = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3" dependencies = [ "aho-corasick", "memchr", @@ -2859,9 +2997,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" +checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "rfc6979" @@ -2921,15 +3059,15 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.34" +version = "0.38.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" +checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811" dependencies = [ "bitflags", "errno", "libc", "linux-raw-sys", - "windows-sys", + "windows-sys 0.52.0", ] [[package]] @@ -2983,7 +3121,7 @@ dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 2.0.72", + "syn 2.0.79", ] [[package]] @@ -3021,9 +3159,9 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.204" +version = "1.0.210" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12" +checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" dependencies = [ "serde_derive", ] @@ -3048,13 +3186,13 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.204" +version = "1.0.210" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" +checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.79", ] [[package]] @@ -3065,16 +3203,17 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.79", ] [[package]] name = "serde_json" -version = "1.0.120" +version = "1.0.129" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e0d21c9a8cae1235ad58a00c11cb40d4b1e5c784f1ef2c537876ed6ffd8b7c5" +checksum = "6dbcf9b78a125ee667ae19388837dd12294b858d101fdd393cb9d5501ef09eb2" dependencies = [ "itoa", + "memchr", "ryu", "serde", ] @@ -3087,7 +3226,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.79", ] [[package]] @@ -3152,6 +3291,12 @@ dependencies = [ "rlsf", ] +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + [[package]] name = "signature" version = "2.2.0" @@ -3162,6 +3307,15 @@ dependencies = [ "rand_core", ] +[[package]] +name = "slab" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +dependencies = [ + "autocfg", +] + [[package]] name = "smooth-operator" version = "0.7.0" @@ -3177,13 +3331,13 @@ source = "git+https://github.com/heliaxdev/smooth-operator?tag=v0.7.0#0e182707f5 dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.79", ] [[package]] name = "sparse-merkle-tree" version = "0.3.1-pre" -source = "git+https://github.com/heliaxdev/sparse-merkle-tree?rev=bab8cb96872db22cc9a139b2d3dfc4e00521d097#bab8cb96872db22cc9a139b2d3dfc4e00521d097" +source = "git+https://github.com/heliaxdev/sparse-merkle-tree?rev=a93c55ccd47840ee0967eee237e47d9245478594#a93c55ccd47840ee0967eee237e47d9245478594" dependencies = [ "borsh", "cfg-if", @@ -3265,9 +3419,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.72" +version = "2.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "89132cd0bf050864e1d38dc3bbc07a0eb8e7530af26344d3d2bbbef83499f590" dependencies = [ "proc-macro2", "quote", @@ -3283,7 +3437,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.79", ] [[package]] @@ -3294,21 +3448,22 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "tempfile" -version = "3.10.1" +version = "3.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" +checksum = "f0f2c9fc62d0beef6951ccffd757e241266a2c833136efbe35af6cd2567dca5b" dependencies = [ "cfg-if", "fastrand", + "once_cell", "rustix", - "windows-sys", + "windows-sys 0.59.0", ] [[package]] name = "tendermint" -version = "0.37.0" +version = "0.38.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "954496fbc9716eb4446cdd6d00c071a3e2f22578d62aa03b40c7e5b4fda3ed42" +checksum = "505d9d6ffeb83b1de47c307c6e0d2dff56c6256989299010ad03cd80a8491e97" dependencies = [ "bytes", "digest 0.10.7", @@ -3319,8 +3474,8 @@ dependencies = [ "k256", "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", "once_cell", - "prost", - "prost-types", + "prost 0.13.3", + "prost-types 0.13.3", "ripemd", "serde", "serde_bytes", @@ -3337,9 +3492,9 @@ dependencies = [ [[package]] name = "tendermint-light-client-verifier" -version = "0.37.0" +version = "0.38.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3848090df4502a09ee27cb1a00f1835e1111c8993b22c5e1e41ffb7f6f09d57e" +checksum = "7a2674adbf0dc51aa0c8eaf8462c7d6692ec79502713e50ed5432a442002be90" dependencies = [ "derive_more", "flex-error", @@ -3350,14 +3505,14 @@ dependencies = [ [[package]] name = "tendermint-proto" -version = "0.37.0" +version = "0.38.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc87024548c7f3da479885201e3da20ef29e85a3b13d04606b380ac4c7120d87" +checksum = "8ed14abe3b0502a3afe21ca74ca5cdd6c7e8d326d982c26f98a394445eb31d6e" dependencies = [ "bytes", "flex-error", - "prost", - "prost-types", + "prost 0.13.3", + "prost-types 0.13.3", "serde", "serde_bytes", "subtle-encoding", @@ -3366,22 +3521,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.63" +version = "1.0.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" +checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.63" +version = "1.0.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" +checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.79", ] [[package]] @@ -3440,17 +3595,17 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "toml_datetime" -version = "0.6.7" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8fb9f64314842840f1d940ac544da178732128f1c78c21772e876579e0da1db" +checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" [[package]] name = "toml_edit" -version = "0.21.1" +version = "0.22.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" +checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" dependencies = [ - "indexmap 2.2.6", + "indexmap 2.6.0", "toml_datetime", "winnow", ] @@ -3465,7 +3620,7 @@ dependencies = [ "proc-macro2", "prost-build", "quote", - "syn 2.0.72", + "syn 2.0.79", ] [[package]] @@ -3487,7 +3642,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.79", ] [[package]] @@ -3499,6 +3654,26 @@ dependencies = [ "once_cell", ] +[[package]] +name = "typed-builder" +version = "0.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a06fbd5b8de54c5f7c91f6fe4cebb949be2125d7758e630bb58b1d831dbce600" +dependencies = [ + "typed-builder-macro", +] + +[[package]] +name = "typed-builder-macro" +version = "0.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9534daa9fd3ed0bd911d462a37f172228077e7abf18c18a5f67199d959205f8" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] + [[package]] name = "typenum" version = "1.17.0" @@ -3522,9 +3697,9 @@ checksum = "e36a83ea2b3c704935a01b4642946aadd445cea40b10935e3f8bd8052b8193d6" [[package]] name = "ucd-trie" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" +checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971" [[package]] name = "uint" @@ -3540,24 +3715,24 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" [[package]] name = "unicode-normalization" -version = "0.1.23" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" +checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" dependencies = [ "tinyvec", ] [[package]] name = "unicode-width" -version = "0.1.13" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" +checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" [[package]] name = "universal-hash" @@ -3583,34 +3758,35 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.92" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" +checksum = "128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e" dependencies = [ "cfg-if", + "once_cell", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.92" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" +checksum = "cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.79", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.92" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" +checksum = "e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -3618,22 +3794,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.92" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" +checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.79", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.92" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" +checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d" [[package]] name = "winapi" @@ -3675,6 +3851,15 @@ dependencies = [ "windows-targets", ] +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets", +] + [[package]] name = "windows-targets" version = "0.52.6" @@ -3741,9 +3926,9 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" -version = "0.5.40" +version = "0.6.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +checksum = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b" dependencies = [ "memchr", ] @@ -3757,6 +3942,17 @@ dependencies = [ "tap", ] +[[package]] +name = "xorf" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf24c008fe464f5d8f58b8d16a1ab7e930bd73b2a6933ff8704c414b2bed7f92" +dependencies = [ + "libm", + "rand", + "serde", +] + [[package]] name = "zcash_encoding" version = "0.2.0" @@ -3766,6 +3962,27 @@ dependencies = [ "nonempty", ] +[[package]] +name = "zerocopy" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +dependencies = [ + "byteorder", + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] + [[package]] name = "zeroize" version = "1.8.1" @@ -3783,5 +4000,5 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.79", ] diff --git a/Cargo.toml b/Cargo.toml index a7dd35a..0800a4f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -22,9 +22,9 @@ license = "GPL-3.0" version = "0.1.0" [workspace.dependencies] -namada_tx_prelude = { git = "https://github.com/anoma/namada", tag = "v0.43.0" } -namada_proof_of_stake = { git = "https://github.com/anoma/namada", tag = "v0.43.0" } -namada_ibc = { git = "https://github.com/anoma/namada", tag = "v0.43.0" } +namada_tx_prelude = { git = "https://github.com/anoma/namada", tag = "v0.44.1" } +namada_proof_of_stake = { git = "https://github.com/anoma/namada", tag = "v0.44.1" } +namada_ibc = { git = "https://github.com/anoma/namada", tag = "v0.44.1" } rlsf = "0.2.1" getrandom = { version = "0.2", features = ["custom"] } lazy_static = "1.4.0" diff --git a/block_party/src/lib.rs b/block_party/src/lib.rs deleted file mode 100644 index e69de29..0000000 diff --git a/staking_party/src/lib.rs b/staking_party/src/lib.rs index 8d88fab..bb23459 100644 --- a/staking_party/src/lib.rs +++ b/staking_party/src/lib.rs @@ -10,19 +10,19 @@ fn apply_tx(ctx: &mut Ctx, _tx_data: BatchedTx) -> TxResult { // PoS inflation let mut pos_params = read_pos_params::>(ctx)?.owned; pos_params.max_inflation_rate = Dec::from_str("0.1").unwrap(); - pos_params.target_staked_ratio = Dec::from_str("0.666667").unwrap(); - pos_params.rewards_gain_p = Dec::from_str("2.5").unwrap(); - pos_params.rewards_gain_d = Dec::from_str("2.5").unwrap(); + pos_params.target_staked_ratio = Dec::from_str("0.4").unwrap(); + pos_params.rewards_gain_p = Dec::from_str("0.25").unwrap(); + pos_params.rewards_gain_d = Dec::from_str("0.25").unwrap(); write_pos_params(ctx, &pos_params)?; // PGF inflation let pgf_inflation_key = governance::pgf::storage::keys::get_pgf_inflation_rate_key(); - let pgf_inflation_rate = Dec::from_str("0.025").unwrap(); + let pgf_inflation_rate = Dec::from_str("0.05").unwrap(); ctx.write(&pgf_inflation_key, pgf_inflation_rate)?; // PGF stewards inflation let steward_inflation_key = governance::pgf::storage::keys::get_steward_inflation_rate_key(); - let steward_inflation_rate = Dec::from_str("0.001").unwrap(); + let steward_inflation_rate = Dec::from_str("0.005").unwrap(); ctx.write(&steward_inflation_key, steward_inflation_rate)?; Ok(()) From cae9ddca2b342290a0a84327be0289d5037b2062 Mon Sep 17 00:00:00 2001 From: brentstone Date: Fri, 18 Oct 2024 12:00:47 -0400 Subject: [PATCH 5/6] dry-run phase 3 wasm --- shielding_party/src/lib.rs | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/shielding_party/src/lib.rs b/shielding_party/src/lib.rs index 82d1187..9a58976 100644 --- a/shielding_party/src/lib.rs +++ b/shielding_party/src/lib.rs @@ -6,20 +6,12 @@ pub type BaseToken = &'static str; pub type MintTokenLimit = token::Amount; pub type ThroughtputTokenLimit = token::Amount; -const IBC_TOKENS: [(ChannelId, BaseToken, MintTokenLimit, ThroughtputTokenLimit); 2] = [ - ( - "channel-0", - "tnam1qrdm8ymq2svrrafzuqahm547xm4kfuw3aue93uzs", - MintTokenLimit::from_u64(1000), - ThroughtputTokenLimit::from_u64(10000), - ), - ( - "channel-1", - "tnam1qqx4luqsngxdmpf5nk8shkn7wwlmz6g7dckp8kgm", - MintTokenLimit::from_u64(2000), - ThroughtputTokenLimit::from_u64(13000), - ), -]; +const IBC_TOKENS: [(ChannelId, BaseToken, MintTokenLimit, ThroughtputTokenLimit); 1] = [( + "channel-0", + "uosmo", + MintTokenLimit::from_u64(10000000000), + ThroughtputTokenLimit::from_u64(10000000000), +)]; #[transaction] fn apply_tx(ctx: &mut Ctx, _tx_data: BatchedTx) -> TxResult { From c9d7222ac8e9ec0386c983a397c9aa4f09c0a172 Mon Sep 17 00:00:00 2001 From: brentstone Date: Fri, 18 Oct 2024 15:52:05 -0400 Subject: [PATCH 6/6] dry-run phase 4 wasm --- shielding_rewards_party/src/lib.rs | 112 +++++++++++++---------------- 1 file changed, 49 insertions(+), 63 deletions(-) diff --git a/shielding_rewards_party/src/lib.rs b/shielding_rewards_party/src/lib.rs index a196321..cd29940 100644 --- a/shielding_rewards_party/src/lib.rs +++ b/shielding_rewards_party/src/lib.rs @@ -1,6 +1,7 @@ use dec::Dec; use namada_tx_prelude::*; use std::str::FromStr; +use token::storage_key::balance_key; pub type Denomination = u8; pub type ChannelId = &'static str; @@ -19,26 +20,15 @@ const IBC_TOKENS: [( TokenTargetLockedAmount, KpGain, KdGain, -); 2] = [ - ( - 0, - "channel-0", - "tnam1qrdm8ymq2svrrafzuqahm547xm4kfuw3aue93uzs", - "0.01", - 1_000_000_000, - "120000", - "120000", - ), - ( - 0, - "channel-1", - "tnam1qqx4luqsngxdmpf5nk8shkn7wwlmz6g7dckp8kgm", - "0.015", - 1_500_000_000, - "150000", - "110000", - ), -]; +); 1] = [( + 6, + "channel-0", + "uosmo", + "0.01", + 1_000_000, + "120000", + "120000", +)]; #[transaction] fn apply_tx(ctx: &mut Ctx, _tx_data: BatchedTx) -> TxResult { @@ -48,47 +38,38 @@ fn apply_tx(ctx: &mut Ctx, _tx_data: BatchedTx) -> TxResult { .read::(&token_map_key)? .unwrap_or_default(); - let nam_address = ctx.get_native_token()?; + // let nam_address = ctx.get_native_token()?; // Add native token to token map - token_map.insert("nam".to_string(), nam_address.clone()); - - let shielded_native_token_last_inflation_key = - token::storage_key::masp_last_inflation_key(&nam_address); - let shielded_native_token_last_locked_amount_key = - token::storage_key::masp_last_locked_amount_key(&nam_address); - let shielded_native_token_max_rewards_key = - token::storage_key::masp_max_reward_rate_key(&nam_address); - let shielded_native_token_target_locked_amount_key = - token::storage_key::masp_locked_amount_target_key(&nam_address); - let shielded_native_token_kp_gain_key = token::storage_key::masp_kp_gain_key(&nam_address); - let shielded_native_token_kd_gain_key = token::storage_key::masp_kd_gain_key(&nam_address); + // token_map.insert("nam".to_string(), nam_address.clone()); + + // let shielded_native_token_last_inflation_key = + // token::storage_key::masp_last_inflation_key(&nam_address); + // let shielded_native_token_last_locked_amount_key = + // token::storage_key::masp_last_locked_amount_key(&nam_address); + // let shielded_native_token_max_rewards_key = + // token::storage_key::masp_max_reward_rate_key(&nam_address); + // let shielded_native_token_target_locked_amount_key = + // token::storage_key::masp_locked_amount_target_key(&nam_address); + // let shielded_native_token_kp_gain_key = token::storage_key::masp_kp_gain_key(&nam_address); + // let shielded_native_token_kd_gain_key = token::storage_key::masp_kd_gain_key(&nam_address); // Setup native token shielded set rewards to 0 - ctx.write( - &shielded_native_token_last_inflation_key, - token::Amount::zero(), - )?; - ctx.write( - &shielded_native_token_last_locked_amount_key, - token::Amount::zero(), - )?; - ctx.write( - &shielded_native_token_max_rewards_key, - Dec::zero(), - )?; - ctx.write( - &shielded_native_token_target_locked_amount_key, - token::Amount::from_uint(0, 6).unwrap(), - )?; - ctx.write( - &shielded_native_token_kp_gain_key, - Dec::zero(), - )?; - ctx.write( - &shielded_native_token_kd_gain_key, - Dec::zero(), - )?; + // ctx.write( + // &shielded_native_token_last_inflation_key, + // token::Amount::zero(), + // )?; + // ctx.write( + // &shielded_native_token_last_locked_amount_key, + // token::Amount::zero(), + // )?; + // ctx.write(&shielded_native_token_max_rewards_key, Dec::zero())?; + // ctx.write( + // &shielded_native_token_target_locked_amount_key, + // token::Amount::from_uint(0, 6).unwrap(), + // )?; + // ctx.write(&shielded_native_token_kp_gain_key, Dec::zero())?; + // ctx.write(&shielded_native_token_kd_gain_key, Dec::zero())?; // Enable shielded set rewards for ibc tokens for (denomination, channel_id, base_token, max_reward, target_locked_amount, kp, kd) in @@ -109,14 +90,19 @@ fn apply_tx(ctx: &mut Ctx, _tx_data: BatchedTx) -> TxResult { let shielded_token_kd_gain_key = token::storage_key::masp_kd_gain_key(&token_address); // Add the ibc token to the masp token map - token_map.insert(ibc_denom, token_address); + token_map.insert(ibc_denom, token_address.clone()); + + // Read the current balance of the IBC token in MASP and set that as initial locked amount + let ibc_balance_key = balance_key( + &token_address, + &Address::Internal(address::InternalAddress::Masp), + ); + let current_ibc_amount = ctx.read::(&ibc_balance_key)?.unwrap(); + ctx.write(&shielded_token_last_locked_amount_key, current_ibc_amount)?; - // Write the MASP inflation keys + // Initialize the remaining MASP inflation keys ctx.write(&shielded_token_last_inflation_key, token::Amount::zero())?; - ctx.write( - &shielded_token_last_locked_amount_key, - token::Amount::zero(), - )?; + ctx.write( &shielded_token_max_rewards_key, Dec::from_str(max_reward).unwrap(),