From b961630378e2d1c82dbf843d84f4cf34461477f2 Mon Sep 17 00:00:00 2001 From: JesseAbram <33698952+JesseAbram@users.noreply.github.com> Date: Fri, 5 Apr 2024 18:44:58 -0400 Subject: [PATCH] Update device key proxy for new aux data (#715) * update device key proxy for new aux data * new aux type comment * update aux data * fmt --- crates/shared/device_key_proxy.wasm | Bin 298364 -> 299675 bytes crates/shared/src/constants.rs | 2 +- .../src/user/tests.rs | 10 +++++++--- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/crates/shared/device_key_proxy.wasm b/crates/shared/device_key_proxy.wasm index 19766e57df919c51a89dcddc44d1f56980373a8c..a339ff310ba2c5806be0926c91cd3ead807ef8e9 100755 GIT binary patch delta 48017 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

=#lnmdeN~`EBWn5|}M*>^wyZ>=B8XV62xR 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 diff --git a/crates/shared/src/constants.rs b/crates/shared/src/constants.rs index becabd42a..4393e9b43 100644 --- a/crates/shared/src/constants.rs +++ b/crates/shared/src/constants.rs @@ -18,7 +18,7 @@ lazy_static! { // Device key config struct seralized by generate types in programs repo pub static ref DEVICE_KEY_CONFIG_TYPE: Vec = vec![123, 34, 36, 115, 99, 104, 101, 109, 97, 34, 58, 34, 104, 116, 116, 112, 58, 47, 47, 106, 115, 111, 110, 45, 115, 99, 104, 101, 109, 97, 46, 111, 114, 103, 47, 100, 114, 97, 102, 116, 45, 48, 55, 47, 115, 99, 104, 101, 109, 97, 35, 34, 44, 34, 116, 105, 116, 108, 101, 34, 58, 34, 85, 115, 101, 114, 67, 111, 110, 102, 105, 103, 34, 44, 34, 100, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 58, 34, 74, 83, 79, 78, 45, 100, 101, 115, 101, 114, 105, 97, 108, 105, 122, 97, 98, 108, 101, 32, 115, 116, 114, 117, 99, 116, 32, 116, 104, 97, 116, 32, 119, 105, 108, 108, 32, 98, 101, 32, 117, 115, 101, 100, 32, 116, 111, 32, 100, 101, 114, 105, 118, 101, 32, 116, 104, 101, 32, 112, 114, 111, 103, 114, 97, 109, 45, 74, 83, 79, 78, 32, 105, 110, 116, 101, 114, 102, 97, 99, 101, 46, 32, 78, 111, 116, 101, 32, 104, 111, 119, 32, 116, 104, 105, 115, 32, 117, 115, 101, 115, 32, 74, 83, 79, 78, 45, 110, 97, 116, 105, 118, 101, 32, 116, 121, 112, 101, 115, 32, 111, 110, 108, 121, 46, 34, 44, 34, 116, 121, 112, 101, 34, 58, 34, 111, 98, 106, 101, 99, 116, 34, 44, 34, 112, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 58, 123, 34, 101, 99, 100, 115, 97, 95, 112, 117, 98, 108, 105, 99, 95, 107, 101, 121, 115, 34, 58, 123, 34, 100, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 58, 34, 98, 97, 115, 101, 54, 52, 45, 101, 110, 99, 111, 100, 101, 100, 32, 99, 111, 109, 112, 114, 101, 115, 115, 101, 100, 32, 112, 111, 105, 110, 116, 32, 40, 51, 51, 45, 98, 121, 116, 101, 41, 32, 69, 67, 68, 83, 65, 32, 112, 117, 98, 108, 105, 99, 32, 107, 101, 121, 115, 44, 32, 40, 101, 103, 46, 32, 92, 34, 65, 53, 55, 50, 100, 113, 111, 117, 101, 53, 79, 121, 119, 89, 47, 52, 56, 100, 116, 121, 116, 81, 105, 109, 76, 57, 87, 79, 48, 100, 112, 83, 79, 98, 97, 70, 98, 65, 120, 111, 69, 87, 87, 57, 92, 34, 41, 34, 44, 34, 116, 121, 112, 101, 34, 58, 91, 34, 97, 114, 114, 97, 121, 34, 44, 34, 110, 117, 108, 108, 34, 93, 44, 34, 105, 116, 101, 109, 115, 34, 58, 123, 34, 116, 121, 112, 101, 34, 58, 34, 115, 116, 114, 105, 110, 103, 34, 125, 125, 44, 34, 101, 100, 50, 53, 53, 49, 57, 95, 112, 117, 98, 108, 105, 99, 95, 107, 101, 121, 115, 34, 58, 123, 34, 116, 121, 112, 101, 34, 58, 91, 34, 97, 114, 114, 97, 121, 34, 44, 34, 110, 117, 108, 108, 34, 93, 44, 34, 105, 116, 101, 109, 115, 34, 58, 123, 34, 116, 121, 112, 101, 34, 58, 34, 115, 116, 114, 105, 110, 103, 34, 125, 125, 44, 34, 115, 114, 50, 53, 53, 49, 57, 95, 112, 117, 98, 108, 105, 99, 95, 107, 101, 121, 115, 34, 58, 123, 34, 116, 121, 112, 101, 34, 58, 91, 34, 97, 114, 114, 97, 121, 34, 44, 34, 110, 117, 108, 108, 34, 93, 44, 34, 105, 116, 101, 109, 115, 34, 58, 123, 34, 116, 121, 112, 101, 34, 58, 34, 115, 116, 114, 105, 110, 103, 34, 125, 125, 125, 125]; // Device key aux data struct seralized by generate types in programs repo - pub static ref DEVICE_KEY_AUX_DATA_TYPE: Vec = vec![123, 34, 36, 115, 99, 104, 101, 109, 97, 34, 58, 34, 104, 116, 116, 112, 58, 47, 47, 106, 115, 111, 110, 45, 115, 99, 104, 101, 109, 97, 46, 111, 114, 103, 47, 100, 114, 97, 102, 116, 45, 48, 55, 47, 115, 99, 104, 101, 109, 97, 35, 34, 44, 34, 116, 105, 116, 108, 101, 34, 58, 34, 65, 117, 120, 68, 97, 116, 97, 34, 44, 34, 100, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 58, 34, 74, 83, 79, 78, 32, 114, 101, 112, 114, 101, 115, 101, 110, 116, 97, 116, 105, 111, 110, 32, 111, 102, 32, 116, 104, 101, 32, 97, 117, 120, 105, 108, 105, 97, 114, 121, 32, 100, 97, 116, 97, 34, 44, 34, 116, 121, 112, 101, 34, 58, 34, 111, 98, 106, 101, 99, 116, 34, 44, 34, 114, 101, 113, 117, 105, 114, 101, 100, 34, 58, 91, 34, 112, 117, 98, 108, 105, 99, 95, 107, 101, 121, 34, 44, 34, 112, 117, 98, 108, 105, 99, 95, 107, 101, 121, 95, 116, 121, 112, 101, 34, 44, 34, 115, 105, 103, 110, 97, 116, 117, 114, 101, 34, 93, 44, 34, 112, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 58, 123, 34, 112, 117, 98, 108, 105, 99, 95, 107, 101, 121, 34, 58, 123, 34, 100, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 58, 34, 98, 97, 115, 101, 54, 52, 45, 101, 110, 99, 111, 100, 101, 100, 32, 112, 117, 98, 108, 105, 99, 32, 107, 101, 121, 34, 44, 34, 116, 121, 112, 101, 34, 58, 34, 115, 116, 114, 105, 110, 103, 34, 125, 44, 34, 112, 117, 98, 108, 105, 99, 95, 107, 101, 121, 95, 116, 121, 112, 101, 34, 58, 123, 34, 100, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 58, 34, 92, 34, 101, 99, 100, 115, 97, 92, 34, 44, 32, 92, 34, 101, 100, 50, 53, 53, 49, 57, 92, 34, 44, 32, 92, 34, 115, 114, 50, 53, 53, 49, 57, 92, 34, 34, 44, 34, 116, 121, 112, 101, 34, 58, 34, 115, 116, 114, 105, 110, 103, 34, 125, 44, 34, 115, 105, 103, 110, 97, 116, 117, 114, 101, 34, 58, 123, 34, 100, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 58, 34, 98, 97, 115, 101, 54, 52, 45, 101, 110, 99, 111, 100, 101, 100, 32, 115, 105, 103, 110, 97, 116, 117, 114, 101, 34, 44, 34, 116, 121, 112, 101, 34, 58, 34, 115, 116, 114, 105, 110, 103, 34, 125, 125, 125]; + pub static ref DEVICE_KEY_AUX_DATA_TYPE: Vec = vec![123, 34, 36, 115, 99, 104, 101, 109, 97, 34, 58, 34, 104, 116, 116, 112, 58, 47, 47, 106, 115, 111, 110, 45, 115, 99, 104, 101, 109, 97, 46, 111, 114, 103, 47, 100, 114, 97, 102, 116, 45, 48, 55, 47, 115, 99, 104, 101, 109, 97, 35, 34, 44, 34, 116, 105, 116, 108, 101, 34, 58, 34, 65, 117, 120, 68, 97, 116, 97, 34, 44, 34, 100, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 58, 34, 74, 83, 79, 78, 32, 114, 101, 112, 114, 101, 115, 101, 110, 116, 97, 116, 105, 111, 110, 32, 111, 102, 32, 116, 104, 101, 32, 97, 117, 120, 105, 108, 105, 97, 114, 121, 32, 100, 97, 116, 97, 34, 44, 34, 116, 121, 112, 101, 34, 58, 34, 111, 98, 106, 101, 99, 116, 34, 44, 34, 114, 101, 113, 117, 105, 114, 101, 100, 34, 58, 91, 34, 99, 111, 110, 116, 101, 120, 116, 34, 44, 34, 112, 117, 98, 108, 105, 99, 95, 107, 101, 121, 34, 44, 34, 112, 117, 98, 108, 105, 99, 95, 107, 101, 121, 95, 116, 121, 112, 101, 34, 44, 34, 115, 105, 103, 110, 97, 116, 117, 114, 101, 34, 93, 44, 34, 112, 114, 111, 112, 101, 114, 116, 105, 101, 115, 34, 58, 123, 34, 99, 111, 110, 116, 101, 120, 116, 34, 58, 123, 34, 100, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 58, 34, 84, 104, 101, 32, 99, 111, 110, 116, 101, 120, 116, 32, 102, 111, 114, 32, 116, 104, 101, 32, 115, 105, 103, 110, 97, 116, 117, 114, 101, 32, 111, 110, 108, 121, 32, 110, 101, 101, 100, 101, 100, 32, 105, 110, 32, 115, 114, 50, 53, 53, 49, 57, 32, 115, 105, 103, 110, 97, 116, 117, 114, 101, 32, 116, 121, 112, 101, 34, 44, 34, 116, 121, 112, 101, 34, 58, 34, 115, 116, 114, 105, 110, 103, 34, 125, 44, 34, 112, 117, 98, 108, 105, 99, 95, 107, 101, 121, 34, 58, 123, 34, 100, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 58, 34, 98, 97, 115, 101, 54, 52, 45, 101, 110, 99, 111, 100, 101, 100, 32, 112, 117, 98, 108, 105, 99, 32, 107, 101, 121, 34, 44, 34, 116, 121, 112, 101, 34, 58, 34, 115, 116, 114, 105, 110, 103, 34, 125, 44, 34, 112, 117, 98, 108, 105, 99, 95, 107, 101, 121, 95, 116, 121, 112, 101, 34, 58, 123, 34, 100, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 58, 34, 92, 34, 101, 99, 100, 115, 97, 92, 34, 44, 32, 92, 34, 101, 100, 50, 53, 53, 49, 57, 92, 34, 44, 32, 92, 34, 115, 114, 50, 53, 53, 49, 57, 92, 34, 34, 44, 34, 116, 121, 112, 101, 34, 58, 34, 115, 116, 114, 105, 110, 103, 34, 125, 44, 34, 115, 105, 103, 110, 97, 116, 117, 114, 101, 34, 58, 123, 34, 100, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 58, 34, 98, 97, 115, 101, 54, 52, 45, 101, 110, 99, 111, 100, 101, 100, 32, 115, 105, 103, 110, 97, 116, 117, 114, 101, 34, 44, 34, 116, 121, 112, 101, 34, 58, 34, 115, 116, 114, 105, 110, 103, 34, 125, 125, 125]; } pub const SIGNING_PARTY_SIZE: usize = 2; diff --git a/crates/threshold-signature-server/src/user/tests.rs b/crates/threshold-signature-server/src/user/tests.rs index 5a33b8d91..c83369124 100644 --- a/crates/threshold-signature-server/src/user/tests.rs +++ b/crates/threshold-signature-server/src/user/tests.rs @@ -1546,7 +1546,8 @@ async fn test_device_key_proxy() { pub ed25519_public_keys: Option>, } /// JSON representation of the auxiliary data - #[derive(Debug, PartialEq, Eq, Clone, Serialize, Deserialize, JsonSchema)] + #[cfg_attr(feature = "std", derive(schemars::JsonSchema))] + #[derive(Debug, PartialEq, Eq, Clone, Serialize, Deserialize)] pub struct AuxData { /// "ecdsa", "ed25519", "sr25519" pub public_key_type: String, @@ -1554,6 +1555,8 @@ async fn test_device_key_proxy() { pub public_key: String, /// base64-encoded signature pub signature: String, + /// The context for the signature only needed in sr25519 signature type + pub context: String, } let one = AccountKeyring::Dave; @@ -1564,7 +1567,7 @@ async fn test_device_key_proxy() { let entropy_api = get_api(&substrate_context.node_proc.ws_url).await.unwrap(); let rpc = get_rpc(&substrate_context.node_proc.ws_url).await.unwrap(); let keypair = Sr25519Keypair::generate(); - let public_key = base64::encode(keypair.public); + let public_key = BASE64_STANDARD.encode(keypair.public); let device_key_user_config = UserConfig { ecdsa_public_keys: None, @@ -1619,7 +1622,8 @@ async fn test_device_key_proxy() { let aux_data_json_sr25519 = AuxData { public_key_type: "sr25519".to_string(), public_key, - signature: base64::encode(sr25519_signature.to_bytes()), + signature: BASE64_STANDARD.encode(sr25519_signature.to_bytes()), + context: "".to_string(), }; let mut generic_msg = UserSignatureRequest { message: hex::encode(PREIMAGE_SHOULD_SUCCEED),