diff --git a/crates/algokit_transact/src/constants.rs b/crates/algokit_transact/src/constants.rs index 8ee12feb..f3fa7413 100644 --- a/crates/algokit_transact/src/constants.rs +++ b/crates/algokit_transact/src/constants.rs @@ -2,4 +2,5 @@ pub const HASH_BYTES_LENGTH: usize = 32; pub const ALGORAND_CHECKSUM_BYTE_LENGTH: usize = 4; pub const ALGORAND_ADDRESS_LENGTH: usize = 58; pub const ALGORAND_PUBLIC_KEY_BYTE_LENGTH: usize = 32; +pub const ALGORAND_SIGNATURE_ENCODING_INCR: usize = 75; pub type Byte32 = [u8; 32]; diff --git a/crates/algokit_transact/src/lib.rs b/crates/algokit_transact/src/lib.rs index ca137909..51007df4 100644 --- a/crates/algokit_transact/src/lib.rs +++ b/crates/algokit_transact/src/lib.rs @@ -12,7 +12,7 @@ pub use constants::{ ALGORAND_PUBLIC_KEY_BYTE_LENGTH, HASH_BYTES_LENGTH, }; pub use error::AlgoKitTransactError; -pub use traits::{AlgorandMsgpack, TransactionId}; +pub use traits::{AlgorandMsgpack, EstimateTransactionSize, TransactionId}; pub use transactions::{ AssetTransferTransactionBuilder, AssetTransferTransactionFields, PaymentTransactionBuilder, PaymentTransactionFields, SignedTransaction, Transaction, TransactionHeader, diff --git a/crates/algokit_transact/src/test_utils/mod.rs b/crates/algokit_transact/src/test_utils/mod.rs index cb7f7101..d0ee164e 100644 --- a/crates/algokit_transact/src/test_utils/mod.rs +++ b/crates/algokit_transact/src/test_utils/mod.rs @@ -1,4 +1,3 @@ -use std::fs::File; use crate::{ transactions::{AssetTransferTransactionBuilder, PaymentTransactionBuilder}, Address, AlgorandMsgpack, Byte32, SignedTransaction, Transaction, TransactionHeaderBuilder, @@ -9,6 +8,7 @@ use convert_case::{Case, Casing}; use ed25519_dalek::{Signer, SigningKey}; use serde::Serialize; use serde_json::to_writer_pretty; +use std::fs::File; pub struct TransactionHeaderMother {} impl TransactionHeaderMother { @@ -56,8 +56,9 @@ impl TransactionMother { .header(TransactionHeaderMother::simple_testnet().build().unwrap()) .amount(101000) .receiver( - "VXH5UP6JLU2CGIYPUFZ4Z5OTLJCLMA5EXD3YHTMVNDE5P7ILZ324FSYSPQ".parse::
() - .unwrap() + "VXH5UP6JLU2CGIYPUFZ4Z5OTLJCLMA5EXD3YHTMVNDE5P7ILZ324FSYSPQ" + .parse::() + .unwrap(), ) .to_owned() } @@ -83,8 +84,9 @@ impl TransactionMother { .header( TransactionHeaderMother::simple_testnet() .sender( - "JB3K6HTAXODO4THESLNYTSG6GQUFNEVIQG7A6ZYVDACR6WA3ZF52TKU5NA".parse::() - .unwrap() + "JB3K6HTAXODO4THESLNYTSG6GQUFNEVIQG7A6ZYVDACR6WA3ZF52TKU5NA" + .parse::() + .unwrap(), ) .first_valid(51183672) .last_valid(51183872) @@ -94,8 +96,9 @@ impl TransactionMother { .asset_id(107686045) .amount(0) .receiver( - "JB3K6HTAXODO4THESLNYTSG6GQUFNEVIQG7A6ZYVDACR6WA3ZF52TKU5NA".parse::() - .unwrap() + "JB3K6HTAXODO4THESLNYTSG6GQUFNEVIQG7A6ZYVDACR6WA3ZF52TKU5NA" + .parse::() + .unwrap(), ) .to_owned() } @@ -108,7 +111,8 @@ impl AddressMother { } pub fn address() -> Address { - "RIMARGKZU46OZ77OLPDHHPUJ7YBSHRTCYMQUC64KZCCMESQAFQMYU6SL2Q".parse::() + "RIMARGKZU46OZ77OLPDHHPUJ7YBSHRTCYMQUC64KZCCMESQAFQMYU6SL2Q" + .parse::() .unwrap() } } diff --git a/crates/algokit_transact/src/traits.rs b/crates/algokit_transact/src/traits.rs index 03effb5e..b1147787 100644 --- a/crates/algokit_transact/src/traits.rs +++ b/crates/algokit_transact/src/traits.rs @@ -58,7 +58,7 @@ pub trait AlgorandMsgpack: Serialize + for<'de> Deserialize<'de> { /// * `bytes` - The MessagePack encoded bytes /// /// # Returns - /// The decoded instance or an AlgoKitTransactError if the input is empty or + /// The decoded instance or an AlgoKitTransactError if the input is empty or /// deserialization fails. fn decode(bytes: &[u8]) -> Result