pub fn sign<T: KeypairUtil>(&mut self, keypairs: &[&T], recent_blockhash: Hash) {
        let signed_keys =
            &self.message.account_keys[0..self.message.header.num_required_signatures as usize];
        for (i, keypair) in keypairs.iter().enumerate() {
            assert_eq!(keypair.pubkey(), signed_keys[i], "keypair-pubkey mismatch");
        }
        assert_eq!(keypairs.len(), signed_keys.len(), "not enough keypairs");
        self.sign_unchecked(keypairs, recent_blockhash);
    }
/// Check keys and keypair lengths, then sign this transaction.
Check keys and keypair lengths, then sign this transaction.
Check keys and keypair lengths then sign this transaction .
pub fn sign<T: KeypairUtil>(&mut self, keypairs: &[&T], recent_blockhash: Hash) {
        let signed_keys =
            &self.message.account_keys[0..self.message.header.num_required_signatures as usize];
        for (i, keypair) in keypairs.iter().enumerate() {
            assert_eq!(keypair.pubkey(), signed_keys[i], "keypair-pubkey mismatch");
        }
        assert_eq!(keypairs.len(), signed_keys.len(), "not enough keypairs");
        self.sign_unchecked(keypairs, recent_blockhash);
    }
pub fn sign < T : KeypairUtil > ( & mut self , keypairs : & [ & T ] , recent_blockhash : Hash ) { let signed_keys = & self . message . account_keys [ 0 .. self . message . header . num_required_signatures as usize ] ; for ( i , keypair ) in keypairs . iter ( ) . enumerate ( ) { assert_eq ! ( keypair pubkey ( ) signed_keys [ i ] " " ) ; } assert_eq ! ( keypairs len ( ) signed_keys len ( ) " " ) ; self . sign_unchecked ( keypairs , recent_blockhash ) ; }
Check keys and keypair lengths, then sign this transaction.
Check keys and keypair lengths then sign this transaction .
&mut self
keypairs
&[&T]
recent_blockhash
Hash
&mut self
keypairs
&[&T]
recent_blockhash
Hash