From 758f77be3e3d859b15373b45e3caa207ddeb1df9 Mon Sep 17 00:00:00 2001 From: Martin Ondejka Date: Wed, 28 Jun 2023 16:43:23 +0200 Subject: [PATCH] Rename NetworkId to HashParameter --- core/vm/mina_contracts.go | 20 ++++++++++---------- mina/src/lib.rs | 14 +++++++------- mina/src/mina.rs | 24 ++++++++++++------------ 3 files changed, 29 insertions(+), 29 deletions(-) diff --git a/core/vm/mina_contracts.go b/core/vm/mina_contracts.go index d762c61d56..d500ed861b 100644 --- a/core/vm/mina_contracts.go +++ b/core/vm/mina_contracts.go @@ -2,22 +2,22 @@ package vm // Solidity interfaces for precompiles // -// enum NetworkId { +// enum HashParameter { // MAINNET, // TESTNET, -// NULLNET +// EMPTY // } // // interface IHasher { // function poseidonHash( -// NetworkId networkId, +// HashParameter hashParameter, // bytes32[] memory fields // ) external view returns (bytes32); // } // // interface ISigner { // function verify( -// NetworkId networkId, +// HashParameter hashParameter, // bytes32 pubKeyX, // bytes32 pubKeyY, // bytes32 signatureRX, @@ -79,7 +79,7 @@ func (c *MinaPoseidon) Run(input []byte) ([]byte, error) { calldata := input[4:] unpacked, err := (abi.Arguments{{ - Type: sol_uint8}, // networkId + Type: sol_uint8}, // hashParameter {Type: sol_bytes32Arr}, // fields }).Unpack(calldata) @@ -87,7 +87,7 @@ func (c *MinaPoseidon) Run(input []byte) ([]byte, error) { return packErr("Unable to unpack calldata"), err } - networkId := unpacked[0].(uint8) + hashParameter := unpacked[0].(uint8) fields := unpacked[1].([][32]uint8) output_buffer := [32]byte{} @@ -100,7 +100,7 @@ func (c *MinaPoseidon) Run(input []byte) ([]byte, error) { } if !C.poseidon( - C.uint8_t(networkId), + C.uint8_t(hashParameter), fields_ptr, C.uintptr_t(len(fields)), (*C.uint8_t)(&output_buffer[0]), @@ -128,7 +128,7 @@ func (c *MinaSigner) Run(input []byte) ([]byte, error) { calldata := input[4:] unpacked, err := (abi.Arguments{ - {Type: sol_uint8}, // networkId + {Type: sol_uint8}, // hashParameter {Type: sol_bytes32}, // pubKeyX {Type: sol_bytes32}, // pubKeyY {Type: sol_bytes32}, // signatureRX @@ -140,7 +140,7 @@ func (c *MinaSigner) Run(input []byte) ([]byte, error) { return packErr("Unable to unpack calldata"), err } - networkId := unpacked[0].(uint8) + hashParameter := unpacked[0].(uint8) pubKeyX := unpacked[1].([32]uint8) pubKeyY := unpacked[2].([32]uint8) signatureRX := unpacked[3].([32]uint8) @@ -157,7 +157,7 @@ func (c *MinaSigner) Run(input []byte) ([]byte, error) { } if !C.verify( - C.uint8_t(networkId), + C.uint8_t(hashParameter), (*C.uint8_t)(&pubKeyX[0]), (*C.uint8_t)(&pubKeyY[0]), (*C.uint8_t)(&signatureRX[0]), diff --git a/mina/src/lib.rs b/mina/src/lib.rs index a48f0be64c..967c596afd 100644 --- a/mina/src/lib.rs +++ b/mina/src/lib.rs @@ -2,7 +2,7 @@ mod mina; use std::array::TryFromSliceError; -use mina::{Message, NetworkId}; +use mina::{HashParameter, Message}; use mina_signer::{BaseField, CurvePoint, PubKey, ScalarField, Signature}; use o1_utils::FieldHelpers; @@ -24,9 +24,9 @@ pub unsafe extern "C" fn poseidon( } let network_id = match network_id { - 0x00 => NetworkId::Mainnet, - 0x01 => NetworkId::Testnet, - 0x02 => NetworkId::Nullnet, + 0x00 => HashParameter::Mainnet, + 0x01 => HashParameter::Testnet, + 0x02 => HashParameter::Empty, _ => return false, }; @@ -81,9 +81,9 @@ pub unsafe extern "C" fn verify( } let network_id = match network_id { - 0x00 => NetworkId::Mainnet, - 0x01 => NetworkId::Testnet, - 0x02 => NetworkId::Nullnet, + 0x00 => HashParameter::Mainnet, + 0x01 => HashParameter::Testnet, + 0x02 => HashParameter::Empty, _ => return false, }; diff --git a/mina/src/mina.rs b/mina/src/mina.rs index d28dab1d23..a61844737b 100644 --- a/mina/src/mina.rs +++ b/mina/src/mina.rs @@ -4,19 +4,19 @@ use o1_utils::{field_helpers::FieldHelpersError, FieldHelpers}; #[derive(Debug, Clone)] #[repr(C)] -pub enum NetworkId { +pub enum HashParameter { Mainnet = 0x00, Testnet = 0x01, - Nullnet = 0x02, + Empty = 0x02, } -impl From for u8 { - fn from(id: NetworkId) -> u8 { +impl From for u8 { + fn from(id: HashParameter) -> u8 { id as u8 } } -impl DomainParameter for NetworkId { +impl DomainParameter for HashParameter { fn into_bytes(self) -> Vec { vec![self as u8] } @@ -39,7 +39,7 @@ impl Message { } impl Hashable for Message { - type D = NetworkId; + type D = HashParameter; fn to_roinput(&self) -> ROInput { self.fields @@ -47,16 +47,16 @@ impl Hashable for Message { .fold(ROInput::new(), |roi, field| roi.append_field(*field)) } - fn domain_string(network_id: NetworkId) -> Option { + fn domain_string(network_id: HashParameter) -> Option { match network_id { - NetworkId::Mainnet => "MinaSignatureMainnet".to_string().into(), - NetworkId::Testnet => "CodaSignature".to_string().into(), - NetworkId::Nullnet => None, + HashParameter::Mainnet => "MinaSignatureMainnet".to_string().into(), + HashParameter::Testnet => "CodaSignature".to_string().into(), + HashParameter::Empty => None, } } } -pub fn poseidon(msg: &Message, network_id: NetworkId) -> BaseField { +pub fn poseidon(msg: &Message, network_id: HashParameter) -> BaseField { let mut hasher = mina_hasher::create_kimchi::(network_id); hasher.hash(msg) @@ -66,7 +66,7 @@ pub fn verify( signature: &Signature, pubkey: &PubKey, msg: &Message, - network_id: NetworkId, + network_id: HashParameter, ) -> bool { let mut signer = mina_signer::create_kimchi::(network_id);