pub fn filter_empty_addresses(&self) -> (Vec<EthAddress>, Vec<u64>) {
        let mut addresses = Vec::new();
        let mut powers = Vec::new();
        for val in self.members.iter() {
            match val.eth_address {
                Some(a) => {
                    addresses.push(a);
                    powers.push(val.power);
                }
                None => {
                    addresses.push(EthAddress::default());
                    powers.push(val.power);
                }
            }
        }
        (addresses, powers)
    }
/// Takes an array of Option<EthAddress> and converts to EthAddress and replaces with zeros
/// when none is found, Zeros are interpreted by the contract as 'no signature provided' and
/// signature checks can pass with up to 33% of all voting power presented as zeroed addresses
Takes an array of Option and converts to EthAddress and replaces with zeros
when none is found, Zeros are interpreted by the contract as 'no signature provided' and
signature checks can pass with up to 33% of all voting power presented as zeroed addresses
Takes an array of Option and converts to EthAddress and replaces with zeros when none is found Zeros are interpreted by the contract as ' no signature provided ' and signature checks can pass with up to 33% of all voting power presented as zeroed addresses
pub fn filter_empty_addresses(&self) -> (Vec<EthAddress>, Vec<u64>) {
        let mut addresses = Vec::new();
        let mut powers = Vec::new();
        for val in self.members.iter() {
            match val.eth_address {
                Some(a) => {
                    addresses.push(a);
                    powers.push(val.power);
                }
                None => {
                    addresses.push(EthAddress::default());
                    powers.push(val.power);
                }
            }
        }
        (addresses, powers)
    }
pub fn filter_empty_addresses ( & self ) -> ( Vec < EthAddress > , Vec < u64 > ) { let mut addresses = Vec :: new ( ) ; let mut powers = Vec :: new ( ) ; for val in self . members . iter ( ) { match val . eth_address { Some ( a ) => { addresses . push ( a ) ; powers . push ( val . power ) ; } None => { addresses . push ( EthAddress :: default ( ) ) ; powers . push ( val . power ) ; } } } ( addresses , powers ) }
Takes an array of Option<EthAddress> and converts to EthAddress and replaces with zeros
when none is found, Zeros are interpreted by the contract as 'no signature provided' and
signature checks can pass with up to 33% of all voting power presented as zeroed addresses
Takes an array of Option<EthAddress > and converts to EthAddress and replaces with zeros when none is found Zeros are interpreted by the contract as ' no signature provided ' and signature checks can pass with up to 33% of all voting power presented as zeroed addresses
&self
&self