diff --git a/SEMANTICS.md b/SEMANTICS.md index f4862e81af..017735f1e8 100644 --- a/SEMANTICS.md +++ b/SEMANTICS.md @@ -286,11 +286,12 @@ pub fn reply(deps: DepsMut, env: Env, msg: Reply) -> Result` - pub result: ContractResult, + pub gas_used: u64, + /// SubMsgResult is just a nicely serializable version of `Result` + pub result: SubMsgResult, } -pub struct SubcallResponse { +pub struct SubMsgResponse { pub events: Vec, pub data: Option, } diff --git a/packages/go-gen/src/main.rs b/packages/go-gen/src/main.rs index 8d3dcc3d40..7dd00d383f 100644 --- a/packages/go-gen/src/main.rs +++ b/packages/go-gen/src/main.rs @@ -11,7 +11,7 @@ mod schema; mod utils; fn main() -> Result<()> { - let root = cosmwasm_schema::schema_for!(cosmwasm_std::BankQuery); + let root = cosmwasm_schema::schema_for!(cosmwasm_std::Reply); let code = generate_go(root)?; println!("{}", code); diff --git a/packages/std/src/results/submessages.rs b/packages/std/src/results/submessages.rs index 176677abe4..973047c771 100644 --- a/packages/std/src/results/submessages.rs +++ b/packages/std/src/results/submessages.rs @@ -102,6 +102,9 @@ pub struct Reply { /// The ID that the contract set when emitting the `SubMsg`. /// Use this to identify which submessage triggered the `reply`. pub id: u64, + /// The amount of gas used by the submessage, + /// measured in [Cosmos SDK gas](https://github.com/CosmWasm/cosmwasm/blob/main/docs/GAS.md). + pub gas_used: u64, pub result: SubMsgResult, }