From c931dd4dfc8b580e5476af7dbf85054958174604 Mon Sep 17 00:00:00 2001 From: nhpd Date: Fri, 2 Aug 2024 03:15:30 +0400 Subject: [PATCH 1/4] feat: pass through burn_from_address and mint_to_address --- .../tokenfactory/schema/execute_msg.json | 12 +++++++++ contracts/tokenfactory/src/contract.rs | 27 +++++++++++++++---- contracts/tokenfactory/src/msg.rs | 2 ++ 3 files changed, 36 insertions(+), 5 deletions(-) diff --git a/contracts/tokenfactory/schema/execute_msg.json b/contracts/tokenfactory/schema/execute_msg.json index 4137274..ba6258e 100644 --- a/contracts/tokenfactory/schema/execute_msg.json +++ b/contracts/tokenfactory/schema/execute_msg.json @@ -64,6 +64,12 @@ }, "denom": { "type": "string" + }, + "mint_to_address": { + "type": [ + "string", + "null" + ] } } } @@ -86,6 +92,12 @@ "amount": { "$ref": "#/definitions/Uint128" }, + "burn_from_address": { + "type": [ + "string", + "null" + ] + }, "denom": { "type": "string" } diff --git a/contracts/tokenfactory/src/contract.rs b/contracts/tokenfactory/src/contract.rs index c66085b..96f7d7b 100644 --- a/contracts/tokenfactory/src/contract.rs +++ b/contracts/tokenfactory/src/contract.rs @@ -33,11 +33,28 @@ pub fn execute( denom, new_admin_address, } => NeutronMsg::submit_change_admin(denom, new_admin_address).into(), - ExecuteMsg::MintTokens { denom, amount } => { - NeutronMsg::submit_mint_tokens(denom, amount, env.contract.address).into() - } - ExecuteMsg::BurnTokens { denom, amount } => { - NeutronMsg::submit_burn_tokens(denom, amount).into() + ExecuteMsg::MintTokens { + denom, + amount, + mint_to_address, + } => NeutronMsg::submit_mint_tokens( + denom, + amount, + mint_to_address.unwrap_or(env.contract.address.into()), + ) + .into(), + ExecuteMsg::BurnTokens { + denom, + amount, + burn_from_address, + } => { + // TODO: update neutron-sdk `submit_burn_tokens` + NeutronMsg::BurnTokens { + denom, + amount, + burn_from_address: burn_from_address.unwrap_or_default(), + } + .into() } ExecuteMsg::SetBeforeSendHook { denom, diff --git a/contracts/tokenfactory/src/msg.rs b/contracts/tokenfactory/src/msg.rs index e163c28..64da292 100644 --- a/contracts/tokenfactory/src/msg.rs +++ b/contracts/tokenfactory/src/msg.rs @@ -18,10 +18,12 @@ pub enum ExecuteMsg { MintTokens { denom: String, amount: Uint128, + mint_to_address: Option, }, BurnTokens { denom: String, amount: Uint128, + burn_from_address: Option, }, SendTokens { recipient: String, From a8ec19efe9e4fa2b771fa6fa0ac4ecfeb1d6eb5e Mon Sep 17 00:00:00 2001 From: nhpd Date: Thu, 22 Aug 2024 17:48:03 +0400 Subject: [PATCH 2/4] use feat/burn-different neutron-sdk to use burn_from msg helper --- Cargo.lock | 4 ++-- Cargo.toml | 2 +- contracts/tokenfactory/src/contract.rs | 7 +++---- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f705c14..bde3992 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1131,7 +1131,7 @@ dependencies = [ [[package]] name = "neutron-sdk" version = "0.11.0" -source = "git+https://github.com/neutron-org/neutron-sdk?branch=main#240ab2cce961e67b3dfa90c137eb64a6d15c1824" +source = "git+https://github.com/neutron-org/neutron-sdk?branch=feat/burn-different#3cd80f114cec8adcf8aefbe58aa3b0d2e60667be" dependencies = [ "bech32 0.9.1", "chrono", @@ -1155,7 +1155,7 @@ dependencies = [ [[package]] name = "neutron-std-derive" version = "0.20.1" -source = "git+https://github.com/neutron-org/neutron-sdk?branch=main#240ab2cce961e67b3dfa90c137eb64a6d15c1824" +source = "git+https://github.com/neutron-org/neutron-sdk?branch=feat/burn-different#3cd80f114cec8adcf8aefbe58aa3b0d2e60667be" dependencies = [ "itertools 0.10.5", "proc-macro2", diff --git a/Cargo.toml b/Cargo.toml index dc9f388..083d422 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,7 +13,7 @@ incremental = false overflow-checks = true [workspace.dependencies] -neutron-sdk = { package = "neutron-sdk", git = "https://github.com/neutron-org/neutron-sdk", branch = "main" } +neutron-sdk = { package = "neutron-sdk", git = "https://github.com/neutron-org/neutron-sdk", branch = "feat/burn-different" } prost = "0.12.4" prost-types = "0.12.4" cosmos-sdk-proto = { version = "0.20.0", default-features = false } diff --git a/contracts/tokenfactory/src/contract.rs b/contracts/tokenfactory/src/contract.rs index 96f7d7b..a72d609 100644 --- a/contracts/tokenfactory/src/contract.rs +++ b/contracts/tokenfactory/src/contract.rs @@ -48,12 +48,11 @@ pub fn execute( amount, burn_from_address, } => { - // TODO: update neutron-sdk `submit_burn_tokens` - NeutronMsg::BurnTokens { + NeutronMsg::submit_burn_tokens( denom, amount, - burn_from_address: burn_from_address.unwrap_or_default(), - } + burn_from_address, + ) .into() } ExecuteMsg::SetBeforeSendHook { From 28d58aa1ad9efc76fca5bbce9ffd04c527f98b96 Mon Sep 17 00:00:00 2001 From: nhpd Date: Thu, 22 Aug 2024 18:13:25 +0400 Subject: [PATCH 3/4] fix format --- contracts/tokenfactory/src/contract.rs | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/contracts/tokenfactory/src/contract.rs b/contracts/tokenfactory/src/contract.rs index a72d609..69bc940 100644 --- a/contracts/tokenfactory/src/contract.rs +++ b/contracts/tokenfactory/src/contract.rs @@ -47,14 +47,7 @@ pub fn execute( denom, amount, burn_from_address, - } => { - NeutronMsg::submit_burn_tokens( - denom, - amount, - burn_from_address, - ) - .into() - } + } => NeutronMsg::submit_burn_tokens(denom, amount, burn_from_address).into(), ExecuteMsg::SetBeforeSendHook { denom, contract_addr, From 080d64deac9c56d78f16c1edf33b0fe07453f4bd Mon Sep 17 00:00:00 2001 From: nhpd Date: Tue, 27 Aug 2024 18:59:14 +0400 Subject: [PATCH 4/4] set neutron-sdk version to main --- Cargo.lock | 4 ++-- Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index bde3992..e7f4949 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1131,7 +1131,7 @@ dependencies = [ [[package]] name = "neutron-sdk" version = "0.11.0" -source = "git+https://github.com/neutron-org/neutron-sdk?branch=feat/burn-different#3cd80f114cec8adcf8aefbe58aa3b0d2e60667be" +source = "git+https://github.com/neutron-org/neutron-sdk?branch=main#a11018a9152bb0065868145266f35e283ac36b8e" dependencies = [ "bech32 0.9.1", "chrono", @@ -1155,7 +1155,7 @@ dependencies = [ [[package]] name = "neutron-std-derive" version = "0.20.1" -source = "git+https://github.com/neutron-org/neutron-sdk?branch=feat/burn-different#3cd80f114cec8adcf8aefbe58aa3b0d2e60667be" +source = "git+https://github.com/neutron-org/neutron-sdk?branch=main#a11018a9152bb0065868145266f35e283ac36b8e" dependencies = [ "itertools 0.10.5", "proc-macro2", diff --git a/Cargo.toml b/Cargo.toml index 083d422..dc9f388 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,7 +13,7 @@ incremental = false overflow-checks = true [workspace.dependencies] -neutron-sdk = { package = "neutron-sdk", git = "https://github.com/neutron-org/neutron-sdk", branch = "feat/burn-different" } +neutron-sdk = { package = "neutron-sdk", git = "https://github.com/neutron-org/neutron-sdk", branch = "main" } prost = "0.12.4" prost-types = "0.12.4" cosmos-sdk-proto = { version = "0.20.0", default-features = false }