sync bond creation arguments with solidity implementation
Signed-off-by: Uncle Stinky <uncle.stinky@ghostchain.io>
This commit is contained in:
parent
8ef28234ae
commit
78bde93b7f
@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "ghost-exodus"
|
||||
version = "0.0.13"
|
||||
version = "0.0.14"
|
||||
description = "Threshold signature generation with DKG included"
|
||||
license.workspace = true
|
||||
authors.workspace = true
|
||||
|
||||
@ -488,7 +488,7 @@ mod benchmarks {
|
||||
let dummy_nonce = vec![0u8; network_curve.element_bytes_len()];
|
||||
|
||||
let create_bond = GovernanceAction::Create {
|
||||
market: [69, 420, 1337],
|
||||
market: [69, 420, 1337, 0],
|
||||
terms: [420, 1337],
|
||||
token: dummy_address,
|
||||
intervals: [34, 35],
|
||||
@ -566,7 +566,7 @@ mod benchmarks {
|
||||
let dummy_group_commitment = vec![0u8; network_curve.element_bytes_len()];
|
||||
|
||||
let create_bond = GovernanceAction::Create {
|
||||
market: [69, 420, 1337],
|
||||
market: [69, 420, 1337, 0],
|
||||
terms: [420, 1337],
|
||||
token: dummy_address,
|
||||
intervals: [34, 35],
|
||||
@ -664,7 +664,7 @@ mod benchmarks {
|
||||
|
||||
let dummy_address = EvmAddress::repeat_byte(69);
|
||||
let create_bond = GovernanceAction::Create {
|
||||
market: [69, 420, 1337],
|
||||
market: [69, 420, 1337, 0],
|
||||
terms: [420, 1337],
|
||||
token: dummy_address,
|
||||
intervals: [34, 35],
|
||||
|
||||
@ -109,7 +109,7 @@ const EXODUS_PREFIX_SHARES: &[u8] = b"exodus-shares";
|
||||
const EXODUS_PREFIX_BLENDS: &[u8] = b"exodus-blends";
|
||||
const EXODUS_PREFIX_EXILES: &[u8] = b"exodus-exiles";
|
||||
|
||||
const MAX_MESSAGE_SIZE : u32 = 512;
|
||||
const MAX_MESSAGE_SIZE : u32 = 544;
|
||||
const HEADER_MAX_BYTES : u32 = 1 + 4;
|
||||
const ELEMENT_MAX_BYTES : u32 = 33;
|
||||
const SCALAR_MAX_BYTES : u32 = 32;
|
||||
|
||||
@ -854,11 +854,7 @@ fn run_dkg_session(
|
||||
let throttled = prev_authorities.last().copied().unwrap();
|
||||
let prev_len = prev_authorities.len() as AuthIndex;
|
||||
|
||||
let mut start = 0;
|
||||
loop {
|
||||
if start >= 100 { break; }
|
||||
start += 1;
|
||||
|
||||
let mut current_pending_requests: Vec<ExodusSession> = ext.execute_with(|| {
|
||||
ExodusRequests::<Runtime>::iter_keys()
|
||||
.filter_map(|(current_curve, exodus_session)| {
|
||||
@ -1070,7 +1066,7 @@ fn test_all_validators_can_execute_dkg() {
|
||||
let remove_pool = GovernanceAction::RemovePool { index: 1337 };
|
||||
let close = GovernanceAction::Close { id: 420 };
|
||||
let create = GovernanceAction::Create {
|
||||
market: [69, 420, 1337],
|
||||
market: [69, 420, 1337, 0],
|
||||
terms: [420, 1337],
|
||||
token: dummy_address,
|
||||
intervals: [34, 35],
|
||||
|
||||
@ -133,7 +133,7 @@ macro_rules! impl_evm_encodable {
|
||||
|
||||
impl_evm_encodable!(numeric: u8, u16, u32, u64, u128);
|
||||
impl_evm_encodable!(bytes_fixed: EvmAddress, EvmBytes32);
|
||||
impl_evm_encodable!(const_array: [u128; 3], [u128; 2], [u32; 2], [u8; 2]);
|
||||
impl_evm_encodable!(const_array: [u128; 4], [u128; 2], [u32; 2], [u8; 2]);
|
||||
impl_evm_encodable!(bytes_slice:);
|
||||
|
||||
macro_rules! abi_encode_evm_message {
|
||||
@ -192,7 +192,7 @@ pub enum GovernanceAction {
|
||||
|
||||
Close { id: u128 },
|
||||
Create {
|
||||
market: [u128; 3],
|
||||
market: [u128; 4],
|
||||
terms: [u128; 2],
|
||||
token: EvmAddress,
|
||||
intervals: [u32; 2],
|
||||
@ -300,7 +300,7 @@ impl GovernanceAction {
|
||||
let booleans_u8 = [booleans[0] as u8, booleans[1] as u8];
|
||||
abi_encode_evm_message!(
|
||||
message_buffer,
|
||||
"create(uint256[3],uint256[2],address,uint32[2],bool[2])",
|
||||
"create(uint256[4],uint256[2],address,uint32[2],bool[2])",
|
||||
[market, terms, token, intervals, &booleans_u8]
|
||||
)
|
||||
},
|
||||
@ -582,7 +582,7 @@ mod tests {
|
||||
|
||||
GovernanceAction::Close { id: 99 },
|
||||
GovernanceAction::Create {
|
||||
market: [69, 420, 1337],
|
||||
market: [69, 420, 1337, 0],
|
||||
terms: [69, 420],
|
||||
token: EvmAddress::repeat_byte(0x99),
|
||||
intervals: [69, 1337],
|
||||
@ -706,25 +706,26 @@ mod tests {
|
||||
assert_eq!(inner_payload[inner_payload.len() - 1], id as u8);
|
||||
},
|
||||
GovernanceAction::Create { market, terms, token, intervals, booleans } => {
|
||||
let hash = keccak_256("create(uint256[3],uint256[2],address,uint32[2],bool[2])".as_bytes());
|
||||
let hash = keccak_256("create(uint256[4],uint256[2],address,uint32[2],bool[2])".as_bytes());
|
||||
assert_eq!(inner_payload[0..4], hash[0..4]);
|
||||
assert_eq!(inner_payload.len(), 324);
|
||||
assert_eq!(inner_payload.len(), 356);
|
||||
assert_eq!(inner_payload[35], 69);
|
||||
|
||||
assert_eq!(u128::from_be_bytes(inner_payload[20..36].try_into().unwrap()), market[0]);
|
||||
assert_eq!(u128::from_be_bytes(inner_payload[52..68].try_into().unwrap()), market[1]);
|
||||
assert_eq!(u128::from_be_bytes(inner_payload[84..100].try_into().unwrap()), market[2]);
|
||||
assert_eq!(u128::from_be_bytes(inner_payload[116..132].try_into().unwrap()), market[3]);
|
||||
|
||||
assert_eq!(u128::from_be_bytes(inner_payload[116..132].try_into().unwrap()), terms[0]);
|
||||
assert_eq!(u128::from_be_bytes(inner_payload[148..164].try_into().unwrap()), terms[1]);
|
||||
assert_eq!(u128::from_be_bytes(inner_payload[148..164].try_into().unwrap()), terms[0]);
|
||||
assert_eq!(u128::from_be_bytes(inner_payload[180..196].try_into().unwrap()), terms[1]);
|
||||
|
||||
assert_eq!(&inner_payload[176..196], token.as_ref());
|
||||
assert_eq!(&inner_payload[208..228], token.as_ref());
|
||||
|
||||
assert_eq!(u32::from_be_bytes(inner_payload[224..228].try_into().unwrap()), intervals[0]);
|
||||
assert_eq!(u32::from_be_bytes(inner_payload[256..260].try_into().unwrap()), intervals[1]);
|
||||
assert_eq!(u32::from_be_bytes(inner_payload[256..260].try_into().unwrap()), intervals[0]);
|
||||
assert_eq!(u32::from_be_bytes(inner_payload[288..292].try_into().unwrap()), intervals[1]);
|
||||
|
||||
assert_eq!(inner_payload[291], booleans[0] as u8);
|
||||
assert_eq!(inner_payload[323], booleans[1] as u8);
|
||||
assert_eq!(inner_payload[323], booleans[0] as u8);
|
||||
assert_eq!(inner_payload[355], booleans[1] as u8);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user