---
# System prepended metadata

title: Testing gaiad w/ ics v0.2.1 release
tags: [game-of-chains]

---

---
tags: game-of-chains
---

# Testing gaiad w/ ics v0.2.1 release

## Scenario 1: Binary replacement before proposals are submitted

1. Start a one-validator provider chain with Jehan's fork (`glnro/ics-sdk45-84a33e4910abcc157f3333a70918a4fd6dc4cf6d`)
2. Stop the service
3. Replace the binary with Shawn's fork (`glnro/ics-sdk45-f729517a4a231a02172df6763c2ffed0524a2804`)
4. Start the service
   - ✅ Block height picks up from where it stopped
5. Initialize sputnik, apollo, and neutron
6. Pass 3 consumer chain proposals with spawn time in the past
7. Collect CCV states and patch consumer genesis files
8. Start Sputnik chain and setup relayer
   - Delegate to and unbond from validator
   - ✅ Validator set updates coming through on Sputnik
9. Start Apollo chain and setup relayer
   - Delegate to and unbond from validator
   - ✅ Validator set updates coming through on Sputnik and Apollo
10. Start Neutron chain
    - ❌ On chain start: `panic: unknown field "unbonding_period" in types.Params
    - Stopped service
    - Removed unbonding_period from ccvconsumer params in genesis file:
      ```
      "ccvconsumer": {
      "params": {
        "enabled": true,
        "blocks_per_distribution_transmission": "1000",
        "distribution_transmission_channel": "",
        "provider_fee_pool_addr_str": "",
        "ccv_timeout_period": "2419200s",
        "transfer_timeout_period": "3600s",
        "consumer_redistribution_fraction": "0.75",
        "historical_entries": "10000", <- removed the comma
        "unbonding_period": "1728000s" <- removed this line
      },
      ```
    - Re-install neutron (run play again to initialize node), start service
    - Chain starts
11. Set up Neutron relayer
    - Delegate to and unbond from validator
    - ✅ Validator set updates coming through on Sputnik, Apollo, and Neutron chains

**Result: PASS**

## Scenario 2: Binary replacement after spawn time

1. Start a one-validator provider chain with Jehan's fork (`glnro/ics-sdk45-84a33e4910abcc157f3333a70918a4fd6dc4cf6d`)
2. Initialize sputnik, apollo, and neutron
3. Pass 3 consumer chain proposals with spawn times in the past
4. Stop the service
5. Replace the binary with Shawn's fork (`glnro/ics-sdk45-f729517a4a231a02172df6763c2ffed0524a2804`)
6. Start the service
   - ✅ Block height picks up from where it stopped
7. Collect CCV states and patch consumer genesis files
   - Remove offending line from Neutron genesis file
8. Start Sputnik chain and setup relayer
   - Delegate to and unbond from validator
   - ✅ Validator set updates coming through on Sputnik
9. Start Apollo chain and setup relayer
   - Delegate to and unbond from validator
   - ✅ Validator set updates coming through on Sputnik and Apollo
10. Start Neutron chain and setup relayer
    - Delegate to and unbond from validator
    - ✅ Validator set updates coming through on Sputnik, Apollo, and Neutron
    - ✅ Receive ibc transfers in provider chain from all consumer chains
    - ✅ Receive ibc transfers in all consumer chains from provider chain

**Result: PASS**