diff --git a/artifacts/checksums.txt b/artifacts/checksums.txt index a184281..2c2b4e5 100644 --- a/artifacts/checksums.txt +++ b/artifacts/checksums.txt @@ -1,11 +1,22 @@ +4ef8e60cf0d61c0bcafc0229ae430aaf046ff0d2ef6c42005ef27f16584a506e client_updater-aarch64.wasm c0190cf28da64b4058da71a9083c187d45f84ee7b9db11a0830025ecb0a687dc client_updater.wasm +a64c6820a44909eca98c31c43148b69a811155b4a103e947e808b935f996179f echo-aarch64.wasm 4ee0b1e8a1c39e7a440f236778e76935f29506f354b6a59712d267181da77678 echo.wasm +67fa0d669b900aa64c4dd9080ab39889a3dee63fd71b6b79c00bdb80bcfeaaf3 ibc_transfer-aarch64.wasm c4bfbc01896e9449eaf44147c7943edb6b317a3bbdb30badcb87bfa9d834f6a8 ibc_transfer.wasm +76bd51fcbcf9050a820ad1e1f4f2769d2233bcd9a27081cf643ab2ac4d285ef3 msg_receiver-aarch64.wasm af52c56fb25355afa04d86c7d9e867f9db9295a455fb8a89f9cfdbd6374dd1ff msg_receiver.wasm +00a5264eb5979a8e3c7ca85d91411f1061a8872c3d96c6417620813ff68bde17 neutron_interchain_queries-aarch64.wasm 05e49fb2d0295c9a9e27a0077da856126f8285c2e949cb1f927f08fa8a867c8e neutron_interchain_queries.wasm +dde0d814d5e79c342428f3aff00f7a83ff306f341a5af93fb594b401b73ff57d neutron_interchain_txs-aarch64.wasm 4ca4ae0682c565ee78c06e2d06c79ca64524001c3c5b0b5fca246dbefff025c3 neutron_interchain_txs.wasm +5d5ce58bbeb62773019cc96389f50e2494d5eb84264959671647c739d6576bba neutron_price_feed_mock-aarch64.wasm 344ec19c522cc5e6135a77a181345f02a0f65ef19ad919d5236dc16f53d33e76 neutron_price_feed_mock.wasm +c5b329df2a8ffbe712126f9e87c0fc8ca313097aff5e7ab934d9a489f9ff3c67 neutron_validators_test-aarch64.wasm 4678704ef3ffd9f1240b719991dc629623929fa75499fd6ed9f76eda4c8a556a neutron_validators_test.wasm +681d5bca3659c816dfca5dc5b8abbba34593d9055374533daa6ef6dab60f35c9 reflect-aarch64.wasm c24970beb5a08bfc73dc422e63207342343802a329f28d527b4accaaf66209f8 reflect.wasm +e1a31f5c2f096763d67ef17549be79020bd5f7cd3ecf559b030e1452a3ae4935 stargate_querier-aarch64.wasm e3ab89e1d88381142c6a970daafceda3cb3fde6f8222e450834045d1f7c9f971 stargate_querier.wasm +f41e80daa169e6a96b0e178a38255a753f8acac2e7ce3a64dd533f5aabd5f72f tokenfactory-aarch64.wasm a9ee139212dca756adbde1e86723154b1fd79dc96cbc7e4885a851d8c978e946 tokenfactory.wasm diff --git a/artifacts/checksums_intermediate.txt b/artifacts/checksums_intermediate.txt index 221c58d..95408e8 100644 --- a/artifacts/checksums_intermediate.txt +++ b/artifacts/checksums_intermediate.txt @@ -1,11 +1,11 @@ -a67c60c5853497b890d67dd2bfed1caf0984a03af01ec67c877e63688970814e target/wasm32-unknown-unknown/release/echo.wasm -b09e4f513e19e78b5ea08e10d26dc4d61056a4c6f534e783039f32494c39021b target/wasm32-unknown-unknown/release/neutron_interchain_queries.wasm -e947d71ddeb4f6e61d756b48981bedae6973e0b25a9d873c3bba5e9878079d8b target/wasm32-unknown-unknown/release/neutron_price_feed_mock.wasm -8893279611c69a5ca55628f0476e943ca60b8900cb0ae17fefc2f38c4e472215 target/wasm32-unknown-unknown/release/neutron_validators_test.wasm -b260fdda36208b9017f0f142821fa3bb47f3d3dea86901d687cf3d3da00946e0 target/wasm32-unknown-unknown/release/reflect.wasm -fc80abbf059bafa21b25162af22ddb963a1ea1c6ab4dd671855adb3e1f8a8a84 target/wasm32-unknown-unknown/release/tokenfactory.wasm -d89ba235e130977d1f79ac4d7f9252f6f6bed3002dfc1d08227ba138acec70b1 target/wasm32-unknown-unknown/release/client_updater.wasm -f1ec0aa2f9c84a8b0d63d877fb6dcaf2d25c30023740f3ef53072496124c7dce target/wasm32-unknown-unknown/release/msg_receiver.wasm -0cd5cb6ac3532b558fffa62d501936ccbe748cddf465746ad639ac3a166066ce target/wasm32-unknown-unknown/release/stargate_querier.wasm -b16f4dadf63ba24ceba50e99f77462b473458a80e84655da37d22b5ff36236e7 target/wasm32-unknown-unknown/release/ibc_transfer.wasm -4377d3f3602674dc35d8dbf70c8225be9aef7e61a5d3482255debf79377a680a target/wasm32-unknown-unknown/release/neutron_interchain_txs.wasm +d87ec7d4b5c7b9da92146e274d7455ded139bc218be93c9aa0f8024e6f7902a1 target/wasm32-unknown-unknown/release/client_updater.wasm +89187f97eb04da7a6019ed69d787d8949a3600d796f3538158d328ec01795f9c target/wasm32-unknown-unknown/release/echo.wasm +ff47fc883be35881d28dcf063ee00d103385021b8f1a5d203ecb147684e78d3e target/wasm32-unknown-unknown/release/msg_receiver.wasm +384f0772389b3fd96c9752713767efac0cf3071d9a51c20204bc0e72fc5d5724 target/wasm32-unknown-unknown/release/neutron_interchain_queries.wasm +c8232f1a753240a3fa10109c456c88fa07be7a5443fe1f240be92483de6d536a target/wasm32-unknown-unknown/release/neutron_price_feed_mock.wasm +4fc862aa9f60510937db2e5bafe49f62388f341721f376dc054e753ce7301314 target/wasm32-unknown-unknown/release/neutron_validators_test.wasm +5c9ce42728be109a21e7904e5fab29b5baa00243a70f400d63de11043851ef4b target/wasm32-unknown-unknown/release/reflect.wasm +67e5db1a5c58d53f1acd0bd038dc3b2b0a7fc404f233e0f7fc36acf9bfa3f4fa target/wasm32-unknown-unknown/release/stargate_querier.wasm +56de8da348b927125b93b2ddf39f3851f67587c8696bf5c474a980ccb72515d7 target/wasm32-unknown-unknown/release/tokenfactory.wasm +296e40b6cb8672557320e86faad12713c72cd16b39789ae79d94c3a567a0b870 target/wasm32-unknown-unknown/release/neutron_interchain_txs.wasm +23ed00ba465f7b45ee9a009190c783104935d518ab95113a92aef3265b2d3c8b target/wasm32-unknown-unknown/release/ibc_transfer.wasm diff --git a/contracts/ibc_transfer/schema/execute_msg.json b/contracts/ibc_transfer/schema/execute_msg.json index 8e7f0f3..eacd7f4 100644 --- a/contracts/ibc_transfer/schema/execute_msg.json +++ b/contracts/ibc_transfer/schema/execute_msg.json @@ -143,9 +143,9 @@ "IntegrationTestsSudoFailureMock": { "type": "string", "enum": [ - "Enabled", - "EnabledInfiniteLoop", - "Disabled" + "enabled", + "enabled_infinite_loop", + "disabled" ] } } diff --git a/contracts/ibc_transfer/src/contract.rs b/contracts/ibc_transfer/src/contract.rs index e61ace1..5370abf 100644 --- a/contracts/ibc_transfer/src/contract.rs +++ b/contracts/ibc_transfer/src/contract.rs @@ -291,16 +291,27 @@ pub fn sudo(deps: DepsMut, _env: Env, msg: TransferSudoMsg) -> StdResult { // Used only in integration tests framework to simulate failures. deps.api - .debug("WASMDEBUG: sudo: mocked failure on the handler"); + .debug("WASMDEBUG: sudo: mocked infinite loop failure on the handler"); + + if let TransferSudoMsg::Response { request, data: _ } = msg { + deps.api.debug( + format!( + "WASMDEBUG: infinite loop failure response; sequence_id = {:?}", + &request.sequence.unwrap_or_default().to_string() + ) + .as_str(), + ); + } let mut counter: u64 = 0; - loop { + while counter < 18_446_744_073_709_551_615u64 { counter = counter.checked_add(1).unwrap_or_default(); TEST_COUNTER_ITEM.save(deps.storage, &counter)?; } + deps.api.debug("WASMDEBUG: after infinite loop"); TEST_COUNTER_ITEM.save(deps.storage, &counter)?; - unreachable!() + return Ok(Response::default()); } _ => {} } diff --git a/contracts/ibc_transfer/src/state.rs b/contracts/ibc_transfer/src/state.rs index c3fb479..fb5a5a3 100644 --- a/contracts/ibc_transfer/src/state.rs +++ b/contracts/ibc_transfer/src/state.rs @@ -72,6 +72,7 @@ pub const INTEGRATION_TESTS_SUDO_FAILURE_MOCK: Item StdResult = match msg { + let mut resp: Response = match msg.clone() { SudoMsg::Response { request, data } => { sudo_response(deps.branch(), env.clone(), request, data)? } @@ -509,6 +509,16 @@ pub fn sudo(mut deps: DepsMut, env: Env, msg: SudoMsg) -> StdResult StdResult {} }