diff --git a/Cargo.lock b/Cargo.lock index f1b2eaa9..292586a6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -534,8 +534,6 @@ dependencies = [ [[package]] name = "nois" version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f2f7aff53bda03e2f301e6a53aa4e76bb992b599c3163a3f18c1d3169e6341a" dependencies = [ "cosmwasm-schema", "cosmwasm-std", @@ -543,6 +541,7 @@ dependencies = [ "rand", "rand_xoshiro", "serde", + "sha2 0.10.6", "thiserror", "xxhash-rust", ] diff --git a/Cargo.toml b/Cargo.toml index 3dc210df..cc06bd8a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,7 +4,7 @@ resolver = "2" [workspace.dependencies] # nois = { git = "https://github.com/noislabs/nois", branch = "add-published-time" } -nois = "0.7.0" +nois = 0.8.0 [profile.release.package.nois-protocol] codegen-units = 1 diff --git a/contracts/nois-demo/src/contract.rs b/contracts/nois-demo/src/contract.rs index fa41b86d..1e1dff3c 100644 --- a/contracts/nois-demo/src/contract.rs +++ b/contracts/nois-demo/src/contract.rs @@ -124,7 +124,7 @@ mod tests { use super::*; use cosmwasm_std::{ testing::{mock_dependencies, mock_env, mock_info, MockApi, MockQuerier, MockStorage}, - Empty, HexBinary, OwnedDeps, Timestamp, + Addr, Empty, HexBinary, OwnedDeps, Timestamp, }; const CREATOR: &str = "creator"; @@ -185,6 +185,7 @@ mod tests { "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", ) .unwrap(), + relayer: Addr::unchecked("relayer"), }, }; let info = mock_info(PROXY_ADDRESS, &[]); @@ -203,6 +204,7 @@ mod tests { "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", ) .unwrap(), + relayer: Addr::unchecked("relayer"), }, }; let info = mock_info("guest", &[]); diff --git a/contracts/nois-monitoring/src/contract.rs b/contracts/nois-monitoring/src/contract.rs index d9f5005a..4d59a458 100644 --- a/contracts/nois-monitoring/src/contract.rs +++ b/contracts/nois-monitoring/src/contract.rs @@ -116,6 +116,7 @@ pub fn execute_receive( job_id, published, randomness, + relayer: _, } = callback; let randomness: [u8; 32] = randomness @@ -185,7 +186,7 @@ mod tests { use cosmwasm_std::testing::{ mock_dependencies, mock_env, mock_info, MockApi, MockQuerier, MockStorage, }; - use cosmwasm_std::{coins, Empty, HexBinary, OwnedDeps, Timestamp}; + use cosmwasm_std::{coins, Addr, Empty, HexBinary, OwnedDeps, Timestamp}; const CREATOR: &str = "creator"; const PROXY_ADDRESS: &str = "the proxy of choice"; @@ -255,6 +256,7 @@ mod tests { "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", ) .unwrap(), + relayer: Addr::unchecked("relayer"), }, }; let info = mock_info(PROXY_ADDRESS, &[]); @@ -268,6 +270,7 @@ mod tests { "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", ) .unwrap(), + relayer: Addr::unchecked("relayer"), }, }; let info = mock_info(PROXY_ADDRESS, &[]); @@ -287,6 +290,7 @@ mod tests { job_id: "round_1".to_string(), published: Timestamp::from_seconds(1682086395), randomness: HexBinary::from_hex("ffffffff").unwrap(), + relayer: Addr::unchecked("relayer"), }, }; let info = mock_info(PROXY_ADDRESS, &[]); @@ -312,6 +316,7 @@ mod tests { "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", ) .unwrap(), + relayer: Addr::unchecked("relayer"), }, }; let info = mock_info(PROXY_ADDRESS, &[]); @@ -339,6 +344,7 @@ mod tests { "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", ) .unwrap(), + relayer: Addr::unchecked("relayer"), }, }; let info = mock_info("guest", &[]); @@ -363,6 +369,7 @@ mod tests { "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", ) .unwrap(), + relayer: Addr::unchecked("relayer"), }, }; let info = mock_info(PROXY_ADDRESS, &[]); diff --git a/contracts/nois-proxy/src/contract.rs b/contracts/nois-proxy/src/contract.rs index 8e4c4522..363bbfb9 100644 --- a/contracts/nois-proxy/src/contract.rs +++ b/contracts/nois-proxy/src/contract.rs @@ -763,6 +763,7 @@ pub fn ibc_channel_close( pub fn ibc_packet_receive( deps: DepsMut, env: Env, + info: MessageInfo, msg: IbcPacketReceiveMsg, ) -> Result { // put this in a closure so we can convert all error responses into acknowledgements @@ -775,7 +776,7 @@ pub fn ibc_packet_receive( published, randomness, origin, - } => receive_deliver_beacon(deps, published, randomness, origin), + } => receive_deliver_beacon(deps, info, published, randomness, origin), OutPacket::Welcome { payment } => receive_welcome(deps, env, payment), OutPacket::PushBeaconPrice { timestamp, @@ -797,6 +798,7 @@ pub fn ibc_packet_receive( fn receive_deliver_beacon( deps: DepsMut, + info: MessageInfo, published: Timestamp, randomness: HexBinary, origin: Binary, @@ -821,6 +823,7 @@ fn receive_deliver_beacon( job_id: job_id.clone(), published, randomness, + relayer: info.sender, }, })?, funds: vec![],