diff --git a/examples/program_deployment/src/bin/run_hello_world_private.rs b/examples/program_deployment/src/bin/run_hello_world_private.rs index 78c11656..4908cf7c 100644 --- a/examples/program_deployment/src/bin/run_hello_world_private.rs +++ b/examples/program_deployment/src/bin/run_hello_world_private.rs @@ -51,9 +51,7 @@ async fn main() { .send_privacy_preserving_tx( accounts, Program::serialize_instruction(greeting).unwrap(), - &program.into(), - &None, - &None, + &program.into() ) .await .unwrap(); diff --git a/examples/program_deployment/src/bin/run_hello_world_through_tail_call_private.rs b/examples/program_deployment/src/bin/run_hello_world_through_tail_call_private.rs index e25c4b0e..1903a0f6 100644 --- a/examples/program_deployment/src/bin/run_hello_world_through_tail_call_private.rs +++ b/examples/program_deployment/src/bin/run_hello_world_through_tail_call_private.rs @@ -59,9 +59,7 @@ async fn main() { .send_privacy_preserving_tx( accounts, Program::serialize_instruction(instruction).unwrap(), - &program_with_dependencies, - &None, - &None, + &program_with_dependencies ) .await .unwrap(); diff --git a/examples/program_deployment/src/bin/run_hello_world_with_move_function.rs b/examples/program_deployment/src/bin/run_hello_world_with_move_function.rs index 89763bd7..a1c2517e 100644 --- a/examples/program_deployment/src/bin/run_hello_world_with_move_function.rs +++ b/examples/program_deployment/src/bin/run_hello_world_with_move_function.rs @@ -106,8 +106,6 @@ async fn main() { accounts, Program::serialize_instruction(instruction).unwrap(), &program.into(), - &None, - &None, ) .await .unwrap(); @@ -149,8 +147,6 @@ async fn main() { accounts, Program::serialize_instruction(instruction).unwrap(), &program.into(), - &None, - &None, ) .await .unwrap(); diff --git a/keycard_tests.sh b/keycard_tests.sh index bd06168a..6a2e065b 100644 --- a/keycard_tests.sh +++ b/keycard_tests.sh @@ -35,27 +35,3 @@ wallet account get --pin 111111 --key-path "m/44'/60'/0'/0/0" echo "Test: wallet account get --pin 111111 --key-path \"m/44'/60'/0'/0/1\"" wallet account get --pin 111111 --key-path "m/44'/60'/0'/0/1" - - -# initialize account keys (outside of keycard) -# Eventually use for tokens and shielded -wallet account new private -wallet account new public -wallet account new public -wallet account new public -wallet account new public - -# Initialize Token A -wallet token new --definition-account-id "Public/4rXJzAEVn9Av1bK1RR4orTJP8dJDzRuoTBRsXVn1pwcK" --supply-account-id "Public/3PfkXqePVRnet5H1PbnfgeWykBrqX3KPPeMBESJt4QEd" --total-supply 1000 --name LEZT - -# Initialize Token B -wallet token new --definition-account-id "Public/DjJx9ccoRyv1xxmHmpFy8mATeKq3Es1DnobjT4EZ4ab2" --supply-account-id "Public/EKgmwG9n7jMYkKaTYdZa7ELyYZq5f43oBKuCiu3t3Tm8" --total-supply 1000 --name LEET - -# Send Token A to a new wallet account - -# Send from non keycard account to an account owned by keycard. -wallet token send --from "Public/3PfkXqePVRnet5H1PbnfgeWykBrqX3KPPeMBESJt4QEd" --to "Public/6iYPF671bMDEkADFvHgcJDrYHJMqZv6cYbxVMsUU7LFE" --amount 400 -# This fails due to lack of initialization for Token Account - - -wallet auth-transfer send --amount 40 --pin 111111 --from-key-path "m/44'/60'/0'/0/0" --to-npk "55204e2934045b044f06d8222b454d46b54788f33c7dec4f6733d441703bb0e6" --to-vpk "02a8626b0c0ad9383c5678dad48c3969b4174fb377cdb03a6259648032c774cec8" diff --git a/wallet-ffi/src/transfer.rs b/wallet-ffi/src/transfer.rs index ca30ef3d..e65fa473 100644 --- a/wallet-ffi/src/transfer.rs +++ b/wallet-ffi/src/transfer.rs @@ -160,7 +160,7 @@ pub unsafe extern "C" fn wallet_ffi_transfer_shielded( let transfer = NativeTokenTransfer(&wallet); match block_on( - transfer.send_shielded_transfer_to_outer_account(from_id, to_npk, to_vpk, amount, &None, &None), + transfer.send_shielded_transfer_to_outer_account(from_id, to_npk, to_vpk, amount), ) { Ok((tx_hash, _shared_key)) => { let tx_hash = CString::new(tx_hash.to_string()) @@ -412,7 +412,7 @@ pub unsafe extern "C" fn wallet_ffi_transfer_shielded_owned( let transfer = NativeTokenTransfer(&wallet); - match block_on(transfer.send_shielded_transfer(from_id, to_id, amount, &None, &None)) { + match block_on(transfer.send_shielded_transfer(from_id, to_id, amount)) { Ok((tx_hash, _shared_key)) => { let tx_hash = CString::new(tx_hash.to_string()) .map_or(ptr::null_mut(), std::ffi::CString::into_raw); diff --git a/wallet/src/cli/account.rs b/wallet/src/cli/account.rs index 04050a79..24f7d5fd 100644 --- a/wallet/src/cli/account.rs +++ b/wallet/src/cli/account.rs @@ -28,14 +28,14 @@ pub enum AccountSubcommand { #[arg(short, long)] keys: bool, /// Valid 32 byte base58 string with privacy prefix. - #[arg(short, long, conflicts_with = "account_label")] + #[arg(short, long, conflicts_with = "account_label", required_unless_present_any = ["account_label", "pin"])] account_id: Option, /// Account label (alternative to --account-id). #[arg(long, conflicts_with = "account_id")] account_label: Option, - #[arg(long, conflicts_with = "account_id", conflicts_with = "account_id")] + #[arg(long, conflicts_with = "account_id", conflicts_with = "account_label", requires = "key_path")] pin: Option, - #[arg(long, conflicts_with = "account_id", conflicts_with = "account_id")] + #[arg(long)] key_path: Option, }, /// Produce new public or private account. @@ -205,6 +205,7 @@ impl WalletSubcommand for AccountSubcommand { let account_id: nssa::AccountId = account_id_str.parse()?; + // Add account id to the display for keycard users. println!("Account Id: {}", resolved); if let Some(label) = wallet_core.storage.labels.get(&account_id_str) { diff --git a/wallet/src/cli/programs/native_token_transfer.rs b/wallet/src/cli/programs/native_token_transfer.rs index 2949e803..089fb7de 100644 --- a/wallet/src/cli/programs/native_token_transfer.rs +++ b/wallet/src/cli/programs/native_token_transfer.rs @@ -24,15 +24,16 @@ pub enum AuthTransferSubcommand { #[arg( long, conflicts_with = "account_label", - // required_unless_present = "account_label" + conflicts_with = "pin", + required_unless_present_any = ["account_label", "pin"] )] account_id: Option, /// Account label (alternative to --account-id). - #[arg(long, conflicts_with = "account_id")] + #[arg(long, conflicts_with = "account_id", conflicts_with = "pin")] account_label: Option, - #[arg(long)] + #[arg(long, conflicts_with = "account_id", conflicts_with = "account_label", requires = "key_path")] pin: Option, - #[arg(long, conflicts_with = "account_id", conflicts_with = "account_label")] + #[arg(long)] key_path: Option, }, /// Send native tokens from one account to another with variable privacy. @@ -43,10 +44,10 @@ pub enum AuthTransferSubcommand { /// First is used for owned accounts, second otherwise. Send { /// from - valid 32 byte base58 string with privacy prefix. - #[arg(long, conflicts_with = "from_label")] + #[arg(long, conflicts_with = "from_label", conflicts_with = "pin", required_unless_present_any = ["from_label", "pin"])] from: Option, /// From account label (alternative to --from). - #[arg(long, conflicts_with = "from")] + #[arg(long, conflicts_with = "from", conflicts_with = "pin")] from_label: Option, /// to - valid 32 byte base58 string with privacy prefix. #[arg(long, conflicts_with = "to_label")] @@ -63,11 +64,11 @@ pub enum AuthTransferSubcommand { /// amount - amount of balance to move. #[arg(long)] amount: u128, - #[arg(long, conflicts_with = "from", conflicts_with = "from_label")] + #[arg(long)] pin: Option, #[arg(long, conflicts_with = "from", conflicts_with = "from_label")] from_key_path: Option, - #[arg(long, conflicts_with = "from", conflicts_with = "from_label")] + #[arg(long, conflicts_with = "to", conflicts_with = "to_label")] to_key_path: Option, }, } @@ -225,9 +226,7 @@ impl WalletSubcommand for AuthTransferSubcommand { NativeTokenTransferProgramSubcommandShielded::ShieldedOwned { from, to, - amount, - pin, - key_path: from_key_path, + amount }, ) } @@ -254,8 +253,6 @@ impl WalletSubcommand for AuthTransferSubcommand { to_npk, to_vpk, amount, - pin, - key_path: from_key_path, }, ) } @@ -285,9 +282,9 @@ pub enum NativeTokenTransferProgramSubcommand { /// amount - amount of balance to move. #[arg(long)] amount: u128, - #[arg(long, conflicts_with = "from", conflicts_with = "from_label")] + #[arg(long, conflicts_with = "from", conflicts_with = "from_label", requires = "key_path")] pin: Option, - #[arg(long, conflicts_with = "from", conflicts_with = "from_label")] + #[arg(long)] key_path: Option, }, /// Private execution. @@ -328,11 +325,7 @@ pub enum NativeTokenTransferProgramSubcommandShielded { to: String, /// amount - amount of balance to move. #[arg(long)] - amount: u128, - #[arg(long)] - pin: Option, - #[arg(long)] - key_path: Option, + amount: u128 }, /// Send native token transfer from `from` to `to` for `amount`. /// @@ -349,11 +342,7 @@ pub enum NativeTokenTransferProgramSubcommandShielded { to_vpk: String, /// amount - amount of balance to move. #[arg(long)] - amount: u128, - #[arg(long)] - pin: Option, - #[arg(long)] - key_path: Option, + amount: u128 }, } @@ -477,15 +466,13 @@ impl WalletSubcommand for NativeTokenTransferProgramSubcommandShielded { Self::ShieldedOwned { from, to, - amount, - pin, - key_path, + amount } => { let from: AccountId = from.parse().unwrap(); let to: AccountId = to.parse().unwrap(); let (tx_hash, secret) = NativeTokenTransfer(wallet_core) - .send_shielded_transfer(from, to, amount, &pin, &key_path) + .send_shielded_transfer(from, to, amount) .await?; println!("Transaction hash is {tx_hash}"); @@ -510,8 +497,6 @@ impl WalletSubcommand for NativeTokenTransferProgramSubcommandShielded { to_npk, to_vpk, amount, - pin, - key_path, } => { let from: AccountId = from.parse().unwrap(); @@ -528,7 +513,7 @@ impl WalletSubcommand for NativeTokenTransferProgramSubcommandShielded { let (tx_hash, _) = NativeTokenTransfer(wallet_core) .send_shielded_transfer_to_outer_account( - from, to_npk, to_vpk, amount, &pin, &key_path, + from, to_npk, to_vpk, amount ) .await?; diff --git a/wallet/src/cli/programs/pinata.rs b/wallet/src/cli/programs/pinata.rs index e41c0fd8..6a88c4b0 100644 --- a/wallet/src/cli/programs/pinata.rs +++ b/wallet/src/cli/programs/pinata.rs @@ -17,14 +17,14 @@ pub enum PinataProgramAgnosticSubcommand { /// Claim pinata. Claim { /// to - valid 32 byte base58 string with privacy prefix. - #[arg(long, conflicts_with = "to_label")] + #[arg(long, conflicts_with = "to_label", required_unless_present_any = ["to_label", "pin"])] to: Option, /// To account label (alternative to --to). #[arg(long, conflicts_with = "to")] to_label: Option, - #[arg(long, conflicts_with = "to", conflicts_with = "to_label")] + #[arg(long, conflicts_with = "to", conflicts_with = "to_label", requires = "key_path")] pin: Option, - #[arg(long, conflicts_with = "to", conflicts_with = "to_label")] + #[arg(long)] key_path: Option, }, } diff --git a/wallet/src/lib.rs b/wallet/src/lib.rs index 1362eed8..34a0e965 100644 --- a/wallet/src/lib.rs +++ b/wallet/src/lib.rs @@ -16,10 +16,9 @@ use chain_storage::WalletChainStore; use common::{HashType, transaction::NSSATransaction}; use config::WalletConfig; use key_protocol::key_management::key_tree::{chain_index::ChainIndex, traits::KeyNode as _}; -use keycard_wallet::KeycardWallet; use log::info; use nssa::{ - Account, AccountId, PrivacyPreservingTransaction, PublicKey, Signature, + Account, AccountId, PrivacyPreservingTransaction, privacy_preserving_transaction::{ circuit::{ProgramWithDependencies, Proof}, message::EncryptedAccountData, @@ -27,7 +26,7 @@ use nssa::{ }; use nssa_core::{ Commitment, MembershipProof, SharedSecretKey, - account::{AccountWithMetadata, Nonce}, + account::Nonce, program::InstructionData, }; pub use privacy_preserving_tx::PrivacyPreservingAccount; @@ -36,7 +35,7 @@ use tokio::io::AsyncWriteExt as _; use crate::{ config::{PersistentStorage, WalletConfigOverrides}, - helperfunctions::{parse_addr_with_privacy_prefix, produce_data_for_storage}, + helperfunctions::produce_data_for_storage, poller::TxPoller, }; @@ -366,17 +365,10 @@ impl WalletCore { accounts: Vec, instruction_data: InstructionData, program: &ProgramWithDependencies, - pin: &Option, - key_path: &Option, ) -> Result<(HashType, Vec), ExecutionFailureKind> { - self.send_privacy_preserving_tx_with_pre_check( - accounts, - instruction_data, - program, - |_| Ok(()), - pin, - key_path, - ) + self.send_privacy_preserving_tx_with_pre_check(accounts, instruction_data, program, |_| { + Ok(()) + }) .await } @@ -386,53 +378,10 @@ impl WalletCore { instruction_data: InstructionData, program: &ProgramWithDependencies, tx_pre_check: impl FnOnce(&[&Account]) -> Result<(), ExecutionFailureKind>, - pin: &Option, - key_path: &Option, ) -> Result<(HashType, Vec), ExecutionFailureKind> { let acc_manager = privacy_preserving_tx::AccountManager::new(self, accounts).await?; let pre_states = acc_manager.pre_states(); - - let keycard_account = if let Some(pin) = pin.as_ref() { - let account_id = KeycardWallet::get_account_id_for_path_with_connect( - pin, - key_path.as_ref().expect("Expect a key path String."), - ); - - let (acc_id, _) = - parse_addr_with_privacy_prefix(&account_id).expect("Valid parsing of account id"); - - let account_id = acc_id.parse().expect("Expect a valid Account Id"); - let account = self - .get_account_public(account_id) - .await - .expect("Expect valid account"); - - Some(AccountWithMetadata { - account, - is_authorized: true, - account_id, - }) - } else { - None - }; - - let nonces: Vec = acc_manager.public_account_nonces().into_iter().collect(); - - let account_ids: Vec = acc_manager.public_account_ids(); - - let visibility_mask = acc_manager.visibility_mask().to_vec(); - - if let Some(acc) = keycard_account.as_ref() { - nonces.push(acc.account.nonce); - - account_ids.push(acc.account_id); - - visibility_mask.push(0); - - pre_states.push(acc.clone()); - } - tx_pre_check( &pre_states .iter() @@ -444,7 +393,7 @@ impl WalletCore { let (output, proof) = nssa::privacy_preserving_transaction::circuit::execute_and_prove( pre_states, instruction_data, - visibility_mask, + acc_manager.visibility_mask().to_vec(), private_account_keys .iter() .map(|keys| (keys.npk, keys.ssk)) @@ -457,8 +406,8 @@ impl WalletCore { let message = nssa::privacy_preserving_transaction::message::Message::try_from_circuit_output( - account_ids, - nonces, + acc_manager.public_account_ids(), + Vec::from_iter(acc_manager.public_account_nonces()), private_account_keys .iter() .map(|keys| (keys.npk, keys.vpk.clone(), keys.epk.clone())) @@ -467,7 +416,7 @@ impl WalletCore { ) .unwrap(); - let witness_set = Self::sign_privacy_message(&message, &proof, &acc_manager, pin, key_path) + let witness_set = Self::sign_privacy_message(&message, &proof, &acc_manager) .expect("Expect a valid witness set"); let tx = PrivacyPreservingTransaction::new(message, witness_set); @@ -627,68 +576,13 @@ impl WalletCore { message: &nssa::privacy_preserving_transaction::Message, proof: &Proof, acc_manager: &privacy_preserving_tx::AccountManager, - _pin: &Option, - _key_path: &Option, ) -> Result { - //if pin.is_none() { - Ok( - nssa::privacy_preserving_transaction::witness_set::WitnessSet::for_message( - message, - proof.clone(), - &acc_manager.public_account_auth(), - ), - ) - /*} else { - let public_key = KeycardWallet::get_public_key_for_path_with_connect( - &pin.as_ref().expect("Expect a pin as a String."), - &key_path.as_ref().expect("Expect a key path String."), - ); - let signature = KeycardWallet::sign_message_for_path_with_connect( - &pin.as_ref().expect("Expect a pin as a String."), - &key_path.as_ref().expect("Expect a key path String."), - &message.hash_message(), - ) - .expect("Expect a valid signature"); - let mut signatures = Vec::::new(); - signatures.push(signature); - let mut public_keys = Vec::::new(); - public_keys.push(public_key); - Ok( - nssa::privacy_preserving_transaction::witness_set::WitnessSet::from_list( - proof.clone(), - &signatures, - &public_keys, - ), - ) - }*/ - } - - pub fn sign_privacy_message_with_keycard( - message: &nssa::privacy_preserving_transaction::Message, - proof: Proof, - pin: &String, - key_paths: &[String], - ) -> Result - { - let mut signatures = Vec::::new(); - let mut public_keys = Vec::::new(); - - for path in key_paths.iter() { - public_keys.push(KeycardWallet::get_public_key_for_path_with_connect( - &pin, &path, - )); - signatures.push( - KeycardWallet::sign_message_for_path_with_connect(&pin, &path, &message.hash_message()) - .expect("Expect a valid signature"), - ); - } - Ok( - nssa::privacy_preserving_transaction::witness_set::WitnessSet::from_list( - proof, - &signatures, - &public_keys, + nssa::privacy_preserving_transaction::witness_set::WitnessSet::for_message( + message, + proof.clone(), + &acc_manager.public_account_auth(), ), ) } diff --git a/wallet/src/program_facades/ata.rs b/wallet/src/program_facades/ata.rs index a72d50a9..ac60fb63 100644 --- a/wallet/src/program_facades/ata.rs +++ b/wallet/src/program_facades/ata.rs @@ -194,13 +194,7 @@ impl Ata<'_> { ]; self.0 - .send_privacy_preserving_tx( - accounts, - instruction_data, - &ata_with_token_dependency(), - &None, - &None, - ) + .send_privacy_preserving_tx(accounts, instruction_data, &ata_with_token_dependency()) .await .map(|(hash, mut secrets)| { let secret = secrets.pop().expect("expected owner's secret"); @@ -235,13 +229,7 @@ impl Ata<'_> { ]; self.0 - .send_privacy_preserving_tx( - accounts, - instruction_data, - &ata_with_token_dependency(), - &None, - &None, - ) + .send_privacy_preserving_tx(accounts, instruction_data, &ata_with_token_dependency()) .await .map(|(hash, mut secrets)| { let secret = secrets.pop().expect("expected owner's secret"); @@ -275,13 +263,7 @@ impl Ata<'_> { ]; self.0 - .send_privacy_preserving_tx( - accounts, - instruction_data, - &ata_with_token_dependency(), - &None, - &None, - ) + .send_privacy_preserving_tx(accounts, instruction_data, &ata_with_token_dependency()) .await .map(|(hash, mut secrets)| { let secret = secrets.pop().expect("expected owner's secret"); diff --git a/wallet/src/program_facades/native_token_transfer/deshielded.rs b/wallet/src/program_facades/native_token_transfer/deshielded.rs index e7abbb3e..d51f15ce 100644 --- a/wallet/src/program_facades/native_token_transfer/deshielded.rs +++ b/wallet/src/program_facades/native_token_transfer/deshielded.rs @@ -22,8 +22,6 @@ impl NativeTokenTransfer<'_> { instruction_data, &program.into(), tx_pre_check, - &None, - &None, ) .await .map(|(resp, secrets)| { diff --git a/wallet/src/program_facades/native_token_transfer/private.rs b/wallet/src/program_facades/native_token_transfer/private.rs index dbf9f5bf..c3a2125b 100644 --- a/wallet/src/program_facades/native_token_transfer/private.rs +++ b/wallet/src/program_facades/native_token_transfer/private.rs @@ -19,8 +19,6 @@ impl NativeTokenTransfer<'_> { vec![PrivacyPreservingAccount::PrivateOwned(from)], Program::serialize_instruction(instruction).unwrap(), &Program::authenticated_transfer_program().into(), - &None, - &None, ) .await .map(|(resp, secrets)| { @@ -51,8 +49,6 @@ impl NativeTokenTransfer<'_> { instruction_data, &program.into(), tx_pre_check, - &None, - &None, ) .await .map(|(resp, secrets)| { @@ -80,8 +76,6 @@ impl NativeTokenTransfer<'_> { instruction_data, &program.into(), tx_pre_check, - &None, - &None, ) .await .map(|(resp, secrets)| { diff --git a/wallet/src/program_facades/native_token_transfer/shielded.rs b/wallet/src/program_facades/native_token_transfer/shielded.rs index 48d90820..625e1a8b 100644 --- a/wallet/src/program_facades/native_token_transfer/shielded.rs +++ b/wallet/src/program_facades/native_token_transfer/shielded.rs @@ -11,8 +11,6 @@ impl NativeTokenTransfer<'_> { from: AccountId, to: AccountId, balance_to_move: u128, - pin: &Option, - from_key_path: &Option, ) -> Result<(HashType, SharedSecretKey), ExecutionFailureKind> { let (instruction_data, program, tx_pre_check) = auth_transfer_preparation(balance_to_move); @@ -25,8 +23,6 @@ impl NativeTokenTransfer<'_> { instruction_data, &program.into(), tx_pre_check, - pin, - from_key_path, ) .await .map(|(resp, secrets)| { @@ -44,8 +40,6 @@ impl NativeTokenTransfer<'_> { to_npk: NullifierPublicKey, to_vpk: ViewingPublicKey, balance_to_move: u128, - pin: &Option, - from_key_path: &Option, ) -> Result<(HashType, SharedSecretKey), ExecutionFailureKind> { let (instruction_data, program, tx_pre_check) = auth_transfer_preparation(balance_to_move); @@ -61,8 +55,6 @@ impl NativeTokenTransfer<'_> { instruction_data, &program.into(), tx_pre_check, - pin, - from_key_path, ) .await .map(|(resp, secrets)| { diff --git a/wallet/src/program_facades/pinata.rs b/wallet/src/program_facades/pinata.rs index f30fcd5c..97118ecd 100644 --- a/wallet/src/program_facades/pinata.rs +++ b/wallet/src/program_facades/pinata.rs @@ -60,8 +60,6 @@ impl Pinata<'_> { ], nssa::program::Program::serialize_instruction(solution).unwrap(), &nssa::program::Program::pinata().into(), - &None, - &None, ) .await .map(|(resp, secrets)| { diff --git a/wallet/src/program_facades/token.rs b/wallet/src/program_facades/token.rs index 6a5d7ee1..8f777ecc 100644 --- a/wallet/src/program_facades/token.rs +++ b/wallet/src/program_facades/token.rs @@ -79,8 +79,6 @@ impl Token<'_> { ], instruction_data, &Program::token().into(), - &None, - &None, ) .await .map(|(resp, secrets)| { @@ -111,8 +109,6 @@ impl Token<'_> { ], instruction_data, &Program::token().into(), - &None, - &None, ) .await .map(|(resp, secrets)| { @@ -143,8 +139,6 @@ impl Token<'_> { ], instruction_data, &Program::token().into(), - &None, - &None, ) .await .map(|(resp, secrets)| { @@ -255,8 +249,6 @@ impl Token<'_> { ], instruction_data, &Program::token().into(), - &None, - &None, ) .await .map(|(resp, secrets)| { @@ -291,8 +283,6 @@ impl Token<'_> { ], instruction_data, &Program::token().into(), - &None, - &None, ) .await .map(|(resp, secrets)| { @@ -323,8 +313,6 @@ impl Token<'_> { ], instruction_data, &Program::token().into(), - &None, - &None, ) .await .map(|(resp, secrets)| { @@ -356,8 +344,6 @@ impl Token<'_> { ], instruction_data, &Program::token().into(), - &None, - &None, ) .await .map(|(resp, secrets)| { @@ -393,8 +379,6 @@ impl Token<'_> { ], instruction_data, &Program::token().into(), - &None, - &None, ) .await .map(|(resp, secrets)| { @@ -468,8 +452,6 @@ impl Token<'_> { ], instruction_data, &Program::token().into(), - &None, - &None, ) .await .map(|(resp, secrets)| { @@ -500,8 +482,6 @@ impl Token<'_> { ], instruction_data, &Program::token().into(), - &None, - &None, ) .await .map(|(resp, secrets)| { @@ -533,8 +513,6 @@ impl Token<'_> { ], instruction_data, &Program::token().into(), - &None, - &None, ) .await .map(|(resp, secrets)| { @@ -630,8 +608,6 @@ impl Token<'_> { ], instruction_data, &Program::token().into(), - &None, - &None, ) .await .map(|(resp, secrets)| { @@ -666,8 +642,6 @@ impl Token<'_> { ], instruction_data, &Program::token().into(), - &None, - &None, ) .await .map(|(resp, secrets)| { @@ -698,8 +672,6 @@ impl Token<'_> { ], instruction_data, &Program::token().into(), - &None, - &None, ) .await .map(|(resp, secrets)| { @@ -731,8 +703,6 @@ impl Token<'_> { ], instruction_data, &Program::token().into(), - &None, - &None, ) .await .map(|(resp, secrets)| { @@ -768,8 +738,6 @@ impl Token<'_> { ], instruction_data, &Program::token().into(), - &None, - &None, ) .await .map(|(resp, secrets)| { diff --git a/wallet_with_keycard.sh b/wallet_with_keycard.sh index 94c10d4c..8fc6e424 100644 --- a/wallet_with_keycard.sh +++ b/wallet_with_keycard.sh @@ -11,7 +11,7 @@ python3 -m pip install pyaes cd python # Need to use local version till fix applet -# git clone --branch lee-schnorr --single-branch https://github.com/bitgamma/keycard-py.git +#git clone --branch lee-schnorr --single-branch https://github.com/bitgamma/keycard-py.git cd keycard-py python3 -m venv venv source venv/bin/activate