--- 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**