pub struct Account { /* private fields */ }
Implementations§
Source§impl Account
impl Account
Sourcepub fn generate() -> Account
pub fn generate() -> Account
Examples found in repository?
examples/sign_offline.rs (line 10)
9fn main() -> Result<(), Box<dyn Error>> {
10 let account = Account::generate();
11
12 let m = mnemonic::from_key(&account.seed())?;
13 println!("Backup phrase: {}", m);
14 let fee = MicroAlgos(1000);
15 let amount = MicroAlgos(20000);
16 let first_round = Round(642_715);
17 let last_round = first_round + 1000;
18
19 let base = BaseTransaction {
20 sender: account.address(),
21 first_valid: first_round,
22 last_valid: last_round,
23 note: Vec::new(),
24 genesis_id: "".to_string(),
25 genesis_hash: HashDigest([0; 32]),
26 };
27 let payment = Payment {
28 amount,
29 receiver: Address::from_string(
30 "4MYUHDWHWXAKA5KA7U5PEN646VYUANBFXVJNONBK3TIMHEMWMD4UBOJBI4",
31 )?,
32 close_remainder_to: None,
33 };
34
35 let transaction = Transaction::new(base, fee, TransactionType::Payment(payment))?;
36
37 println!("Made unsigned transaction: {:?}", transaction);
38
39 // Sign the transaction
40 let signed_transaction = account.sign_transaction(&transaction)?;
41 let bytes = rmp_serde::to_vec_named(&signed_transaction)?;
42
43 let filename = "./signed.tx";
44 let mut f = File::create(filename)?;
45 f.write_all(&bytes)?;
46
47 println!("Saved signed transaction to file: {}", filename);
48
49 Ok(())
50}
Sourcepub fn from_mnemonic(mnemonic: &str) -> Result<Account, Error>
pub fn from_mnemonic(mnemonic: &str) -> Result<Account, Error>
Create account from human readable mnemonic of a 32 byte seed
Sourcepub fn address(&self) -> Address
pub fn address(&self) -> Address
Get the public key address of the account
Examples found in repository?
examples/sign_offline.rs (line 20)
9fn main() -> Result<(), Box<dyn Error>> {
10 let account = Account::generate();
11
12 let m = mnemonic::from_key(&account.seed())?;
13 println!("Backup phrase: {}", m);
14 let fee = MicroAlgos(1000);
15 let amount = MicroAlgos(20000);
16 let first_round = Round(642_715);
17 let last_round = first_round + 1000;
18
19 let base = BaseTransaction {
20 sender: account.address(),
21 first_valid: first_round,
22 last_valid: last_round,
23 note: Vec::new(),
24 genesis_id: "".to_string(),
25 genesis_hash: HashDigest([0; 32]),
26 };
27 let payment = Payment {
28 amount,
29 receiver: Address::from_string(
30 "4MYUHDWHWXAKA5KA7U5PEN646VYUANBFXVJNONBK3TIMHEMWMD4UBOJBI4",
31 )?,
32 close_remainder_to: None,
33 };
34
35 let transaction = Transaction::new(base, fee, TransactionType::Payment(payment))?;
36
37 println!("Made unsigned transaction: {:?}", transaction);
38
39 // Sign the transaction
40 let signed_transaction = account.sign_transaction(&transaction)?;
41 let bytes = rmp_serde::to_vec_named(&signed_transaction)?;
42
43 let filename = "./signed.tx";
44 let mut f = File::create(filename)?;
45 f.write_all(&bytes)?;
46
47 println!("Saved signed transaction to file: {}", filename);
48
49 Ok(())
50}
Sourcepub fn seed(&self) -> [u8; 32]
pub fn seed(&self) -> [u8; 32]
Get the 32 byte seed
Examples found in repository?
examples/sign_offline.rs (line 12)
9fn main() -> Result<(), Box<dyn Error>> {
10 let account = Account::generate();
11
12 let m = mnemonic::from_key(&account.seed())?;
13 println!("Backup phrase: {}", m);
14 let fee = MicroAlgos(1000);
15 let amount = MicroAlgos(20000);
16 let first_round = Round(642_715);
17 let last_round = first_round + 1000;
18
19 let base = BaseTransaction {
20 sender: account.address(),
21 first_valid: first_round,
22 last_valid: last_round,
23 note: Vec::new(),
24 genesis_id: "".to_string(),
25 genesis_hash: HashDigest([0; 32]),
26 };
27 let payment = Payment {
28 amount,
29 receiver: Address::from_string(
30 "4MYUHDWHWXAKA5KA7U5PEN646VYUANBFXVJNONBK3TIMHEMWMD4UBOJBI4",
31 )?,
32 close_remainder_to: None,
33 };
34
35 let transaction = Transaction::new(base, fee, TransactionType::Payment(payment))?;
36
37 println!("Made unsigned transaction: {:?}", transaction);
38
39 // Sign the transaction
40 let signed_transaction = account.sign_transaction(&transaction)?;
41 let bytes = rmp_serde::to_vec_named(&signed_transaction)?;
42
43 let filename = "./signed.tx";
44 let mut f = File::create(filename)?;
45 f.write_all(&bytes)?;
46
47 println!("Saved signed transaction to file: {}", filename);
48
49 Ok(())
50}
Sourcepub fn sign_bid(&self, bid: Bid) -> Result<SignedBid, Error>
pub fn sign_bid(&self, bid: Bid) -> Result<SignedBid, Error>
Sign a bid with the account’s private key
Sourcepub fn sign_transaction(
&self,
transaction: &Transaction,
) -> Result<SignedTransaction, Error>
pub fn sign_transaction( &self, transaction: &Transaction, ) -> Result<SignedTransaction, Error>
Sign a transaction with the account’s private key
Examples found in repository?
examples/sign_offline.rs (line 40)
9fn main() -> Result<(), Box<dyn Error>> {
10 let account = Account::generate();
11
12 let m = mnemonic::from_key(&account.seed())?;
13 println!("Backup phrase: {}", m);
14 let fee = MicroAlgos(1000);
15 let amount = MicroAlgos(20000);
16 let first_round = Round(642_715);
17 let last_round = first_round + 1000;
18
19 let base = BaseTransaction {
20 sender: account.address(),
21 first_valid: first_round,
22 last_valid: last_round,
23 note: Vec::new(),
24 genesis_id: "".to_string(),
25 genesis_hash: HashDigest([0; 32]),
26 };
27 let payment = Payment {
28 amount,
29 receiver: Address::from_string(
30 "4MYUHDWHWXAKA5KA7U5PEN646VYUANBFXVJNONBK3TIMHEMWMD4UBOJBI4",
31 )?,
32 close_remainder_to: None,
33 };
34
35 let transaction = Transaction::new(base, fee, TransactionType::Payment(payment))?;
36
37 println!("Made unsigned transaction: {:?}", transaction);
38
39 // Sign the transaction
40 let signed_transaction = account.sign_transaction(&transaction)?;
41 let bytes = rmp_serde::to_vec_named(&signed_transaction)?;
42
43 let filename = "./signed.tx";
44 let mut f = File::create(filename)?;
45 f.write_all(&bytes)?;
46
47 println!("Saved signed transaction to file: {}", filename);
48
49 Ok(())
50}
Sourcepub fn sign_multisig_transaction(
&self,
from: MultisigAddress,
transaction: &Transaction,
) -> Result<SignedTransaction, Error>
pub fn sign_multisig_transaction( &self, from: MultisigAddress, transaction: &Transaction, ) -> Result<SignedTransaction, Error>
Sign the transaction and populate the multisig field of the signed transaction with the given multisig address
Sourcepub fn append_multisig_transaction(
&self,
from: MultisigAddress,
transaction: &SignedTransaction,
) -> Result<SignedTransaction, Error>
pub fn append_multisig_transaction( &self, from: MultisigAddress, transaction: &SignedTransaction, ) -> Result<SignedTransaction, Error>
Appends the multisig signature from the given multisig address to the transaction
Sourcepub fn merge_multisig_transactions<T: Borrow<SignedTransaction>>(
transactions: &[T],
) -> Result<SignedTransaction, Error>
pub fn merge_multisig_transactions<T: Borrow<SignedTransaction>>( transactions: &[T], ) -> Result<SignedTransaction, Error>
Returns a signed transaction with the multisig signatures of the passed signed transactions merged
Auto Trait Implementations§
impl Freeze for Account
impl RefUnwindSafe for Account
impl Send for Account
impl Sync for Account
impl Unpin for Account
impl UnwindSafe for Account
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more