From 6f758fbe75b1d0cd552047d17c5c7de908afccad Mon Sep 17 00:00:00 2001 From: Mudassir Shabbir Date: Fri, 18 Apr 2025 12:10:05 +0500 Subject: [PATCH 1/4] chore: proposal script and better error reporting --- multichain-testing/Makefile | 2 +- multichain-testing/config.yaml | 20 +++- .../scripts/add_hostzones_proposal.json | 2 +- .../scripts/submit_proposals.sh | 96 +++++++++++++++++++ .../src/examples/elys-contract.flows.js | 56 ++++++----- 5 files changed, 147 insertions(+), 29 deletions(-) create mode 100755 multichain-testing/scripts/submit_proposals.sh diff --git a/multichain-testing/Makefile b/multichain-testing/Makefile index 3019d75c196..84f382582b8 100644 --- a/multichain-testing/Makefile +++ b/multichain-testing/Makefile @@ -158,4 +158,4 @@ stride-host-zone: strided q gov proposal $$PROPOSAL_ID --output json | jq '.' .PHONY: start -start: install wait-for-pods port-forward fund-provision-pool override-chain-registry register-bank-assets stride-host-zone +start: install wait-for-pods port-forward fund-provision-pool override-chain-registry register-bank-assets #stride-host-zone diff --git a/multichain-testing/config.yaml b/multichain-testing/config.yaml index 2f7e7dfac1b..1fbc34322a9 100644 --- a/multichain-testing/config.yaml +++ b/multichain-testing/config.yaml @@ -97,7 +97,17 @@ chains: cpu: 1 memory: 3Gi - id: stridelocal - name: stride + name: custom + image: ghcr.io/cosmology-tech/starship/stride:v9.2.1 + home: /root/.stride + binary: strided + prefix: stride + denom: ustrd + prettyName: Stride + coins: 100000000000000ustrd + hdPath: m/44'/118'/0'/0/0 + coinType: 118 + repo: https://github.com/Stride-Labs/stride numValidators: 1 genesis: app_state: @@ -135,8 +145,16 @@ chains: name: "Stride Staked ATOM" display: statom symbol: stATOM + traces: + - type: liquid-stake + counterparty: + chain_name: cosmoshub + base_denom: uatom + provider: Stride logo_URIs: png: "https://raw.githubusercontent.com/cosmos/chain-registry/master/stride/images/statom.png" + svg: "https://raw.githubusercontent.com/cosmos/chain-registry/master/stride/images/statom.svg" + coingecko_id: stride-staked-atom denom_units: - denom: stuatom exponent: 0 diff --git a/multichain-testing/scripts/add_hostzones_proposal.json b/multichain-testing/scripts/add_hostzones_proposal.json index 6ebe59f7150..3a8a2e364c7 100644 --- a/multichain-testing/scripts/add_hostzones_proposal.json +++ b/multichain-testing/scripts/add_hostzones_proposal.json @@ -17,4 +17,4 @@ "deposit": "100000000ustrd", "title": "MsgUpdateParams", "summary": "asdasd" -} \ No newline at end of file +} diff --git a/multichain-testing/scripts/submit_proposals.sh b/multichain-testing/scripts/submit_proposals.sh new file mode 100755 index 00000000000..126cd48fa92 --- /dev/null +++ b/multichain-testing/scripts/submit_proposals.sh @@ -0,0 +1,96 @@ +#!/bin/bash + +set -e + +# --- Configuration --- +CONTAINER="stridelocal-genesis-0" +CHAIN_BINARY="strided" +GAS_SUBMIT="9000000" +GAS_VOTE="90000" +SLEEP_INTERVAL=2 +VERBOSE=false + +# Proposals and voting metadata +declare -a FILES=("add_ica_allowed_msgs_proposal.json" "add_hostzones_proposal.json") +declare -a LOCAL_PATHS=( + "./scripts/add_ica_allowed_msgs_proposal.json" + "./scripts/add_hostzones_proposal.json" +) +declare -a REMOTE_PATHS=( + "/tmp/add_ica_allowed_msgs_proposal.json" + "/tmp/add_hostzones_proposal.json" +) +declare -a SUBMIT_CMDS=( + "tx gov submit-legacy-proposal param-change" + "tx gov submit-proposal" +) +declare -a VOTERS=( + "genesis" + "genesis" +) + +# --- Handle CLI flags --- +for arg in "$@"; do + if [[ "$arg" == "--verbose" ]]; then + VERBOSE=true + fi +done + +log() { + if $VERBOSE; then + echo "$@" + fi +} + +submit_and_vote() { + local local_path="$1" + local remote_path="$2" + local submit_cmd="$3" + local voter="$4" + + echo "šŸ“„ Copying $local_path to container..." + kubectl cp "$local_path" "$CONTAINER:$remote_path" + + echo "šŸ“¤ Submitting proposal: $remote_path" + kubectl exec -i $CONTAINER -- $CHAIN_BINARY $submit_cmd "$remote_path" \ + --from genesis --gas "$GAS_SUBMIT" -y > /dev/null + + sleep 1 # give time for proposal to be indexed + + log "šŸ” Fetching latest proposal ID..." + PROPOSAL_ID=$(kubectl exec -i $CONTAINER -- $CHAIN_BINARY q gov proposals --output json \ + | jq -r '.proposals | sort_by(.id) | last | .id') + + echo "āœ… Submitted proposal ID: $PROPOSAL_ID" + + echo "šŸ—³ļø Voting 'yes' with $voter..." + kubectl exec -i $CONTAINER -- $CHAIN_BINARY tx gov vote "$PROPOSAL_ID" yes \ + --from "$voter" --gas "$GAS_VOTE" -y > /dev/null + + echo "ā³ Waiting for proposal $PROPOSAL_ID to exit voting period..." + while true; do + STATUS=$(kubectl exec -i $CONTAINER -- $CHAIN_BINARY q gov proposal "$PROPOSAL_ID" --output json \ + | jq -r '.status') + + if [[ "$STATUS" == "PROPOSAL_STATUS_VOTING_PERIOD" ]]; then + log " ā±ļø Still voting... (status: $STATUS)" + sleep "$SLEEP_INTERVAL" + else + echo "āœ… Proposal $PROPOSAL_ID finalized with status: $STATUS" + break + fi + done + + echo "šŸ“Š Final tally for proposal $PROPOSAL_ID:" + kubectl exec -i $CONTAINER -- $CHAIN_BINARY q gov proposal "$PROPOSAL_ID" --output json \ + | jq '.final_tally_result' + + echo "------------------------------------------------" +} + +# --- Main --- +for i in "${!FILES[@]}"; do + submit_and_vote "${LOCAL_PATHS[$i]}" "${REMOTE_PATHS[$i]}" "${SUBMIT_CMDS[$i]}" "${VOTERS[$i]}" +done +echo "āœ… All proposals submitted and voted successfully!" +echo "------------------------------------------------" \ No newline at end of file diff --git a/packages/orchestration/src/examples/elys-contract.flows.js b/packages/orchestration/src/examples/elys-contract.flows.js index c73dbde4165..258d460367a 100644 --- a/packages/orchestration/src/examples/elys-contract.flows.js +++ b/packages/orchestration/src/examples/elys-contract.flows.js @@ -215,7 +215,7 @@ export const tokenMovementAndStrideLSDFlow = async ( JSON.parse(atob(incomingIbcTransferEvent.packet.data)) ); - trace('Received Fungible Token Packet Data', tx); + trace('ElysFlow: Received Fungible Token Packet Data', tx); // ignore the outgoing transfers if (tx.receiver !== localAccountAddress.value) { @@ -259,9 +259,10 @@ export const tokenMovementAndStrideLSDFlow = async ( try { incomingTokenAmount = BigInt(tx.amount); } catch (error) { - trace('Error converting tx.amount to BigInt', error); + trace('ElysFlow: Error converting tx.amount to BigInt', error); return; } + trace('ElysFlow: Converted tx.amount to BigInt', tx.amount); let amountAfterFeeDeduction; // deduct fees @@ -273,9 +274,9 @@ export const tokenMovementAndStrideLSDFlow = async ( incomingTokenIBCDenom, true, ); - trace('amount after fee deduction', amountAfterFeeDeduction); + trace('ElysFlow: Amount after fee deduction', amountAfterFeeDeduction); } catch (error) { - trace('Error deducting fees', error); + trace('ElysFlow: Error deducting fees', error); return; } @@ -293,10 +294,11 @@ export const tokenMovementAndStrideLSDFlow = async ( senderAgoricChainAddress, hostChainInfo.ibcDenomOnAgoric, amountAfterFeeDeduction, - 'Moving tokens from agoric to host-chain failed, sending it to users wallet on agoric chain', + 'ElysFlow: Moving tokens from agoric to host-chain failed, sending it to users wallet on agoric chain', ); return; } + trace('ElysFlow: Moved tokens from agoric to host-chain address :', hostChainInfo.hostICAAccountAddress); // Move to stride ICA from host ICA account const senderHostChainAddress = { chainId: hostChainInfo.hostICAAccountAddress.chainId, @@ -304,7 +306,7 @@ export const tokenMovementAndStrideLSDFlow = async ( value: tx.sender, }; try { - trace('Moving tokens to stride from host-chain'); + trace('ElysFlow: Moving tokens to stride from host-chain'); await hostChainInfo.hostICAAccount.transfer(strideICAAddress, { denom: tx.denom, value: amountAfterFeeDeduction, @@ -315,10 +317,11 @@ export const tokenMovementAndStrideLSDFlow = async ( senderHostChainAddress, tx.denom, amountAfterFeeDeduction, - 'Moving tokens to stride from host-chain failed, sending it to users wallet on host chain', + 'ElysFlow: Moving tokens to stride from host-chain failed, sending it to users wallet on host chain', ); return; } + trace('ElysFlow: Moved tokens from host-chain to Stride address :', strideICAAddress); // Liquid stake on stride chain /** @type {MsgLiquidStakeResponse} */ let stakingResponse; @@ -335,10 +338,11 @@ export const tokenMovementAndStrideLSDFlow = async ( senderStrideChainAddress, hostChainInfo.ibcDenomOnStride, amountAfterFeeDeduction, - 'Liquid staking failed, sending tokens to users wallet on stride chain', + 'ElysFlow: Liquid staking failed, sending tokens to users wallet on stride chain', ); return; } + trace('ElysFlow: Liquid Staking Response :', stakingResponse); // Move stTokens to Elys chain try { await moveStTokensToElys( @@ -352,7 +356,7 @@ export const tokenMovementAndStrideLSDFlow = async ( senderStrideChainAddress, stakingResponse.stToken.denom, BigInt(stakingResponse.stToken.amount), - 'Moving stTokens to elys from stride chain failed, sending it to users wallet on stride chain', + 'ElysFlow: Moving stTokens to elys from stride chain failed, sending it to users wallet on stride chain', ); } } else { @@ -366,13 +370,13 @@ export const tokenMovementAndStrideLSDFlow = async ( try { incomingStTokenAmount = BigInt(tx.amount); } catch (error) { - trace('Error converting tx.amount to BigInt', error); + trace('ElysFlow: Error converting tx.amount to BigInt', error); return; } const ibcDenomOnAgoricFromElys = `ibc/${denomHash({ denom: `st${tx.denom}`, channelId: AgoricToElysChannel })}`; - trace(`LiquidStakeRedeem: Received ${tx.denom}`); - trace(`LiquidStakeRedeem: Moving ${ibcDenomOnAgoricFromElys} to elys ICA`); + trace(`ElysFlow: LiquidStakeRedeem: Received ${tx.denom}`); + trace(`ElysFlow: LiquidStakeRedeem: Moving ${ibcDenomOnAgoricFromElys} to elys ICA`); let amountAfterFeeDeduction; // deduct fees @@ -384,9 +388,9 @@ export const tokenMovementAndStrideLSDFlow = async ( ibcDenomOnAgoricFromElys, false, ); - trace('amount after fee deduction', amountAfterFeeDeduction); + trace('ElysFlow: Amount after fee deduction', amountAfterFeeDeduction); } catch (error) { - trace('Error deducting fees', error); + trace('ElysFlow: Error deducting fees', error); return; } @@ -402,7 +406,7 @@ export const tokenMovementAndStrideLSDFlow = async ( senderAgoricChainAddress, ibcDenomOnAgoricFromElys, amountAfterFeeDeduction, - 'Moving stTokens to elys ICA from agoric chain failed, sending it to users wallet on agoric chain', + 'ElysFlow: Moving stTokens to elys ICA from agoric chain failed, sending it to users wallet on agoric chain', ); return; } @@ -418,7 +422,7 @@ export const tokenMovementAndStrideLSDFlow = async ( senderElysChainAddress, tx.denom, amountAfterFeeDeduction, - 'Moving stTokens to stride ICA from elys ICA failed, sending it to users wallet on elys chain', + 'ElysFlow: Moving stTokens to stride ICA from elys ICA failed, sending it to users wallet on elys chain', ); return; } @@ -429,7 +433,7 @@ export const tokenMovementAndStrideLSDFlow = async ( hostChain.bech32Prefix, ); trace( - `Derived Native address from elys address ${tx.sender} is ${senderNativeAddress}`, + `ElysFlow: Derived Native address from elys address ${tx.sender} is ${senderNativeAddress}`, ); await redeemOnStride( @@ -445,7 +449,7 @@ export const tokenMovementAndStrideLSDFlow = async ( senderStrideChainAddress, `st${hostChain.nativeDenom}`, amountAfterFeeDeduction, - 'Unstaking on stride failed, sending it to users wallet on stride chain', + 'ElysFlow: Unstaking on stride failed, sending it to users wallet on stride chain', ); } } @@ -482,7 +486,7 @@ const handleTransferFailure = async ( await account.send(address, { denom, value: amount }); } catch (error) { trace( - `Failed to send tokens to ${address.value}, denom: ${denom}, amount: ${amount}`, + `ElysFlow: Failed to send tokens to ${address.value}, denom: ${denom}, amount: ${amount}`, error, ); } @@ -500,7 +504,7 @@ const moveToHostChain = async ( ibcDenomOnAgoric, amount, ) => { - trace('Moving funds to host-chain'); + trace('ElysFlow: Moving funds to host-chain'); trace('hostICAAddress ', hostICAAccountAddress); trace('ibcDenomOnAgoric ', ibcDenomOnAgoric); trace('amount', amount); @@ -509,7 +513,7 @@ const moveToHostChain = async ( denom: ibcDenomOnAgoric, value: amount, }); - trace('funds moved to host-chain, ', hostICAAccountAddress.chainId); + trace('ElysFlow: Funds moved to host-chain, ', hostICAAccountAddress.chainId); }; harden(moveToHostChain); /** @@ -533,7 +537,7 @@ const liquidStakeOnStride = async ( }), ); - trace('Calling liquid stake'); + trace('ElysFlow: Calling liquid stake'); const stakingResponse = await strideICAAccount.executeEncodedTx([ strideLiquidStakeMsg, ]); @@ -553,7 +557,7 @@ const moveStTokensToElys = async ( senderElysChainAddress, stToken, ) => { - trace('Moving stTokens to elys from stride'); + trace('ElysFlow: Moving stTokens to elys from stride'); await strideICAAccount.transfer(senderElysChainAddress, { denom: stToken.denom, value: BigInt(stToken.amount), @@ -620,7 +624,7 @@ const deductedFeeAmount = async ( const finalAmount = amount - feeAmount; if (finalAmount < 0) { - throw Fail`Fee is more than the amount`; + throw Fail`ElysFlow: Fee is more than the amount`; } const feeReceiverChainAddress = { @@ -629,11 +633,11 @@ const deductedFeeAmount = async ( value: feeConfig.feeCollector, }; - trace(`sending fee amount ${feeAmount} to ${feeConfig.feeCollector}`); + trace(`ElysFlow: Sending fee amount ${feeAmount} to ${feeConfig.feeCollector}`); await account.send(feeReceiverChainAddress, { denom, value: feeAmount, }); - trace('fee sent to fee collector'); + trace('ElysFlow: Fee sent to fee collector'); return harden(finalAmount); }; From 1be5f5d75b64d10c957d6a09e096bdc1627884b7 Mon Sep 17 00:00:00 2001 From: Mudassir Shabbir Date: Fri, 18 Apr 2025 15:18:01 +0500 Subject: [PATCH 2/4] chroe: various updates --- multichain-testing/config.yaml | 6 ---- .../scripts/add_hostzones_proposal.json | 6 ++-- multichain-testing/scripts/clean_logs.sh | 30 +++++++++++++++++++ multichain-testing/scripts/find_ibc_denom.sh | 2 +- .../src/examples/elys-contract.flows.js | 2 +- 5 files changed, 35 insertions(+), 11 deletions(-) create mode 100755 multichain-testing/scripts/clean_logs.sh diff --git a/multichain-testing/config.yaml b/multichain-testing/config.yaml index 1fbc34322a9..d56124322ad 100644 --- a/multichain-testing/config.yaml +++ b/multichain-testing/config.yaml @@ -145,12 +145,6 @@ chains: name: "Stride Staked ATOM" display: statom symbol: stATOM - traces: - - type: liquid-stake - counterparty: - chain_name: cosmoshub - base_denom: uatom - provider: Stride logo_URIs: png: "https://raw.githubusercontent.com/cosmos/chain-registry/master/stride/images/statom.png" svg: "https://raw.githubusercontent.com/cosmos/chain-registry/master/stride/images/statom.svg" diff --git a/multichain-testing/scripts/add_hostzones_proposal.json b/multichain-testing/scripts/add_hostzones_proposal.json index 3a8a2e364c7..ec4e112ba73 100644 --- a/multichain-testing/scripts/add_hostzones_proposal.json +++ b/multichain-testing/scripts/add_hostzones_proposal.json @@ -2,12 +2,12 @@ "messages": [ { "@type": "/stride.stakeibc.MsgRegisterHostZone", - "connection_id": "connection-0", + "connection_id": "connection-1", "bech32prefix": "cosmos", "host_denom": "uatom", - "ibc_denom": "ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2", + "ibc_denom": "ibc/C4CFF46FD6DE35CA4CF4CE031E643C8FDC9BA4B99AE598E9B0ED98FE3A2319F9", "creator": "stride10d07y265gmmuvt4z0w9aw880jnsr700jefnezl", - "transfer_channel_id": "channel-0", + "transfer_channel_id": "channel-1", "unbonding_frequency": "1000", "min_redemption_rate": "0", "max_redemption_rate": "50" diff --git a/multichain-testing/scripts/clean_logs.sh b/multichain-testing/scripts/clean_logs.sh new file mode 100755 index 00000000000..97cbc05341f --- /dev/null +++ b/multichain-testing/scripts/clean_logs.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +# Optional: stream logs from a live process or a log file +# Example: yarn logs | ./clean_cosmos_logs.sh + +# Define patterns that are routine and should be filtered out +ROUTINE_PATTERNS=( + "state updated" + "commit synced" + "committed state" + "indexed block events" + "executed block" + "Timed out" + "received proposal" + "received complete proposal block" + "finalizing commit" + "minted coins from module account" + "block-manager: block .* (begin|commit)" + "Ensure peers" + "No addresses to dial" +) + +# Convert patterns into a single grep -v expression +FILTER_CMD="cat" +for pattern in "${ROUTINE_PATTERNS[@]}"; do + FILTER_CMD="$FILTER_CMD | grep -v -E '$pattern'" +done + +# Run the filter on stdin +eval "$FILTER_CMD" diff --git a/multichain-testing/scripts/find_ibc_denom.sh b/multichain-testing/scripts/find_ibc_denom.sh index 9040a8798e4..d3bcd097d11 100755 --- a/multichain-testing/scripts/find_ibc_denom.sh +++ b/multichain-testing/scripts/find_ibc_denom.sh @@ -1,5 +1,5 @@ BASE_DENOM="uatom" CHANNEL_ID=$( - ./find_ibc_channel.sh 2>/dev/null | grep -oE 'channel-[0-9]+$' + ./scripts/find_ibc_channel.sh 2>/dev/null | grep -oE 'channel-[0-9]+$' ) echo -n "transfer/${CHANNEL_ID}/${BASE_DENOM}" | shasum -a 256 | cut -d ' ' -f1 | tr a-z A-Z | awk '{print "ibc/" $1}' diff --git a/packages/orchestration/src/examples/elys-contract.flows.js b/packages/orchestration/src/examples/elys-contract.flows.js index 258d460367a..b2db33b6f81 100644 --- a/packages/orchestration/src/examples/elys-contract.flows.js +++ b/packages/orchestration/src/examples/elys-contract.flows.js @@ -66,7 +66,7 @@ export const makeICAHookAccounts = async ( const localAccountAddress = localAccount.getAddress(); // stride ICA account - const stride = await orch.getChain('stride'); + const stride = await orch.getChain('stridelocal'); const { chainId: strideChainId, bech32Prefix: strideBech32Prefix } = await stride.getChainInfo(); const strideICAAccount = await stride.makeAccount(); From 09db06460029041f8924ccbb9c4f2329e81f61d0 Mon Sep 17 00:00:00 2001 From: Mudassir Shabbir Date: Fri, 18 Apr 2025 15:58:39 +0500 Subject: [PATCH 3/4] chore: updates to Makefile --- multichain-testing/Makefile | 55 ++++--------------------------------- 1 file changed, 5 insertions(+), 50 deletions(-) diff --git a/multichain-testing/Makefile b/multichain-testing/Makefile index 84f382582b8..9dec7eb719f 100644 --- a/multichain-testing/Makefile +++ b/multichain-testing/Makefile @@ -105,57 +105,12 @@ tail-slog: wait-for-pods: scripts/pod-readiness.ts +# stride host zone setup stride-host-zone: + ./scripts/transfer_fetch_denom.sh ./scripts/update_hostzone_proposal.sh -# Clean up old proposal file if present - -kubectl exec -i stridelocal-genesis-0 -- rm /tmp/add_hostzones_proposal.json - -# Copy proposal JSON into container - kubectl cp ./scripts/add_hostzones_proposal.json stridelocal-genesis-0:/tmp/add_hostzones_proposal.json - -# Submit the proposal - kubectl exec -i stridelocal-genesis-0 -- \ - strided tx gov submit-proposal /tmp/add_hostzones_proposal.json \ - --from genesis --chain-id stridelocal --keyring-backend test --gas auto -y - -# Extract latest proposal ID (raw, no quotes) - echo "šŸ” Waiting for proposal to be created..." - kubectl exec -i stridelocal-genesis-0 -- \ - strided q gov proposals --output json | jq -r '.proposals | map(.id | tonumber) | max' > /tmp/last_proposal_id.txt - echo "šŸ“Œ Proposal ID: $$(cat /tmp/last_proposal_id.txt)" - - # Wait until voting period has started, and print status on each check - export PROPOSAL_ID=$$(cat /tmp/last_proposal_id.txt) && \ - echo "ā³ Waiting for proposal $$PROPOSAL_ID to enter voting period..." && \ - while true; do \ - STATUS=$$(kubectl exec -i stridelocal-genesis-0 -- \ - strided q gov proposal $$PROPOSAL_ID --output json 2>/dev/null | jq -r '.status'); \ - echo " ā±ļø Current status: $$STATUS"; \ - if [ "$$STATUS" = "PROPOSAL_STATUS_VOTING_PERIOD" ]; then \ - echo "āœ… Voting period started (status: $$STATUS)"; \ - break; \ - elif [ "$$STATUS" = "PROPOSAL_STATUS_REJECTED" ]; then \ - echo "āŒ Proposal $$PROPOSAL_ID was rejected before voting started."; \ - exit 1; \ - fi; \ - sleep 1; \ - done - -# Auto-vote YES from all local accounts - export PROPOSAL_ID=$$(cat /tmp/last_proposal_id.txt) && \ - echo "šŸ—³ļø Voting YES on proposal $$PROPOSAL_ID..." && \ - for key in $$(kubectl exec -i stridelocal-genesis-0 -- strided keys list --keyring-backend test --output json | jq -r '.[].name'); do \ - echo " āœ”ļø Voting with $$key..."; \ - kubectl exec -i stridelocal-genesis-0 -- \ - strided tx gov vote $$PROPOSAL_ID yes \ - --from $$key --chain-id stridelocal --keyring-backend test --yes > /dev/null; \ - done - -# Show final proposal info - echo "\nšŸ“œ Final Proposal Info:" - export PROPOSAL_ID=$$(cat /tmp/last_proposal_id.txt) && \ - kubectl exec -i stridelocal-genesis-0 -- \ - strided q gov proposal $$PROPOSAL_ID --output json | jq '.' + ./scripts/submit_proposals.sh + .PHONY: start -start: install wait-for-pods port-forward fund-provision-pool override-chain-registry register-bank-assets #stride-host-zone +start: install wait-for-pods port-forward fund-provision-pool override-chain-registry register-bank-assets stride-host-zone From 4101bc29e8d4b3e8a0c007216bd6109843a07ce5 Mon Sep 17 00:00:00 2001 From: Mudassir Shabbir Date: Thu, 24 Apr 2025 18:05:37 +0500 Subject: [PATCH 4/4] chore: config minor updates --- multichain-testing/config.yaml | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/multichain-testing/config.yaml b/multichain-testing/config.yaml index d56124322ad..2bfbaee7e6a 100644 --- a/multichain-testing/config.yaml +++ b/multichain-testing/config.yaml @@ -97,17 +97,8 @@ chains: cpu: 1 memory: 3Gi - id: stridelocal - name: custom + name: stride image: ghcr.io/cosmology-tech/starship/stride:v9.2.1 - home: /root/.stride - binary: strided - prefix: stride - denom: ustrd - prettyName: Stride - coins: 100000000000000ustrd - hdPath: m/44'/118'/0'/0/0 - coinType: 118 - repo: https://github.com/Stride-Labs/stride numValidators: 1 genesis: app_state: @@ -147,8 +138,6 @@ chains: symbol: stATOM logo_URIs: png: "https://raw.githubusercontent.com/cosmos/chain-registry/master/stride/images/statom.png" - svg: "https://raw.githubusercontent.com/cosmos/chain-registry/master/stride/images/statom.svg" - coingecko_id: stride-staked-atom denom_units: - denom: stuatom exponent: 0