From e6dd9008aff9ae1bb6bca1544fe17172a54c04c0 Mon Sep 17 00:00:00 2001 From: BiPhan4 Date: Thu, 10 Oct 2024 15:47:17 -0400 Subject: [PATCH] factory can migrate outpost --- Cargo.lock | 6 ++- artifacts/checksums.txt | 2 +- artifacts/outpost_factory.wasm | Bin 304474 -> 310503 bytes .../contracts/outpost-factory/Cargo.toml | 1 + .../contracts/outpost-factory/src/contract.rs | 39 ++++++++++++++++++ .../contracts/outpost-factory/src/msg.rs | 5 +++ e2e/interchaintest/Readme.md | 2 + e2e/interchaintest/logs/test.log | 4 +- 8 files changed, 54 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 2f3461c..4de9fe0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -982,6 +982,7 @@ dependencies = [ "schemars", "serde", "serde-json-wasm 0.5.2", + "serde_json", "storage-outpost", "thiserror", ] @@ -1461,11 +1462,12 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.117" +version = "1.0.128" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" +checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8" dependencies = [ "itoa", + "memchr", "ryu", "serde", ] diff --git a/artifacts/checksums.txt b/artifacts/checksums.txt index 59ff7ed..bc78652 100644 --- a/artifacts/checksums.txt +++ b/artifacts/checksums.txt @@ -1,5 +1,5 @@ 08b584909077b9fe1a523f20bb2cdc574326a668f2bb1cc48567a4fba0e48069 basic_migration.wasm 894fda7fbfa805761ca6af408d20c148fa59ce0f9999d9c5909bfa8976a8943f basic_migration_v2.wasm -32cbb5537353750902d7f1c2067513034863ae0624004701ea5899ae19677f7b outpost_factory.wasm +8efb48c81f0c0d5c1e6069c18cc30c6d3a9c6be39bbeb4a2dd570e74352d1485 outpost_factory.wasm 2f0770fc02069a2c2034c5e27e57c10558ecd566fe2e7dfa0e549dc62440cf43 outpost_user.wasm 620e109649e140cc2950e18ec676198e48f112ff04c6d5b22cfa75218ccca629 storage_outpost.wasm diff --git a/artifacts/outpost_factory.wasm b/artifacts/outpost_factory.wasm index ee9d6aa61eafffc1719cb0e9c98a12abf07adc57..2abeacdbc5094e03fab20d49385b7ff57f390363 100644 GIT binary patch delta 92728 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 delta 86319 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 execute::create_outpost(deps, env, info, channel_open_init_options), ExecuteMsg::MapUserOutpost { outpost_owner} => execute::map_user_outpost(deps, env, info, outpost_owner), + ExecuteMsg::MigrateOutpost { outpost_owner, new_outpost_code_id } => execute::migrate_outpost(deps, env, info, outpost_owner, new_outpost_code_id), } } #[cfg_attr(not(feature = "library"), entry_point)] @@ -59,12 +60,14 @@ mod execute { use cosmwasm_std::{Addr, BankMsg, Coin, CosmosMsg, Uint128, Event, to_json_binary}; use storage_outpost::outpost_helpers::StorageOutpostContract; use storage_outpost::types::msg::ExecuteMsg as IcaControllerExecuteMsg; + use storage_outpost::types::msg::MigrateMsg; use storage_outpost::types::state::{CallbackCounter, ChannelState /*ChannelStatus*/}; use storage_outpost::{ outpost_helpers::StorageOutpostCode, types::msg::options::ChannelOpenInitOptions, }; use storage_outpost::types::callback::Callback; + use serde_json_wasm::from_str; use crate::state::{self, USER_ADDR_TO_OUTPOST_ADDR, LOCK}; @@ -168,6 +171,42 @@ mod execute { Ok(Response::new().add_event(event)) // this data is not propagated back up to the tx resp of the 'create_outpost' call } + + pub fn migrate_outpost( + deps: DepsMut, + env: Env, + info: MessageInfo, + outpost_owner: String, + new_outpost_code_id: String, + ) -> Result { + let state = STATE.load(deps.storage)?; + // WARNING: This function is called by the user, so we cannot error:unauthorized if info.sender != admin + + // Find the owner's outpost address + let outpost_address = USER_ADDR_TO_OUTPOST_ADDR.load(deps.storage, &outpost_owner)?; + + let error_msg: String = String::from("Outpost contract address is not a valid bech32 address. Conversion back to addr failed"); + + // Call the outpost's helper API + let storage_outpost_code = StorageOutpostContract::new(deps.api.addr_validate(&outpost_address).expect(&error_msg)); + + // // The outpost's migrate entry point is just '{}' + let migrate_msg = MigrateMsg {}; + + let cast_err: String = String::from("Could not cast new outpost code to u64"); + let new_outpost_code_id_u64 = new_outpost_code_id.parse::().expect(&cast_err); + + let cosmos_msg = storage_outpost_code.migrate( + migrate_msg, + new_outpost_code_id_u64, + )?; + + let mut event = Event::new("Migration: success"); + + // TODO: Save the new code ID of the outpost after migration + + Ok(Response::new().add_message(cosmos_msg).add_event(event)) + } } mod query { diff --git a/cross-contract/contracts/outpost-factory/src/msg.rs b/cross-contract/contracts/outpost-factory/src/msg.rs index 90b9f09..e3d4ede 100644 --- a/cross-contract/contracts/outpost-factory/src/msg.rs +++ b/cross-contract/contracts/outpost-factory/src/msg.rs @@ -17,6 +17,11 @@ pub enum ExecuteMsg { // to execute the below function and map the user's address to their owned outpost MapUserOutpost { outpost_owner: String, // this function is called for a specific purpose of updating a map so nothing is optional + }, + // Let's perform a migration with a cross contract call to see how it goes + MigrateOutpost { + outpost_owner: String, // this function is called for a specific purpose of updating a map so nothing is optional + new_outpost_code_id: String, } } diff --git a/e2e/interchaintest/Readme.md b/e2e/interchaintest/Readme.md index 9a68449..4dca086 100644 --- a/e2e/interchaintest/Readme.md +++ b/e2e/interchaintest/Readme.md @@ -10,6 +10,8 @@ The testing commands are: ``` go test -v . -run TestWithFactoryTestSuite -testify.m TestFactoryCreateOutpost -timeout 12h +go test -v . -run TestWithFactoryTestSuite -testify.m TestMasterMigration -timeout 12h + go test -v . -run TestWithContractTestSuite -testify.m TestIcaContractExecutionTestWithFiletree -timeout 12h go test -v . -run TestWithContractTestSuite -testify.m TestIcaContractExecutionTestWithOwnership -timeout 12h diff --git a/e2e/interchaintest/logs/test.log b/e2e/interchaintest/logs/test.log index 1f5a512..b8370bd 100644 --- a/e2e/interchaintest/logs/test.log +++ b/e2e/interchaintest/logs/test.log @@ -1,2 +1,2 @@ -INFO: 2024/10/10 12:33:54 contract Info is: address:"wasm1wug8sewp6cedgkmrmvhl3lf3tulagm9hnvy8p0rppz9yjw0g4wtqhs9hr8" contract_info: ibc_port_id:"wasm.wasm1wug8sewp6cedgkmrmvhl3lf3tulagm9hnvy8p0rppz9yjw0g4wtqhs9hr8" > -INFO: 2024/10/10 12:33:58 outpostContractInfo is: address:"wasm1suhgf5svhu4usrurvxzlgn54ksxmn8gljarjtxqnapv8kjnp4nrss5maay" contract_info: ibc_port_id:"wasm.wasm1suhgf5svhu4usrurvxzlgn54ksxmn8gljarjtxqnapv8kjnp4nrss5maay" > +INFO: 2024/10/10 15:04:39 contract Info is: address:"wasm1wug8sewp6cedgkmrmvhl3lf3tulagm9hnvy8p0rppz9yjw0g4wtqhs9hr8" contract_info: ibc_port_id:"wasm.wasm1wug8sewp6cedgkmrmvhl3lf3tulagm9hnvy8p0rppz9yjw0g4wtqhs9hr8" > +INFO: 2024/10/10 15:04:43 outpostContractInfo is: address:"wasm1suhgf5svhu4usrurvxzlgn54ksxmn8gljarjtxqnapv8kjnp4nrss5maay" contract_info: ibc_port_id:"wasm.wasm1suhgf5svhu4usrurvxzlgn54ksxmn8gljarjtxqnapv8kjnp4nrss5maay" >