+
+
+
+
+
+ {startEpochIndex.toString()}
+
+
+ }
+ />
+ );
+};
diff --git a/packages/ui/components/ui/tx/view/viewbox.tsx b/packages/ui/components/ui/tx/view/viewbox.tsx
index c92aae33b8..27780085d4 100644
--- a/packages/ui/components/ui/tx/view/viewbox.tsx
+++ b/packages/ui/components/ui/tx/view/viewbox.tsx
@@ -13,7 +13,7 @@ export const ViewBox = ({ label, visibleContent }: ViewBoxProps) => {
return (
diff --git a/packages/wasm/crate/Cargo.lock b/packages/wasm/crate/Cargo.lock
index f1c096b15b..1c5d6518ac 100644
--- a/packages/wasm/crate/Cargo.lock
+++ b/packages/wasm/crate/Cargo.lock
@@ -776,8 +776,8 @@ dependencies = [
[[package]]
name = "decaf377-fmd"
-version = "0.68.2"
-source = "git+https://github.com/penumbra-zone/penumbra.git?tag=v0.68.2#b37252bb584499f635fee863dcf948ab570361c2"
+version = "0.68.3"
+source = "git+https://github.com/penumbra-zone/penumbra.git?tag=v0.68.3#7633cee0d7567924bb6f0139b8853bb92cd0d6fe"
dependencies = [
"ark-ff",
"ark-serialize",
@@ -790,8 +790,8 @@ dependencies = [
[[package]]
name = "decaf377-ka"
-version = "0.68.2"
-source = "git+https://github.com/penumbra-zone/penumbra.git?tag=v0.68.2#b37252bb584499f635fee863dcf948ab570361c2"
+version = "0.68.3"
+source = "git+https://github.com/penumbra-zone/penumbra.git?tag=v0.68.3#7633cee0d7567924bb6f0139b8853bb92cd0d6fe"
dependencies = [
"ark-ff",
"decaf377 0.5.0",
@@ -2087,8 +2087,8 @@ dependencies = [
[[package]]
name = "penumbra-asset"
-version = "0.68.2"
-source = "git+https://github.com/penumbra-zone/penumbra.git?tag=v0.68.2#b37252bb584499f635fee863dcf948ab570361c2"
+version = "0.68.3"
+source = "git+https://github.com/penumbra-zone/penumbra.git?tag=v0.68.3#7633cee0d7567924bb6f0139b8853bb92cd0d6fe"
dependencies = [
"anyhow",
"ark-ff",
@@ -2109,6 +2109,7 @@ dependencies = [
"ibig",
"num-bigint",
"once_cell",
+ "pbjson-types",
"penumbra-num",
"penumbra-proto",
"poseidon377",
@@ -2124,8 +2125,8 @@ dependencies = [
[[package]]
name = "penumbra-community-pool"
-version = "0.68.2"
-source = "git+https://github.com/penumbra-zone/penumbra.git?tag=v0.68.2#b37252bb584499f635fee863dcf948ab570361c2"
+version = "0.68.3"
+source = "git+https://github.com/penumbra-zone/penumbra.git?tag=v0.68.3#7633cee0d7567924bb6f0139b8853bb92cd0d6fe"
dependencies = [
"anyhow",
"ark-ff",
@@ -2154,8 +2155,8 @@ dependencies = [
[[package]]
name = "penumbra-compact-block"
-version = "0.68.2"
-source = "git+https://github.com/penumbra-zone/penumbra.git?tag=v0.68.2#b37252bb584499f635fee863dcf948ab570361c2"
+version = "0.68.3"
+source = "git+https://github.com/penumbra-zone/penumbra.git?tag=v0.68.3#7633cee0d7567924bb6f0139b8853bb92cd0d6fe"
dependencies = [
"anyhow",
"ark-ff",
@@ -2186,8 +2187,8 @@ dependencies = [
[[package]]
name = "penumbra-dex"
-version = "0.68.2"
-source = "git+https://github.com/penumbra-zone/penumbra.git?tag=v0.68.2#b37252bb584499f635fee863dcf948ab570361c2"
+version = "0.68.3"
+source = "git+https://github.com/penumbra-zone/penumbra.git?tag=v0.68.3#7633cee0d7567924bb6f0139b8853bb92cd0d6fe"
dependencies = [
"anyhow",
"ark-ff",
@@ -2238,8 +2239,8 @@ dependencies = [
[[package]]
name = "penumbra-distributions"
-version = "0.68.2"
-source = "git+https://github.com/penumbra-zone/penumbra.git?tag=v0.68.2#b37252bb584499f635fee863dcf948ab570361c2"
+version = "0.68.3"
+source = "git+https://github.com/penumbra-zone/penumbra.git?tag=v0.68.3#7633cee0d7567924bb6f0139b8853bb92cd0d6fe"
dependencies = [
"anyhow",
"async-trait",
@@ -2254,8 +2255,8 @@ dependencies = [
[[package]]
name = "penumbra-fee"
-version = "0.68.2"
-source = "git+https://github.com/penumbra-zone/penumbra.git?tag=v0.68.2#b37252bb584499f635fee863dcf948ab570361c2"
+version = "0.68.3"
+source = "git+https://github.com/penumbra-zone/penumbra.git?tag=v0.68.3#7633cee0d7567924bb6f0139b8853bb92cd0d6fe"
dependencies = [
"anyhow",
"ark-ff",
@@ -2277,8 +2278,8 @@ dependencies = [
[[package]]
name = "penumbra-funding"
-version = "0.68.2"
-source = "git+https://github.com/penumbra-zone/penumbra.git?tag=v0.68.2#b37252bb584499f635fee863dcf948ab570361c2"
+version = "0.68.3"
+source = "git+https://github.com/penumbra-zone/penumbra.git?tag=v0.68.3#7633cee0d7567924bb6f0139b8853bb92cd0d6fe"
dependencies = [
"anyhow",
"async-trait",
@@ -2296,8 +2297,8 @@ dependencies = [
[[package]]
name = "penumbra-governance"
-version = "0.68.2"
-source = "git+https://github.com/penumbra-zone/penumbra.git?tag=v0.68.2#b37252bb584499f635fee863dcf948ab570361c2"
+version = "0.68.3"
+source = "git+https://github.com/penumbra-zone/penumbra.git?tag=v0.68.3#7633cee0d7567924bb6f0139b8853bb92cd0d6fe"
dependencies = [
"anyhow",
"ark-ff",
@@ -2347,8 +2348,8 @@ dependencies = [
[[package]]
name = "penumbra-ibc"
-version = "0.68.2"
-source = "git+https://github.com/penumbra-zone/penumbra.git?tag=v0.68.2#b37252bb584499f635fee863dcf948ab570361c2"
+version = "0.68.3"
+source = "git+https://github.com/penumbra-zone/penumbra.git?tag=v0.68.3#7633cee0d7567924bb6f0139b8853bb92cd0d6fe"
dependencies = [
"anyhow",
"ark-ff",
@@ -2380,8 +2381,8 @@ dependencies = [
[[package]]
name = "penumbra-keys"
-version = "0.68.2"
-source = "git+https://github.com/penumbra-zone/penumbra.git?tag=v0.68.2#b37252bb584499f635fee863dcf948ab570361c2"
+version = "0.68.3"
+source = "git+https://github.com/penumbra-zone/penumbra.git?tag=v0.68.3#7633cee0d7567924bb6f0139b8853bb92cd0d6fe"
dependencies = [
"aes",
"anyhow",
@@ -2424,8 +2425,8 @@ dependencies = [
[[package]]
name = "penumbra-num"
-version = "0.68.2"
-source = "git+https://github.com/penumbra-zone/penumbra.git?tag=v0.68.2#b37252bb584499f635fee863dcf948ab570361c2"
+version = "0.68.3"
+source = "git+https://github.com/penumbra-zone/penumbra.git?tag=v0.68.3#7633cee0d7567924bb6f0139b8853bb92cd0d6fe"
dependencies = [
"anyhow",
"ark-ff",
@@ -2460,8 +2461,8 @@ dependencies = [
[[package]]
name = "penumbra-proof-params"
-version = "0.68.2"
-source = "git+https://github.com/penumbra-zone/penumbra.git?tag=v0.68.2#b37252bb584499f635fee863dcf948ab570361c2"
+version = "0.68.3"
+source = "git+https://github.com/penumbra-zone/penumbra.git?tag=v0.68.3#7633cee0d7567924bb6f0139b8853bb92cd0d6fe"
dependencies = [
"anyhow",
"ark-ec",
@@ -2486,8 +2487,8 @@ dependencies = [
[[package]]
name = "penumbra-proto"
-version = "0.68.2"
-source = "git+https://github.com/penumbra-zone/penumbra.git?tag=v0.68.2#b37252bb584499f635fee863dcf948ab570361c2"
+version = "0.68.3"
+source = "git+https://github.com/penumbra-zone/penumbra.git?tag=v0.68.3#7633cee0d7567924bb6f0139b8853bb92cd0d6fe"
dependencies = [
"anyhow",
"async-trait",
@@ -2513,8 +2514,8 @@ dependencies = [
[[package]]
name = "penumbra-sct"
-version = "0.68.2"
-source = "git+https://github.com/penumbra-zone/penumbra.git?tag=v0.68.2#b37252bb584499f635fee863dcf948ab570361c2"
+version = "0.68.3"
+source = "git+https://github.com/penumbra-zone/penumbra.git?tag=v0.68.3#7633cee0d7567924bb6f0139b8853bb92cd0d6fe"
dependencies = [
"anyhow",
"ark-ff",
@@ -2544,8 +2545,8 @@ dependencies = [
[[package]]
name = "penumbra-shielded-pool"
-version = "0.68.2"
-source = "git+https://github.com/penumbra-zone/penumbra.git?tag=v0.68.2#b37252bb584499f635fee863dcf948ab570361c2"
+version = "0.68.3"
+source = "git+https://github.com/penumbra-zone/penumbra.git?tag=v0.68.3#7633cee0d7567924bb6f0139b8853bb92cd0d6fe"
dependencies = [
"anyhow",
"ark-ff",
@@ -2591,8 +2592,8 @@ dependencies = [
[[package]]
name = "penumbra-stake"
-version = "0.68.2"
-source = "git+https://github.com/penumbra-zone/penumbra.git?tag=v0.68.2#b37252bb584499f635fee863dcf948ab570361c2"
+version = "0.68.3"
+source = "git+https://github.com/penumbra-zone/penumbra.git?tag=v0.68.3#7633cee0d7567924bb6f0139b8853bb92cd0d6fe"
dependencies = [
"anyhow",
"ark-ff",
@@ -2632,8 +2633,8 @@ dependencies = [
[[package]]
name = "penumbra-tct"
-version = "0.68.2"
-source = "git+https://github.com/penumbra-zone/penumbra.git?tag=v0.68.2#b37252bb584499f635fee863dcf948ab570361c2"
+version = "0.68.3"
+source = "git+https://github.com/penumbra-zone/penumbra.git?tag=v0.68.3#7633cee0d7567924bb6f0139b8853bb92cd0d6fe"
dependencies = [
"ark-ed-on-bls12-377",
"ark-ff",
@@ -2660,8 +2661,8 @@ dependencies = [
[[package]]
name = "penumbra-transaction"
-version = "0.68.2"
-source = "git+https://github.com/penumbra-zone/penumbra.git?tag=v0.68.2#b37252bb584499f635fee863dcf948ab570361c2"
+version = "0.68.3"
+source = "git+https://github.com/penumbra-zone/penumbra.git?tag=v0.68.3#7633cee0d7567924bb6f0139b8853bb92cd0d6fe"
dependencies = [
"anyhow",
"ark-ff",
@@ -2710,8 +2711,8 @@ dependencies = [
[[package]]
name = "penumbra-txhash"
-version = "0.68.2"
-source = "git+https://github.com/penumbra-zone/penumbra.git?tag=v0.68.2#b37252bb584499f635fee863dcf948ab570361c2"
+version = "0.68.3"
+source = "git+https://github.com/penumbra-zone/penumbra.git?tag=v0.68.3#7633cee0d7567924bb6f0139b8853bb92cd0d6fe"
dependencies = [
"anyhow",
"blake2b_simd 1.0.2",
diff --git a/packages/wasm/crate/Cargo.toml b/packages/wasm/crate/Cargo.toml
index f13f63d69b..8d8755febb 100644
--- a/packages/wasm/crate/Cargo.toml
+++ b/packages/wasm/crate/Cargo.toml
@@ -15,21 +15,21 @@ default = ["console_error_panic_hook"]
mock-database = []
[dependencies]
-penumbra-asset = { git = "https://github.com/penumbra-zone/penumbra.git", tag = "v0.68.2", package = "penumbra-asset" }
-penumbra-compact-block = { git = "https://github.com/penumbra-zone/penumbra.git", tag = "v0.68.2", package = "penumbra-compact-block", default-features = false }
-penumbra-dex = { git = "https://github.com/penumbra-zone/penumbra.git", tag = "v0.68.2", package = "penumbra-dex", default-features = false }
-penumbra-fee = { git = "https://github.com/penumbra-zone/penumbra.git", tag = "v0.68.2", package = "penumbra-fee", default-features = false }
-penumbra-governance = { git = "https://github.com/penumbra-zone/penumbra.git", tag = "v0.68.2", package = "penumbra-governance", default-features = false }
-penumbra-ibc = { git = "https://github.com/penumbra-zone/penumbra.git", tag = "v0.68.2", package = "penumbra-ibc", default-features = false }
-penumbra-keys = { git = "https://github.com/penumbra-zone/penumbra.git", tag = "v0.68.2", package = "penumbra-keys" }
-penumbra-num = { git = "https://github.com/penumbra-zone/penumbra.git", tag = "v0.68.2", package = "penumbra-num" }
-penumbra-proof-params = { git = "https://github.com/penumbra-zone/penumbra.git", tag = "v0.68.2", package = "penumbra-proof-params", default-features = false }
-penumbra-proto = { git = "https://github.com/penumbra-zone/penumbra.git", tag = "v0.68.2", package = "penumbra-proto", default-features = false }
-penumbra-sct = { git = "https://github.com/penumbra-zone/penumbra.git", tag = "v0.68.2", package = "penumbra-sct", default-features = false }
-penumbra-shielded-pool = { git = "https://github.com/penumbra-zone/penumbra.git", tag = "v0.68.2", package = "penumbra-shielded-pool", default-features = false }
-penumbra-stake = { git = "https://github.com/penumbra-zone/penumbra.git", tag = "v0.68.2", package = "penumbra-stake", default-features = false }
-penumbra-tct = { git = "https://github.com/penumbra-zone/penumbra.git", tag = "v0.68.2", package = "penumbra-tct" }
-penumbra-transaction = { git = "https://github.com/penumbra-zone/penumbra.git", tag = "v0.68.2", package = "penumbra-transaction", default-features = false }
+penumbra-asset = { git = "https://github.com/penumbra-zone/penumbra.git", tag = "v0.68.3", package = "penumbra-asset" }
+penumbra-compact-block = { git = "https://github.com/penumbra-zone/penumbra.git", tag = "v0.68.3", package = "penumbra-compact-block", default-features = false }
+penumbra-dex = { git = "https://github.com/penumbra-zone/penumbra.git", tag = "v0.68.3", package = "penumbra-dex", default-features = false }
+penumbra-fee = { git = "https://github.com/penumbra-zone/penumbra.git", tag = "v0.68.3", package = "penumbra-fee", default-features = false }
+penumbra-governance = { git = "https://github.com/penumbra-zone/penumbra.git", tag = "v0.68.3", package = "penumbra-governance", default-features = false }
+penumbra-ibc = { git = "https://github.com/penumbra-zone/penumbra.git", tag = "v0.68.3", package = "penumbra-ibc", default-features = false }
+penumbra-keys = { git = "https://github.com/penumbra-zone/penumbra.git", tag = "v0.68.3", package = "penumbra-keys" }
+penumbra-num = { git = "https://github.com/penumbra-zone/penumbra.git", tag = "v0.68.3", package = "penumbra-num" }
+penumbra-proof-params = { git = "https://github.com/penumbra-zone/penumbra.git", tag = "v0.68.3", package = "penumbra-proof-params", default-features = false }
+penumbra-proto = { git = "https://github.com/penumbra-zone/penumbra.git", tag = "v0.68.3", package = "penumbra-proto", default-features = false }
+penumbra-sct = { git = "https://github.com/penumbra-zone/penumbra.git", tag = "v0.68.3", package = "penumbra-sct", default-features = false }
+penumbra-shielded-pool = { git = "https://github.com/penumbra-zone/penumbra.git", tag = "v0.68.3", package = "penumbra-shielded-pool", default-features = false }
+penumbra-stake = { git = "https://github.com/penumbra-zone/penumbra.git", tag = "v0.68.3", package = "penumbra-stake", default-features = false }
+penumbra-tct = { git = "https://github.com/penumbra-zone/penumbra.git", tag = "v0.68.3", package = "penumbra-tct" }
+penumbra-transaction = { git = "https://github.com/penumbra-zone/penumbra.git", tag = "v0.68.3", package = "penumbra-transaction", default-features = false }
anyhow = "1.0.80"
ark-ff = { version = "0.4.2", features = ["std"] }
diff --git a/packages/wasm/crate/src/planner.rs b/packages/wasm/crate/src/planner.rs
index 33b8b4d5fa..c3fbf08aae 100644
--- a/packages/wasm/crate/src/planner.rs
+++ b/packages/wasm/crate/src/planner.rs
@@ -3,7 +3,7 @@ use std::str::FromStr;
use anyhow::anyhow;
use ark_ff::UniformRand;
-use decaf377::Fq;
+use decaf377::{Fq, Fr};
use penumbra_asset::{asset, Balance, Value};
use penumbra_dex::swap_claim::SwapClaimPlan;
use penumbra_dex::{
@@ -22,6 +22,7 @@ use penumbra_proto::view::v1::{
use penumbra_sct::params::SctParameters;
use penumbra_shielded_pool::{fmd, OutputPlan, SpendPlan};
use penumbra_stake::rate::RateData;
+use penumbra_stake::{IdentityKey, Penalty, UndelegateClaimPlan};
use penumbra_transaction::gas::GasCost;
use penumbra_transaction::memo::MemoPlaintext;
use penumbra_transaction::{plan::MemoPlan, ActionPlan, TransactionParameters, TransactionPlan};
@@ -314,11 +315,35 @@ pub async fn plan_transaction(
actions.push(rate_data.build_undelegate(value.amount).into());
}
- /*
- for tpr::UndelegateClaim { .. } in request.undelegation_claims {
- // need to wait for a new release of monorepo
+ for tpr::UndelegateClaim {
+ validator_identity,
+ start_epoch_index,
+ penalty,
+ unbonding_amount,
+ } in request.undelegation_claims
+ {
+ let validator_identity: IdentityKey = validator_identity
+ .ok_or_else(|| anyhow!("missing validator identity in undelegation claim"))?
+ .try_into()?;
+ let penalty: Penalty = penalty
+ .ok_or_else(|| anyhow!("missing penalty in undelegation claim"))?
+ .try_into()?;
+ let unbonding_amount: Amount = unbonding_amount
+ .ok_or_else(|| anyhow!("missing unbonding amount in undelegation claim"))?
+ .try_into()?;
+
+ let undelegate_claim_plan = UndelegateClaimPlan {
+ validator_identity,
+ start_epoch_index,
+ penalty,
+ unbonding_amount,
+ balance_blinding: Fr::rand(&mut OsRng),
+ proof_blinding_r: Fq::rand(&mut OsRng),
+ proof_blinding_s: Fq::rand(&mut OsRng),
+ };
+
+ actions.push(ActionPlan::UndelegateClaim(undelegate_claim_plan));
}
- */
#[allow(clippy::never_loop)]
for ibc::v1::IbcRelay { .. } in request.ibc_relay_actions {
diff --git a/packages/wasm/crate/tests/build.rs b/packages/wasm/crate/tests/build.rs
index ef0aa7c038..b56e3280e1 100644
--- a/packages/wasm/crate/tests/build.rs
+++ b/packages/wasm/crate/tests/build.rs
@@ -399,6 +399,7 @@ mod tests {
swap_claims: vec![],
delegations: vec![],
undelegations: vec![],
+ undelegation_claims: vec![],
ibc_relay_actions: vec![],
ics20_withdrawals: vec![],
position_opens: vec![],
diff --git a/packages/wasm/src/build.ts b/packages/wasm/src/build.ts
index f64ceb038c..af06d54ad4 100644
--- a/packages/wasm/src/build.ts
+++ b/packages/wasm/src/build.ts
@@ -59,6 +59,6 @@ export const buildActionParallel = async (
const loadProvingKey = async (actionType: ActionType) => {
const keyType = provingKeys[actionType];
if (!keyType) return;
- const keyBin = (await fetch(`bin/${actionType}_pk.bin`)).arrayBuffer();
+ const keyBin = (await fetch(`bin/${keyType}_pk.bin`)).arrayBuffer();
load_proving_key(await keyBin, keyType);
};
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index b811bb8534..ff3a3f7cce 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -438,6 +438,9 @@ importers:
packages/getters:
dependencies:
+ '@penumbra-zone/constants':
+ specifier: workspace:*
+ version: link:../constants
bech32:
specifier: ^2.0.0
version: 2.0.0
diff --git a/scripts/delegate-to-validators.sh b/scripts/delegate-to-validators.sh
index 6459be425e..365826f3fe 100644
--- a/scripts/delegate-to-validators.sh
+++ b/scripts/delegate-to-validators.sh
@@ -57,6 +57,6 @@ for ((i=$START_INDEX; i<=$END_INDEX; i++)); do
DIRECTORY="$BASE_DIRECTORY/validator-$i"
VALIDATOR_IDENTITY_KEY=$(sed -n -E 's/(.*^identity_key = "([^"]+)"$.*)/\2/p' $DIRECTORY/validator.toml)
- echo "Delegating $DELEGATION_AMOUNT""penumbra to $VALIDATOR_IDENTITY_KEY"
- pcli tx delegate --to $VALIDATOR_IDENTITY_KEY $DELEGATION_AMOUNT"penumbra" &
+ echo "Running pcli tx delegate --to $VALIDATOR_IDENTITY_KEY $DELEGATION_AMOUNT""penumbra"
+ pcli tx delegate --to $VALIDATOR_IDENTITY_KEY $DELEGATION_AMOUNT"penumbra"
done