diff --git a/Cargo.lock b/Cargo.lock index f973f9c1d..4ed57128a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -80,15 +80,6 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" -[[package]] -name = "chrono" -version = "0.4.43" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fac4744fb15ae8337dc853fee7fb3f4e48c0fbaa23d0afe49c447b4fab126118" -dependencies = [ - "num-traits", -] - [[package]] name = "clang-sys" version = "1.8.1" @@ -371,9 +362,9 @@ checksum = "6aa2c4e539b869820a2b82e1aef6ff40aa85e65decdd5185e83fb4b1249cd00f" [[package]] name = "png" -version = "0.18.0" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97baced388464909d42d89643fe4361939af9b7ce7a31ee32a168f832a70f2a0" +checksum = "60769b8b31b2a9f263dae2776c37b1b28ae246943cf719eb6946a1db05128a61" dependencies = [ "bitflags", "crc32fast", @@ -451,6 +442,12 @@ version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" +[[package]] +name = "ryu" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" + [[package]] name = "serde" version = "1.0.228" @@ -482,15 +479,15 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.149" +version = "1.0.145" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" +checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c" dependencies = [ "itoa", "memchr", + "ryu", "serde", "serde_core", - "zmij", ] [[package]] @@ -548,12 +545,9 @@ dependencies = [ name = "stellarlib" version = "0.1.0" dependencies = [ - "chrono", "escape-bytes", "ethnum", "hex", - "serde", - "serde_json", "stellar-strkey 0.0.15", ] @@ -606,9 +600,3 @@ name = "zeroize" version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" - -[[package]] -name = "zmij" -version = "1.0.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfcd145825aace48cff44a8844de64bf75feec3080e0aa5cdbde72961ae51a65" diff --git a/Cargo.toml b/Cargo.toml index 15acab2f5..2c7105075 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -15,6 +15,8 @@ swap-utils = { path = "./swap-utils" } [profile.release] opt-level = 'z' lto = true +codegen-units = 1 +panic = 'abort' [features] default = ["ledger_device_sdk/nano_nbgl"] diff --git a/dataset/dataset/__init__.py b/dataset/dataset/__init__.py index 1d1dce730..9c210bf8b 100644 --- a/dataset/dataset/__init__.py +++ b/dataset/dataset/__init__.py @@ -2318,6 +2318,216 @@ def op_invoke_host_function_with_auth_and_no_args() -> TransactionEnvelope: ) return tx + @staticmethod + def op_invoke_host_function_with_auth_root_differs_from_host_function() -> ( + TransactionEnvelope + ): + # The root invocation of a source-account authorization entry is independent + # of the invoked host function, so it must be displayed from its root. + tx = ( + common_builder(base_fee=500) + .append_invoke_contract_function_op( + contract_id="CA3B55CUVQCP4C4WXGYG5I2ED7AYE6AFNJB25SFXXVWGEVP3LUVTN7ND", + function_name="testfunc", + parameters=None, + source=kp0.public_key, + auth=[ + stellar_xdr.SorobanAuthorizationEntry( + stellar_xdr.SorobanCredentials( + stellar_xdr.SorobanCredentialsType.SOROBAN_CREDENTIALS_SOURCE_ACCOUNT + ), + stellar_xdr.SorobanAuthorizedInvocation( + function=stellar_xdr.SorobanAuthorizedFunction( + stellar_xdr.SorobanAuthorizedFunctionType.SOROBAN_AUTHORIZED_FUNCTION_TYPE_CONTRACT_FN, + contract_fn=stellar_xdr.InvokeContractArgs( + contract_address=Address( + "CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC" + ).to_xdr_sc_address(), + function_name=stellar_xdr.SCSymbol( + "unrelated_fn".encode() + ), + args=[ + scval.to_address( + "GCWNBLOHPARYAAF5W25NELURTERYS732Q7RRBTXRKBPGYCYLOFKCLKKA" + ), + scval.to_int128(999 * 10**5), + ], + ), + ), + sub_invocations=[ + stellar_xdr.SorobanAuthorizedInvocation( + function=stellar_xdr.SorobanAuthorizedFunction( + stellar_xdr.SorobanAuthorizedFunctionType.SOROBAN_AUTHORIZED_FUNCTION_TYPE_CONTRACT_FN, + contract_fn=stellar_xdr.InvokeContractArgs( + contract_address=Address( + "CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75" + ).to_xdr_sc_address(), + function_name=stellar_xdr.SCSymbol( + "transfer".encode() + ), + args=[ + scval.to_address( + "GCWNBLOHPARYAAF5W25NELURTERYS732Q7RRBTXRKBPGYCYLOFKCLKKA" + ), # from + scval.to_address( + "GB42LIJ3V5KXCY32EFL4NL73OSI5PRCFJ3WNFMFX4QHGOAR7BFX2YC34" + ), # to + scval.to_int128(399 * 10**5), + ], + ), + ), + sub_invocations=[], + ), + ], + ), + ), + ], + ) + .add_time_bounds(0, 0) + .build() + ) + return tx + + @staticmethod + def op_invoke_host_function_with_multiple_source_account_auth() -> ( + TransactionEnvelope + ): + # A single operation can carry several authorization entries with + # source-account credentials; each tree must be displayed separately. + tx = ( + common_builder(base_fee=500) + .append_invoke_contract_function_op( + contract_id="CA3B55CUVQCP4C4WXGYG5I2ED7AYE6AFNJB25SFXXVWGEVP3LUVTN7ND", + function_name="testfunc", + parameters=None, + source=kp0.public_key, + auth=[ + stellar_xdr.SorobanAuthorizationEntry( + stellar_xdr.SorobanCredentials( + stellar_xdr.SorobanCredentialsType.SOROBAN_CREDENTIALS_SOURCE_ACCOUNT + ), + stellar_xdr.SorobanAuthorizedInvocation( + function=stellar_xdr.SorobanAuthorizedFunction( + stellar_xdr.SorobanAuthorizedFunctionType.SOROBAN_AUTHORIZED_FUNCTION_TYPE_CONTRACT_FN, + contract_fn=stellar_xdr.InvokeContractArgs( + contract_address=Address( + "CA3B55CUVQCP4C4WXGYG5I2ED7AYE6AFNJB25SFXXVWGEVP3LUVTN7ND" + ).to_xdr_sc_address(), + function_name=stellar_xdr.SCSymbol( + "testfunc".encode() + ), + args=[], + ), + ), + sub_invocations=[ + stellar_xdr.SorobanAuthorizedInvocation( + function=stellar_xdr.SorobanAuthorizedFunction( + stellar_xdr.SorobanAuthorizedFunctionType.SOROBAN_AUTHORIZED_FUNCTION_TYPE_CONTRACT_FN, + contract_fn=stellar_xdr.InvokeContractArgs( + contract_address=Address( + "CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75" + ).to_xdr_sc_address(), + function_name=stellar_xdr.SCSymbol( + "test".encode() + ), + args=[], + ), + ), + sub_invocations=[], + ), + ], + ), + ), + # ADDRESS credentials are not authorized by the transaction + # signature and must be skipped in the display. + stellar_xdr.SorobanAuthorizationEntry( + stellar_xdr.SorobanCredentials( + stellar_xdr.SorobanCredentialsType.SOROBAN_CREDENTIALS_ADDRESS, + stellar_xdr.SorobanAddressCredentials( + Address( + "GDUTHCF37UX32EMANXIL2WOOVEDZ47GHBTT3DYKU6EKM37SOIZXM2FN7" + ).to_xdr_sc_address(), + stellar_xdr.Int64(111324345), + stellar_xdr.Uint32(34543543), + scval.to_void(), + ), + ), + stellar_xdr.SorobanAuthorizedInvocation( + function=stellar_xdr.SorobanAuthorizedFunction( + stellar_xdr.SorobanAuthorizedFunctionType.SOROBAN_AUTHORIZED_FUNCTION_TYPE_CONTRACT_FN, + contract_fn=stellar_xdr.InvokeContractArgs( + contract_address=Address( + "CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75" + ).to_xdr_sc_address(), + function_name=stellar_xdr.SCSymbol( + "transfer".encode() + ), + args=[ + scval.to_address( + "GCWNBLOHPARYAAF5W25NELURTERYS732Q7RRBTXRKBPGYCYLOFKCLKKA" + ), # from + scval.to_address( + "GB42LIJ3V5KXCY32EFL4NL73OSI5PRCFJ3WNFMFX4QHGOAR7BFX2YC34" + ), # to + scval.to_int128(399 * 10**5), + ], + ), + ), + sub_invocations=[], + ), + ), + stellar_xdr.SorobanAuthorizationEntry( + stellar_xdr.SorobanCredentials( + stellar_xdr.SorobanCredentialsType.SOROBAN_CREDENTIALS_SOURCE_ACCOUNT + ), + stellar_xdr.SorobanAuthorizedInvocation( + function=stellar_xdr.SorobanAuthorizedFunction( + stellar_xdr.SorobanAuthorizedFunctionType.SOROBAN_AUTHORIZED_FUNCTION_TYPE_CONTRACT_FN, + contract_fn=stellar_xdr.InvokeContractArgs( + contract_address=Address( + "CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA" + ).to_xdr_sc_address(), + function_name=stellar_xdr.SCSymbol( + "approve".encode() + ), + args=[ + scval.to_address( + "GCWNBLOHPARYAAF5W25NELURTERYS732Q7RRBTXRKBPGYCYLOFKCLKKA" + ), # from + scval.to_address( + "GB42LIJ3V5KXCY32EFL4NL73OSI5PRCFJ3WNFMFX4QHGOAR7BFX2YC34" + ), # to + scval.to_int128(123 * 10**5), # amount + scval.to_uint32(234524532), + ], + ), + ), + sub_invocations=[ + stellar_xdr.SorobanAuthorizedInvocation( + function=stellar_xdr.SorobanAuthorizedFunction( + stellar_xdr.SorobanAuthorizedFunctionType.SOROBAN_AUTHORIZED_FUNCTION_TYPE_CONTRACT_FN, + contract_fn=stellar_xdr.InvokeContractArgs( + contract_address=Address( + "CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC" + ).to_xdr_sc_address(), + function_name=stellar_xdr.SCSymbol( + "burn".encode() + ), + args=[], + ), + ), + sub_invocations=[], + ), + ], + ), + ), + ], + ) + .add_time_bounds(0, 0) + .build() + ) + return tx + @staticmethod def op_invoke_host_function_without_auth_and_no_source() -> TransactionEnvelope: tx = ( diff --git a/release-notes.md b/release-notes.md index 38c390fa1..1e03ae819 100644 --- a/release-notes.md +++ b/release-notes.md @@ -1,5 +1,13 @@ # Release Notes +## Unreleased + +### Updated + +- Each Soroban authorization entry with source-account credentials is now displayed in full from its root invocation; previously the root was assumed to match the invoked host function and was never shown, hiding the actual authorized call when they differ. +- Authorization entries are now labeled `Authorization` with a hierarchical index (e.g. `1`, `1-1`, `1-2-1`), replacing the `Nested Authorization` label. +- The `Nested Authorization` setting has been renamed to `Authorization Details`; when disabled, authorization trees in transactions are not displayed at all. + ## v6.0.2 ### Updated diff --git a/src/app_ui/get_public_key.rs b/src/app_ui/get_public_key.rs index c4a877057..75dd1b87b 100644 --- a/src/app_ui/get_public_key.rs +++ b/src/app_ui/get_public_key.rs @@ -21,7 +21,7 @@ use ledger_device_sdk::nbgl::NbglAddressReview; pub fn ui_get_public_key(public_key: &[u8]) -> Result { let address = stellar_strkey::ed25519::PublicKey::from_payload(public_key) - .expect("caller guarantees 32-byte Stellar public key") + .map_err(|_| AppSW::KeyDeriveFail)? .to_string(); // Display the address confirmation screen. diff --git a/src/app_ui/sign_tx.rs b/src/app_ui/sign_tx.rs index 4d406b20d..cf03f5039 100644 --- a/src/app_ui/sign_tx.rs +++ b/src/app_ui/sign_tx.rs @@ -30,7 +30,7 @@ use stellarlib::{ pub fn ui_sign_tx(raw_data: &[u8], signer: &[u8]) -> Result { let config = Settings.to_format_config(); let signer = stellar_strkey::ed25519::PublicKey::from_payload(signer) - .expect("caller guarantees 32-byte Stellar public key") + .map_err(|_| AppSW::KeyDeriveFail)? .to_string(); let mut parser = Parser::new(raw_data); let tx_signature_payload = diff --git a/src/context.rs b/src/context.rs index b9f7146c2..373f12b9b 100644 --- a/src/context.rs +++ b/src/context.rs @@ -105,6 +105,9 @@ pub struct AppContext { pub path: Bip32Path, pub raw_data: RawDataBuffer, pub review_finished: bool, + /// Whether a first chunk has been received and a multi-chunk transfer is + /// in progress. Continuation chunks are rejected while this is false. + chunk_started: bool, } impl AppContext { @@ -122,6 +125,7 @@ impl AppContext { self.raw_data.clear(); self.path = Default::default(); self.review_finished = false; + self.chunk_started = false; } /// Handles multi-chunk data reception for handlers that accumulate data across multiple APDUs. @@ -137,7 +141,8 @@ impl AppContext { /// /// # Returns /// * `Ok(())` if the chunk was successfully processed - /// * `Err(AppSW)` if an error occurred (wrong length, data too large, etc.) + /// * `Err(AppSW)` if an error occurred (wrong length, data too large, + /// continuation chunk without a first chunk, etc.) pub fn handle_chunk(&mut self, comm: &mut Comm, first: bool) -> Result<(), AppSW> { let data = comm.get_data().map_err(|_| AppSW::WrongApduLength)?; if first { @@ -154,7 +159,15 @@ impl AppContext { // extend_from_slice now handles the size check internally self.raw_data.extend_from_slice(remaining_data)?; + + self.chunk_started = true; } else { + // A continuation without a preceding first chunk would otherwise + // proceed with the default path and whatever the buffer holds. + if !self.chunk_started { + return Err(AppSW::DataParsingFail); + } + // extend_from_slice now handles the size check internally self.raw_data.extend_from_slice(data)?; } diff --git a/src/crypto.rs b/src/crypto.rs index 629d74de1..4bdb388d4 100644 --- a/src/crypto.rs +++ b/src/crypto.rs @@ -76,6 +76,31 @@ pub fn hash(data: &[u8]) -> Result<[u8; HASH_LEN], AppSW> { Ok(hash) } +/// Computes the SHA-256 hash of multiple input parts as one continuous stream. +/// +/// Produces the same digest as hashing the concatenation of `parts`, without +/// allocating a contiguous copy of the data. +/// +/// # Arguments +/// +/// * `parts` - The byte slices to hash, in order +/// +/// # Returns +/// +/// * `Ok([u8; 32])` - The 32-byte SHA-256 hash on success +/// * `Err(AppSW::DataHashFail)` - If the hashing operation fails +pub fn hash_parts(parts: &[&[u8]]) -> Result<[u8; HASH_LEN], AppSW> { + let mut hasher = Sha2_256::new(); + for part in parts { + hasher.update(part).map_err(|_| AppSW::DataHashFail)?; + } + let mut hash: [u8; HASH_LEN] = [0u8; HASH_LEN]; + hasher + .finalize(&mut hash) + .map_err(|_| AppSW::DataHashFail)?; + Ok(hash) +} + /// Signs data using Ed25519 with a key derived from the given BIP32 path. /// /// This function derives a private key using SLIP-10 derivation from the provided BIP32 path diff --git a/src/handlers/sign_message.rs b/src/handlers/sign_message.rs index 0b80756fd..9b9a95ba3 100644 --- a/src/handlers/sign_message.rs +++ b/src/handlers/sign_message.rs @@ -17,14 +17,25 @@ use crate::app_ui::sign_message::ui_sign_message; use crate::context::AppContext; -use crate::crypto::{hash, sign}; +use crate::crypto::{hash_parts, sign}; use crate::sw::AppSW; use alloc::string::String; -use alloc::vec::Vec; use ledger_device_sdk::io::Comm; const MESSAGE_PREFIX: &[u8] = b"Stellar Signed Message:\n"; +/// Maximum accepted message length in bytes. +/// +/// The escaped display form expands each non-printable byte to 4 characters +/// (`\xNN`), so the raw message must stay well below the 16 KB heap: 2 KB of +/// raw input bounds the escaped string at 8 KB, leaving the rest for the UI. +/// +/// 2 KB is generous in practice: SEP-53 messages are meant to be reviewed by +/// a human on the device screen (auth challenges, wallet ownership proofs, +/// short statements — typically well under a few hundred bytes), and anything +/// this long would take dozens of screens to page through. +const MAX_MESSAGE_LEN: usize = 2048; + pub fn handler_sign_message( comm: &mut Comm, first: bool, @@ -33,20 +44,23 @@ pub fn handler_sign_message( ) -> Result<(), AppSW> { ctx.handle_chunk(comm, first)?; + if ctx.raw_data.len() > MAX_MESSAGE_LEN { + return Err(AppSW::RequestDataTooLarge); + } + if more { return Ok(()); } ctx.review_finished = true; - let mut prefixed_message = Vec::with_capacity(MESSAGE_PREFIX.len() + ctx.raw_data.len()); - prefixed_message.extend_from_slice(MESSAGE_PREFIX); - prefixed_message.extend_from_slice(&ctx.raw_data); + let hash = hash_parts(&[MESSAGE_PREFIX, &ctx.raw_data])?; - let hash = hash(&prefixed_message)?; - let message: String = escape_bytes::Escape::new(&*ctx.raw_data) - .map(char::from) - .collect(); + // Allocate the escaped form exactly once at its final size to avoid + // realloc growth peaks on the small heap. + let escaped_len = escape_bytes::Escape::new(&*ctx.raw_data).count(); + let mut message = String::with_capacity(escaped_len); + message.extend(escape_bytes::Escape::new(&*ctx.raw_data).map(char::from)); if !ui_sign_message(&message)? { return Err(AppSW::Deny); diff --git a/src/main.rs b/src/main.rs index 457b9db15..ffc7280dc 100644 --- a/src/main.rs +++ b/src/main.rs @@ -220,6 +220,20 @@ extern "C" fn sample_main(arg0: u32) { } }; show_status_and_home_if_needed(&ins, &mut app_ctx, &mut home, &status); + + // Reset accumulated state after every terminal result (success or + // error) so nothing stale can leak into the next command. Only a + // successful mid-stream chunk keeps the context alive. + let mid_stream = status == AppSW::Ok + && matches!( + ins, + Instruction::SignTx { more: true, .. } + | Instruction::SignSorobanAuth { more: true, .. } + | Instruction::SignMessage { more: true, .. } + ); + if !mid_stream { + app_ctx.reset(); + } } } } diff --git a/src/settings.rs b/src/settings.rs index 8303a933b..60842a0fc 100644 --- a/src/settings.rs +++ b/src/settings.rs @@ -28,7 +28,7 @@ pub enum SettingId { TransactionSource = 1, SequenceAndNonce = 2, Precondition = 3, - NestedAuthorization = 4, + AuthorizationDetails = 4, } impl SettingId { @@ -47,8 +47,8 @@ impl SettingId { ("Sequence & Nonce", "Allow display of tx sequence and nonce") } SettingId::Precondition => ("Precondition", "Allow display of tx precondition"), - SettingId::NestedAuthorization => { - ("Nested Authz", "Allow display of nested authorizations") + SettingId::AuthorizationDetails => { + ("Authz Details", "Allow display of authorization details") } } } @@ -68,9 +68,9 @@ impl SettingId { SettingId::Precondition => { ("Precondition", "Allow display of transaction precondition") } - SettingId::NestedAuthorization => ( - "Nested Authorization", - "Allow display of nested authorizations", + SettingId::AuthorizationDetails => ( + "Authorization Details", + "Allow display of authorization details", ), } } @@ -82,7 +82,7 @@ const DEFAULT_SETTINGS: [u8; SETTINGS_SIZE] = [ 0, // TransactionSource: disabled by default 0, // SequenceAndNonce: disabled by default 0, // Precondition: disabled by default - 1, // Nested Authorization: enabled by default + 1, // Authorization Details: enabled by default 0, 0, 0, 0, 0, // Reserved for future settings ]; @@ -93,7 +93,7 @@ const EXPOSED_SETTINGS: [SettingId; 5] = [ SettingId::TransactionSource, SettingId::SequenceAndNonce, SettingId::Precondition, - SettingId::NestedAuthorization, + SettingId::AuthorizationDetails, ]; const EXPOSED_SETTINGS_COUNT: usize = EXPOSED_SETTINGS.len(); @@ -161,15 +161,15 @@ impl Settings { self.get_setting(SettingId::Precondition) } - pub fn is_show_nested_authorization_enabled(&self) -> bool { - self.get_setting(SettingId::NestedAuthorization) + pub fn is_show_authorization_details_enabled(&self) -> bool { + self.get_setting(SettingId::AuthorizationDetails) } pub fn to_format_config(self) -> FormatConfig { FormatConfig { show_sequence_and_nonce: self.is_show_sequence_and_nonce_enabled(), show_preconditions: self.is_show_precondition_enabled(), - show_nested_authorization: self.is_show_nested_authorization_enabled(), + show_authorization_details: self.is_show_authorization_details_enabled(), show_tx_source_if_matches_signer: self.is_show_transaction_source_if_matches_signer(), } } diff --git a/src/swap/apdu.rs b/src/swap/apdu.rs index 41eb67389..d989adb34 100644 --- a/src/swap/apdu.rs +++ b/src/swap/apdu.rs @@ -102,7 +102,7 @@ fn handle_swap_sign_tx( let signer = get_public_key(&ctx.path)?; let signer = stellar_strkey::ed25519::PublicKey::from_payload(&signer) - .expect("caller guarantees 32-byte Stellar public key") + .map_err(|_| AppSW::KeyDeriveFail)? .to_string(); // Validate the swap transaction diff --git a/src/swap/mod.rs b/src/swap/mod.rs index 8d51cb98b..bada36d51 100644 --- a/src/swap/mod.rs +++ b/src/swap/mod.rs @@ -72,9 +72,12 @@ fn handle_printable_amount_command(arg0: u32) { formatted_str, )), Err(_) => { - // will not happen, but just in case + // Unreachable today (XLM supply is far below i64::MAX), but the + // app-exchange contract requires an empty printable_amount to + // signal failure — a non-empty string would be displayed as a + // real amount in the Exchange UI. ledger_device_sdk::log::error!("[swap] Error formatting amount"); - swap::swap_return(swap::SwapResult::PrintableAmountResult(&mut params, "0")) + swap::swap_return(swap::SwapResult::PrintableAmountResult(&mut params, "")) } } } diff --git a/src/swap/validation.rs b/src/swap/validation.rs index 42d826687..a6386f67e 100644 --- a/src/swap/validation.rs +++ b/src/swap/validation.rs @@ -105,6 +105,19 @@ pub fn validate_swap_transaction( // Validate transaction fee validate_fee(&envelope, tx_params)?; + // The whole buffer is hashed and signed, so every byte must have been + // validated: after the single operation only a void `ext` (0) may + // follow, and nothing after it. + let ext = parser + .parse_uint32() + .map_err(|_| "Failed to parse transaction ext")?; + if ext != 0 { + return Err("Swap transaction ext must be void"); + } + if parser.offset() != raw_data.len() { + return Err("Trailing bytes after swap transaction"); + } + Ok(()) } diff --git a/stellarlib/Cargo.lock b/stellarlib/Cargo.lock index 0b4d4bf28..b073fdf62 100644 --- a/stellarlib/Cargo.lock +++ b/stellarlib/Cargo.lock @@ -2,27 +2,12 @@ # It is not intended for manual editing. version = 4 -[[package]] -name = "autocfg" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" - [[package]] name = "base64" version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" -[[package]] -name = "chrono" -version = "0.4.42" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2" -dependencies = [ - "num-traits", -] - [[package]] name = "crate-git-revision" version = "0.0.6" @@ -91,15 +76,6 @@ version = "2.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" -[[package]] -name = "num-traits" -version = "0.2.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" -dependencies = [ - "autocfg", -] - [[package]] name = "proc-macro2" version = "1.0.101" @@ -168,9 +144,9 @@ dependencies = [ [[package]] name = "stellar-strkey" -version = "0.0.13" +version = "0.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee1832fb50c651ad10f734aaf5d31ca5acdfb197a6ecda64d93fcdb8885af913" +checksum = "97e1a364048067bfcd24e6f1a93bba43eeb79c16b854596c841c3e8bab0bfa0c" dependencies = [ "crate-git-revision", "data-encoding", @@ -181,13 +157,10 @@ name = "stellarlib" version = "0.1.0" dependencies = [ "base64", - "chrono", "csv", "escape-bytes", "ethnum", "hex", - "serde", - "serde_json", "stellar-strkey", ] diff --git a/stellarlib/Cargo.toml b/stellarlib/Cargo.toml index a2506df92..8b996394a 100644 --- a/stellarlib/Cargo.toml +++ b/stellarlib/Cargo.toml @@ -9,11 +9,6 @@ ethnum = { version = "1.5.0" } escape-bytes = { version = "0.1.1", default-features = false, features = [ "alloc", ] } -serde = { version = "1.0.225", default-features = false, features = ["alloc"] } -serde_json = { version = "1.0.149", default-features = false, features = [ - "alloc", -] } -chrono = { version = "0.4.43", default-features = false, features = ["alloc"] } hex = { version = "0.4.3", default-features = false, features = ["alloc"] } [dev-dependencies] diff --git a/stellarlib/src/display.rs b/stellarlib/src/display.rs index 074e4167e..b56b108b6 100644 --- a/stellarlib/src/display.rs +++ b/stellarlib/src/display.rs @@ -8,7 +8,6 @@ use crate::parser::{ UInt128Parts, UInt256Parts, Uint256, }; use alloc::string::ToString; -use chrono::DateTime; use core::fmt; use alloc::format; @@ -313,21 +312,22 @@ impl<'a, const MAX: usize> fmt::Display for StringM<'a, MAX> { /// Formats a numeric value as a decimal string with the specified number of decimal places /// +/// Takes a concrete `i128` (every amount type in the app — u32, i64, u64, +/// i128 — converts losslessly) instead of a generic so the decimal/comma +/// logic is monomorphized exactly once in the size-constrained binary. +/// /// # Arguments -/// * `num` - The numeric value to format (u64, u32, i32, i64) +/// * `num` - The numeric value to format /// * `decimal_places` - Number of decimal places to show /// /// # Examples /// ```ignore /// use stellarlib::display::format_decimal; /// -/// assert_eq!(format_decimal(1234567u64, 7), "0.1234567"); -/// assert_eq!(format_decimal(10000000u64, 7), "1.0000000"); +/// assert_eq!(format_decimal(1234567, 7), "0.1234567"); +/// assert_eq!(format_decimal(10000000, 7), "1.0000000"); /// ``` -pub fn format_decimal(num: T, decimal_places: u32) -> alloc::string::String -where - T: ToString + Copy, -{ +pub fn format_decimal(num: i128, decimal_places: u32) -> alloc::string::String { let num_str = num.to_string(); if decimal_places == 0 { @@ -482,19 +482,66 @@ pub fn format_number_with_commas(decimal_str: &str) -> alloc::string::String { /// assert_eq!(format_unix_timestamp(1703335871), "2023-12-23 12:51:11 UTC"); /// ``` pub fn format_unix_timestamp(timestamp: u64) -> alloc::string::String { - // Check if timestamp exceeds i64::MAX to avoid overflow - if timestamp > i64::MAX as u64 { - // Fallback to timestamp string if too large + // Constants for time calculations + const SECS_PER_MIN: u64 = 60; + const SECS_PER_HOUR: u64 = 3600; + const SECS_PER_DAY: u64 = 86400; + + // Days in each month (non-leap year) + const DAYS_IN_MONTH: [u64; 12] = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; + + // Check for unreasonable timestamps (beyond year 9999) + // Year 9999 is approximately timestamp 253402300799 + if timestamp > 253402300799 { return timestamp.to_string(); } - // Convert to DateTime - if let Some(datetime) = DateTime::from_timestamp(timestamp as i64, 0) { - datetime.to_string() - } else { - // Fallback to timestamp string if conversion fails - timestamp.to_string() + // Calculate time components + let secs = timestamp % SECS_PER_MIN; + let mins = (timestamp / SECS_PER_MIN) % 60; + let hours = (timestamp / SECS_PER_HOUR) % 24; + + // Calculate days since Unix epoch (1970-01-01) + let mut days = timestamp / SECS_PER_DAY; + + // Calculate year + let mut year: u64 = 1970; + loop { + let days_in_year = if is_leap_year(year) { 366 } else { 365 }; + if days < days_in_year { + break; + } + days -= days_in_year; + year += 1; } + + // Calculate month and day + let is_leap = is_leap_year(year); + let mut month: u64 = 1; + for (i, &days_in_month) in DAYS_IN_MONTH.iter().enumerate() { + let dim = if i == 1 && is_leap { + days_in_month + 1 + } else { + days_in_month + }; + if days < dim { + break; + } + days -= dim; + month += 1; + } + let day = days + 1; + + format!( + "{:04}-{:02}-{:02} {:02}:{:02}:{:02} UTC", + year, month, day, hours, mins, secs + ) +} + +/// Check if a year is a leap year +#[inline] +fn is_leap_year(year: u64) -> bool { + (year.is_multiple_of(4) && !year.is_multiple_of(100)) || year.is_multiple_of(400) } /// Formats a duration in seconds to a human-readable string @@ -555,14 +602,11 @@ pub fn format_duration(seconds: u64) -> alloc::string::String { /// /// # Examples /// ```ignore -/// assert_eq!(format_native_amount(10000000u64), "1"); -/// assert_eq!(format_native_amount(12345678u64), "1.2345678"); -/// assert_eq!(format_native_amount(1234567890u64), "123.456789"); +/// assert_eq!(format_native_amount(10000000), "1"); +/// assert_eq!(format_native_amount(12345678), "1.2345678"); +/// assert_eq!(format_native_amount(1234567890), "123.456789"); /// ``` -pub fn format_native_amount(stroops: T) -> String -where - T: ToString + Copy, -{ +pub fn format_native_amount(stroops: i128) -> String { format_token_amount(stroops, STELLAR_NATIVE_DECIMAL_PLACES) } @@ -577,14 +621,11 @@ where /// /// # Examples /// ```ignore -/// assert_eq!(format_token_amount(10000000u64, 7), "1"); -/// assert_eq!(format_token_amount(12345678u64, 7), "1.2345678"); -/// assert_eq!(format_token_amount(1234567890u64, 7), "123.456789"); +/// assert_eq!(format_token_amount(10000000, 7), "1"); +/// assert_eq!(format_token_amount(12345678, 7), "1.2345678"); +/// assert_eq!(format_token_amount(1234567890, 7), "123.456789"); /// ``` -pub fn format_token_amount(amount: T, decimals: u32) -> String -where - T: ToString + Copy, -{ +pub fn format_token_amount(amount: i128, decimals: u32) -> String { let decimal_str = format_decimal(amount, decimals); format_number_with_commas(&decimal_str) } diff --git a/stellarlib/src/formatter.rs b/stellarlib/src/formatter.rs index 7788e6d61..4b89e9303 100644 --- a/stellarlib/src/formatter.rs +++ b/stellarlib/src/formatter.rs @@ -10,7 +10,7 @@ use crate::display::{ format_unix_timestamp, STELLAR_NATIVE_DECIMAL_PLACES, }; use crate::parser::*; -use crate::serialize::scval_to_key_string; +use crate::serialize::{scval_to_key_string, ToJson}; use alloc::format; use alloc::string::{String, ToString}; use alloc::vec; @@ -19,8 +19,26 @@ use alloc::vec::Vec; /// Number of stroops per XLM (10^7) const STROOPS_PER_XLM: u64 = 10_000_000; -/// Liquidity pool fees are expressed in basis points (1/100 of a percent) -const BASIS_POINTS_TO_PERCENT: f64 = 100.0; +/// Formats a fee expressed in basis points (1/100 of a percent) as a percent +/// string, e.g. `30` -> `"0.3%"`, `125` -> `"1.25%"`. +/// +/// Integer-only on purpose: this used to be the sole `f64` in the app, and the +/// division pulled soft-float and float-formatting machinery into the binary. +/// The output matches `format!("{}%", fee as f64 / 100.0)` for every `i32` +/// (trailing zeros trimmed, no fraction when it is zero). +fn format_basis_points_as_percent(fee: i32) -> String { + let sign = if fee < 0 { "-" } else { "" }; + let abs = fee.unsigned_abs(); + let whole = abs / 100; + let frac = abs % 100; + if frac == 0 { + format!("{}{}%", sign, whole) + } else if frac.is_multiple_of(10) { + format!("{}{}.{}%", sign, whole, frac / 10) + } else { + format!("{}{}.{:02}%", sign, whole, frac) + } +} /// Represents a formatted data entry with a title and content #[derive(Debug, Clone, PartialEq, Eq)] @@ -58,8 +76,8 @@ pub struct FormatConfig { pub show_sequence_and_nonce: bool, /// Whether to show transaction preconditions pub show_preconditions: bool, - /// Whether to show nested Soroban authorization details - pub show_nested_authorization: bool, + /// Whether to show authorization details (authorized invocation trees) + pub show_authorization_details: bool, /// Whether to show transaction source when it matches the signer address pub show_tx_source_if_matches_signer: bool, } @@ -69,7 +87,7 @@ impl Default for FormatConfig { Self { show_sequence_and_nonce: true, show_preconditions: true, - show_nested_authorization: true, + show_authorization_details: true, show_tx_source_if_matches_signer: false, } } @@ -121,7 +139,7 @@ pub fn format_transaction_signature_payload( entries.push(DataEntry::new("Fee Source", tx.fee_source.to_string())); entries.push(DataEntry::new( "Max Fee", - format!("{} XLM", format_native_amount(tx.fee)), + format!("{} XLM", format_native_amount(tx.fee.into())), )); entries.push(DataEntry::new( "Inner Tx", @@ -216,7 +234,7 @@ fn format_price(price: &Price) -> Result { let result = scaled_numerator / denominator_u64; - let decimal_str = format_decimal(result, STELLAR_NATIVE_DECIMAL_PLACES); + let decimal_str = format_decimal(result.into(), STELLAR_NATIVE_DECIMAL_PLACES); let formatted = format_number_with_commas(&decimal_str); Ok(formatted) @@ -274,7 +292,7 @@ fn format_transaction( entries.push(DataEntry::new( "Max Fee", - format!("{} XLM", format_native_amount(transaction.fee)), + format!("{} XLM", format_native_amount(transaction.fee.into())), )); if config.show_sequence_and_nonce { @@ -624,11 +642,12 @@ fn add_network_info_if_needed(entries: &mut Vec, network_id: &Hash) { /// let asset = Asset::Native; /// assert_eq!(format_amount_with_asset(10000000u64, &asset), "1 XLM"); /// ``` -fn format_amount_with_asset(amount: T, asset: &Asset) -> String -where - T: ToString + Copy, -{ - format!("{} {}", format_native_amount(amount), format_asset(asset)) +fn format_amount_with_asset(amount: i64, asset: &Asset) -> String { + format!( + "{} {}", + format_native_amount(amount.into()), + format_asset(asset) + ) } /// Formats an issuer address by showing first 3 and last 4 characters @@ -731,7 +750,7 @@ fn format_create_account_op(op: &CreateAccountOp) -> Vec { entries.push(DataEntry::new( "Send", - format!("{} XLM", format_native_amount(op.starting_balance)), + format!("{} XLM", format_native_amount(op.starting_balance.into())), )); entries.push(DataEntry::new("To", op.destination.to_string())); @@ -940,10 +959,8 @@ fn format_change_trust_op(op: &ChangeTrustOp) -> Vec { )); entries.push(DataEntry::new( "Pool Fee Rate", - format!( - "{}%", - liquidity_pool_constant_product_parameters.fee as f64 - / BASIS_POINTS_TO_PERCENT + format_basis_points_as_percent( + liquidity_pool_constant_product_parameters.fee, ), )); } @@ -957,7 +974,7 @@ fn format_change_trust_op(op: &ChangeTrustOp) -> Vec { } else { entries.push(DataEntry::new( "Trust Limit", - format_native_amount(op.limit), + format_native_amount(op.limit.into()), )); } } @@ -1082,8 +1099,7 @@ fn format_create_claimable_balance_op(op: &CreateClaimableBalanceOp) -> Vec Vec Vec { /// /// # Arguments /// * `invocation` - The Soroban authorized invocation to format -/// * `parent_index` - Optional parent index for nested invocations (e.g., "1.2") +/// * `parent_index` - Optional parent index for nested invocations (e.g., "1-2") /// /// # Returns /// A vector of data entries containing the invocation details and any sub-invocations @@ -1330,7 +1346,7 @@ fn format_invoke_contract_args(args: &InvokeContractArgs) -> Vec { /// let entries = format_soroban_authorized_invocation(&invocation, None); /// /// // Nested invocation with parent index -/// let entries = format_soroban_authorized_invocation(&invocation, Some("1.2")); +/// let entries = format_soroban_authorized_invocation(&invocation, Some("1-2")); /// ``` fn format_soroban_authorized_invocation( invocation: &SorobanAuthorizedInvocation, @@ -1350,14 +1366,14 @@ fn format_soroban_authorized_invocation( } } - if config.show_nested_authorization { + if config.show_authorization_details { for (i, sub_invocation) in invocation.sub_invocations.iter().enumerate() { let nested_index = match parent_index { None => (i + 1).to_string(), Some(parent) => format!("{}-{}", parent, i + 1), }; - entries.push(DataEntry::new("Nested Authorization", nested_index.clone())); + entries.push(DataEntry::new("Authorization", nested_index.clone())); entries.extend(format_soroban_authorized_invocation( sub_invocation, Some(&nested_index), @@ -1392,22 +1408,23 @@ fn format_invoke_host_function_op( } } - if config.show_nested_authorization { + // Signing the transaction implicitly authorizes every authorization entry with + // source-account credentials, and an entry's root invocation is independent of + // the invoked host function (it may authorize a completely different call), so + // each tree must be shown from its root. An operation can also carry several + // such entries; number them so the user can tell the trees apart. + if config.show_authorization_details { let mut auth_index = 1; for auth in op.auth.iter() { match &auth.credentials { SorobanCredentials::SourceAccount => { - for (j, sub_invocation) in - auth.root_invocation.sub_invocations.iter().enumerate() - { - let index = format!("{}-{}", auth_index, j + 1); - entries.push(DataEntry::new("Nested Authorization", index.clone())); - entries.extend(format_soroban_authorized_invocation( - sub_invocation, - Some(&index), - config, - )); - } + let index = auth_index.to_string(); + entries.push(DataEntry::new("Authorization", index.clone())); + entries.extend(format_soroban_authorized_invocation( + &auth.root_invocation, + Some(&index), + config, + )); auth_index += 1; } SorobanCredentials::Address(_) => { @@ -1434,3 +1451,33 @@ fn format_restore_footprint_op(_op: &RestoreFootprintOp) -> Vec { "Restore Footprint".to_string(), )] } + +#[cfg(test)] +mod tests { + use super::format_basis_points_as_percent; + use alloc::format; + + #[test] + fn test_format_basis_points_as_percent() { + assert_eq!(format_basis_points_as_percent(0), "0%"); + assert_eq!(format_basis_points_as_percent(30), "0.3%"); + assert_eq!(format_basis_points_as_percent(100), "1%"); + assert_eq!(format_basis_points_as_percent(125), "1.25%"); + assert_eq!(format_basis_points_as_percent(5), "0.05%"); + assert_eq!(format_basis_points_as_percent(-30), "-0.3%"); + } + + /// The integer formatter must reproduce the old `f64` output exactly. + #[test] + fn test_matches_f64_display() { + let edge_cases = [i32::MIN, i32::MIN + 1, i32::MAX, i32::MAX - 1]; + for fee in (-1_000_000..=1_000_000).chain(edge_cases) { + assert_eq!( + format_basis_points_as_percent(fee), + format!("{}%", fee as f64 / 100.0), + "mismatch for fee={}", + fee + ); + } + } +} diff --git a/stellarlib/src/parser.rs b/stellarlib/src/parser.rs index 3be72e09c..68ec4af34 100644 --- a/stellarlib/src/parser.rs +++ b/stellarlib/src/parser.rs @@ -107,6 +107,12 @@ impl<'a> Parser<'a> { self.offset.saturating_add(n) <= self.data.len() } + /// Number of bytes left to read + #[inline] + fn remaining(&self) -> usize { + self.data.len().saturating_sub(self.offset) + } + /// Read raw bytes without copying (zero-copy) fn read_bytes(&mut self, size: usize) -> Result<&'a [u8], ParseError> { if !self.can_read(size) { @@ -401,7 +407,12 @@ impl<'a, T: XdrParse<'a>, const MAX: u32> XdrParse<'a> for VecM { // Enter recursion context for VecM parsing parser.enter_recursion()?; - let mut items = Vec::with_capacity(len as usize); + // `len` is attacker-controlled and unbounded for types using the default + // MAX (u32::MAX), so pre-allocating from it directly can abort the app + // inside the allocator. Every XDR element occupies at least 4 bytes, so + // the remaining input bounds how many elements can actually follow. + let capacity = (len as usize).min(parser.remaining() / 4); + let mut items = Vec::with_capacity(capacity); for _ in 0..len { let item = T::parse(parser)?; items.push(item); @@ -931,6 +942,14 @@ impl<'a> XdrParse<'a> for EnvelopeType { } } +/// Maximum number of operations accepted in a single transaction. +/// +/// This is the Stellar protocol limit (`MAX_OPS_PER_TX`), so rejecting beyond +/// it can never refuse a transaction the network would accept. It bounds the +/// per-operation display entries generated on the device from an otherwise +/// attacker-controlled `u32` count. +pub const MAX_OPS: u32 = 100; + #[derive(Debug, Clone, PartialEq, Eq)] pub struct Transaction<'a> { pub source_account: MuxedAccount<'a>, @@ -949,6 +968,12 @@ impl<'a> XdrParse<'a> for Transaction<'a> { let cond = Preconditions::parse(parser)?; let memo = Memo::parse(parser)?; let op_count = parser.parse_uint32()?; + if op_count > MAX_OPS { + return Err(ParseError::LengthExceedsMax { + actual: op_count as usize, + max: MAX_OPS as usize, + }); + } Ok(Transaction { source_account, diff --git a/stellarlib/src/serialize.rs b/stellarlib/src/serialize.rs index 5ba659374..74e0167a6 100644 --- a/stellarlib/src/serialize.rs +++ b/stellarlib/src/serialize.rs @@ -1,4 +1,6 @@ -//! Serde serialization support for Stellar XDR types +//! Manual JSON serialization for Stellar XDR types +//! +//! This module provides lightweight JSON serialization without serde_json dependency. extern crate alloc; @@ -9,15 +11,37 @@ use crate::{ parser::{ClaimPredicate, Claimant, ClaimantV0, SCError, SCErrorCode, ScVal}, }; use alloc::format; -use alloc::string::ToString; +use alloc::string::{String, ToString}; use alloc::vec::Vec; -use serde::ser::{Serialize, SerializeMap, SerializeSeq, Serializer}; -impl Serialize for SCErrorCode { - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { +/// Trait for types that can be serialized to JSON string +pub trait ToJson { + fn to_json(&self) -> String; +} + +/// Escape a string for JSON output +fn escape_json_string(s: &str) -> String { + let mut result = String::with_capacity(s.len() + 2); + result.push('"'); + for c in s.chars() { + match c { + '"' => result.push_str("\\\""), + '\\' => result.push_str("\\\\"), + '\n' => result.push_str("\\n"), + '\r' => result.push_str("\\r"), + '\t' => result.push_str("\\t"), + c if c.is_control() => { + result.push_str(&format!("\\u{:04x}", c as u32)); + } + c => result.push(c), + } + } + result.push('"'); + result +} + +impl ToJson for SCErrorCode { + fn to_json(&self) -> String { let code_str = match self { SCErrorCode::ScecArithDomain => "ArithDomain", SCErrorCode::ScecIndexBounds => "IndexBounds", @@ -30,202 +54,160 @@ impl Serialize for SCErrorCode { SCErrorCode::ScecUnexpectedType => "UnexpectedType", SCErrorCode::ScecUnexpectedSize => "UnexpectedSize", }; - serializer.serialize_str(code_str) + escape_json_string(code_str) } } -impl Serialize for SCError { - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - let mut map = serializer.serialize_map(Some(2))?; - - match self { - SCError::SceContract(contract_code) => { - map.serialize_entry("error_type", "Contract")?; - map.serialize_entry("error_value", contract_code)?; - } - SCError::SceWasmVm(code) => { - map.serialize_entry("error_type", "WasmVm")?; - map.serialize_entry("error_value", code)?; - } - SCError::SceContext(code) => { - map.serialize_entry("error_type", "Context")?; - map.serialize_entry("error_value", code)?; - } - SCError::SceStorage(code) => { - map.serialize_entry("error_type", "Storage")?; - map.serialize_entry("error_value", code)?; - } - SCError::SceObject(code) => { - map.serialize_entry("error_type", "Object")?; - map.serialize_entry("error_value", code)?; - } - SCError::SceCrypto(code) => { - map.serialize_entry("error_type", "Crypto")?; - map.serialize_entry("error_value", code)?; - } - SCError::SceEvents(code) => { - map.serialize_entry("error_type", "Events")?; - map.serialize_entry("error_value", code)?; - } - SCError::SceBudget(code) => { - map.serialize_entry("error_type", "Budget")?; - map.serialize_entry("error_value", code)?; - } - SCError::SceValue(code) => { - map.serialize_entry("error_type", "Value")?; - map.serialize_entry("error_value", code)?; - } - SCError::SceAuth(code) => { - map.serialize_entry("error_type", "Auth")?; - map.serialize_entry("error_value", code)?; - } - } +impl ToJson for SCError { + fn to_json(&self) -> String { + let (error_type, error_value) = match self { + SCError::SceContract(code) => ("Contract", code.to_string()), + SCError::SceWasmVm(code) => ("WasmVm", code.to_json()), + SCError::SceContext(code) => ("Context", code.to_json()), + SCError::SceStorage(code) => ("Storage", code.to_json()), + SCError::SceObject(code) => ("Object", code.to_json()), + SCError::SceCrypto(code) => ("Crypto", code.to_json()), + SCError::SceEvents(code) => ("Events", code.to_json()), + SCError::SceBudget(code) => ("Budget", code.to_json()), + SCError::SceValue(code) => ("Value", code.to_json()), + SCError::SceAuth(code) => ("Auth", code.to_json()), + }; - map.end() + format!( + "{{\"error_type\":{},\"error_value\":{}}}", + escape_json_string(error_type), + error_value + ) } } -// Helper to convert ScVal to string representation for use as JSON map keys -// This is needed because JSON only supports string keys, and we want to -// maintain the same formatting as the value serialization -pub fn scval_to_key_string<'a>(val: &ScVal<'a>) -> alloc::string::String { - // For most types, we can use serde_json to get the serialized form - // and then strip the quotes if it's a string - match serde_json::to_value(val) { - Ok(json_val) => match json_val { - serde_json::Value::String(s) => s, - serde_json::Value::Bool(b) => b.to_string(), - serde_json::Value::Null => "[void]".to_string(), - serde_json::Value::Number(_) => { - // Numbers lose formatting in serde_json::Value, so we handle them specially - // This should not happen as our Serialize impl outputs strings for numbers - serde_json::to_string(&json_val) - .unwrap_or_else(|_| "[unserializable data]".to_string()) - } - serde_json::Value::Array(_) | serde_json::Value::Object(_) => { - // Complex types get JSON string representation - serde_json::to_string(&json_val) - .unwrap_or_else(|_| "[unserializable data]".to_string()) - } - }, - Err(e) => format!("[serialization_error: {}]", e), +/// Convert ScVal to string representation for use as JSON map keys +pub fn scval_to_key_string<'a>(val: &ScVal<'a>) -> String { + match val { + ScVal::Bool(b) => b.to_string(), + ScVal::Void => "[void]".to_string(), + ScVal::Error(e) => e.to_json(), + ScVal::U32(v) => format_number_with_commas(&v.to_string()), + ScVal::I32(v) => format_number_with_commas(&v.to_string()), + ScVal::U64(v) => format_number_with_commas(&v.to_string()), + ScVal::I64(v) => format_number_with_commas(&v.to_string()), + ScVal::Timepoint(v) => format_unix_timestamp(*v), + ScVal::Duration(v) => format_duration(*v), + ScVal::U128(v) => format_number_with_commas(&v.to_string()), + ScVal::I128(v) => format_number_with_commas(&v.to_string()), + ScVal::U256(v) => format_number_with_commas(&v.to_string()), + ScVal::I256(v) => format_number_with_commas(&v.to_string()), + ScVal::Bytes(b) => b.to_string(), + ScVal::String(s) => s.to_string(), + ScVal::Symbol(s) => s.to_string(), + ScVal::Vec(_) | ScVal::Map(_) => val.to_json(), + ScVal::Address(addr) => addr.to_string(), + ScVal::ContractInstance(_) => "[ContractInstance]".to_string(), + ScVal::LedgerKeyContractInstance => "[LedgerKeyContractInstance]".to_string(), + ScVal::LedgerKeyNonce(_) => "[LedgerKeyNonce]".to_string(), } } -impl<'a> Serialize for ScVal<'a> { - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { +impl<'a> ToJson for ScVal<'a> { + fn to_json(&self) -> String { match self { - ScVal::Bool(b) => b.serialize(serializer), - ScVal::Void => serializer.serialize_unit(), - ScVal::Error(e) => e.serialize(serializer), - ScVal::U32(v) => format_number_with_commas(&v.to_string()).serialize(serializer), - ScVal::I32(v) => format_number_with_commas(&v.to_string()).serialize(serializer), - ScVal::U64(v) => format_number_with_commas(&v.to_string()).serialize(serializer), - ScVal::I64(v) => format_number_with_commas(&v.to_string()).serialize(serializer), - ScVal::Timepoint(v) => format_unix_timestamp(*v).serialize(serializer), - ScVal::Duration(v) => format_duration(*v).serialize(serializer), - ScVal::U128(v) => format_number_with_commas(&v.to_string()).serialize(serializer), - ScVal::I128(v) => format_number_with_commas(&v.to_string()).serialize(serializer), - ScVal::U256(v) => format_number_with_commas(&v.to_string()).serialize(serializer), - ScVal::I256(v) => format_number_with_commas(&v.to_string()).serialize(serializer), - ScVal::Bytes(b) => b.to_string().serialize(serializer), - ScVal::String(s) => s.to_string().serialize(serializer), - ScVal::Symbol(s) => s.to_string().serialize(serializer), + ScVal::Bool(b) => { + if *b { + "true".to_string() + } else { + "false".to_string() + } + } + ScVal::Void => "null".to_string(), + ScVal::Error(e) => e.to_json(), + ScVal::U32(v) => escape_json_string(&format_number_with_commas(&v.to_string())), + ScVal::I32(v) => escape_json_string(&format_number_with_commas(&v.to_string())), + ScVal::U64(v) => escape_json_string(&format_number_with_commas(&v.to_string())), + ScVal::I64(v) => escape_json_string(&format_number_with_commas(&v.to_string())), + ScVal::Timepoint(v) => escape_json_string(&format_unix_timestamp(*v)), + ScVal::Duration(v) => escape_json_string(&format_duration(*v)), + ScVal::U128(v) => escape_json_string(&format_number_with_commas(&v.to_string())), + ScVal::I128(v) => escape_json_string(&format_number_with_commas(&v.to_string())), + ScVal::U256(v) => escape_json_string(&format_number_with_commas(&v.to_string())), + ScVal::I256(v) => escape_json_string(&format_number_with_commas(&v.to_string())), + ScVal::Bytes(b) => escape_json_string(&b.to_string()), + ScVal::String(s) => escape_json_string(&s.to_string()), + ScVal::Symbol(s) => escape_json_string(&s.to_string()), ScVal::Vec(opt_vec) => match opt_vec { Some(vec) => { - let mut seq = serializer.serialize_seq(Some(vec.len()))?; - for item in vec.iter() { - seq.serialize_element(item)?; - } - seq.end() + let items: Vec = vec.iter().map(|item| item.to_json()).collect(); + format!("[{}]", items.join(",")) } - None => serializer.serialize_none(), + None => "null".to_string(), }, ScVal::Map(opt_map) => match opt_map { Some(map) => { - let mut map_ser = serializer.serialize_map(Some(map.len()))?; - for entry in map.iter() { - // Convert key to string for JSON compatibility - let key_str = scval_to_key_string(&entry.key); - map_ser.serialize_entry(&key_str, &entry.val)?; - } - map_ser.end() + let entries: Vec = map + .iter() + .map(|entry| { + let key_str = scval_to_key_string(&entry.key); + format!("{}:{}", escape_json_string(&key_str), entry.val.to_json()) + }) + .collect(); + format!("{{{}}}", entries.join(",")) } - None => serializer.serialize_none(), + None => "null".to_string(), }, - ScVal::Address(addr) => addr.to_string().serialize(serializer), - // The following types are actually not used - ScVal::ContractInstance(_) => "[ContractInstance]".serialize(serializer), - ScVal::LedgerKeyContractInstance => "[LedgerKeyContractInstance]".serialize(serializer), - ScVal::LedgerKeyNonce(_) => "[LedgerKeyNonce]".serialize(serializer), + ScVal::Address(addr) => escape_json_string(&addr.to_string()), + ScVal::ContractInstance(_) => escape_json_string("[ContractInstance]"), + ScVal::LedgerKeyContractInstance => escape_json_string("[LedgerKeyContractInstance]"), + ScVal::LedgerKeyNonce(_) => escape_json_string("[LedgerKeyNonce]"), } } } -impl Serialize for ClaimPredicate { - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { +impl ToJson for ClaimPredicate { + fn to_json(&self) -> String { match self { - ClaimPredicate::Unconditional => serializer.serialize_str("unconditional"), + ClaimPredicate::Unconditional => escape_json_string("unconditional"), ClaimPredicate::And(predicates) => { - let mut map = serializer.serialize_map(Some(1))?; - let vec: Vec<&ClaimPredicate> = predicates.as_slice().iter().collect(); - map.serialize_entry("and", &vec)?; - map.end() + let items: Vec = + predicates.as_slice().iter().map(|p| p.to_json()).collect(); + format!("{{\"and\":[{}]}}", items.join(",")) } ClaimPredicate::Or(predicates) => { - let mut map = serializer.serialize_map(Some(1))?; - // Serialize the inner predicates as an array - let vec: Vec<&ClaimPredicate> = predicates.as_slice().iter().collect(); - map.serialize_entry("or", &vec)?; - map.end() + let items: Vec = + predicates.as_slice().iter().map(|p| p.to_json()).collect(); + format!("{{\"or\":[{}]}}", items.join(",")) } ClaimPredicate::Not(predicate) => { - let mut map = serializer.serialize_map(Some(1))?; - map.serialize_entry("not", predicate.as_ref())?; - map.end() + format!("{{\"not\":{}}}", predicate.to_json()) } ClaimPredicate::BeforeAbsoluteTime(timestamp) => { - let mut map = serializer.serialize_map(Some(1))?; - map.serialize_entry("before_absolute_time", ×tamp.to_string())?; - map.end() + format!( + "{{\"before_absolute_time\":{}}}", + escape_json_string(×tamp.to_string()) + ) } ClaimPredicate::BeforeRelativeTime(seconds) => { - let mut map = serializer.serialize_map(Some(1))?; - map.serialize_entry("before_relative_time", &seconds.to_string())?; - map.end() + format!( + "{{\"before_relative_time\":{}}}", + escape_json_string(&seconds.to_string()) + ) } } } } -impl<'a> Serialize for ClaimantV0<'a> { - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - let mut map = serializer.serialize_map(Some(2))?; - map.serialize_entry("destination", &self.destination.to_string())?; - map.serialize_entry("predicate", &self.predicate)?; - map.end() +impl<'a> ToJson for ClaimantV0<'a> { + fn to_json(&self) -> String { + format!( + "{{\"destination\":{},\"predicate\":{}}}", + escape_json_string(&self.destination.to_string()), + self.predicate.to_json() + ) } } -impl<'a> Serialize for Claimant<'a> { - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { +impl<'a> ToJson for Claimant<'a> { + fn to_json(&self) -> String { match self { - Claimant::V0(claimant_v0) => claimant_v0.serialize(serializer), + Claimant::V0(claimant_v0) => claimant_v0.to_json(), } } } diff --git a/stellarlib/tests/alloc_limit_test.rs b/stellarlib/tests/alloc_limit_test.rs new file mode 100644 index 000000000..1cc4c3717 --- /dev/null +++ b/stellarlib/tests/alloc_limit_test.rs @@ -0,0 +1,90 @@ +use stellarlib::parser::{ParseError, Parser, ScVal, Transaction, XdrParse, MAX_OPS}; + +// Regression tests for the VecM eager-allocation DoS: a huge length prefix on a +// vector type must fail with BufferOverflow once the input runs out, instead of +// pre-allocating `len` elements (which aborts the app on the 16 KB device heap). + +#[test] +fn test_vecm_huge_length_prefix_no_data() { + // ScVal::Vec whose VecM length prefix claims u32::MAX elements, with no + // element data behind it. + let mut data = Vec::new(); + data.extend_from_slice(&[0, 0, 0, 16]); // ScValType::ScvVec + data.extend_from_slice(&[0, 0, 0, 1]); // Optional: present + data.extend_from_slice(&[0xFF, 0xFF, 0xFF, 0xFF]); // VecM length: 4294967295 + + let mut parser = Parser::new(&data); + let result = ScVal::parse(&mut parser); + + assert!(matches!(result, Err(ParseError::BufferOverflow))); +} + +#[test] +fn test_vecm_length_prefix_exceeds_remaining_data() { + // Length prefix claims more elements than the remaining bytes can hold; + // parsing must stop cleanly when the real data runs out. + let mut data = Vec::new(); + data.extend_from_slice(&[0, 0, 0, 16]); // ScValType::ScvVec + data.extend_from_slice(&[0, 0, 0, 1]); // Optional: present + data.extend_from_slice(&[0, 0, 4, 0]); // VecM length: 1024 + for _ in 0..3 { + data.extend_from_slice(&[0, 0, 0, 1]); // ScValType::ScvVoid + } + + let mut parser = Parser::new(&data); + let result = ScVal::parse(&mut parser); + + assert!(matches!(result, Err(ParseError::BufferOverflow))); +} + +#[test] +fn test_vecm_valid_vector_still_parses() { + // Positive control: a well-formed two-element vector is unaffected. + let mut data = Vec::new(); + data.extend_from_slice(&[0, 0, 0, 16]); // ScValType::ScvVec + data.extend_from_slice(&[0, 0, 0, 1]); // Optional: present + data.extend_from_slice(&[0, 0, 0, 2]); // VecM length: 2 + data.extend_from_slice(&[0, 0, 0, 1]); // ScValType::ScvVoid + data.extend_from_slice(&[0, 0, 0, 1]); // ScValType::ScvVoid + + let mut parser = Parser::new(&data); + let result = ScVal::parse(&mut parser); + + assert!(result.is_ok()); +} + +fn minimal_tx_bytes(op_count: u32) -> Vec { + let mut data = Vec::new(); + data.extend_from_slice(&[0, 0, 0, 0]); // CryptoKeyType::KeyTypeEd25519 + data.extend_from_slice(&[0u8; 32]); // source account ed25519 key + data.extend_from_slice(&[0, 0, 0, 100]); // fee + data.extend_from_slice(&[0u8; 8]); // seq_num + data.extend_from_slice(&[0, 0, 0, 0]); // Preconditions::None + data.extend_from_slice(&[0, 0, 0, 0]); // Memo::None + data.extend_from_slice(&op_count.to_be_bytes()); + data +} + +#[test] +fn test_transaction_op_count_above_max_rejected() { + // Each operation is formatted into several heap strings, so an unbounded + // attacker-controlled count could exhaust the device heap. MAX_OPS is the + // Stellar protocol limit, so no network-valid transaction is refused. + for op_count in [MAX_OPS + 1, u32::MAX] { + let data = minimal_tx_bytes(op_count); + let mut parser = Parser::new(&data); + let result = Transaction::parse(&mut parser); + assert!(matches!( + result, + Err(ParseError::LengthExceedsMax { max: 100, .. }) + )); + } +} + +#[test] +fn test_transaction_op_count_at_max_accepted() { + let data = minimal_tx_bytes(MAX_OPS); + let mut parser = Parser::new(&data); + let result = Transaction::parse(&mut parser); + assert_eq!(result.unwrap().op_count, MAX_OPS); +} diff --git a/stellarlib/tests/depth_limit_test.rs b/stellarlib/tests/depth_limit_test.rs index b0e82e692..63ed893a8 100644 --- a/stellarlib/tests/depth_limit_test.rs +++ b/stellarlib/tests/depth_limit_test.rs @@ -12,7 +12,7 @@ fn test_depth_limit_scval_vec() { // Each level: type (4 bytes) + optional flag (4 bytes) + array length (4 bytes) for _ in 0..35 { // Try to exceed MAX_PARSE_DEPTH (32) - data.extend_from_slice(&[0, 0, 0, 17]); // ScValType::ScvVec + data.extend_from_slice(&[0, 0, 0, 16]); // ScValType::ScvVec data.extend_from_slice(&[0, 0, 0, 1]); // Optional: present data.extend_from_slice(&[0, 0, 0, 1]); // Array length: 1 } diff --git a/stellarlib/tests/display_test.rs b/stellarlib/tests/display_test.rs index f9a7dac64..d5907f33d 100644 --- a/stellarlib/tests/display_test.rs +++ b/stellarlib/tests/display_test.rs @@ -5,36 +5,12 @@ use stellarlib::display::{ #[test] fn test_format_decimal() { - assert_eq!(format_decimal(1234567u64, 7), "0.1234567"); - assert_eq!(format_decimal(10000000u64, 7), "1.0000000"); - assert_eq!(format_decimal(123u64, 0), "123"); - assert_eq!(format_decimal(12345u64, 2), "123.45"); - assert_eq!(format_decimal(42u64, 2), "0.42"); - assert_eq!(format_decimal(-1234i64, 2), "-12.34"); - - // u128 extreme values - assert_eq!( - format_decimal(u128::MAX, 0), - "340282366920938463463374607431768211455" - ); - assert_eq!( - format_decimal(u128::MAX, 10), - "34028236692093846346337460743.1768211455" - ); - assert_eq!( - format_decimal(u128::MAX, 38), - "3.40282366920938463463374607431768211455" - ); - assert_eq!( - format_decimal(u128::MAX, 39), - "0.340282366920938463463374607431768211455" - ); - assert_eq!( - format_decimal(u128::MAX, 50), - "0.00000000000340282366920938463463374607431768211455" - ); - assert_eq!(format_decimal(u128::MIN, 0), "0"); - assert_eq!(format_decimal(u128::MIN, 5), "0.00000"); + assert_eq!(format_decimal(1234567, 7), "0.1234567"); + assert_eq!(format_decimal(10000000, 7), "1.0000000"); + assert_eq!(format_decimal(123, 0), "123"); + assert_eq!(format_decimal(12345, 2), "123.45"); + assert_eq!(format_decimal(42, 2), "0.42"); + assert_eq!(format_decimal(-1234, 2), "-12.34"); // i128 extreme values assert_eq!( @@ -72,20 +48,17 @@ fn test_format_decimal() { // Edge cases with large decimal places assert_eq!( - format_decimal(1u128, 40), + format_decimal(1, 40), "0.0000000000000000000000000000000000000001" ); assert_eq!( - format_decimal(-1i128, 40), + format_decimal(-1, 40), "-0.0000000000000000000000000000000000000001" ); // decimal places larger than typical integer sizes - assert_eq!(format_decimal(1u8, 30), "0.000000000000000000000000000001"); - assert_eq!( - format_decimal(-1i8, 30), - "-0.000000000000000000000000000001" - ); + assert_eq!(format_decimal(1, 30), "0.000000000000000000000000000001"); + assert_eq!(format_decimal(-1, 30), "-0.000000000000000000000000000001"); } #[test] @@ -124,6 +97,42 @@ fn test_format_unix_timestamp() { ); } +// Boundary cases around leap rules and the year-9999 cutoff. Expected values +// computed with Python's `datetime` (UTC), the same reference the algorithm +// was originally fuzz-verified against. +#[test] +fn test_format_unix_timestamp_leap_boundaries() { + // Leap day itself, and the transitions around it in a leap year + assert_eq!(format_unix_timestamp(1709210096), "2024-02-29 12:34:56 UTC"); + assert_eq!(format_unix_timestamp(1709164799), "2024-02-28 23:59:59 UTC"); + assert_eq!(format_unix_timestamp(1709251200), "2024-03-01 00:00:00 UTC"); + + // Feb 28 -> Mar 1 in a non-leap year (no Feb 29 in between) + assert_eq!(format_unix_timestamp(1677628799), "2023-02-28 23:59:59 UTC"); + assert_eq!(format_unix_timestamp(1677628800), "2023-03-01 00:00:00 UTC"); + + // Day 366 of a leap year, and the first second of the following year + assert_eq!(format_unix_timestamp(1735689599), "2024-12-31 23:59:59 UTC"); + assert_eq!(format_unix_timestamp(1735689600), "2025-01-01 00:00:00 UTC"); + + // Gregorian century rule: 2000 is a leap year (divisible by 400), + // 2100 is not (divisible by 100 but not 400) + assert_eq!(format_unix_timestamp(951782400), "2000-02-29 00:00:00 UTC"); + assert_eq!(format_unix_timestamp(4107542399), "2100-02-28 23:59:59 UTC"); + assert_eq!(format_unix_timestamp(4107542400), "2100-03-01 00:00:00 UTC"); +} + +#[test] +fn test_format_unix_timestamp_year_9999_cutoff() { + // Last representable second is formatted; one past it falls back to the + // raw number + assert_eq!( + format_unix_timestamp(253402300799), + "9999-12-31 23:59:59 UTC" + ); + assert_eq!(format_unix_timestamp(253402300800), "253402300800"); +} + #[test] fn test_format_duration() { // Basic cases @@ -152,85 +161,82 @@ fn test_format_duration() { #[test] fn test_format_native_amount() { // Test standard native XLM amounts (7 decimal places) - assert_eq!(format_native_amount(10_000_000u64), "1"); - assert_eq!(format_native_amount(12_345_678u64), "1.2345678"); - assert_eq!(format_native_amount(123_456_789u64), "12.3456789"); - assert_eq!(format_native_amount(1_234_567_890u64), "123.456789"); + assert_eq!(format_native_amount(10_000_000), "1"); + assert_eq!(format_native_amount(12_345_678), "1.2345678"); + assert_eq!(format_native_amount(123_456_789), "12.3456789"); + assert_eq!(format_native_amount(1_234_567_890), "123.456789"); // Test with commas in large numbers - assert_eq!(format_native_amount(10_000_000_000_000u64), "1,000,000"); + assert_eq!(format_native_amount(10_000_000_000_000), "1,000,000"); assert_eq!( - format_native_amount(123_456_789_012_345u64), + format_native_amount(123_456_789_012_345), "12,345,678.9012345" ); // Test small amounts - assert_eq!(format_native_amount(1_000_000u64), "0.1"); - assert_eq!(format_native_amount(100_000u64), "0.01"); - assert_eq!(format_native_amount(10_000u64), "0.001"); - assert_eq!(format_native_amount(1_000u64), "0.0001"); - assert_eq!(format_native_amount(100u64), "0.00001"); - assert_eq!(format_native_amount(10u64), "0.000001"); - assert_eq!(format_native_amount(1u64), "0.0000001"); + assert_eq!(format_native_amount(1_000_000), "0.1"); + assert_eq!(format_native_amount(100_000), "0.01"); + assert_eq!(format_native_amount(10_000), "0.001"); + assert_eq!(format_native_amount(1_000), "0.0001"); + assert_eq!(format_native_amount(100), "0.00001"); + assert_eq!(format_native_amount(10), "0.000001"); + assert_eq!(format_native_amount(1), "0.0000001"); // Test zero - assert_eq!(format_native_amount(0u64), "0"); + assert_eq!(format_native_amount(0), "0"); // Test negative amounts - assert_eq!(format_native_amount(-10_000_000i64), "-1"); - assert_eq!(format_native_amount(-1_234_567i64), "-0.1234567"); - assert_eq!( - format_native_amount(-123_456_789_000_000i64), - "-12,345,678.9" - ); + assert_eq!(format_native_amount(-10_000_000), "-1"); + assert_eq!(format_native_amount(-1_234_567), "-0.1234567"); + assert_eq!(format_native_amount(-123_456_789_000_000), "-12,345,678.9"); } #[test] fn test_format_token_amount_standard_decimals() { // Standard 7 decimals (most Stellar tokens) - assert_eq!(format_token_amount(10_000_000u64, 7), "1"); - assert_eq!(format_token_amount(1_000_000u64, 7), "0.1"); - assert_eq!(format_token_amount(100_000u64, 7), "0.01"); - assert_eq!(format_token_amount(10_000u64, 7), "0.001"); - assert_eq!(format_token_amount(1_000u64, 7), "0.0001"); - assert_eq!(format_token_amount(100u64, 7), "0.00001"); - assert_eq!(format_token_amount(10u64, 7), "0.000001"); - assert_eq!(format_token_amount(1u64, 7), "0.0000001"); + assert_eq!(format_token_amount(10_000_000, 7), "1"); + assert_eq!(format_token_amount(1_000_000, 7), "0.1"); + assert_eq!(format_token_amount(100_000, 7), "0.01"); + assert_eq!(format_token_amount(10_000, 7), "0.001"); + assert_eq!(format_token_amount(1_000, 7), "0.0001"); + assert_eq!(format_token_amount(100, 7), "0.00001"); + assert_eq!(format_token_amount(10, 7), "0.000001"); + assert_eq!(format_token_amount(1, 7), "0.0000001"); } #[test] fn test_format_token_amount_various_decimals() { // 0 decimals - assert_eq!(format_token_amount(1000u64, 0), "1,000"); + assert_eq!(format_token_amount(1000, 0), "1,000"); // 2 decimals (like traditional currencies) - assert_eq!(format_token_amount(100u64, 2), "1"); - assert_eq!(format_token_amount(1234u64, 2), "12.34"); + assert_eq!(format_token_amount(100, 2), "1"); + assert_eq!(format_token_amount(1234, 2), "12.34"); // 6 decimals - assert_eq!(format_token_amount(1_000_000u64, 6), "1"); - assert_eq!(format_token_amount(123_456u64, 6), "0.123456"); + assert_eq!(format_token_amount(1_000_000, 6), "1"); + assert_eq!(format_token_amount(123_456, 6), "0.123456"); // 18 decimals (Ethereum-style) - assert_eq!(format_token_amount(1_000_000_000_000_000_000u64, 18), "1"); + assert_eq!(format_token_amount(1_000_000_000_000_000_000, 18), "1"); } #[test] fn test_format_token_amount_large_numbers() { // Test with commas in large numbers - assert_eq!(format_token_amount(10_000_000_000_000u64, 7), "1,000,000"); + assert_eq!(format_token_amount(10_000_000_000_000, 7), "1,000,000"); assert_eq!( - format_token_amount(123_456_789_012_345u64, 7), + format_token_amount(123_456_789_012_345, 7), "12,345,678.9012345" ); } #[test] fn test_format_token_amount_negative() { - assert_eq!(format_token_amount(-10_000_000i64, 7), "-1"); - assert_eq!(format_token_amount(-1_234_567i64, 7), "-0.1234567"); + assert_eq!(format_token_amount(-10_000_000, 7), "-1"); + assert_eq!(format_token_amount(-1_234_567, 7), "-0.1234567"); assert_eq!( - format_token_amount(-123_456_789_000_000i64, 7), + format_token_amount(-123_456_789_000_000, 7), "-12,345,678.9" ); } @@ -238,13 +244,13 @@ fn test_format_token_amount_negative() { #[test] fn test_format_token_amount_edge_cases() { // Zero - assert_eq!(format_token_amount(0u64, 7), "0"); - assert_eq!(format_token_amount(0u64, 0), "0"); + assert_eq!(format_token_amount(0, 7), "0"); + assert_eq!(format_token_amount(0, 0), "0"); // Maximum precision - assert_eq!(format_token_amount(12_345_678u64, 7), "1.2345678"); + assert_eq!(format_token_amount(12_345_678, 7), "1.2345678"); // Very small amounts - assert_eq!(format_token_amount(1u64, 7), "0.0000001"); - assert_eq!(format_token_amount(9u64, 7), "0.0000009"); + assert_eq!(format_token_amount(1, 7), "0.0000001"); + assert_eq!(format_token_amount(9, 7), "0.0000009"); } diff --git a/stellarlib/tests/format_test.rs b/stellarlib/tests/format_test.rs index 1a7b9117b..d1bfcaab8 100644 --- a/stellarlib/tests/format_test.rs +++ b/stellarlib/tests/format_test.rs @@ -70,7 +70,7 @@ fn test_sign_tx_format_case(case_name: &str) { let config = FormatConfig { show_sequence_and_nonce: true, show_preconditions: true, - show_nested_authorization: true, + show_authorization_details: true, show_tx_source_if_matches_signer: true, }; @@ -126,7 +126,7 @@ fn test_soroban_auth_format_case(case_name: &str) { let config = FormatConfig { show_sequence_and_nonce: true, show_preconditions: true, - show_nested_authorization: true, + show_authorization_details: true, show_tx_source_if_matches_signer: false, }; @@ -270,6 +270,8 @@ fn test_sign_tx_formats() { "op_invoke_host_function_with_auth", "op_invoke_host_function_with_auth_and_no_args_and_no_source", "op_invoke_host_function_with_auth_and_no_args", + "op_invoke_host_function_with_auth_root_differs_from_host_function", + "op_invoke_host_function_with_multiple_source_account_auth", "op_invoke_host_function_without_auth_and_no_source", "op_invoke_host_function_approve_usdc", "op_invoke_host_function_scvals_case0", diff --git a/stellarlib/tests/real_world_dataset_test.rs b/stellarlib/tests/real_world_dataset_test.rs index 764d921a7..10fad4250 100644 --- a/stellarlib/tests/real_world_dataset_test.rs +++ b/stellarlib/tests/real_world_dataset_test.rs @@ -152,7 +152,7 @@ fn test_transaction(test_case: &SorobanTestCase) -> Result<(), String> { let config = FormatConfig { show_sequence_and_nonce: true, show_preconditions: true, - show_nested_authorization: true, + show_authorization_details: true, show_tx_source_if_matches_signer: true, }; diff --git a/stellarlib/tests/serialize_test.rs b/stellarlib/tests/serialize_test.rs index 7d416c926..dc48e122b 100644 --- a/stellarlib/tests/serialize_test.rs +++ b/stellarlib/tests/serialize_test.rs @@ -3,7 +3,7 @@ use stellarlib::parser::{ SCContractInstance, SCError, SCErrorCode, ScAddress, ScMapEntry, ScVal, StringM, UInt128Parts, UInt256Parts, Uint256, VecM, }; -use stellarlib::serialize::scval_to_key_string; +use stellarlib::serialize::{scval_to_key_string, ToJson}; // ============================================================================ // Basic Types Tests @@ -12,18 +12,18 @@ use stellarlib::serialize::scval_to_key_string; #[test] fn test_serialize_bool() { let val_true = ScVal::Bool(true); - let json = serde_json::to_string(&val_true).unwrap(); + let json = val_true.to_json(); assert_eq!(json, "true"); let val_false = ScVal::Bool(false); - let json = serde_json::to_string(&val_false).unwrap(); + let json = val_false.to_json(); assert_eq!(json, "false"); } #[test] fn test_serialize_void() { let val = ScVal::Void; - let json = serde_json::to_string(&val).unwrap(); + let json = val.to_json(); assert_eq!(json, "null"); // Test as map key @@ -35,12 +35,12 @@ fn test_serialize_void() { fn test_serialize_u32() { // Small number let val = ScVal::U32(42); - let json = serde_json::to_string(&val).unwrap(); + let json = val.to_json(); assert_eq!(json, r#""42""#); // Large number with commas let val = ScVal::U32(1234567); - let json = serde_json::to_string(&val).unwrap(); + let json = val.to_json(); assert_eq!(json, r#""1,234,567""#); // Test as map key @@ -52,12 +52,12 @@ fn test_serialize_u32() { fn test_serialize_i32() { // Positive let val = ScVal::I32(42); - let json = serde_json::to_string(&val).unwrap(); + let json = val.to_json(); assert_eq!(json, r#""42""#); // Negative with commas let val = ScVal::I32(-1234567); - let json = serde_json::to_string(&val).unwrap(); + let json = val.to_json(); assert_eq!(json, r#""-1,234,567""#); // Test as map key @@ -68,22 +68,22 @@ fn test_serialize_i32() { #[test] fn test_serialize_u64() { let val = ScVal::U64(1000000000); - let json = serde_json::to_string(&val).unwrap(); + let json = val.to_json(); assert_eq!(json, r#""1,000,000,000""#); let val = ScVal::U64(u64::MAX); - let json = serde_json::to_string(&val).unwrap(); + let json = val.to_json(); assert_eq!(json, r#""18,446,744,073,709,551,615""#); } #[test] fn test_serialize_i64() { let val = ScVal::I64(-1000000000); - let json = serde_json::to_string(&val).unwrap(); + let json = val.to_json(); assert_eq!(json, r#""-1,000,000,000""#); let val = ScVal::I64(i64::MIN); - let json = serde_json::to_string(&val).unwrap(); + let json = val.to_json(); assert_eq!(json, r#""-9,223,372,036,854,775,808""#); } @@ -91,7 +91,7 @@ fn test_serialize_i64() { fn test_serialize_timepoint() { // Unix timestamp for 2025-10-21 08:19:03 UTC let val = ScVal::Timepoint(1761034743); - let json = serde_json::to_string(&val).unwrap(); + let json = val.to_json(); assert_eq!(json, r#""2025-10-21 08:19:03 UTC""#); } @@ -99,7 +99,7 @@ fn test_serialize_timepoint() { fn test_serialize_duration() { // 4 days, 5 hours, 41 minutes, 51 seconds let val = ScVal::Duration(366111); - let json = serde_json::to_string(&val).unwrap(); + let json = val.to_json(); assert_eq!(json, r#""4d 5h 41m 51s""#); } @@ -113,12 +113,12 @@ fn test_serialize_u128() { hi: 0, lo: 123456789012345, }); - let json = serde_json::to_string(&val).unwrap(); + let json = val.to_json(); assert_eq!(json, r#""123,456,789,012,345""#); // Large number let val = ScVal::U128(UInt128Parts { hi: 1, lo: 0 }); - let json = serde_json::to_string(&val).unwrap(); + let json = val.to_json(); assert_eq!(json, r#""18,446,744,073,709,551,616""#); } @@ -128,7 +128,7 @@ fn test_serialize_i128() { hi: 0, lo: 987654321098765, }); - let json = serde_json::to_string(&val).unwrap(); + let json = val.to_json(); assert_eq!(json, r#""987,654,321,098,765""#); // Negative number @@ -136,7 +136,7 @@ fn test_serialize_i128() { hi: -1, lo: u64::MAX - 999999, }); - let json = serde_json::to_string(&val).unwrap(); + let json = val.to_json(); assert!(json.starts_with(r#""-"#)); } @@ -148,7 +148,7 @@ fn test_serialize_u256() { lo_hi: 0, lo_lo: 999999999999999, }); - let json = serde_json::to_string(&val).unwrap(); + let json = val.to_json(); assert_eq!(json, r#""999,999,999,999,999""#); } @@ -160,7 +160,7 @@ fn test_serialize_i256() { lo_hi: 0, lo_lo: 555555555555555, }); - let json = serde_json::to_string(&val).unwrap(); + let json = val.to_json(); assert_eq!(json, r#""555,555,555,555,555""#); } @@ -173,14 +173,14 @@ fn test_serialize_string() { let string_data = b"Hello, World!"; let sc_string = StringM::<{ u32::MAX as usize }>::new(string_data); let val = ScVal::String(sc_string); - let json = serde_json::to_string(&val).unwrap(); + let json = val.to_json(); assert_eq!(json, r#""Hello, World!""#); // Test with special characters (UTF-8 "你好\nHello\t👋") let string_data = b"\xE4\xBD\xA0\xE5\xA5\xBD\nHello\t\xF0\x9F\x91\x8B"; let sc_string = StringM::<{ u32::MAX as usize }>::new(string_data); let val = ScVal::String(sc_string); - let json = serde_json::to_string(&val).unwrap(); + let json = val.to_json(); assert_eq!( json, r#""\\xe4\\xbd\\xa0\\xe5\\xa5\\xbd\\nHello\\t\\xf0\\x9f\\x91\\x8b""# @@ -192,7 +192,7 @@ fn test_serialize_symbol() { let symbol_data = b"TRANSFER"; let sc_symbol = StringM::<32>::new(symbol_data); let val = ScVal::Symbol(sc_symbol); - let json = serde_json::to_string(&val).unwrap(); + let json = val.to_json(); assert_eq!(json, r#""TRANSFER""#); } @@ -201,7 +201,7 @@ fn test_serialize_bytes() { let bytes_data = b"\x00\x01\x02\x03\xFF"; let sc_bytes = BytesM::<{ u32::MAX as usize }>::new(bytes_data); let val = ScVal::Bytes(sc_bytes); - let json = serde_json::to_string(&val).unwrap(); + let json = val.to_json(); // Bytes are displayed using escape_bytes format assert_eq!(json, "\"\\\\0\\\\x01\\\\x02\\\\x03\\\\xff\""); } @@ -214,19 +214,19 @@ fn test_serialize_bytes() { fn test_serialize_error() { // Contract error let val = ScVal::Error(SCError::SceContract(12345)); - let json = serde_json::to_string(&val).unwrap(); + let json = val.to_json(); let expected_json = r#"{"error_type":"Contract","error_value":12345}"#; assert_eq!(json, expected_json); // WasmVm error let val = ScVal::Error(SCError::SceWasmVm(SCErrorCode::ScecIndexBounds)); - let json = serde_json::to_string(&val).unwrap(); + let json = val.to_json(); let expected_json = r#"{"error_type":"WasmVm","error_value":"IndexBounds"}"#; assert_eq!(json, expected_json); // Context error with enum code let val = ScVal::Error(SCError::SceContext(SCErrorCode::ScecArithDomain)); - let json = serde_json::to_string(&val).unwrap(); + let json = val.to_json(); let expected_json = r#"{"error_type":"Context","error_value":"ArithDomain"}"#; assert_eq!(json, expected_json); } @@ -244,12 +244,12 @@ fn test_serialize_vec_basic() { ScVal::U32(1000), ]; let val = ScVal::Vec(Some(VecM::new(vec_data))); - let json = serde_json::to_string(&val).unwrap(); + let json = val.to_json(); assert_eq!(json, r#"["1","2","3","1,000"]"#); // Test None vec let val: ScVal = ScVal::Vec(None); - let json = serde_json::to_string(&val).unwrap(); + let json = val.to_json(); assert_eq!(json, "null"); } @@ -262,7 +262,7 @@ fn test_serialize_vec_mixed_types() { ScVal::Void, ]; let val = ScVal::Vec(Some(VecM::new(vec_data))); - let json = serde_json::to_string(&val).unwrap(); + let json = val.to_json(); assert_eq!(json, r#"[true,"42","text",null]"#); } @@ -283,13 +283,11 @@ fn test_serialize_map_basic() { }, ]; let val = ScVal::Map(Some(VecM::new(map_data))); - let json = serde_json::to_string(&val).unwrap(); + let json = val.to_json(); - // Expected JSON - need to parse to handle key ordering + // Our serialization preserves order let expected_json = r#"{"name":"Alice","age":"30","balance":"1,000,000"}"#; - let parsed: serde_json::Value = serde_json::from_str(&json).unwrap(); - let expected_parsed: serde_json::Value = serde_json::from_str(expected_json).unwrap(); - assert_eq!(parsed, expected_parsed); + assert_eq!(json, expected_json); } #[test] @@ -310,13 +308,11 @@ fn test_serialize_map_non_string_keys() { }, ]; let val = ScVal::Map(Some(VecM::new(map_data))); - let json = serde_json::to_string(&val).unwrap(); + let json = val.to_json(); - // Expected JSON - need to parse to handle key ordering + // Our serialization preserves order let expected_json = r#"{"100":"hundred","true":"yes","[void]":"nothing"}"#; - let parsed: serde_json::Value = serde_json::from_str(&json).unwrap(); - let expected_parsed: serde_json::Value = serde_json::from_str(expected_json).unwrap(); - assert_eq!(parsed, expected_parsed); + assert_eq!(json, expected_json); } // ============================================================================ @@ -334,7 +330,7 @@ fn test_serialize_nested_vec() { ScVal::String(StringM::<{ u32::MAX as usize }>::new(b"end")), ]; let val = ScVal::Vec(Some(VecM::new(outer_vec))); - let json = serde_json::to_string(&val).unwrap(); + let json = val.to_json(); assert_eq!(json, r#"["start",["1","2"],"end"]"#); } @@ -363,13 +359,11 @@ fn test_serialize_nested_map() { }, ]; let val = ScVal::Map(Some(VecM::new(outer_map))); - let json = serde_json::to_string(&val).unwrap(); + let json = val.to_json(); - // Expected JSON - need to parse to handle key ordering + // Our serialization preserves order let expected_json = r#"{"coordinates":{"x":"10","y":"20"},"label":"Point A"}"#; - let parsed: serde_json::Value = serde_json::from_str(&json).unwrap(); - let expected_parsed: serde_json::Value = serde_json::from_str(expected_json).unwrap(); - assert_eq!(parsed, expected_parsed); + assert_eq!(json, expected_json); } #[test] @@ -415,13 +409,11 @@ fn test_serialize_complex_structure() { }, ]))); - let json = serde_json::to_string(&user_data).unwrap(); + let json = user_data.to_json(); - // Expected JSON - need to parse to handle key ordering + // Our serialization preserves order let expected_json = r#"{"id":"123,456,789","username":"alice_doe","scores":["95","87","92","100"],"metadata":{"created_at":"2024-01-01 00:00:00 UTC","premium":true,"balance":"999,999,999,999"}}"#; - let parsed: serde_json::Value = serde_json::from_str(&json).unwrap(); - let expected_parsed: serde_json::Value = serde_json::from_str(expected_json).unwrap(); - assert_eq!(parsed, expected_parsed); + assert_eq!(json, expected_json); } // ============================================================================ @@ -435,7 +427,7 @@ fn test_serialize_address() { let public_key = PublicKey::PublicKeyTypeEd25519(Uint256(&account_bytes)); let account_addr = ScAddress::ScAddressTypeAccount(public_key); let val = ScVal::Address(account_addr); - let json = serde_json::to_string(&val).unwrap(); + let json = val.to_json(); // Account addresses use stellar_strkey::ed25519::PublicKey encoding (starts with 'G') assert_eq!( json, @@ -451,7 +443,7 @@ fn test_serialize_address() { let contract_id = Uint256(&contract_bytes); let contract_addr = ScAddress::ScAddressTypeContract(contract_id); let val = ScVal::Address(contract_addr); - let json = serde_json::to_string(&val).unwrap(); + let json = val.to_json(); // Contract addresses use stellar_strkey::Contract encoding (starts with 'C') assert!(json.starts_with(r#""C"#)); assert!(json.ends_with(r#"""#)); @@ -465,14 +457,14 @@ fn test_serialize_contract_instance() { executable: ContractExecutable::StellarAsset, storage: None, }); - let json = serde_json::to_string(&val).unwrap(); + let json = val.to_json(); assert_eq!(json, r#""[ContractInstance]""#); } #[test] fn test_serialize_ledger_key_contract_instance() { let val = ScVal::LedgerKeyContractInstance; - let json = serde_json::to_string(&val).unwrap(); + let json = val.to_json(); assert_eq!(json, r#""[LedgerKeyContractInstance]""#); } @@ -484,12 +476,12 @@ fn test_serialize_ledger_key_contract_instance() { fn test_serialize_empty_collections() { // Empty Vec let val = ScVal::Vec(Some(VecM::new(vec![]))); - let json = serde_json::to_string(&val).unwrap(); + let json = val.to_json(); assert_eq!(json, "[]"); // Empty Map let val = ScVal::Map(Some(VecM::new(vec![]))); - let json = serde_json::to_string(&val).unwrap(); + let json = val.to_json(); assert_eq!(json, "{}"); } @@ -516,21 +508,21 @@ fn test_map_key_conversion() { #[test] fn test_serialize_claim_predicate_unconditional() { let predicate = ClaimPredicate::Unconditional; - let json = serde_json::to_string(&predicate).unwrap(); + let json = predicate.to_json(); assert_eq!(json, r#""unconditional""#); } #[test] fn test_serialize_claim_predicate_before_absolute_time() { let predicate = ClaimPredicate::BeforeAbsoluteTime(1629344902); - let json = serde_json::to_string(&predicate).unwrap(); + let json = predicate.to_json(); assert_eq!(json, r#"{"before_absolute_time":"1629344902"}"#); } #[test] fn test_serialize_claim_predicate_before_relative_time() { let predicate = ClaimPredicate::BeforeRelativeTime(180); - let json = serde_json::to_string(&predicate).unwrap(); + let json = predicate.to_json(); assert_eq!(json, r#"{"before_relative_time":"180"}"#); } @@ -538,7 +530,7 @@ fn test_serialize_claim_predicate_before_relative_time() { fn test_serialize_claim_predicate_not() { let inner = ClaimPredicate::BeforeRelativeTime(180); let predicate = ClaimPredicate::Not(Box::new(inner)); - let json = serde_json::to_string(&predicate).unwrap(); + let json = predicate.to_json(); assert_eq!(json, r#"{"not":{"before_relative_time":"180"}}"#); } @@ -548,7 +540,7 @@ fn test_serialize_claim_predicate_and() { let pred2 = ClaimPredicate::BeforeRelativeTime(180); let predicates = VecM::new(vec![pred1, pred2]); let predicate = ClaimPredicate::And(predicates); - let json = serde_json::to_string(&predicate).unwrap(); + let json = predicate.to_json(); assert_eq!( json, r#"{"and":[{"before_absolute_time":"1629344902"},{"before_relative_time":"180"}]}"# @@ -561,7 +553,7 @@ fn test_serialize_claim_predicate_or() { let pred2 = ClaimPredicate::BeforeAbsoluteTime(1629300000); let predicates = VecM::new(vec![pred1, pred2]); let predicate = ClaimPredicate::Or(predicates); - let json = serde_json::to_string(&predicate).unwrap(); + let json = predicate.to_json(); assert_eq!( json, r#"{"or":[{"before_absolute_time":"1629344902"},{"before_absolute_time":"1629300000"}]}"# @@ -582,7 +574,7 @@ fn test_serialize_claim_predicate_complex_nested() { let and_predicates = VecM::new(vec![or_pred, not_pred]); let predicate = ClaimPredicate::And(and_predicates); - let json = serde_json::to_string(&predicate).unwrap(); + let json = predicate.to_json(); assert_eq!( json, r#"{"and":[{"or":[{"before_absolute_time":"1629344902"},{"before_absolute_time":"1629300000"}]},{"not":{"before_relative_time":"180"}}]}"# diff --git a/stellarlib/tests/testcases/op_invoke_host_function_approve_usdc.txt b/stellarlib/tests/testcases/op_invoke_host_function_approve_usdc.txt index 95023fa8c..e4126f87b 100644 --- a/stellarlib/tests/testcases/op_invoke_host_function_approve_usdc.txt +++ b/stellarlib/tests/testcases/op_invoke_host_function_approve_usdc.txt @@ -5,4 +5,9 @@ Approve; 0.125 USDC@CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75 From; GDUTHCF37UX32EMANXIL2WOOVEDZ47GHBTT3DYKU6EKM37SOIZXM2FN7 Spender; GDMTVHLWJTHSUDMZVVMXXH6VJHA2ZV3HNG5LYNAZ6RTWB7GISM6PGTUV Exp Ledger; 51,503,809 +Authorization; 1 +Approve; 0.125 USDC@CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75 +From; GDUTHCF37UX32EMANXIL2WOOVEDZ47GHBTT3DYKU6EKM37SOIZXM2FN7 +Spender; GDMTVHLWJTHSUDMZVVMXXH6VJHA2ZV3HNG5LYNAZ6RTWB7GISM6PGTUV +Exp Ledger; 51,503,809 Op Source; GDUTHCF37UX32EMANXIL2WOOVEDZ47GHBTT3DYKU6EKM37SOIZXM2FN7 diff --git a/stellarlib/tests/testcases/op_invoke_host_function_asset_approve.txt b/stellarlib/tests/testcases/op_invoke_host_function_asset_approve.txt index e303a9fde..96db9dccf 100644 --- a/stellarlib/tests/testcases/op_invoke_host_function_asset_approve.txt +++ b/stellarlib/tests/testcases/op_invoke_host_function_asset_approve.txt @@ -8,4 +8,11 @@ Arg 1 of 4; GDUTHCF37UX32EMANXIL2WOOVEDZ47GHBTT3DYKU6EKM37SOIZXM2FN7 Arg 2 of 4; GDRMNAIPTNIJWJSL6JOF76CJORN47TDVMWERTXO2G2WKOMXGNHUFL5QX Arg 3 of 4; 10,000,000,000 Arg 4 of 4; 2,999,592 +Authorization; 1 +Contract ID; CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC +Function; approve +Arg 1 of 4; GDUTHCF37UX32EMANXIL2WOOVEDZ47GHBTT3DYKU6EKM37SOIZXM2FN7 +Arg 2 of 4; GDRMNAIPTNIJWJSL6JOF76CJORN47TDVMWERTXO2G2WKOMXGNHUFL5QX +Arg 3 of 4; 10,000,000,000 +Arg 4 of 4; 2,999,592 Op Source; GDUTHCF37UX32EMANXIL2WOOVEDZ47GHBTT3DYKU6EKM37SOIZXM2FN7 diff --git a/stellarlib/tests/testcases/op_invoke_host_function_asset_transfer.txt b/stellarlib/tests/testcases/op_invoke_host_function_asset_transfer.txt index 58c57442e..2f3c938d2 100644 --- a/stellarlib/tests/testcases/op_invoke_host_function_asset_transfer.txt +++ b/stellarlib/tests/testcases/op_invoke_host_function_asset_transfer.txt @@ -7,4 +7,10 @@ Function; transfer Arg 1 of 3; GDUTHCF37UX32EMANXIL2WOOVEDZ47GHBTT3DYKU6EKM37SOIZXM2FN7 Arg 2 of 3; GDRMNAIPTNIJWJSL6JOF76CJORN47TDVMWERTXO2G2WKOMXGNHUFL5QX Arg 3 of 3; 1,000,000,000 +Authorization; 1 +Contract ID; CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC +Function; transfer +Arg 1 of 3; GDUTHCF37UX32EMANXIL2WOOVEDZ47GHBTT3DYKU6EKM37SOIZXM2FN7 +Arg 2 of 3; GDRMNAIPTNIJWJSL6JOF76CJORN47TDVMWERTXO2G2WKOMXGNHUFL5QX +Arg 3 of 3; 1,000,000,000 Op Source; GDUTHCF37UX32EMANXIL2WOOVEDZ47GHBTT3DYKU6EKM37SOIZXM2FN7 diff --git a/stellarlib/tests/testcases/op_invoke_host_function_create_contract_new_asset.txt b/stellarlib/tests/testcases/op_invoke_host_function_create_contract_new_asset.txt index e6d662544..66c80744a 100644 --- a/stellarlib/tests/testcases/op_invoke_host_function_create_contract_new_asset.txt +++ b/stellarlib/tests/testcases/op_invoke_host_function_create_contract_new_asset.txt @@ -3,4 +3,6 @@ Max Fee; 0.0086454 XLM Sequence Num; 12842214208045066 Tx Source; GDUTHCF37UX32EMANXIL2WOOVEDZ47GHBTT3DYKU6EKM37SOIZXM2FN7 Create Contract; Deploy Stellar asset contract +Authorization; 1 +Create Contract; Deploy Stellar asset contract Op Source; GDUTHCF37UX32EMANXIL2WOOVEDZ47GHBTT3DYKU6EKM37SOIZXM2FN7 diff --git a/stellarlib/tests/testcases/op_invoke_host_function_create_contract_v2_wasm_id.txt b/stellarlib/tests/testcases/op_invoke_host_function_create_contract_v2_wasm_id.txt index 6e2da7f6e..10624caa2 100644 --- a/stellarlib/tests/testcases/op_invoke_host_function_create_contract_v2_wasm_id.txt +++ b/stellarlib/tests/testcases/op_invoke_host_function_create_contract_v2_wasm_id.txt @@ -7,13 +7,18 @@ Create Contract; Deploy contract from WASM hash: 96aec578a46bbadfa8635d111c5fd88 Arg 1 of 3; GDAT5HWTGIU4TSSZ4752OUC4SABDLTLZFRPZUJ3D6LKBNEPA7V2CIG54 Arg 2 of 3; CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC Arg 3 of 3; 100,000 -Nested Authorization; 1-1 +Authorization; 1 +Create Contract; Deploy contract from WASM hash: 96aec578a46bbadfa8635d111c5fd88a4efa8ae324aec4a2cb4b249ca02169cf +Arg 1 of 3; GDAT5HWTGIU4TSSZ4752OUC4SABDLTLZFRPZUJ3D6LKBNEPA7V2CIG54 +Arg 2 of 3; CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC +Arg 3 of 3; 100,000 +Authorization; 1-1 Contract ID; CA5BOCJKJKLZGJ2NI3MWKFFS4JX76URNBAFLNOEGTCZU2REJWR2FYAKH Function; __constructor Arg 1 of 3; GDAT5HWTGIU4TSSZ4752OUC4SABDLTLZFRPZUJ3D6LKBNEPA7V2CIG54 Arg 2 of 3; CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC Arg 3 of 3; 100,000 -Nested Authorization; 1-1-1 +Authorization; 1-1-1 Contract ID; CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC Function; transfer Arg 1 of 3; GDAT5HWTGIU4TSSZ4752OUC4SABDLTLZFRPZUJ3D6LKBNEPA7V2CIG54 diff --git a/stellarlib/tests/testcases/op_invoke_host_function_create_contract_wasm_id.txt b/stellarlib/tests/testcases/op_invoke_host_function_create_contract_wasm_id.txt index 8732d274d..e10e78d3c 100644 --- a/stellarlib/tests/testcases/op_invoke_host_function_create_contract_wasm_id.txt +++ b/stellarlib/tests/testcases/op_invoke_host_function_create_contract_wasm_id.txt @@ -3,3 +3,5 @@ Max Fee; 0.01265 XLM Sequence Num; 12842214208045058 Tx Source; GDUTHCF37UX32EMANXIL2WOOVEDZ47GHBTT3DYKU6EKM37SOIZXM2FN7 Create Contract; Deploy contract from WASM hash: 13e16858bde4ab50a006dbf07172288f3ec19d8640d1a853016c60c15c251117 +Authorization; 1 +Create Contract; Deploy contract from WASM hash: 13e16858bde4ab50a006dbf07172288f3ec19d8640d1a853016c60c15c251117 diff --git a/stellarlib/tests/testcases/op_invoke_host_function_scvals_case2.txt b/stellarlib/tests/testcases/op_invoke_host_function_scvals_case2.txt index 6631c3f38..1f076f6df 100644 --- a/stellarlib/tests/testcases/op_invoke_host_function_scvals_case2.txt +++ b/stellarlib/tests/testcases/op_invoke_host_function_scvals_case2.txt @@ -3,7 +3,7 @@ Sequence Num; 103720918407102568 Tx Source; GDUTHCF37UX32EMANXIL2WOOVEDZ47GHBTT3DYKU6EKM37SOIZXM2FN7 Contract ID; CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC Function; test -Arg 1 of 7; {"false":false,"true":true} +Arg 1 of 7; {"true":true,"false":false} Arg 2 of 7; GDUTHCF37UX32EMANXIL2WOOVEDZ47GHBTT3DYKU6EKM37SOIZXM2FN7 Arg 3 of 7; CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC Arg 4 of 7; [LedgerKeyContractInstance] diff --git a/stellarlib/tests/testcases/op_invoke_host_function_scvals_case4.txt b/stellarlib/tests/testcases/op_invoke_host_function_scvals_case4.txt index 2d07f7e0e..ab7176d41 100644 --- a/stellarlib/tests/testcases/op_invoke_host_function_scvals_case4.txt +++ b/stellarlib/tests/testcases/op_invoke_host_function_scvals_case4.txt @@ -3,5 +3,5 @@ Sequence Num; 103720918407102568 Tx Source; GDUTHCF37UX32EMANXIL2WOOVEDZ47GHBTT3DYKU6EKM37SOIZXM2FN7 Contract ID; CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC Function; test -Arg 1 of 2; {"GCJ644IGDW7YFNKHTWSCM37FRMFBQ2EDMZLQM4AUCRBFCW562XXC5OW3":["9",false,"hello!",{"GCV6BUTD2REAS3MYMXIFPAMPX24FII3HNHLLESPYLOZDNZAJ4ULXP6KU":["4","5","6"]}],"GCPWZDBYNXVQYOKUWAL34ED3GDKD6UITURJP734A4DPB5EPDSXHAM3KX":["1",true,"hey!",{"GATLHLTLWJVCZ52WDZOVTXFE5YXGEQ6SGEAFEL5J52WIYSGPY7PW7BMV":["1","2","3"]}]} +Arg 1 of 2; {"GCPWZDBYNXVQYOKUWAL34ED3GDKD6UITURJP734A4DPB5EPDSXHAM3KX":["1",true,"hey!",{"GATLHLTLWJVCZ52WDZOVTXFE5YXGEQ6SGEAFEL5J52WIYSGPY7PW7BMV":["1","2","3"]}],"GCJ644IGDW7YFNKHTWSCM37FRMFBQ2EDMZLQM4AUCRBFCW562XXC5OW3":["9",false,"hello!",{"GCV6BUTD2REAS3MYMXIFPAMPX24FII3HNHLLESPYLOZDNZAJ4ULXP6KU":["4","5","6"]}]} Arg 2 of 2; [{"a":"1","b":"2"},{"c":"3","d":"4"}] diff --git a/stellarlib/tests/testcases/op_invoke_host_function_transfer_usdc.txt b/stellarlib/tests/testcases/op_invoke_host_function_transfer_usdc.txt index 2cb633759..92190705e 100644 --- a/stellarlib/tests/testcases/op_invoke_host_function_transfer_usdc.txt +++ b/stellarlib/tests/testcases/op_invoke_host_function_transfer_usdc.txt @@ -4,3 +4,7 @@ Tx Source; GDUTHCF37UX32EMANXIL2WOOVEDZ47GHBTT3DYKU6EKM37SOIZXM2FN7 Transfer; 0.123 USDC@CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75 From; GDUTHCF37UX32EMANXIL2WOOVEDZ47GHBTT3DYKU6EKM37SOIZXM2FN7 To; GDMTVHLWJTHSUDMZVVMXXH6VJHA2ZV3HNG5LYNAZ6RTWB7GISM6PGTUV +Authorization; 1 +Transfer; 0.123 USDC@CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75 +From; GDUTHCF37UX32EMANXIL2WOOVEDZ47GHBTT3DYKU6EKM37SOIZXM2FN7 +To; GDMTVHLWJTHSUDMZVVMXXH6VJHA2ZV3HNG5LYNAZ6RTWB7GISM6PGTUV diff --git a/stellarlib/tests/testcases/op_invoke_host_function_transfer_xlm.txt b/stellarlib/tests/testcases/op_invoke_host_function_transfer_xlm.txt index 11de60aa0..c8ec5dfb9 100644 --- a/stellarlib/tests/testcases/op_invoke_host_function_transfer_xlm.txt +++ b/stellarlib/tests/testcases/op_invoke_host_function_transfer_xlm.txt @@ -4,3 +4,7 @@ Tx Source; GDUTHCF37UX32EMANXIL2WOOVEDZ47GHBTT3DYKU6EKM37SOIZXM2FN7 Transfer; 5 XLM@CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA From; GDUTHCF37UX32EMANXIL2WOOVEDZ47GHBTT3DYKU6EKM37SOIZXM2FN7 To; GDMTVHLWJTHSUDMZVVMXXH6VJHA2ZV3HNG5LYNAZ6RTWB7GISM6PGTUV +Authorization; 1 +Transfer; 5 XLM@CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA +From; GDUTHCF37UX32EMANXIL2WOOVEDZ47GHBTT3DYKU6EKM37SOIZXM2FN7 +To; GDMTVHLWJTHSUDMZVVMXXH6VJHA2ZV3HNG5LYNAZ6RTWB7GISM6PGTUV diff --git a/stellarlib/tests/testcases/op_invoke_host_function_with_auth.txt b/stellarlib/tests/testcases/op_invoke_host_function_with_auth.txt index 3d574c229..9ebf580ba 100644 --- a/stellarlib/tests/testcases/op_invoke_host_function_with_auth.txt +++ b/stellarlib/tests/testcases/op_invoke_host_function_with_auth.txt @@ -6,11 +6,17 @@ Function; testfunc Arg 1 of 3; 1 Arg 2 of 3; 2 Arg 3 of 3; 3 -Nested Authorization; 1-1 +Authorization; 1 +Contract ID; CA3B55CUVQCP4C4WXGYG5I2ED7AYE6AFNJB25SFXXVWGEVP3LUVTN7ND +Function; testfunc +Arg 1 of 3; 1 +Arg 2 of 3; 2 +Arg 3 of 3; 3 +Authorization; 1-1 Transfer; 4.56 USDC@CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75 From; GCWNBLOHPARYAAF5W25NELURTERYS732Q7RRBTXRKBPGYCYLOFKCLKKA To; GB42LIJ3V5KXCY32EFL4NL73OSI5PRCFJ3WNFMFX4QHGOAR7BFX2YC34 -Nested Authorization; 1-2 +Authorization; 1-2 Approve; 1.23 XLM@CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA From; GCWNBLOHPARYAAF5W25NELURTERYS732Q7RRBTXRKBPGYCYLOFKCLKKA Spender; GB42LIJ3V5KXCY32EFL4NL73OSI5PRCFJ3WNFMFX4QHGOAR7BFX2YC34 diff --git a/stellarlib/tests/testcases/op_invoke_host_function_with_auth_and_no_args.txt b/stellarlib/tests/testcases/op_invoke_host_function_with_auth_and_no_args.txt index ebd24af37..c632055ed 100644 --- a/stellarlib/tests/testcases/op_invoke_host_function_with_auth_and_no_args.txt +++ b/stellarlib/tests/testcases/op_invoke_host_function_with_auth_and_no_args.txt @@ -3,10 +3,13 @@ Sequence Num; 103720918407102568 Tx Source; GDUTHCF37UX32EMANXIL2WOOVEDZ47GHBTT3DYKU6EKM37SOIZXM2FN7 Contract ID; CA3B55CUVQCP4C4WXGYG5I2ED7AYE6AFNJB25SFXXVWGEVP3LUVTN7ND Function; testfunc -Nested Authorization; 1-1 +Authorization; 1 +Contract ID; CA3B55CUVQCP4C4WXGYG5I2ED7AYE6AFNJB25SFXXVWGEVP3LUVTN7ND +Function; testfunc +Authorization; 1-1 Contract ID; CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75 Function; test -Nested Authorization; 1-2 +Authorization; 1-2 Approve; 1.23 XLM@CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA From; GCWNBLOHPARYAAF5W25NELURTERYS732Q7RRBTXRKBPGYCYLOFKCLKKA Spender; GB42LIJ3V5KXCY32EFL4NL73OSI5PRCFJ3WNFMFX4QHGOAR7BFX2YC34 diff --git a/stellarlib/tests/testcases/op_invoke_host_function_with_auth_and_no_args_and_no_source.txt b/stellarlib/tests/testcases/op_invoke_host_function_with_auth_and_no_args_and_no_source.txt index 46b3f0315..e93ae88ba 100644 --- a/stellarlib/tests/testcases/op_invoke_host_function_with_auth_and_no_args_and_no_source.txt +++ b/stellarlib/tests/testcases/op_invoke_host_function_with_auth_and_no_args_and_no_source.txt @@ -3,10 +3,13 @@ Sequence Num; 103720918407102568 Tx Source; GDUTHCF37UX32EMANXIL2WOOVEDZ47GHBTT3DYKU6EKM37SOIZXM2FN7 Contract ID; CA3B55CUVQCP4C4WXGYG5I2ED7AYE6AFNJB25SFXXVWGEVP3LUVTN7ND Function; testfunc -Nested Authorization; 1-1 +Authorization; 1 +Contract ID; CA3B55CUVQCP4C4WXGYG5I2ED7AYE6AFNJB25SFXXVWGEVP3LUVTN7ND +Function; testfunc +Authorization; 1-1 Contract ID; CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75 Function; test -Nested Authorization; 1-2 +Authorization; 1-2 Approve; 1.23 XLM@CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA From; GCWNBLOHPARYAAF5W25NELURTERYS732Q7RRBTXRKBPGYCYLOFKCLKKA Spender; GB42LIJ3V5KXCY32EFL4NL73OSI5PRCFJ3WNFMFX4QHGOAR7BFX2YC34 diff --git a/stellarlib/tests/testcases/op_invoke_host_function_with_auth_root_differs_from_host_function.raw b/stellarlib/tests/testcases/op_invoke_host_function_with_auth_root_differs_from_host_function.raw new file mode 100644 index 000000000..c9816edcb Binary files /dev/null and b/stellarlib/tests/testcases/op_invoke_host_function_with_auth_root_differs_from_host_function.raw differ diff --git a/stellarlib/tests/testcases/op_invoke_host_function_with_auth_root_differs_from_host_function.txt b/stellarlib/tests/testcases/op_invoke_host_function_with_auth_root_differs_from_host_function.txt new file mode 100644 index 000000000..9ababb459 --- /dev/null +++ b/stellarlib/tests/testcases/op_invoke_host_function_with_auth_root_differs_from_host_function.txt @@ -0,0 +1,15 @@ +Max Fee; 0.00005 XLM +Sequence Num; 103720918407102568 +Tx Source; GDUTHCF37UX32EMANXIL2WOOVEDZ47GHBTT3DYKU6EKM37SOIZXM2FN7 +Contract ID; CA3B55CUVQCP4C4WXGYG5I2ED7AYE6AFNJB25SFXXVWGEVP3LUVTN7ND +Function; testfunc +Authorization; 1 +Contract ID; CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC +Function; unrelated_fn +Arg 1 of 2; GCWNBLOHPARYAAF5W25NELURTERYS732Q7RRBTXRKBPGYCYLOFKCLKKA +Arg 2 of 2; 99,900,000 +Authorization; 1-1 +Transfer; 3.99 USDC@CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75 +From; GCWNBLOHPARYAAF5W25NELURTERYS732Q7RRBTXRKBPGYCYLOFKCLKKA +To; GB42LIJ3V5KXCY32EFL4NL73OSI5PRCFJ3WNFMFX4QHGOAR7BFX2YC34 +Op Source; GDUTHCF37UX32EMANXIL2WOOVEDZ47GHBTT3DYKU6EKM37SOIZXM2FN7 diff --git a/stellarlib/tests/testcases/op_invoke_host_function_with_complex_sub_invocation.txt b/stellarlib/tests/testcases/op_invoke_host_function_with_complex_sub_invocation.txt index 5bc0de9b6..decdf8825 100644 --- a/stellarlib/tests/testcases/op_invoke_host_function_with_complex_sub_invocation.txt +++ b/stellarlib/tests/testcases/op_invoke_host_function_with_complex_sub_invocation.txt @@ -6,43 +6,49 @@ Function; rootfunc Arg 1 of 3; 1 Arg 2 of 3; 2 Arg 3 of 3; 3 -Nested Authorization; 1-1 +Authorization; 1 +Contract ID; CA3B55CUVQCP4C4WXGYG5I2ED7AYE6AFNJB25SFXXVWGEVP3LUVTN7ND +Function; rootfunc +Arg 1 of 3; 1 +Arg 2 of 3; 2 +Arg 3 of 3; 3 +Authorization; 1-1 Contract ID; CA3B55CUVQCP4C4WXGYG5I2ED7AYE6AFNJB25SFXXVWGEVP3LUVTN7ND Function; func0 Arg 1 of 1; 10,356,000,000 -Nested Authorization; 1-1-1 +Authorization; 1-1-1 Contract ID; CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC Function; func1 -Nested Authorization; 1-1-2 +Authorization; 1-1-2 Contract ID; CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC Function; func2 -Nested Authorization; 1-1-2-1 +Authorization; 1-1-2-1 Create Contract; Deploy contract from WASM hash: d99f1fee344eebd8307deb9ff42457d8db12ee53272918fe34380271c1d4100a -Nested Authorization; 1-1-2-1-1 +Authorization; 1-1-2-1-1 Create Contract; Deploy contract from WASM hash: d99f1fee344eebd8307deb9ff42457d8db12ee53272918fe34380271c1d4100a Arg 1 of 2; GDAT5HWTGIU4TSSZ4752OUC4SABDLTLZFRPZUJ3D6LKBNEPA7V2CIG54 Arg 2 of 2; 12,000,000 -Nested Authorization; 1-1-2-1-1-1 +Authorization; 1-1-2-1-1-1 Contract ID; GB42LIJ3V5KXCY32EFL4NL73OSI5PRCFJ3WNFMFX4QHGOAR7BFX2YC34 Function; __constructor Arg 1 of 2; GDAT5HWTGIU4TSSZ4752OUC4SABDLTLZFRPZUJ3D6LKBNEPA7V2CIG54 Arg 2 of 2; 12,000,000 -Nested Authorization; 1-1-2-1-2 +Authorization; 1-1-2-1-2 Contract ID; CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC Function; func4 -Nested Authorization; 1-1-2-1-3 +Authorization; 1-1-2-1-3 Contract ID; CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC Function; func5 Arg 1 of 1; [void] -Nested Authorization; 1-1-2-1-3-1 +Authorization; 1-1-2-1-3-1 Contract ID; CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC Function; func6 Arg 1 of 1; [void] -Nested Authorization; 1-1-2-1-3-1-1 +Authorization; 1-1-2-1-3-1-1 Contract ID; CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC Function; func7 Arg 1 of 1; [void] -Nested Authorization; 1-1-2-1-3-1-2 +Authorization; 1-1-2-1-3-1-2 Contract ID; CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC Function; func8 Arg 1 of 1; [void] diff --git a/stellarlib/tests/testcases/op_invoke_host_function_with_multiple_source_account_auth.raw b/stellarlib/tests/testcases/op_invoke_host_function_with_multiple_source_account_auth.raw new file mode 100644 index 000000000..a0b9ad21b Binary files /dev/null and b/stellarlib/tests/testcases/op_invoke_host_function_with_multiple_source_account_auth.raw differ diff --git a/stellarlib/tests/testcases/op_invoke_host_function_with_multiple_source_account_auth.txt b/stellarlib/tests/testcases/op_invoke_host_function_with_multiple_source_account_auth.txt new file mode 100644 index 000000000..60cd37f7c --- /dev/null +++ b/stellarlib/tests/testcases/op_invoke_host_function_with_multiple_source_account_auth.txt @@ -0,0 +1,20 @@ +Max Fee; 0.00005 XLM +Sequence Num; 103720918407102568 +Tx Source; GDUTHCF37UX32EMANXIL2WOOVEDZ47GHBTT3DYKU6EKM37SOIZXM2FN7 +Contract ID; CA3B55CUVQCP4C4WXGYG5I2ED7AYE6AFNJB25SFXXVWGEVP3LUVTN7ND +Function; testfunc +Authorization; 1 +Contract ID; CA3B55CUVQCP4C4WXGYG5I2ED7AYE6AFNJB25SFXXVWGEVP3LUVTN7ND +Function; testfunc +Authorization; 1-1 +Contract ID; CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75 +Function; test +Authorization; 2 +Approve; 1.23 XLM@CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA +From; GCWNBLOHPARYAAF5W25NELURTERYS732Q7RRBTXRKBPGYCYLOFKCLKKA +Spender; GB42LIJ3V5KXCY32EFL4NL73OSI5PRCFJ3WNFMFX4QHGOAR7BFX2YC34 +Exp Ledger; 234,524,532 +Authorization; 2-1 +Contract ID; CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC +Function; burn +Op Source; GDUTHCF37UX32EMANXIL2WOOVEDZ47GHBTT3DYKU6EKM37SOIZXM2FN7 diff --git a/stellarlib/tests/testcases/soroban_auth_create_smart_contract_v2.txt b/stellarlib/tests/testcases/soroban_auth_create_smart_contract_v2.txt index 8c60f8670..091085c23 100644 --- a/stellarlib/tests/testcases/soroban_auth_create_smart_contract_v2.txt +++ b/stellarlib/tests/testcases/soroban_auth_create_smart_contract_v2.txt @@ -3,7 +3,7 @@ Sig Exp Ledger; 34654367 Create Contract; Deploy contract from WASM hash: d99f1fee344eebd8307deb9ff42457d8db12ee53272918fe34380271c1d4100a Arg 1 of 2; GDAT5HWTGIU4TSSZ4752OUC4SABDLTLZFRPZUJ3D6LKBNEPA7V2CIG54 Arg 2 of 2; 12,000,000 -Nested Authorization; 1 +Authorization; 1 Contract ID; GB42LIJ3V5KXCY32EFL4NL73OSI5PRCFJ3WNFMFX4QHGOAR7BFX2YC34 Function; __constructor Arg 1 of 2; GDAT5HWTGIU4TSSZ4752OUC4SABDLTLZFRPZUJ3D6LKBNEPA7V2CIG54 diff --git a/stellarlib/tests/testcases/soroban_auth_invoke_contract.txt b/stellarlib/tests/testcases/soroban_auth_invoke_contract.txt index ea459bb3b..20e739bd8 100644 --- a/stellarlib/tests/testcases/soroban_auth_invoke_contract.txt +++ b/stellarlib/tests/testcases/soroban_auth_invoke_contract.txt @@ -5,11 +5,11 @@ Function; transfer Arg 1 of 3; GCWNBLOHPARYAAF5W25NELURTERYS732Q7RRBTXRKBPGYCYLOFKCLKKA Arg 2 of 3; GB42LIJ3V5KXCY32EFL4NL73OSI5PRCFJ3WNFMFX4QHGOAR7BFX2YC34 Arg 3 of 3; 10,356,000,000 -Nested Authorization; 1 +Authorization; 1 Transfer; 1,234.56 USDC@CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75 From; GCWNBLOHPARYAAF5W25NELURTERYS732Q7RRBTXRKBPGYCYLOFKCLKKA To; GB42LIJ3V5KXCY32EFL4NL73OSI5PRCFJ3WNFMFX4QHGOAR7BFX2YC34 -Nested Authorization; 2 +Authorization; 2 Contract ID; CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA Function; demofunc Arg 1 of 3; GCWNBLOHPARYAAF5W25NELURTERYS732Q7RRBTXRKBPGYCYLOFKCLKKA diff --git a/stellarlib/tests/testcases/soroban_auth_invoke_contract_with_complex_sub_invocation.txt b/stellarlib/tests/testcases/soroban_auth_invoke_contract_with_complex_sub_invocation.txt index 835de675a..5f9aad75a 100644 --- a/stellarlib/tests/testcases/soroban_auth_invoke_contract_with_complex_sub_invocation.txt +++ b/stellarlib/tests/testcases/soroban_auth_invoke_contract_with_complex_sub_invocation.txt @@ -3,47 +3,47 @@ Sig Exp Ledger; 34654367 Contract ID; CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC Function; func0 Arg 1 of 1; 10,356,000,000 -Nested Authorization; 1 +Authorization; 1 Contract ID; CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC Function; func1 Arg 1 of 1; 10,356,000,000 -Nested Authorization; 2 +Authorization; 2 Contract ID; CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC Function; func2 Arg 1 of 1; 10,356,000,000 -Nested Authorization; 2-1 +Authorization; 2-1 Contract ID; CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC Function; func3 Arg 1 of 1; 10,356,000,000 -Nested Authorization; 2-1-1 +Authorization; 2-1-1 Contract ID; CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC Function; func4 Arg 1 of 1; 10,356,000,000 -Nested Authorization; 2-1-2 +Authorization; 2-1-2 Contract ID; CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC Function; func5 Arg 1 of 1; 10,356,000,000 -Nested Authorization; 2-1-2-1 +Authorization; 2-1-2-1 Contract ID; CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC Function; func6 Arg 1 of 1; 10,356,000,000 -Nested Authorization; 2-1-2-1-1 +Authorization; 2-1-2-1-1 Contract ID; CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC Function; func7 Arg 1 of 1; 10,356,000,000 -Nested Authorization; 2-1-2-1-2 +Authorization; 2-1-2-1-2 Contract ID; CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC Function; func8 Arg 1 of 1; 10,356,000,000 -Nested Authorization; 2-2 +Authorization; 2-2 Contract ID; CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC Function; func9 Arg 1 of 1; 10,356,000,000 -Nested Authorization; 2-2-1 +Authorization; 2-2-1 Contract ID; CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC Function; func10 Arg 1 of 1; 10,356,000,000 -Nested Authorization; 2-2-2 +Authorization; 2-2-2 Contract ID; CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC Function; func11 Arg 1 of 1; 10,356,000,000 diff --git a/stellarlib/tests/testcases/soroban_auth_invoke_contract_without_args.txt b/stellarlib/tests/testcases/soroban_auth_invoke_contract_without_args.txt index f64d2f2e5..8a4bc4c29 100644 --- a/stellarlib/tests/testcases/soroban_auth_invoke_contract_without_args.txt +++ b/stellarlib/tests/testcases/soroban_auth_invoke_contract_without_args.txt @@ -2,13 +2,13 @@ Nonce; 1232432453 Sig Exp Ledger; 34654367 Contract ID; CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC Function; testfunc -Nested Authorization; 1 +Authorization; 1 Contract ID; CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC Function; transfer Arg 1 of 3; GCWNBLOHPARYAAF5W25NELURTERYS732Q7RRBTXRKBPGYCYLOFKCLKKA Arg 2 of 3; GB42LIJ3V5KXCY32EFL4NL73OSI5PRCFJ3WNFMFX4QHGOAR7BFX2YC34 Arg 3 of 3; 10,356,000,000 -Nested Authorization; 2 +Authorization; 2 Contract ID; CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC Function; transfer Arg 1 of 3; GCWNBLOHPARYAAF5W25NELURTERYS732Q7RRBTXRKBPGYCYLOFKCLKKA diff --git a/tests/snapshots/apex_p/test_app_mainmenu/00003.png b/tests/snapshots/apex_p/test_app_mainmenu/00003.png index 568ceb3ee..68031794e 100644 Binary files a/tests/snapshots/apex_p/test_app_mainmenu/00003.png and b/tests/snapshots/apex_p/test_app_mainmenu/00003.png differ diff --git a/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_create_smart_contract_v2/00002.png b/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_create_smart_contract_v2/00002.png index 90e9624ab..98a49d463 100644 Binary files a/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_create_smart_contract_v2/00002.png and b/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_create_smart_contract_v2/00002.png differ diff --git a/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract/00003.png b/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract/00003.png index d7c35ac19..86efdcc43 100644 Binary files a/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract/00003.png and b/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract/00003.png differ diff --git a/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract/00005.png b/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract/00005.png index 65f3948ce..fcd168773 100644 Binary files a/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract/00005.png and b/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract/00005.png differ diff --git a/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00002.png b/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00002.png index d5d41eaea..0faa2ca3c 100644 Binary files a/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00002.png and b/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00002.png differ diff --git a/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00003.png b/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00003.png index c3f22ceb6..de94f87a9 100644 Binary files a/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00003.png and b/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00003.png differ diff --git a/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00005.png b/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00005.png index 853a8418b..cb2cb6132 100644 Binary files a/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00005.png and b/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00005.png differ diff --git a/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00006.png b/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00006.png index ff3d13e6d..d5157e0e5 100644 Binary files a/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00006.png and b/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00006.png differ diff --git a/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00007.png b/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00007.png index bd8c50f8f..31ceaae96 100644 Binary files a/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00007.png and b/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00007.png differ diff --git a/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00009.png b/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00009.png index 03d64c61a..edf235b60 100644 Binary files a/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00009.png and b/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00009.png differ diff --git a/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00010.png b/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00010.png index ac849ae7f..9d8fb5c60 100644 Binary files a/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00010.png and b/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00010.png differ diff --git a/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00011.png b/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00011.png index cbe80b3ad..44645b212 100644 Binary files a/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00011.png and b/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00011.png differ diff --git a/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00013.png b/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00013.png index a772f79a1..cd7d8a0f6 100644 Binary files a/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00013.png and b/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00013.png differ diff --git a/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00014.png b/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00014.png index 6896bb8a8..ce1f4cd2f 100644 Binary files a/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00014.png and b/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00014.png differ diff --git a/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00015.png b/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00015.png index c79304ee2..a78212f31 100644 Binary files a/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00015.png and b/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00015.png differ diff --git a/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_without_args/00002.png b/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_without_args/00002.png index 3ddd4d5f4..e7673827d 100644 Binary files a/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_without_args/00002.png and b/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_without_args/00002.png differ diff --git a/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_without_args/00004.png b/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_without_args/00004.png index 79cbdb974..249431b2a 100644 Binary files a/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_without_args/00004.png and b/tests/snapshots/apex_p/test_sign_soroban_auth_soroban_auth_invoke_contract_without_args/00004.png differ diff --git a/tests/snapshots/apex_p/test_sign_soroban_auth_with_nested_authorization_disabled/00000.png b/tests/snapshots/apex_p/test_sign_soroban_auth_with_authorization_details_disabled/00000.png similarity index 100% rename from tests/snapshots/apex_p/test_sign_soroban_auth_with_nested_authorization_disabled/00000.png rename to tests/snapshots/apex_p/test_sign_soroban_auth_with_authorization_details_disabled/00000.png diff --git a/tests/snapshots/apex_p/test_sign_soroban_auth_with_nested_authorization_disabled/00001.png b/tests/snapshots/apex_p/test_sign_soroban_auth_with_authorization_details_disabled/00001.png similarity index 100% rename from tests/snapshots/apex_p/test_sign_soroban_auth_with_nested_authorization_disabled/00001.png rename to tests/snapshots/apex_p/test_sign_soroban_auth_with_authorization_details_disabled/00001.png diff --git a/tests/snapshots/apex_p/test_sign_soroban_auth_with_nested_authorization_disabled/00002.png b/tests/snapshots/apex_p/test_sign_soroban_auth_with_authorization_details_disabled/00002.png similarity index 100% rename from tests/snapshots/apex_p/test_sign_soroban_auth_with_nested_authorization_disabled/00002.png rename to tests/snapshots/apex_p/test_sign_soroban_auth_with_authorization_details_disabled/00002.png diff --git a/tests/snapshots/apex_p/test_sign_soroban_auth_with_nested_authorization_disabled/00003.png b/tests/snapshots/apex_p/test_sign_soroban_auth_with_authorization_details_disabled/00003.png similarity index 100% rename from tests/snapshots/apex_p/test_sign_soroban_auth_with_nested_authorization_disabled/00003.png rename to tests/snapshots/apex_p/test_sign_soroban_auth_with_authorization_details_disabled/00003.png diff --git a/tests/snapshots/apex_p/test_sign_soroban_auth_with_nested_authorization_disabled/00004.png b/tests/snapshots/apex_p/test_sign_soroban_auth_with_authorization_details_disabled/00004.png similarity index 100% rename from tests/snapshots/apex_p/test_sign_soroban_auth_with_nested_authorization_disabled/00004.png rename to tests/snapshots/apex_p/test_sign_soroban_auth_with_authorization_details_disabled/00004.png diff --git a/tests/snapshots/apex_p/test_sign_soroban_auth_with_nested_authorization_disabled/00005.png b/tests/snapshots/apex_p/test_sign_soroban_auth_with_authorization_details_disabled/00005.png similarity index 100% rename from tests/snapshots/apex_p/test_sign_soroban_auth_with_nested_authorization_disabled/00005.png rename to tests/snapshots/apex_p/test_sign_soroban_auth_with_authorization_details_disabled/00005.png diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_approve_usdc/00000.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_approve_usdc/00000.png index 95cc823c9..ba089a751 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_approve_usdc/00000.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_approve_usdc/00000.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_approve_usdc/00001.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_approve_usdc/00001.png index 93eeb9d64..ee0f2f6d2 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_approve_usdc/00001.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_approve_usdc/00001.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_approve_usdc/00002.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_approve_usdc/00002.png index 97f58c957..a51e1aed2 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_approve_usdc/00002.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_approve_usdc/00002.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_approve_usdc/00003.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_approve_usdc/00003.png index 50ab1bdca..16fea7d6d 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_approve_usdc/00003.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_approve_usdc/00003.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_approve_usdc/00004.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_approve_usdc/00004.png index 2a9a9952c..164bfbfbb 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_approve_usdc/00004.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_approve_usdc/00004.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_approve_usdc/00005.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_approve_usdc/00005.png index 4aba0a2bc..71fe7c0a3 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_approve_usdc/00005.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_approve_usdc/00005.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_approve_usdc/00006.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_approve_usdc/00006.png index 0822d9606..7c7119b90 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_approve_usdc/00006.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_approve_usdc/00006.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_with_nested_authorization_disabled/00004.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_approve_usdc/00007.png similarity index 100% rename from tests/snapshots/apex_p/test_sign_tx_with_nested_authorization_disabled/00004.png rename to tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_approve_usdc/00007.png diff --git a/tests/snapshots/apex_p/test_sign_tx_with_nested_authorization_disabled/00005.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_approve_usdc/00008.png similarity index 100% rename from tests/snapshots/apex_p/test_sign_tx_with_nested_authorization_disabled/00005.png rename to tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_approve_usdc/00008.png diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_approve/00000.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_approve/00000.png index 8308f50d3..cf2c78cd6 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_approve/00000.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_approve/00000.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_approve/00001.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_approve/00001.png index 6cdc4fbcd..6d4d0d008 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_approve/00001.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_approve/00001.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_approve/00002.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_approve/00002.png index 82e8243de..c8bd9db01 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_approve/00002.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_approve/00002.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_approve/00003.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_approve/00003.png index 590afc180..1fe1540ef 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_approve/00003.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_approve/00003.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_approve/00004.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_approve/00004.png index b4a0374c6..ad2de4e84 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_approve/00004.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_approve/00004.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_approve/00005.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_approve/00005.png index e86546020..aba1cd1ff 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_approve/00005.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_approve/00005.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_approve/00006.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_approve/00006.png index 4aba0a2bc..e4325fdaa 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_approve/00006.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_approve/00006.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_approve/00007.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_approve/00007.png index 0822d9606..d9e7a279b 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_approve/00007.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_approve/00007.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_approve/00008.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_approve/00008.png new file mode 100644 index 000000000..4aba0a2bc Binary files /dev/null and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_approve/00008.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_approve/00009.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_approve/00009.png new file mode 100644 index 000000000..0822d9606 Binary files /dev/null and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_approve/00009.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_transfer/00000.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_transfer/00000.png index 8308f50d3..cf2c78cd6 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_transfer/00000.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_transfer/00000.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_transfer/00001.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_transfer/00001.png index cd9dffb4c..8ed7c43fc 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_transfer/00001.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_transfer/00001.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_transfer/00002.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_transfer/00002.png index f90c3b945..9fc557840 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_transfer/00002.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_transfer/00002.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_transfer/00003.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_transfer/00003.png index 6c7562c71..6e349d9b7 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_transfer/00003.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_transfer/00003.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_transfer/00004.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_transfer/00004.png index b4a0374c6..d82f2bd1c 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_transfer/00004.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_transfer/00004.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_transfer/00005.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_transfer/00005.png index e86546020..8c236fcfc 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_transfer/00005.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_transfer/00005.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_transfer/00006.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_transfer/00006.png index 4aba0a2bc..7dabe1acf 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_transfer/00006.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_transfer/00006.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_transfer/00007.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_transfer/00007.png index 0822d9606..d9e7a279b 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_transfer/00007.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_transfer/00007.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_transfer/00008.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_transfer/00008.png new file mode 100644 index 000000000..4aba0a2bc Binary files /dev/null and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_transfer/00008.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_transfer/00009.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_transfer/00009.png new file mode 100644 index 000000000..0822d9606 Binary files /dev/null and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_asset_transfer/00009.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00001.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00001.png index 8cb3f5976..d9ae82a40 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00001.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00001.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00002.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00002.png index 444c153ab..b75d53b7f 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00002.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00002.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00000.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00000.png index 02b2c391d..7c45a8501 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00000.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00000.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00001.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00001.png index 6b5f4da71..d0314c53a 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00001.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00001.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00002.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00002.png index ae4250cb2..d86779186 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00002.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00002.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00003.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00003.png index 67b544e5b..3aa820ad2 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00003.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00003.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00004.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00004.png index 8360e2db1..42bde436e 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00004.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00004.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00005.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00005.png index eb2f56281..c59858d10 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00005.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00005.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00006.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00006.png index b324dbfeb..aac3e4d92 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00006.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00006.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00007.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00007.png index 24f17ba1a..e35786a3c 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00007.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00007.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00008.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00008.png index fad0e5b42..dc4c5a789 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00008.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00008.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00009.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00009.png index e633d0a8e..9b33b35d8 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00009.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00009.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00010.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00010.png index 3392cc2fb..c896faaac 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00010.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00010.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00011.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00011.png index 4aba0a2bc..5b3961976 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00011.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00011.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00012.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00012.png index 0822d9606..651f818e7 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00012.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00012.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00013.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00013.png new file mode 100644 index 000000000..8696cecb6 Binary files /dev/null and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00013.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00014.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00014.png new file mode 100644 index 000000000..4aba0a2bc Binary files /dev/null and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00014.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00015.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00015.png new file mode 100644 index 000000000..0822d9606 Binary files /dev/null and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00015.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00000.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00000.png index 319fe0407..27ef2675d 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00000.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00000.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00001.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00001.png index ec618dd8c..212061bcb 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00001.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00001.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00002.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00002.png index 22a57aba1..20ddc2579 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00002.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00002.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00003.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00003.png index 4aba0a2bc..e8a05d717 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00003.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00003.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00004.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00004.png index 0822d9606..4aba0a2bc 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00004.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00004.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00005.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00005.png new file mode 100644 index 000000000..0822d9606 Binary files /dev/null and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00005.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_usdc/00000.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_usdc/00000.png index f7d08f8e3..8308f50d3 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_usdc/00000.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_usdc/00000.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_usdc/00001.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_usdc/00001.png index 460e7a1ab..7a87f20f6 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_usdc/00001.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_usdc/00001.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_usdc/00002.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_usdc/00002.png index c325dd086..3026063b8 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_usdc/00002.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_usdc/00002.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_usdc/00003.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_usdc/00003.png index f3df73cd0..08e7c9820 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_usdc/00003.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_usdc/00003.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_usdc/00004.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_usdc/00004.png index 4aba0a2bc..e02bb2f9e 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_usdc/00004.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_usdc/00004.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_usdc/00005.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_usdc/00005.png index 0822d9606..e86546020 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_usdc/00005.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_usdc/00005.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_usdc/00006.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_usdc/00006.png new file mode 100644 index 000000000..4aba0a2bc Binary files /dev/null and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_usdc/00006.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_usdc/00007.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_usdc/00007.png new file mode 100644 index 000000000..0822d9606 Binary files /dev/null and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_usdc/00007.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_xlm/00000.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_xlm/00000.png index f7d08f8e3..8308f50d3 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_xlm/00000.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_xlm/00000.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_xlm/00001.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_xlm/00001.png index eea9f4b2d..6ed2032d8 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_xlm/00001.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_xlm/00001.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_xlm/00002.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_xlm/00002.png index c325dd086..3026063b8 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_xlm/00002.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_xlm/00002.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_xlm/00003.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_xlm/00003.png index f3df73cd0..2c7b3b554 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_xlm/00003.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_xlm/00003.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_xlm/00004.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_xlm/00004.png index 4aba0a2bc..e02bb2f9e 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_xlm/00004.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_xlm/00004.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_xlm/00005.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_xlm/00005.png index 0822d9606..e86546020 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_xlm/00005.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_xlm/00005.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_xlm/00006.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_xlm/00006.png new file mode 100644 index 000000000..4aba0a2bc Binary files /dev/null and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_xlm/00006.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_xlm/00007.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_xlm/00007.png new file mode 100644 index 000000000..0822d9606 Binary files /dev/null and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_transfer_xlm/00007.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00000.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00000.png index 995bb8a3a..d038ef67e 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00000.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00000.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00001.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00001.png index a3c181138..9db78a15f 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00001.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00001.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00002.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00002.png index 64db32e27..f3ef31eaa 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00002.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00002.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00003.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00003.png index e48480dd5..42687ae85 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00003.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00003.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00004.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00004.png index dc20e51b2..2c275b41f 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00004.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00004.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00005.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00005.png index a400f79a3..949d21b0f 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00005.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00005.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00006.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00006.png index 04acfeee0..b1aab401c 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00006.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00006.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00007.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00007.png index 798b99d37..d1027cec1 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00007.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00007.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00008.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00008.png index 446ba4d8e..4ae480168 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00008.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00008.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00009.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00009.png index 4aba0a2bc..ca60929a0 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00009.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00009.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00010.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00010.png index 0822d9606..6b7504978 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00010.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00010.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00011.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00011.png new file mode 100644 index 000000000..4aba0a2bc Binary files /dev/null and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00011.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00012.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00012.png new file mode 100644 index 000000000..0822d9606 Binary files /dev/null and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth/00012.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00000.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00000.png index ba089a751..cf2c78cd6 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00000.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00000.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00001.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00001.png index d051756cf..d659e5ca3 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00001.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00001.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00002.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00002.png index 8ceca673c..3b42c652c 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00002.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00002.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00003.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00003.png index e0f2df4d6..4b66cb29d 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00003.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00003.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00004.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00004.png index 7ab66c015..256ce6159 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00004.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00004.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00005.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00005.png index 79c5e8cd4..1b7af584d 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00005.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00005.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00006.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00006.png index 7c7119b90..535d391c5 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00006.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00006.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00007.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00007.png index 4aba0a2bc..d9e7a279b 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00007.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00007.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00008.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00008.png index 0822d9606..4aba0a2bc 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00008.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00008.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00009.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00009.png new file mode 100644 index 000000000..0822d9606 Binary files /dev/null and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00009.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00000.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00000.png index ba089a751..cf2c78cd6 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00000.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00000.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00001.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00001.png index d051756cf..d659e5ca3 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00001.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00001.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00002.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00002.png index 8ceca673c..3b42c652c 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00002.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00002.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00003.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00003.png index e0f2df4d6..4b66cb29d 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00003.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00003.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00004.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00004.png index 7ab66c015..256ce6159 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00004.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00004.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00005.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00005.png index cb506ba12..1b7af584d 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00005.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00005.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00006.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00006.png index 7c7119b90..55c5dff5b 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00006.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00006.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00007.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00007.png index 4aba0a2bc..d9e7a279b 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00007.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00007.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00008.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00008.png index 0822d9606..4aba0a2bc 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00008.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00008.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00009.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00009.png new file mode 100644 index 000000000..0822d9606 Binary files /dev/null and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00009.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00000.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00000.png new file mode 100644 index 000000000..cf2c78cd6 Binary files /dev/null and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00000.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00001.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00001.png new file mode 100644 index 000000000..d659e5ca3 Binary files /dev/null and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00001.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00002.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00002.png new file mode 100644 index 000000000..a231a67e7 Binary files /dev/null and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00002.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00003.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00003.png new file mode 100644 index 000000000..5399eb0a6 Binary files /dev/null and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00003.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00004.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00004.png new file mode 100644 index 000000000..16d2b15fe Binary files /dev/null and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00004.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00005.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00005.png new file mode 100644 index 000000000..a15d8b2d3 Binary files /dev/null and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00005.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00006.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00006.png new file mode 100644 index 000000000..3940cf600 Binary files /dev/null and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00006.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00007.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00007.png new file mode 100644 index 000000000..d9e7a279b Binary files /dev/null and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00007.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00008.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00008.png new file mode 100644 index 000000000..4aba0a2bc Binary files /dev/null and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00008.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00009.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00009.png new file mode 100644 index 000000000..0822d9606 Binary files /dev/null and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00009.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00000.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00000.png index ad4a22902..36b88491c 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00000.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00000.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00001.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00001.png index 93f025e6a..3baae5062 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00001.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00001.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00002.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00002.png index bbeef6d41..3a7d6db26 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00002.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00002.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00003.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00003.png index d10d5aa4c..c0150e68a 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00003.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00003.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00004.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00004.png index 5458fc1f9..afb037e05 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00004.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00004.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00005.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00005.png index 26f408cc9..a1dede04b 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00005.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00005.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00006.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00006.png index 15d0e2fe9..d5985c103 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00006.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00006.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00007.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00007.png index 997bbb2c2..ead11869d 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00007.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00007.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00008.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00008.png index e7588a08a..f7772f2a1 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00008.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00008.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00009.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00009.png index 04d38d020..73831fdf2 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00009.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00009.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00010.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00010.png index b1734a660..e594ad432 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00010.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00010.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00011.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00011.png index 434919475..5cd5d68c2 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00011.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00011.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00012.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00012.png index e3a39d227..250fc23dc 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00012.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00012.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00013.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00013.png index 0f97cc5a9..465f283e0 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00013.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00013.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00014.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00014.png index 7b71275e4..76e3a4a8b 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00014.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00014.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00015.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00015.png index 9408c4a7c..4894e72c2 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00015.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00015.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00016.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00016.png index b02747800..41db54c22 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00016.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00016.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00017.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00017.png index d43c9b3f0..779cf3591 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00017.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00017.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00018.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00018.png index 4aba0a2bc..0a9e0da9e 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00018.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00018.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00019.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00019.png index 0822d9606..61519c197 100644 Binary files a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00019.png and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00019.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00020.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00020.png new file mode 100644 index 000000000..4aba0a2bc Binary files /dev/null and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00020.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00021.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00021.png new file mode 100644 index 000000000..0822d9606 Binary files /dev/null and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00021.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00000.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00000.png new file mode 100644 index 000000000..995bb8a3a Binary files /dev/null and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00000.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00001.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00001.png new file mode 100644 index 000000000..a3c181138 Binary files /dev/null and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00001.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00002.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00002.png new file mode 100644 index 000000000..7c7364136 Binary files /dev/null and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00002.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00003.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00003.png new file mode 100644 index 000000000..73fc90a0d Binary files /dev/null and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00003.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00004.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00004.png new file mode 100644 index 000000000..95d19e002 Binary files /dev/null and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00004.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00005.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00005.png new file mode 100644 index 000000000..478232cea Binary files /dev/null and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00005.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00006.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00006.png new file mode 100644 index 000000000..f424a7cdd Binary files /dev/null and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00006.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00007.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00007.png new file mode 100644 index 000000000..379f34949 Binary files /dev/null and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00007.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00008.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00008.png new file mode 100644 index 000000000..446ba4d8e Binary files /dev/null and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00008.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00009.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00009.png new file mode 100644 index 000000000..4aba0a2bc Binary files /dev/null and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00009.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00010.png b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00010.png new file mode 100644 index 000000000..0822d9606 Binary files /dev/null and b/tests/snapshots/apex_p/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00010.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_with_nested_authorization_disabled/00000.png b/tests/snapshots/apex_p/test_sign_tx_with_authorization_details_disabled/00000.png similarity index 100% rename from tests/snapshots/apex_p/test_sign_tx_with_nested_authorization_disabled/00000.png rename to tests/snapshots/apex_p/test_sign_tx_with_authorization_details_disabled/00000.png diff --git a/tests/snapshots/apex_p/test_sign_tx_with_nested_authorization_disabled/00001.png b/tests/snapshots/apex_p/test_sign_tx_with_authorization_details_disabled/00001.png similarity index 100% rename from tests/snapshots/apex_p/test_sign_tx_with_nested_authorization_disabled/00001.png rename to tests/snapshots/apex_p/test_sign_tx_with_authorization_details_disabled/00001.png diff --git a/tests/snapshots/apex_p/test_sign_tx_with_nested_authorization_disabled/00002.png b/tests/snapshots/apex_p/test_sign_tx_with_authorization_details_disabled/00002.png similarity index 100% rename from tests/snapshots/apex_p/test_sign_tx_with_nested_authorization_disabled/00002.png rename to tests/snapshots/apex_p/test_sign_tx_with_authorization_details_disabled/00002.png diff --git a/tests/snapshots/apex_p/test_sign_tx_with_nested_authorization_disabled/00003.png b/tests/snapshots/apex_p/test_sign_tx_with_authorization_details_disabled/00003.png similarity index 100% rename from tests/snapshots/apex_p/test_sign_tx_with_nested_authorization_disabled/00003.png rename to tests/snapshots/apex_p/test_sign_tx_with_authorization_details_disabled/00003.png diff --git a/tests/snapshots/apex_p/test_sign_tx_with_authorization_details_disabled/00004.png b/tests/snapshots/apex_p/test_sign_tx_with_authorization_details_disabled/00004.png new file mode 100644 index 000000000..4aba0a2bc Binary files /dev/null and b/tests/snapshots/apex_p/test_sign_tx_with_authorization_details_disabled/00004.png differ diff --git a/tests/snapshots/apex_p/test_sign_tx_with_authorization_details_disabled/00005.png b/tests/snapshots/apex_p/test_sign_tx_with_authorization_details_disabled/00005.png new file mode 100644 index 000000000..0822d9606 Binary files /dev/null and b/tests/snapshots/apex_p/test_sign_tx_with_authorization_details_disabled/00005.png differ diff --git a/tests/snapshots/flex/test_app_mainmenu/00003.png b/tests/snapshots/flex/test_app_mainmenu/00003.png index e56b525b3..e53892113 100644 Binary files a/tests/snapshots/flex/test_app_mainmenu/00003.png and b/tests/snapshots/flex/test_app_mainmenu/00003.png differ diff --git a/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_create_smart_contract_v2/00002.png b/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_create_smart_contract_v2/00002.png index 0b867f597..8d3675580 100644 Binary files a/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_create_smart_contract_v2/00002.png and b/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_create_smart_contract_v2/00002.png differ diff --git a/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract/00003.png b/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract/00003.png index ce1eb07fa..e36a3b136 100644 Binary files a/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract/00003.png and b/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract/00003.png differ diff --git a/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract/00005.png b/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract/00005.png index 8d711122b..2060104fc 100644 Binary files a/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract/00005.png and b/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract/00005.png differ diff --git a/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00002.png b/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00002.png index 8fbced343..19971aff2 100644 Binary files a/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00002.png and b/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00002.png differ diff --git a/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00003.png b/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00003.png index 23f5e0ef3..c8630489b 100644 Binary files a/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00003.png and b/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00003.png differ diff --git a/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00005.png b/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00005.png index ddaebe643..294589ad1 100644 Binary files a/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00005.png and b/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00005.png differ diff --git a/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00006.png b/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00006.png index 597edee33..49db9d222 100644 Binary files a/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00006.png and b/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00006.png differ diff --git a/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00007.png b/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00007.png index 075e4dd67..d6573fa0e 100644 Binary files a/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00007.png and b/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00007.png differ diff --git a/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00009.png b/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00009.png index c6be25253..26b9f79d7 100644 Binary files a/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00009.png and b/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00009.png differ diff --git a/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00010.png b/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00010.png index 95c9f9314..cd0ee2241 100644 Binary files a/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00010.png and b/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00010.png differ diff --git a/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00011.png b/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00011.png index ed123aaa0..8c9e4a33c 100644 Binary files a/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00011.png and b/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00011.png differ diff --git a/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00013.png b/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00013.png index c762862db..86aec9ff5 100644 Binary files a/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00013.png and b/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00013.png differ diff --git a/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00014.png b/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00014.png index d5c89eb2b..b088fb323 100644 Binary files a/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00014.png and b/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00014.png differ diff --git a/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00015.png b/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00015.png index 8b2bb7ca3..3cf3bb52a 100644 Binary files a/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00015.png and b/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00015.png differ diff --git a/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_without_args/00002.png b/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_without_args/00002.png index ea4aaa48e..453d4f15c 100644 Binary files a/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_without_args/00002.png and b/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_without_args/00002.png differ diff --git a/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_without_args/00004.png b/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_without_args/00004.png index dc7be1da0..03eb70afa 100644 Binary files a/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_without_args/00004.png and b/tests/snapshots/flex/test_sign_soroban_auth_soroban_auth_invoke_contract_without_args/00004.png differ diff --git a/tests/snapshots/flex/test_sign_soroban_auth_with_nested_authorization_disabled/00000.png b/tests/snapshots/flex/test_sign_soroban_auth_with_authorization_details_disabled/00000.png similarity index 100% rename from tests/snapshots/flex/test_sign_soroban_auth_with_nested_authorization_disabled/00000.png rename to tests/snapshots/flex/test_sign_soroban_auth_with_authorization_details_disabled/00000.png diff --git a/tests/snapshots/flex/test_sign_soroban_auth_with_nested_authorization_disabled/00001.png b/tests/snapshots/flex/test_sign_soroban_auth_with_authorization_details_disabled/00001.png similarity index 100% rename from tests/snapshots/flex/test_sign_soroban_auth_with_nested_authorization_disabled/00001.png rename to tests/snapshots/flex/test_sign_soroban_auth_with_authorization_details_disabled/00001.png diff --git a/tests/snapshots/flex/test_sign_soroban_auth_with_nested_authorization_disabled/00002.png b/tests/snapshots/flex/test_sign_soroban_auth_with_authorization_details_disabled/00002.png similarity index 100% rename from tests/snapshots/flex/test_sign_soroban_auth_with_nested_authorization_disabled/00002.png rename to tests/snapshots/flex/test_sign_soroban_auth_with_authorization_details_disabled/00002.png diff --git a/tests/snapshots/flex/test_sign_soroban_auth_with_nested_authorization_disabled/00003.png b/tests/snapshots/flex/test_sign_soroban_auth_with_authorization_details_disabled/00003.png similarity index 100% rename from tests/snapshots/flex/test_sign_soroban_auth_with_nested_authorization_disabled/00003.png rename to tests/snapshots/flex/test_sign_soroban_auth_with_authorization_details_disabled/00003.png diff --git a/tests/snapshots/flex/test_sign_soroban_auth_with_nested_authorization_disabled/00004.png b/tests/snapshots/flex/test_sign_soroban_auth_with_authorization_details_disabled/00004.png similarity index 100% rename from tests/snapshots/flex/test_sign_soroban_auth_with_nested_authorization_disabled/00004.png rename to tests/snapshots/flex/test_sign_soroban_auth_with_authorization_details_disabled/00004.png diff --git a/tests/snapshots/flex/test_sign_soroban_auth_with_nested_authorization_disabled/00005.png b/tests/snapshots/flex/test_sign_soroban_auth_with_authorization_details_disabled/00005.png similarity index 100% rename from tests/snapshots/flex/test_sign_soroban_auth_with_nested_authorization_disabled/00005.png rename to tests/snapshots/flex/test_sign_soroban_auth_with_authorization_details_disabled/00005.png diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_approve_usdc/00000.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_approve_usdc/00000.png index d093ea362..2758994ee 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_approve_usdc/00000.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_approve_usdc/00000.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_approve_usdc/00001.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_approve_usdc/00001.png index 1d3a21f8f..75936435d 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_approve_usdc/00001.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_approve_usdc/00001.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_approve_usdc/00002.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_approve_usdc/00002.png index dbd30a019..010ce3445 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_approve_usdc/00002.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_approve_usdc/00002.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_approve_usdc/00003.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_approve_usdc/00003.png index 7adba8321..ed316e1ff 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_approve_usdc/00003.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_approve_usdc/00003.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_approve_usdc/00004.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_approve_usdc/00004.png index 1620136d5..e1a6d63b6 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_approve_usdc/00004.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_approve_usdc/00004.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_approve_usdc/00005.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_approve_usdc/00005.png index 435aa78bd..ee5e6242c 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_approve_usdc/00005.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_approve_usdc/00005.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_approve_usdc/00006.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_approve_usdc/00006.png index 20bcfbbcd..382d1e52d 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_approve_usdc/00006.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_approve_usdc/00006.png differ diff --git a/tests/snapshots/flex/test_sign_tx_with_nested_authorization_disabled/00004.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_approve_usdc/00007.png similarity index 100% rename from tests/snapshots/flex/test_sign_tx_with_nested_authorization_disabled/00004.png rename to tests/snapshots/flex/test_sign_tx_op_invoke_host_function_approve_usdc/00007.png diff --git a/tests/snapshots/flex/test_sign_tx_with_nested_authorization_disabled/00005.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_approve_usdc/00008.png similarity index 100% rename from tests/snapshots/flex/test_sign_tx_with_nested_authorization_disabled/00005.png rename to tests/snapshots/flex/test_sign_tx_op_invoke_host_function_approve_usdc/00008.png diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_approve/00000.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_approve/00000.png index 1bb9c5555..697767390 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_approve/00000.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_approve/00000.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_approve/00001.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_approve/00001.png index 390753369..68e339751 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_approve/00001.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_approve/00001.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_approve/00002.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_approve/00002.png index 9a4ebe70c..102357514 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_approve/00002.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_approve/00002.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_approve/00003.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_approve/00003.png index fcac2aa79..0c9b2440c 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_approve/00003.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_approve/00003.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_approve/00004.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_approve/00004.png index cb4bbaf18..cb7707b0a 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_approve/00004.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_approve/00004.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_approve/00005.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_approve/00005.png index 4879532f1..179099c29 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_approve/00005.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_approve/00005.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_approve/00006.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_approve/00006.png index 435aa78bd..0310f548b 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_approve/00006.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_approve/00006.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_approve/00007.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_approve/00007.png index 20bcfbbcd..4f6c7c483 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_approve/00007.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_approve/00007.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_approve/00008.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_approve/00008.png new file mode 100644 index 000000000..435aa78bd Binary files /dev/null and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_approve/00008.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_approve/00009.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_approve/00009.png new file mode 100644 index 000000000..20bcfbbcd Binary files /dev/null and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_approve/00009.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_transfer/00000.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_transfer/00000.png index 1bb9c5555..697767390 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_transfer/00000.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_transfer/00000.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_transfer/00001.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_transfer/00001.png index 21f231241..0465168e9 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_transfer/00001.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_transfer/00001.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_transfer/00002.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_transfer/00002.png index ff256278d..b54ef0c6d 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_transfer/00002.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_transfer/00002.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_transfer/00003.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_transfer/00003.png index bfacdaee2..f289cc593 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_transfer/00003.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_transfer/00003.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_transfer/00004.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_transfer/00004.png index cb4bbaf18..46e6c29b0 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_transfer/00004.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_transfer/00004.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_transfer/00005.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_transfer/00005.png index 4879532f1..d265447f4 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_transfer/00005.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_transfer/00005.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_transfer/00006.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_transfer/00006.png index 435aa78bd..435341752 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_transfer/00006.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_transfer/00006.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_transfer/00007.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_transfer/00007.png index 20bcfbbcd..4f6c7c483 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_transfer/00007.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_transfer/00007.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_transfer/00008.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_transfer/00008.png new file mode 100644 index 000000000..435aa78bd Binary files /dev/null and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_transfer/00008.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_transfer/00009.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_transfer/00009.png new file mode 100644 index 000000000..20bcfbbcd Binary files /dev/null and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_asset_transfer/00009.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00001.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00001.png index c32d13727..99dbbfb29 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00001.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00001.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00002.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00002.png index a68c7f5cf..8628c9e8b 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00002.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00002.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00000.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00000.png index 93eabe38e..5b02f8f8c 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00000.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00000.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00001.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00001.png index 8517e80c7..b81126db2 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00001.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00001.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00002.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00002.png index abdbe5e5e..bd1285a95 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00002.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00002.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00003.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00003.png index 69327aa5c..78133f39e 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00003.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00003.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00004.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00004.png index e94f36954..cd40a6d1e 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00004.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00004.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00005.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00005.png index e57644151..944bc38b1 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00005.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00005.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00006.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00006.png index 08ca69056..e7c6169a1 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00006.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00006.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00007.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00007.png index 569026120..bb10fef32 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00007.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00007.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00008.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00008.png index b331264f9..647e45ad8 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00008.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00008.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00009.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00009.png index d3ee1cb13..2db44adad 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00009.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00009.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00010.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00010.png index 51e6b76f1..d9c53eee5 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00010.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00010.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00011.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00011.png index 435aa78bd..1c99f522f 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00011.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00011.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00012.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00012.png index 20bcfbbcd..ec4ec2fd8 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00012.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00012.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00013.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00013.png new file mode 100644 index 000000000..435aa78bd Binary files /dev/null and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00013.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00014.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00014.png new file mode 100644 index 000000000..20bcfbbcd Binary files /dev/null and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00014.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00000.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00000.png index 338996a6e..310cf790d 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00000.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00000.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00001.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00001.png index b767c5de2..b18e53178 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00001.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00001.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00002.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00002.png index 9a225d98b..57d49a504 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00002.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00002.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00003.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00003.png index 435aa78bd..bd39fe0cc 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00003.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00003.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00004.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00004.png index 20bcfbbcd..435aa78bd 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00004.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00004.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00005.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00005.png new file mode 100644 index 000000000..20bcfbbcd Binary files /dev/null and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00005.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_usdc/00000.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_usdc/00000.png index 5119d947a..1bb9c5555 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_usdc/00000.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_usdc/00000.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_usdc/00001.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_usdc/00001.png index 6c6937829..88b5965bd 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_usdc/00001.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_usdc/00001.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_usdc/00002.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_usdc/00002.png index 54cb1c80d..11208cfe1 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_usdc/00002.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_usdc/00002.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_usdc/00003.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_usdc/00003.png index a97587e2c..b7f9a434e 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_usdc/00003.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_usdc/00003.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_usdc/00004.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_usdc/00004.png index 435aa78bd..af77132c3 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_usdc/00004.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_usdc/00004.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_usdc/00005.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_usdc/00005.png index 20bcfbbcd..4879532f1 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_usdc/00005.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_usdc/00005.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_usdc/00006.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_usdc/00006.png new file mode 100644 index 000000000..435aa78bd Binary files /dev/null and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_usdc/00006.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_usdc/00007.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_usdc/00007.png new file mode 100644 index 000000000..20bcfbbcd Binary files /dev/null and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_usdc/00007.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_xlm/00000.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_xlm/00000.png index 5119d947a..1bb9c5555 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_xlm/00000.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_xlm/00000.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_xlm/00001.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_xlm/00001.png index 2cc3f6506..858aed396 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_xlm/00001.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_xlm/00001.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_xlm/00002.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_xlm/00002.png index 54cb1c80d..11208cfe1 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_xlm/00002.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_xlm/00002.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_xlm/00003.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_xlm/00003.png index a97587e2c..edcbd8b44 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_xlm/00003.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_xlm/00003.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_xlm/00004.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_xlm/00004.png index 435aa78bd..af77132c3 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_xlm/00004.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_xlm/00004.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_xlm/00005.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_xlm/00005.png index 20bcfbbcd..4879532f1 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_xlm/00005.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_xlm/00005.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_xlm/00006.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_xlm/00006.png new file mode 100644 index 000000000..435aa78bd Binary files /dev/null and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_xlm/00006.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_xlm/00007.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_xlm/00007.png new file mode 100644 index 000000000..20bcfbbcd Binary files /dev/null and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_transfer_xlm/00007.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00000.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00000.png index 7a8ccc5f4..12dbca183 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00000.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00000.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00001.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00001.png index a531aa08a..efbc0a52d 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00001.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00001.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00002.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00002.png index 25cba4555..29922989c 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00002.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00002.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00003.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00003.png index 8588bffea..cbff2d509 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00003.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00003.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00004.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00004.png index 9d1db62dd..bb18251eb 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00004.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00004.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00005.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00005.png index 625332a08..43d9118f5 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00005.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00005.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00006.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00006.png index 5945ec2ed..890b582fd 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00006.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00006.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00007.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00007.png index 917ed30ac..18e9e1c5a 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00007.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00007.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00008.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00008.png index e8ee3cf06..46ca0ecc9 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00008.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00008.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00009.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00009.png index 435aa78bd..095f52765 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00009.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00009.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00010.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00010.png index 20bcfbbcd..b4f453ad4 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00010.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00010.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00011.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00011.png new file mode 100644 index 000000000..435aa78bd Binary files /dev/null and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00011.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00012.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00012.png new file mode 100644 index 000000000..20bcfbbcd Binary files /dev/null and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth/00012.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00000.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00000.png index 2758994ee..697767390 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00000.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00000.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00001.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00001.png index 1a1ada8ed..139611498 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00001.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00001.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00002.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00002.png index 85009bfaf..2ae0eac22 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00002.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00002.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00003.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00003.png index c0c58278e..97fa48a59 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00003.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00003.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00004.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00004.png index dcbc9e725..707e98bdb 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00004.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00004.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00005.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00005.png index e61859f08..07d4cb0cf 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00005.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00005.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00006.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00006.png index 382d1e52d..cd0192b7e 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00006.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00006.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00007.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00007.png index 435aa78bd..4f6c7c483 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00007.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00007.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00008.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00008.png index 20bcfbbcd..435aa78bd 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00008.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00008.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00009.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00009.png new file mode 100644 index 000000000..20bcfbbcd Binary files /dev/null and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00009.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00000.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00000.png index 2758994ee..697767390 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00000.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00000.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00001.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00001.png index 1a1ada8ed..139611498 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00001.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00001.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00002.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00002.png index 85009bfaf..2ae0eac22 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00002.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00002.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00003.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00003.png index c0c58278e..97fa48a59 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00003.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00003.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00004.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00004.png index dcbc9e725..707e98bdb 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00004.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00004.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00005.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00005.png index 1bac31812..07d4cb0cf 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00005.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00005.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00006.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00006.png index 382d1e52d..139260b7c 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00006.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00006.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00007.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00007.png index 435aa78bd..4f6c7c483 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00007.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00007.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00008.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00008.png index 20bcfbbcd..435aa78bd 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00008.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00008.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00009.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00009.png new file mode 100644 index 000000000..20bcfbbcd Binary files /dev/null and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00009.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00000.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00000.png new file mode 100644 index 000000000..2758994ee Binary files /dev/null and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00000.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00001.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00001.png new file mode 100644 index 000000000..1a1ada8ed Binary files /dev/null and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00001.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00002.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00002.png new file mode 100644 index 000000000..c659501b8 Binary files /dev/null and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00002.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00003.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00003.png new file mode 100644 index 000000000..83a5d35c3 Binary files /dev/null and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00003.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00004.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00004.png new file mode 100644 index 000000000..5f5031e27 Binary files /dev/null and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00004.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00005.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00005.png new file mode 100644 index 000000000..fdde1aac3 Binary files /dev/null and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00005.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00006.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00006.png new file mode 100644 index 000000000..382d1e52d Binary files /dev/null and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00006.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00007.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00007.png new file mode 100644 index 000000000..435aa78bd Binary files /dev/null and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00007.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00008.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00008.png new file mode 100644 index 000000000..20bcfbbcd Binary files /dev/null and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00008.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00000.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00000.png index ad43bbf16..ce697764b 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00000.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00000.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00001.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00001.png index cbdf3122d..809a3cbb8 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00001.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00001.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00002.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00002.png index df545cd69..940478a02 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00002.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00002.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00003.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00003.png index 18f81ea7b..7cc37a789 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00003.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00003.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00004.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00004.png index 7d4d45685..2f1b258b4 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00004.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00004.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00005.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00005.png index b2a3628b2..25cea2839 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00005.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00005.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00006.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00006.png index d261df5d7..b3e6ea75f 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00006.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00006.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00007.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00007.png index b533fc010..b68568e2c 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00007.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00007.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00008.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00008.png index f71aa8101..6815d0abf 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00008.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00008.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00009.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00009.png index a9ea32e66..88b28f5af 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00009.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00009.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00010.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00010.png index 79d357754..844ed02df 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00010.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00010.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00011.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00011.png index a8a7a8f54..7119ae062 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00011.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00011.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00012.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00012.png index b8d021a47..99b92bbe5 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00012.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00012.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00013.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00013.png index 32c5aeb0e..9ddb70330 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00013.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00013.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00014.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00014.png index 3d45d3fae..6f01d82c7 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00014.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00014.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00015.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00015.png index 8d5e42ddf..019d7c125 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00015.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00015.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00016.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00016.png index a4cd10aeb..41f6364c2 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00016.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00016.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00017.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00017.png index 2fcda7177..e40e96411 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00017.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00017.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00018.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00018.png index 435aa78bd..528082012 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00018.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00018.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00019.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00019.png index 20bcfbbcd..667bd8ae9 100644 Binary files a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00019.png and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00019.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00020.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00020.png new file mode 100644 index 000000000..435aa78bd Binary files /dev/null and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00020.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00021.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00021.png new file mode 100644 index 000000000..20bcfbbcd Binary files /dev/null and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00021.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00000.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00000.png new file mode 100644 index 000000000..7a8ccc5f4 Binary files /dev/null and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00000.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00001.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00001.png new file mode 100644 index 000000000..a531aa08a Binary files /dev/null and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00001.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00002.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00002.png new file mode 100644 index 000000000..c25b84972 Binary files /dev/null and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00002.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00003.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00003.png new file mode 100644 index 000000000..29a5ecbda Binary files /dev/null and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00003.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00004.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00004.png new file mode 100644 index 000000000..c5473887d Binary files /dev/null and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00004.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00005.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00005.png new file mode 100644 index 000000000..8a0333656 Binary files /dev/null and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00005.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00006.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00006.png new file mode 100644 index 000000000..58fe40d7f Binary files /dev/null and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00006.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00007.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00007.png new file mode 100644 index 000000000..70ddf4cb3 Binary files /dev/null and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00007.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00008.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00008.png new file mode 100644 index 000000000..e8ee3cf06 Binary files /dev/null and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00008.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00009.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00009.png new file mode 100644 index 000000000..435aa78bd Binary files /dev/null and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00009.png differ diff --git a/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00010.png b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00010.png new file mode 100644 index 000000000..20bcfbbcd Binary files /dev/null and b/tests/snapshots/flex/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00010.png differ diff --git a/tests/snapshots/flex/test_sign_tx_with_nested_authorization_disabled/00000.png b/tests/snapshots/flex/test_sign_tx_with_authorization_details_disabled/00000.png similarity index 100% rename from tests/snapshots/flex/test_sign_tx_with_nested_authorization_disabled/00000.png rename to tests/snapshots/flex/test_sign_tx_with_authorization_details_disabled/00000.png diff --git a/tests/snapshots/flex/test_sign_tx_with_nested_authorization_disabled/00001.png b/tests/snapshots/flex/test_sign_tx_with_authorization_details_disabled/00001.png similarity index 100% rename from tests/snapshots/flex/test_sign_tx_with_nested_authorization_disabled/00001.png rename to tests/snapshots/flex/test_sign_tx_with_authorization_details_disabled/00001.png diff --git a/tests/snapshots/flex/test_sign_tx_with_nested_authorization_disabled/00002.png b/tests/snapshots/flex/test_sign_tx_with_authorization_details_disabled/00002.png similarity index 100% rename from tests/snapshots/flex/test_sign_tx_with_nested_authorization_disabled/00002.png rename to tests/snapshots/flex/test_sign_tx_with_authorization_details_disabled/00002.png diff --git a/tests/snapshots/flex/test_sign_tx_with_nested_authorization_disabled/00003.png b/tests/snapshots/flex/test_sign_tx_with_authorization_details_disabled/00003.png similarity index 100% rename from tests/snapshots/flex/test_sign_tx_with_nested_authorization_disabled/00003.png rename to tests/snapshots/flex/test_sign_tx_with_authorization_details_disabled/00003.png diff --git a/tests/snapshots/flex/test_sign_tx_with_authorization_details_disabled/00004.png b/tests/snapshots/flex/test_sign_tx_with_authorization_details_disabled/00004.png new file mode 100644 index 000000000..435aa78bd Binary files /dev/null and b/tests/snapshots/flex/test_sign_tx_with_authorization_details_disabled/00004.png differ diff --git a/tests/snapshots/flex/test_sign_tx_with_authorization_details_disabled/00005.png b/tests/snapshots/flex/test_sign_tx_with_authorization_details_disabled/00005.png new file mode 100644 index 000000000..20bcfbbcd Binary files /dev/null and b/tests/snapshots/flex/test_sign_tx_with_authorization_details_disabled/00005.png differ diff --git a/tests/snapshots/nanosp/test_app_mainmenu/00006.png b/tests/snapshots/nanosp/test_app_mainmenu/00006.png index a4cd54a1a..2be5b6add 100644 Binary files a/tests/snapshots/nanosp/test_app_mainmenu/00006.png and b/tests/snapshots/nanosp/test_app_mainmenu/00006.png differ diff --git a/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_create_smart_contract_v2/00007.png b/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_create_smart_contract_v2/00007.png index c357dc594..748afdf92 100644 Binary files a/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_create_smart_contract_v2/00007.png and b/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_create_smart_contract_v2/00007.png differ diff --git a/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract/00010.png b/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract/00010.png index c357dc594..748afdf92 100644 Binary files a/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract/00010.png and b/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract/00010.png differ diff --git a/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract/00017.png b/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract/00017.png index e03abcbc3..a1299b38b 100644 Binary files a/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract/00017.png and b/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract/00017.png differ diff --git a/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00006.png b/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00006.png index c357dc594..748afdf92 100644 Binary files a/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00006.png and b/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00006.png differ diff --git a/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00011.png b/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00011.png index e03abcbc3..a1299b38b 100644 Binary files a/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00011.png and b/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00011.png differ diff --git a/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00016.png b/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00016.png index 6416b00ff..74f765f3e 100644 Binary files a/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00016.png and b/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00016.png differ diff --git a/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00021.png b/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00021.png index 8e9766e8f..4c67de259 100644 Binary files a/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00021.png and b/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00021.png differ diff --git a/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00026.png b/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00026.png index 0e5c7d06b..f4cbbddd2 100644 Binary files a/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00026.png and b/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00026.png differ diff --git a/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00031.png b/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00031.png index d862d92f4..b1b8f7426 100644 Binary files a/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00031.png and b/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00031.png differ diff --git a/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00036.png b/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00036.png index 8defc8834..26f889254 100644 Binary files a/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00036.png and b/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00036.png differ diff --git a/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00041.png b/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00041.png index 3957d85a3..db73427d6 100644 Binary files a/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00041.png and b/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00041.png differ diff --git a/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00046.png b/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00046.png index c519be8fe..1f9070a51 100644 Binary files a/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00046.png and b/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00046.png differ diff --git a/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00051.png b/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00051.png index 47f2c7af6..73704c369 100644 Binary files a/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00051.png and b/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00051.png differ diff --git a/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00056.png b/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00056.png index 2eb9f6379..8d1fc56ac 100644 Binary files a/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00056.png and b/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00056.png differ diff --git a/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_without_args/00005.png b/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_without_args/00005.png index c357dc594..748afdf92 100644 Binary files a/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_without_args/00005.png and b/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_without_args/00005.png differ diff --git a/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_without_args/00014.png b/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_without_args/00014.png index e03abcbc3..a1299b38b 100644 Binary files a/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_without_args/00014.png and b/tests/snapshots/nanosp/test_sign_soroban_auth_soroban_auth_invoke_contract_without_args/00014.png differ diff --git a/tests/snapshots/nanosp/test_sign_soroban_auth_with_nested_authorization_disabled/00000.png b/tests/snapshots/nanosp/test_sign_soroban_auth_with_authorization_details_disabled/00000.png similarity index 100% rename from tests/snapshots/nanosp/test_sign_soroban_auth_with_nested_authorization_disabled/00000.png rename to tests/snapshots/nanosp/test_sign_soroban_auth_with_authorization_details_disabled/00000.png diff --git a/tests/snapshots/nanosp/test_sign_soroban_auth_with_nested_authorization_disabled/00001.png b/tests/snapshots/nanosp/test_sign_soroban_auth_with_authorization_details_disabled/00001.png similarity index 100% rename from tests/snapshots/nanosp/test_sign_soroban_auth_with_nested_authorization_disabled/00001.png rename to tests/snapshots/nanosp/test_sign_soroban_auth_with_authorization_details_disabled/00001.png diff --git a/tests/snapshots/nanosp/test_sign_soroban_auth_with_nested_authorization_disabled/00002.png b/tests/snapshots/nanosp/test_sign_soroban_auth_with_authorization_details_disabled/00002.png similarity index 100% rename from tests/snapshots/nanosp/test_sign_soroban_auth_with_nested_authorization_disabled/00002.png rename to tests/snapshots/nanosp/test_sign_soroban_auth_with_authorization_details_disabled/00002.png diff --git a/tests/snapshots/nanosp/test_sign_soroban_auth_with_nested_authorization_disabled/00003.png b/tests/snapshots/nanosp/test_sign_soroban_auth_with_authorization_details_disabled/00003.png similarity index 100% rename from tests/snapshots/nanosp/test_sign_soroban_auth_with_nested_authorization_disabled/00003.png rename to tests/snapshots/nanosp/test_sign_soroban_auth_with_authorization_details_disabled/00003.png diff --git a/tests/snapshots/nanosp/test_sign_soroban_auth_with_nested_authorization_disabled/00004.png b/tests/snapshots/nanosp/test_sign_soroban_auth_with_authorization_details_disabled/00004.png similarity index 100% rename from tests/snapshots/nanosp/test_sign_soroban_auth_with_nested_authorization_disabled/00004.png rename to tests/snapshots/nanosp/test_sign_soroban_auth_with_authorization_details_disabled/00004.png diff --git a/tests/snapshots/nanosp/test_sign_soroban_auth_with_nested_authorization_disabled/00005.png b/tests/snapshots/nanosp/test_sign_soroban_auth_with_authorization_details_disabled/00005.png similarity index 100% rename from tests/snapshots/nanosp/test_sign_soroban_auth_with_nested_authorization_disabled/00005.png rename to tests/snapshots/nanosp/test_sign_soroban_auth_with_authorization_details_disabled/00005.png diff --git a/tests/snapshots/nanosp/test_sign_soroban_auth_with_nested_authorization_disabled/00006.png b/tests/snapshots/nanosp/test_sign_soroban_auth_with_authorization_details_disabled/00006.png similarity index 100% rename from tests/snapshots/nanosp/test_sign_soroban_auth_with_nested_authorization_disabled/00006.png rename to tests/snapshots/nanosp/test_sign_soroban_auth_with_authorization_details_disabled/00006.png diff --git a/tests/snapshots/nanosp/test_sign_soroban_auth_with_nested_authorization_disabled/00007.png b/tests/snapshots/nanosp/test_sign_soroban_auth_with_authorization_details_disabled/00007.png similarity index 100% rename from tests/snapshots/nanosp/test_sign_soroban_auth_with_nested_authorization_disabled/00007.png rename to tests/snapshots/nanosp/test_sign_soroban_auth_with_authorization_details_disabled/00007.png diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_approve_usdc/00009.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_approve_usdc/00009.png index 634a13e7e..748afdf92 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_approve_usdc/00009.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_approve_usdc/00009.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_approve_usdc/00010.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_approve_usdc/00010.png index d788d8343..62ec9f18d 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_approve_usdc/00010.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_approve_usdc/00010.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_approve_usdc/00011.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_approve_usdc/00011.png index 7645a4905..82681b527 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_approve_usdc/00011.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_approve_usdc/00011.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_approve_usdc/00012.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_approve_usdc/00012.png index 3a161194e..0823a55e7 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_approve_usdc/00012.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_approve_usdc/00012.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_approve_usdc/00013.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_approve_usdc/00013.png new file mode 100644 index 000000000..cfe23e78a Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_approve_usdc/00013.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_approve_usdc/00014.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_approve_usdc/00014.png new file mode 100644 index 000000000..b2f2c499a Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_approve_usdc/00014.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_approve_usdc/00015.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_approve_usdc/00015.png new file mode 100644 index 000000000..40affc069 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_approve_usdc/00015.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_approve_usdc/00016.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_approve_usdc/00016.png new file mode 100644 index 000000000..d5ced4c8d Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_approve_usdc/00016.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_approve_usdc/00017.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_approve_usdc/00017.png new file mode 100644 index 000000000..634a13e7e Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_approve_usdc/00017.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_approve_usdc/00018.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_approve_usdc/00018.png new file mode 100644 index 000000000..d788d8343 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_approve_usdc/00018.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_with_nested_authorization_disabled/00008.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_approve_usdc/00019.png similarity index 100% rename from tests/snapshots/nanosp/test_sign_tx_with_nested_authorization_disabled/00008.png rename to tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_approve_usdc/00019.png diff --git a/tests/snapshots/nanosp/test_sign_tx_with_nested_authorization_disabled/00009.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_approve_usdc/00020.png similarity index 100% rename from tests/snapshots/nanosp/test_sign_tx_with_nested_authorization_disabled/00009.png rename to tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_approve_usdc/00020.png diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_approve/00012.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_approve/00012.png index 634a13e7e..748afdf92 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_approve/00012.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_approve/00012.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_approve/00013.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_approve/00013.png index d788d8343..ab3057ee9 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_approve/00013.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_approve/00013.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_approve/00014.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_approve/00014.png index 7645a4905..a7e8260ae 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_approve/00014.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_approve/00014.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_approve/00015.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_approve/00015.png index 3a161194e..ef1cb90dc 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_approve/00015.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_approve/00015.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_approve/00016.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_approve/00016.png new file mode 100644 index 000000000..d194679a3 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_approve/00016.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_approve/00017.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_approve/00017.png new file mode 100644 index 000000000..979c3f2e4 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_approve/00017.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_approve/00018.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_approve/00018.png new file mode 100644 index 000000000..64e4a1c56 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_approve/00018.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_approve/00019.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_approve/00019.png new file mode 100644 index 000000000..15f29e282 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_approve/00019.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_approve/00020.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_approve/00020.png new file mode 100644 index 000000000..49a8f624e Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_approve/00020.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_approve/00021.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_approve/00021.png new file mode 100644 index 000000000..30503ebcd Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_approve/00021.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_approve/00022.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_approve/00022.png new file mode 100644 index 000000000..634a13e7e Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_approve/00022.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_approve/00023.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_approve/00023.png new file mode 100644 index 000000000..d788d8343 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_approve/00023.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_with_nested_authorization_disabled/00008.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_approve/00024.png similarity index 100% rename from tests/snapshots/nanox/test_sign_tx_with_nested_authorization_disabled/00008.png rename to tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_approve/00024.png diff --git a/tests/snapshots/nanox/test_sign_soroban_auth_with_nested_authorization_disabled/00007.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_approve/00025.png similarity index 100% rename from tests/snapshots/nanox/test_sign_soroban_auth_with_nested_authorization_disabled/00007.png rename to tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_approve/00025.png diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_transfer/00011.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_transfer/00011.png index 634a13e7e..748afdf92 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_transfer/00011.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_transfer/00011.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_transfer/00012.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_transfer/00012.png index d788d8343..ab3057ee9 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_transfer/00012.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_transfer/00012.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_transfer/00013.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_transfer/00013.png index 7645a4905..a7e8260ae 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_transfer/00013.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_transfer/00013.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_transfer/00014.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_transfer/00014.png index 3a161194e..dbb6b825f 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_transfer/00014.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_transfer/00014.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_transfer/00015.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_transfer/00015.png new file mode 100644 index 000000000..49a980c89 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_transfer/00015.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_transfer/00016.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_transfer/00016.png new file mode 100644 index 000000000..dbda84459 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_transfer/00016.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_transfer/00017.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_transfer/00017.png new file mode 100644 index 000000000..bd85fe0b4 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_transfer/00017.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_transfer/00018.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_transfer/00018.png new file mode 100644 index 000000000..4c8cc009d Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_transfer/00018.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_transfer/00019.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_transfer/00019.png new file mode 100644 index 000000000..7a7027752 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_transfer/00019.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_transfer/00020.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_transfer/00020.png new file mode 100644 index 000000000..634a13e7e Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_transfer/00020.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_transfer/00021.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_transfer/00021.png new file mode 100644 index 000000000..d788d8343 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_transfer/00021.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_transfer/00022.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_transfer/00022.png new file mode 100644 index 000000000..7645a4905 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_transfer/00022.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_with_nested_authorization_disabled/00009.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_transfer/00023.png similarity index 100% rename from tests/snapshots/nanox/test_sign_tx_with_nested_authorization_disabled/00009.png rename to tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_asset_transfer/00023.png diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00004.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00004.png index 634a13e7e..748afdf92 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00004.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00004.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00005.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00005.png index d788d8343..95e3974ea 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00005.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00005.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00006.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00006.png index 5421c8e49..634a13e7e 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00006.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00006.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00007.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00007.png index 3a161194e..d788d8343 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00007.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00007.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00008.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00008.png new file mode 100644 index 000000000..5421c8e49 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00008.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00009.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00009.png new file mode 100644 index 000000000..3a161194e Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00009.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00012.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00012.png index f3b5fdb5d..748afdf92 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00012.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00012.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00013.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00013.png index 8f1963847..9f454fb7d 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00013.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00013.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00014.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00014.png index 0db5cb3b2..d24549023 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00014.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00014.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00015.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00015.png index 15f8e3a43..6a729094d 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00015.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00015.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00016.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00016.png index 6a729094d..d5fbea24e 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00016.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00016.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00017.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00017.png index d5fbea24e..6acc13980 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00017.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00017.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00018.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00018.png index 6acc13980..7e7062e3e 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00018.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00018.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00019.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00019.png index 7e7062e3e..a77ccfbc2 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00019.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00019.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00020.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00020.png index a77ccfbc2..0568360d8 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00020.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00020.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00021.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00021.png index 6474c6ad3..8f1963847 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00021.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00021.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00022.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00022.png index ab3057ee9..0db5cb3b2 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00022.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00022.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00023.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00023.png index a7e8260ae..15f8e3a43 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00023.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00023.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00024.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00024.png index dbb6b825f..6a729094d 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00024.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00024.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00025.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00025.png index 6a729094d..d5fbea24e 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00025.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00025.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00026.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00026.png index d5fbea24e..6acc13980 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00026.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00026.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00027.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00027.png index cb93efde3..7e7062e3e 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00027.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00027.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00028.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00028.png index cf0626518..a77ccfbc2 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00028.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00028.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00029.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00029.png index a77ccfbc2..b0510c9fd 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00029.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00029.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00030.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00030.png index 5421c8e49..ab3057ee9 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00030.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00030.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00031.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00031.png index 3a161194e..a7e8260ae 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00031.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00031.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00032.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00032.png new file mode 100644 index 000000000..dbb6b825f Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00032.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00033.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00033.png new file mode 100644 index 000000000..6a729094d Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00033.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00034.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00034.png new file mode 100644 index 000000000..d5fbea24e Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00034.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00035.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00035.png new file mode 100644 index 000000000..cb93efde3 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00035.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00036.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00036.png new file mode 100644 index 000000000..cf0626518 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00036.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00037.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00037.png new file mode 100644 index 000000000..a77ccfbc2 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00037.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00038.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00038.png new file mode 100644 index 000000000..5421c8e49 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00038.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00039.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00039.png new file mode 100644 index 000000000..3a161194e Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00039.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00005.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00005.png index 5421c8e49..748afdf92 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00005.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00005.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00006.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00006.png index 3a161194e..4b92b69a0 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00006.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00006.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00007.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00007.png new file mode 100644 index 000000000..ab9f86108 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00007.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00008.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00008.png new file mode 100644 index 000000000..5421c8e49 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00008.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00009.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00009.png new file mode 100644 index 000000000..3a161194e Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00009.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_usdc/00008.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_usdc/00008.png index 7645a4905..748afdf92 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_usdc/00008.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_usdc/00008.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_usdc/00009.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_usdc/00009.png index 3a161194e..40788a351 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_usdc/00009.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_usdc/00009.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_usdc/00010.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_usdc/00010.png new file mode 100644 index 000000000..38f573da9 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_usdc/00010.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_usdc/00011.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_usdc/00011.png new file mode 100644 index 000000000..0823a55e7 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_usdc/00011.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_usdc/00012.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_usdc/00012.png new file mode 100644 index 000000000..cfe23e78a Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_usdc/00012.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_usdc/00013.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_usdc/00013.png new file mode 100644 index 000000000..9071f3426 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_usdc/00013.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_usdc/00014.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_usdc/00014.png new file mode 100644 index 000000000..05519ceb3 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_usdc/00014.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_usdc/00015.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_usdc/00015.png new file mode 100644 index 000000000..7645a4905 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_usdc/00015.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_usdc/00016.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_usdc/00016.png new file mode 100644 index 000000000..3a161194e Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_usdc/00016.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_xlm/00008.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_xlm/00008.png index 7645a4905..748afdf92 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_xlm/00008.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_xlm/00008.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_xlm/00009.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_xlm/00009.png index 3a161194e..301b62ba3 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_xlm/00009.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_xlm/00009.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_xlm/00010.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_xlm/00010.png new file mode 100644 index 000000000..3482ea81c Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_xlm/00010.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_xlm/00011.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_xlm/00011.png new file mode 100644 index 000000000..0823a55e7 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_xlm/00011.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_xlm/00012.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_xlm/00012.png new file mode 100644 index 000000000..cfe23e78a Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_xlm/00012.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_xlm/00013.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_xlm/00013.png new file mode 100644 index 000000000..9071f3426 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_xlm/00013.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_xlm/00014.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_xlm/00014.png new file mode 100644 index 000000000..05519ceb3 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_xlm/00014.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_xlm/00015.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_xlm/00015.png new file mode 100644 index 000000000..7645a4905 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_xlm/00015.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_xlm/00016.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_xlm/00016.png new file mode 100644 index 000000000..3a161194e Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_transfer_xlm/00016.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00008.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00008.png index f3b5fdb5d..748afdf92 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00008.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00008.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00009.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00009.png index 1c0f803d1..2ed90043a 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00009.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00009.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00010.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00010.png index 38f573da9..ec92d69a3 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00010.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00010.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00011.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00011.png index 4d916ea10..cc381b4e7 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00011.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00011.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00012.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00012.png index 5fd7d2123..ef589829e 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00012.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00012.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00013.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00013.png index ae0b50302..e46c731ca 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00013.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00013.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00014.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00014.png index 38a505cd9..32957ba1d 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00014.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00014.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00015.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00015.png index 839936ee9..0568360d8 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00015.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00015.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00016.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00016.png index b25fbfec1..1c0f803d1 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00016.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00016.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00017.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00017.png index dd033cc00..38f573da9 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00017.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00017.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00020.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00020.png index a5c17eda1..ae0b50302 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00020.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00020.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00021.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00021.png index 795ed6c77..38a505cd9 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00021.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00021.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00022.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00022.png index 5d0cd9db8..e33edab7d 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00022.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00022.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00023.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00023.png index 634a13e7e..b25fbfec1 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00023.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00023.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00024.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00024.png index d788d8343..dd033cc00 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00024.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00024.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00025.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00025.png index 7645a4905..4d916ea10 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00025.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00025.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00026.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00026.png index 3a161194e..5fd7d2123 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00026.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00026.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00027.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00027.png new file mode 100644 index 000000000..a5c17eda1 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00027.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00028.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00028.png new file mode 100644 index 000000000..795ed6c77 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00028.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00029.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00029.png new file mode 100644 index 000000000..5d0cd9db8 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00029.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00030.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00030.png new file mode 100644 index 000000000..634a13e7e Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00030.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00031.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00031.png new file mode 100644 index 000000000..d788d8343 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00031.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00032.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00032.png new file mode 100644 index 000000000..7645a4905 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00032.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00033.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00033.png new file mode 100644 index 000000000..3a161194e Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth/00033.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00005.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00005.png index f3b5fdb5d..748afdf92 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00005.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00005.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00006.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00006.png index b333201c8..2ed90043a 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00006.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00006.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00007.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00007.png index babe5e204..ec92d69a3 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00007.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00007.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00008.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00008.png index b7d2be0a5..cc381b4e7 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00008.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00008.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00009.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00009.png index 839936ee9..0568360d8 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00009.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00009.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00010.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00010.png index b25fbfec1..b333201c8 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00010.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00010.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00011.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00011.png index dd033cc00..babe5e204 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00011.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00011.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00012.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00012.png index 4d916ea10..b7d2be0a5 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00012.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00012.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00013.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00013.png index 5fd7d2123..e33edab7d 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00013.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00013.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00014.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00014.png index a5c17eda1..b25fbfec1 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00014.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00014.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00015.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00015.png index 795ed6c77..dd033cc00 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00015.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00015.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00016.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00016.png index 5d0cd9db8..4d916ea10 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00016.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00016.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00017.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00017.png index 634a13e7e..5fd7d2123 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00017.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00017.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00018.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00018.png index d788d8343..a5c17eda1 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00018.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00018.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00019.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00019.png index 7645a4905..795ed6c77 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00019.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00019.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00020.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00020.png index 3a161194e..5d0cd9db8 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00020.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00020.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00021.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00021.png new file mode 100644 index 000000000..634a13e7e Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00021.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00022.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00022.png new file mode 100644 index 000000000..d788d8343 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00022.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00023.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00023.png new file mode 100644 index 000000000..7645a4905 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00023.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00024.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00024.png new file mode 100644 index 000000000..3a161194e Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00024.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00005.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00005.png index f3b5fdb5d..748afdf92 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00005.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00005.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00006.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00006.png index b333201c8..2ed90043a 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00006.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00006.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00007.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00007.png index babe5e204..ec92d69a3 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00007.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00007.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00008.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00008.png index b7d2be0a5..cc381b4e7 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00008.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00008.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00009.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00009.png index 839936ee9..0568360d8 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00009.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00009.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00010.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00010.png index b25fbfec1..b333201c8 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00010.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00010.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00011.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00011.png index dd033cc00..babe5e204 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00011.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00011.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00012.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00012.png index 4d916ea10..b7d2be0a5 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00012.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00012.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00013.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00013.png index 5fd7d2123..e33edab7d 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00013.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00013.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00014.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00014.png index a5c17eda1..b25fbfec1 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00014.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00014.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00015.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00015.png index 795ed6c77..dd033cc00 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00015.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00015.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00016.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00016.png index 5d0cd9db8..4d916ea10 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00016.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00016.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00017.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00017.png index 7645a4905..5fd7d2123 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00017.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00017.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00018.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00018.png index 3a161194e..a5c17eda1 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00018.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00018.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00019.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00019.png new file mode 100644 index 000000000..795ed6c77 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00019.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00020.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00020.png new file mode 100644 index 000000000..5d0cd9db8 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00020.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00021.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00021.png new file mode 100644 index 000000000..7645a4905 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00021.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00022.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00022.png new file mode 100644 index 000000000..3a161194e Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00022.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_with_nested_authorization_disabled/00000.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00000.png similarity index 100% rename from tests/snapshots/nanosp/test_sign_tx_with_nested_authorization_disabled/00000.png rename to tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00000.png diff --git a/tests/snapshots/nanosp/test_sign_tx_with_nested_authorization_disabled/00001.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00001.png similarity index 100% rename from tests/snapshots/nanosp/test_sign_tx_with_nested_authorization_disabled/00001.png rename to tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00001.png diff --git a/tests/snapshots/nanosp/test_sign_tx_with_nested_authorization_disabled/00002.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00002.png similarity index 100% rename from tests/snapshots/nanosp/test_sign_tx_with_nested_authorization_disabled/00002.png rename to tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00002.png diff --git a/tests/snapshots/nanosp/test_sign_tx_with_nested_authorization_disabled/00003.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00003.png similarity index 100% rename from tests/snapshots/nanosp/test_sign_tx_with_nested_authorization_disabled/00003.png rename to tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00003.png diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00004.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00004.png new file mode 100644 index 000000000..cc381b4e7 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00004.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00005.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00005.png new file mode 100644 index 000000000..748afdf92 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00005.png differ diff --git a/tests/snapshots/nanox/test_sign_soroban_auth_with_nested_authorization_disabled/00002.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00006.png similarity index 100% rename from tests/snapshots/nanox/test_sign_soroban_auth_with_nested_authorization_disabled/00002.png rename to tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00006.png diff --git a/tests/snapshots/nanox/test_sign_soroban_auth_with_nested_authorization_disabled/00003.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00007.png similarity index 100% rename from tests/snapshots/nanox/test_sign_soroban_auth_with_nested_authorization_disabled/00003.png rename to tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00007.png diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00008.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00008.png new file mode 100644 index 000000000..c5b4f49cf Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00008.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00009.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00009.png new file mode 100644 index 000000000..1aceac473 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00009.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00010.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00010.png new file mode 100644 index 000000000..19115a86b Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00010.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00011.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00011.png new file mode 100644 index 000000000..592860294 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00011.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00012.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00012.png new file mode 100644 index 000000000..0568360d8 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00012.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00013.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00013.png new file mode 100644 index 000000000..9363d571c Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00013.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00014.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00014.png new file mode 100644 index 000000000..38f573da9 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00014.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00015.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00015.png new file mode 100644 index 000000000..4d916ea10 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00015.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00016.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00016.png new file mode 100644 index 000000000..5fd7d2123 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00016.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00017.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00017.png new file mode 100644 index 000000000..ae0b50302 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00017.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00018.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00018.png new file mode 100644 index 000000000..38a505cd9 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00018.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00019.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00019.png new file mode 100644 index 000000000..634a13e7e Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00019.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00020.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00020.png new file mode 100644 index 000000000..d788d8343 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00020.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00021.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00021.png new file mode 100644 index 000000000..7645a4905 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00021.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00022.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00022.png new file mode 100644 index 000000000..3a161194e Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00022.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00008.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00008.png index f3b5fdb5d..748afdf92 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00008.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00008.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00011.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00011.png index 58abb7f39..0e08da9e7 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00011.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00011.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00012.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00012.png index 2d7ccffd7..ef589829e 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00012.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00012.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00013.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00013.png index 6474c6ad3..e46c731ca 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00013.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00013.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00014.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00014.png index ab3057ee9..32957ba1d 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00014.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00014.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00015.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00015.png index a7e8260ae..0568360d8 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00015.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00015.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00016.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00016.png index 0c0cffa85..2ed90043a 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00016.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00016.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00017.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00017.png index ede58c1c4..ec92d69a3 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00017.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00017.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00018.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00018.png index ab3057ee9..58abb7f39 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00018.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00018.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00019.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00019.png index a7e8260ae..2d7ccffd7 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00019.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00019.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00020.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00020.png index a0714f78f..b0510c9fd 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00020.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00020.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00021.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00021.png index 59892f285..ab3057ee9 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00021.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00021.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00022.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00022.png index a591cabf0..a7e8260ae 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00022.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00022.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00023.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00023.png index 8ad6e7cde..0c0cffa85 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00023.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00023.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00024.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00024.png index 0df2e8c3a..031084976 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00024.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00024.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00025.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00025.png index a591cabf0..ab3057ee9 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00025.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00025.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00026.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00026.png index 8ad6e7cde..a7e8260ae 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00026.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00026.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00027.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00027.png index 949a27fb9..a0714f78f 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00027.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00027.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00028.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00028.png index e765e3d06..53a5b4b9f 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00028.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00028.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00029.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00029.png index 0c7108bf2..a591cabf0 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00029.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00029.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00030.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00030.png index 7afdd3412..8ad6e7cde 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00030.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00030.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00031.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00031.png index b8d856d37..cdb71d355 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00031.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00031.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00032.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00032.png index 1cc4288db..a591cabf0 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00032.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00032.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00033.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00033.png index 15f8e3a43..8ad6e7cde 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00033.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00033.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00037.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00037.png index 53c92e765..8f859f6eb 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00037.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00037.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00038.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00038.png index ab3057ee9..b8d856d37 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00038.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00038.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00039.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00039.png index a7e8260ae..1cc4288db 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00039.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00039.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00040.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00040.png index 79c7a768c..15f8e3a43 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00040.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00040.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00041.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00041.png index e5799c6cd..949a27fb9 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00041.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00041.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00042.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00042.png index ab3057ee9..e765e3d06 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00042.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00042.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00043.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00043.png index a7e8260ae..0c7108bf2 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00043.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00043.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00044.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00044.png index 2b3ddc505..716c32a4e 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00044.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00044.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00045.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00045.png index b655d0e25..ab3057ee9 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00045.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00045.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00046.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00046.png index b06d56a46..a7e8260ae 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00046.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00046.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00047.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00047.png index ab3057ee9..79c7a768c 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00047.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00047.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00048.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00048.png index a7e8260ae..9b0e0155d 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00048.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00048.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00049.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00049.png index aa5c82521..ab3057ee9 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00049.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00049.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00050.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00050.png index b655d0e25..a7e8260ae 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00050.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00050.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00051.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00051.png index 7c94e5f55..2b3ddc505 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00051.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00051.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00052.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00052.png index ab3057ee9..b655d0e25 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00052.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00052.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00053.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00053.png index a7e8260ae..246ceb5d3 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00053.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00053.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00054.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00054.png index 6c4b1d8a0..ab3057ee9 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00054.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00054.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00055.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00055.png index b655d0e25..a7e8260ae 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00055.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00055.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00056.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00056.png index 628978279..aa5c82521 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00056.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00056.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00057.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00057.png index ab3057ee9..b655d0e25 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00057.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00057.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00058.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00058.png index a7e8260ae..796e287ab 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00058.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00058.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00059.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00059.png index a8b62cd4d..ab3057ee9 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00059.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00059.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00060.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00060.png index b655d0e25..a7e8260ae 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00060.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00060.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00061.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00061.png index 7645a4905..6c4b1d8a0 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00061.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00061.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00062.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00062.png index 3a161194e..b655d0e25 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00062.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00062.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00063.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00063.png index 3a161194e..14a560aca 100644 Binary files a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00063.png and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00063.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00064.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00064.png new file mode 100644 index 000000000..ab3057ee9 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00064.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00065.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00065.png new file mode 100644 index 000000000..a7e8260ae Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00065.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00066.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00066.png new file mode 100644 index 000000000..a8b62cd4d Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00066.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00067.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00067.png new file mode 100644 index 000000000..b655d0e25 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00067.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00068.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00068.png new file mode 100644 index 000000000..7645a4905 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00068.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00069.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00069.png new file mode 100644 index 000000000..3a161194e Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00069.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_with_nested_authorization_disabled/00000.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00000.png similarity index 100% rename from tests/snapshots/nanox/test_sign_tx_with_nested_authorization_disabled/00000.png rename to tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00000.png diff --git a/tests/snapshots/nanox/test_sign_tx_with_nested_authorization_disabled/00001.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00001.png similarity index 100% rename from tests/snapshots/nanox/test_sign_tx_with_nested_authorization_disabled/00001.png rename to tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00001.png diff --git a/tests/snapshots/nanox/test_sign_tx_with_nested_authorization_disabled/00002.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00002.png similarity index 100% rename from tests/snapshots/nanox/test_sign_tx_with_nested_authorization_disabled/00002.png rename to tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00002.png diff --git a/tests/snapshots/nanox/test_sign_tx_with_nested_authorization_disabled/00003.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00003.png similarity index 100% rename from tests/snapshots/nanox/test_sign_tx_with_nested_authorization_disabled/00003.png rename to tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00003.png diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00004.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00004.png new file mode 100644 index 000000000..cc381b4e7 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00004.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00005.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00005.png new file mode 100644 index 000000000..748afdf92 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00005.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00006.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00006.png new file mode 100644 index 000000000..2ed90043a Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00006.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00007.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00007.png new file mode 100644 index 000000000..ec92d69a3 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00007.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00008.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00008.png new file mode 100644 index 000000000..cc381b4e7 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00008.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00009.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00009.png new file mode 100644 index 000000000..0568360d8 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00009.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00010.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00010.png new file mode 100644 index 000000000..b333201c8 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00010.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00011.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00011.png new file mode 100644 index 000000000..babe5e204 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00011.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00012.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00012.png new file mode 100644 index 000000000..b7d2be0a5 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00012.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00013.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00013.png new file mode 100644 index 000000000..a1299b38b Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00013.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00014.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00014.png new file mode 100644 index 000000000..b25fbfec1 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00014.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00015.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00015.png new file mode 100644 index 000000000..dd033cc00 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00015.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00016.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00016.png new file mode 100644 index 000000000..4d916ea10 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00016.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00017.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00017.png new file mode 100644 index 000000000..5fd7d2123 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00017.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00018.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00018.png new file mode 100644 index 000000000..a5c17eda1 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00018.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00019.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00019.png new file mode 100644 index 000000000..795ed6c77 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00019.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00020.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00020.png new file mode 100644 index 000000000..5d0cd9db8 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00020.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00021.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00021.png new file mode 100644 index 000000000..74f765f3e Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00021.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00022.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00022.png new file mode 100644 index 000000000..ab3057ee9 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00022.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00023.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00023.png new file mode 100644 index 000000000..a7e8260ae Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00023.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00024.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00024.png new file mode 100644 index 000000000..8afd2d7a0 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00024.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00025.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00025.png new file mode 100644 index 000000000..634a13e7e Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00025.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00026.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00026.png new file mode 100644 index 000000000..d788d8343 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00026.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00027.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00027.png new file mode 100644 index 000000000..7645a4905 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00027.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00028.png b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00028.png new file mode 100644 index 000000000..3a161194e Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00028.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_with_authorization_details_disabled/00000.png b/tests/snapshots/nanosp/test_sign_tx_with_authorization_details_disabled/00000.png new file mode 100644 index 000000000..721b5d0ef Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_with_authorization_details_disabled/00000.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_with_authorization_details_disabled/00001.png b/tests/snapshots/nanosp/test_sign_tx_with_authorization_details_disabled/00001.png new file mode 100644 index 000000000..14cffc1e1 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_with_authorization_details_disabled/00001.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_with_authorization_details_disabled/00002.png b/tests/snapshots/nanosp/test_sign_tx_with_authorization_details_disabled/00002.png new file mode 100644 index 000000000..2ed90043a Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_with_authorization_details_disabled/00002.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_with_authorization_details_disabled/00003.png b/tests/snapshots/nanosp/test_sign_tx_with_authorization_details_disabled/00003.png new file mode 100644 index 000000000..ec92d69a3 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_with_authorization_details_disabled/00003.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_with_nested_authorization_disabled/00004.png b/tests/snapshots/nanosp/test_sign_tx_with_authorization_details_disabled/00004.png similarity index 100% rename from tests/snapshots/nanosp/test_sign_tx_with_nested_authorization_disabled/00004.png rename to tests/snapshots/nanosp/test_sign_tx_with_authorization_details_disabled/00004.png diff --git a/tests/snapshots/nanosp/test_sign_tx_with_nested_authorization_disabled/00005.png b/tests/snapshots/nanosp/test_sign_tx_with_authorization_details_disabled/00005.png similarity index 100% rename from tests/snapshots/nanosp/test_sign_tx_with_nested_authorization_disabled/00005.png rename to tests/snapshots/nanosp/test_sign_tx_with_authorization_details_disabled/00005.png diff --git a/tests/snapshots/nanosp/test_sign_tx_with_nested_authorization_disabled/00006.png b/tests/snapshots/nanosp/test_sign_tx_with_authorization_details_disabled/00006.png similarity index 100% rename from tests/snapshots/nanosp/test_sign_tx_with_nested_authorization_disabled/00006.png rename to tests/snapshots/nanosp/test_sign_tx_with_authorization_details_disabled/00006.png diff --git a/tests/snapshots/nanosp/test_sign_tx_with_nested_authorization_disabled/00007.png b/tests/snapshots/nanosp/test_sign_tx_with_authorization_details_disabled/00007.png similarity index 100% rename from tests/snapshots/nanosp/test_sign_tx_with_nested_authorization_disabled/00007.png rename to tests/snapshots/nanosp/test_sign_tx_with_authorization_details_disabled/00007.png diff --git a/tests/snapshots/nanosp/test_sign_tx_with_authorization_details_disabled/00008.png b/tests/snapshots/nanosp/test_sign_tx_with_authorization_details_disabled/00008.png new file mode 100644 index 000000000..7645a4905 Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_with_authorization_details_disabled/00008.png differ diff --git a/tests/snapshots/nanosp/test_sign_tx_with_authorization_details_disabled/00009.png b/tests/snapshots/nanosp/test_sign_tx_with_authorization_details_disabled/00009.png new file mode 100644 index 000000000..3a161194e Binary files /dev/null and b/tests/snapshots/nanosp/test_sign_tx_with_authorization_details_disabled/00009.png differ diff --git a/tests/snapshots/nanox/test_app_mainmenu/00006.png b/tests/snapshots/nanox/test_app_mainmenu/00006.png index a4cd54a1a..2be5b6add 100644 Binary files a/tests/snapshots/nanox/test_app_mainmenu/00006.png and b/tests/snapshots/nanox/test_app_mainmenu/00006.png differ diff --git a/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_create_smart_contract_v2/00007.png b/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_create_smart_contract_v2/00007.png index c357dc594..748afdf92 100644 Binary files a/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_create_smart_contract_v2/00007.png and b/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_create_smart_contract_v2/00007.png differ diff --git a/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract/00010.png b/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract/00010.png index c357dc594..748afdf92 100644 Binary files a/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract/00010.png and b/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract/00010.png differ diff --git a/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract/00017.png b/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract/00017.png index e03abcbc3..a1299b38b 100644 Binary files a/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract/00017.png and b/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract/00017.png differ diff --git a/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00006.png b/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00006.png index c357dc594..748afdf92 100644 Binary files a/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00006.png and b/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00006.png differ diff --git a/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00011.png b/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00011.png index e03abcbc3..a1299b38b 100644 Binary files a/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00011.png and b/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00011.png differ diff --git a/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00016.png b/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00016.png index 6416b00ff..74f765f3e 100644 Binary files a/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00016.png and b/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00016.png differ diff --git a/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00021.png b/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00021.png index 8e9766e8f..4c67de259 100644 Binary files a/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00021.png and b/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00021.png differ diff --git a/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00026.png b/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00026.png index 0e5c7d06b..f4cbbddd2 100644 Binary files a/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00026.png and b/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00026.png differ diff --git a/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00031.png b/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00031.png index d862d92f4..b1b8f7426 100644 Binary files a/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00031.png and b/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00031.png differ diff --git a/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00036.png b/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00036.png index 8defc8834..26f889254 100644 Binary files a/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00036.png and b/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00036.png differ diff --git a/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00041.png b/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00041.png index 3957d85a3..db73427d6 100644 Binary files a/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00041.png and b/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00041.png differ diff --git a/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00046.png b/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00046.png index c519be8fe..1f9070a51 100644 Binary files a/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00046.png and b/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00046.png differ diff --git a/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00051.png b/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00051.png index 47f2c7af6..73704c369 100644 Binary files a/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00051.png and b/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00051.png differ diff --git a/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00056.png b/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00056.png index 2eb9f6379..8d1fc56ac 100644 Binary files a/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00056.png and b/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00056.png differ diff --git a/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_without_args/00005.png b/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_without_args/00005.png index c357dc594..748afdf92 100644 Binary files a/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_without_args/00005.png and b/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_without_args/00005.png differ diff --git a/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_without_args/00014.png b/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_without_args/00014.png index e03abcbc3..a1299b38b 100644 Binary files a/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_without_args/00014.png and b/tests/snapshots/nanox/test_sign_soroban_auth_soroban_auth_invoke_contract_without_args/00014.png differ diff --git a/tests/snapshots/nanox/test_sign_soroban_auth_with_nested_authorization_disabled/00000.png b/tests/snapshots/nanox/test_sign_soroban_auth_with_authorization_details_disabled/00000.png similarity index 100% rename from tests/snapshots/nanox/test_sign_soroban_auth_with_nested_authorization_disabled/00000.png rename to tests/snapshots/nanox/test_sign_soroban_auth_with_authorization_details_disabled/00000.png diff --git a/tests/snapshots/nanox/test_sign_soroban_auth_with_nested_authorization_disabled/00001.png b/tests/snapshots/nanox/test_sign_soroban_auth_with_authorization_details_disabled/00001.png similarity index 100% rename from tests/snapshots/nanox/test_sign_soroban_auth_with_nested_authorization_disabled/00001.png rename to tests/snapshots/nanox/test_sign_soroban_auth_with_authorization_details_disabled/00001.png diff --git a/tests/snapshots/nanox/test_sign_soroban_auth_with_authorization_details_disabled/00002.png b/tests/snapshots/nanox/test_sign_soroban_auth_with_authorization_details_disabled/00002.png new file mode 100644 index 000000000..ab3057ee9 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_soroban_auth_with_authorization_details_disabled/00002.png differ diff --git a/tests/snapshots/nanox/test_sign_soroban_auth_with_authorization_details_disabled/00003.png b/tests/snapshots/nanox/test_sign_soroban_auth_with_authorization_details_disabled/00003.png new file mode 100644 index 000000000..a7e8260ae Binary files /dev/null and b/tests/snapshots/nanox/test_sign_soroban_auth_with_authorization_details_disabled/00003.png differ diff --git a/tests/snapshots/nanox/test_sign_soroban_auth_with_nested_authorization_disabled/00004.png b/tests/snapshots/nanox/test_sign_soroban_auth_with_authorization_details_disabled/00004.png similarity index 100% rename from tests/snapshots/nanox/test_sign_soroban_auth_with_nested_authorization_disabled/00004.png rename to tests/snapshots/nanox/test_sign_soroban_auth_with_authorization_details_disabled/00004.png diff --git a/tests/snapshots/nanox/test_sign_soroban_auth_with_nested_authorization_disabled/00005.png b/tests/snapshots/nanox/test_sign_soroban_auth_with_authorization_details_disabled/00005.png similarity index 100% rename from tests/snapshots/nanox/test_sign_soroban_auth_with_nested_authorization_disabled/00005.png rename to tests/snapshots/nanox/test_sign_soroban_auth_with_authorization_details_disabled/00005.png diff --git a/tests/snapshots/nanox/test_sign_soroban_auth_with_nested_authorization_disabled/00006.png b/tests/snapshots/nanox/test_sign_soroban_auth_with_authorization_details_disabled/00006.png similarity index 100% rename from tests/snapshots/nanox/test_sign_soroban_auth_with_nested_authorization_disabled/00006.png rename to tests/snapshots/nanox/test_sign_soroban_auth_with_authorization_details_disabled/00006.png diff --git a/tests/snapshots/nanox/test_sign_soroban_auth_with_authorization_details_disabled/00007.png b/tests/snapshots/nanox/test_sign_soroban_auth_with_authorization_details_disabled/00007.png new file mode 100644 index 000000000..3a161194e Binary files /dev/null and b/tests/snapshots/nanox/test_sign_soroban_auth_with_authorization_details_disabled/00007.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_approve_usdc/00009.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_approve_usdc/00009.png index 634a13e7e..748afdf92 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_approve_usdc/00009.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_approve_usdc/00009.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_approve_usdc/00010.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_approve_usdc/00010.png index d788d8343..62ec9f18d 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_approve_usdc/00010.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_approve_usdc/00010.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_approve_usdc/00011.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_approve_usdc/00011.png index 7645a4905..82681b527 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_approve_usdc/00011.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_approve_usdc/00011.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_approve_usdc/00012.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_approve_usdc/00012.png index 3a161194e..0823a55e7 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_approve_usdc/00012.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_approve_usdc/00012.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_approve_usdc/00013.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_approve_usdc/00013.png new file mode 100644 index 000000000..cfe23e78a Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_approve_usdc/00013.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_approve_usdc/00014.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_approve_usdc/00014.png new file mode 100644 index 000000000..b2f2c499a Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_approve_usdc/00014.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_approve_usdc/00015.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_approve_usdc/00015.png new file mode 100644 index 000000000..40affc069 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_approve_usdc/00015.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_approve_usdc/00016.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_approve_usdc/00016.png new file mode 100644 index 000000000..d5ced4c8d Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_approve_usdc/00016.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_approve_usdc/00017.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_approve_usdc/00017.png new file mode 100644 index 000000000..634a13e7e Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_approve_usdc/00017.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_approve_usdc/00018.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_approve_usdc/00018.png new file mode 100644 index 000000000..d788d8343 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_approve_usdc/00018.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_approve_usdc/00019.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_approve_usdc/00019.png new file mode 100644 index 000000000..7645a4905 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_approve_usdc/00019.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_approve_usdc/00020.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_approve_usdc/00020.png new file mode 100644 index 000000000..3a161194e Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_approve_usdc/00020.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_approve/00012.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_approve/00012.png index 634a13e7e..748afdf92 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_approve/00012.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_approve/00012.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_approve/00013.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_approve/00013.png index d788d8343..ab3057ee9 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_approve/00013.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_approve/00013.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_approve/00014.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_approve/00014.png index 7645a4905..a7e8260ae 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_approve/00014.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_approve/00014.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_approve/00015.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_approve/00015.png index 3a161194e..ef1cb90dc 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_approve/00015.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_approve/00015.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_approve/00016.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_approve/00016.png new file mode 100644 index 000000000..d194679a3 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_approve/00016.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_approve/00017.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_approve/00017.png new file mode 100644 index 000000000..979c3f2e4 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_approve/00017.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_approve/00018.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_approve/00018.png new file mode 100644 index 000000000..64e4a1c56 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_approve/00018.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_approve/00019.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_approve/00019.png new file mode 100644 index 000000000..15f29e282 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_approve/00019.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_approve/00020.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_approve/00020.png new file mode 100644 index 000000000..49a8f624e Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_approve/00020.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_approve/00021.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_approve/00021.png new file mode 100644 index 000000000..30503ebcd Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_approve/00021.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_approve/00022.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_approve/00022.png new file mode 100644 index 000000000..634a13e7e Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_approve/00022.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_approve/00023.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_approve/00023.png new file mode 100644 index 000000000..d788d8343 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_approve/00023.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_approve/00024.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_approve/00024.png new file mode 100644 index 000000000..7645a4905 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_approve/00024.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_approve/00025.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_approve/00025.png new file mode 100644 index 000000000..3a161194e Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_approve/00025.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_transfer/00011.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_transfer/00011.png index 634a13e7e..748afdf92 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_transfer/00011.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_transfer/00011.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_transfer/00012.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_transfer/00012.png index d788d8343..ab3057ee9 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_transfer/00012.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_transfer/00012.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_transfer/00013.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_transfer/00013.png index 7645a4905..a7e8260ae 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_transfer/00013.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_transfer/00013.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_transfer/00014.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_transfer/00014.png index 3a161194e..dbb6b825f 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_transfer/00014.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_transfer/00014.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_transfer/00015.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_transfer/00015.png new file mode 100644 index 000000000..49a980c89 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_transfer/00015.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_transfer/00016.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_transfer/00016.png new file mode 100644 index 000000000..dbda84459 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_transfer/00016.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_transfer/00017.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_transfer/00017.png new file mode 100644 index 000000000..bd85fe0b4 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_transfer/00017.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_transfer/00018.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_transfer/00018.png new file mode 100644 index 000000000..4c8cc009d Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_transfer/00018.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_transfer/00019.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_transfer/00019.png new file mode 100644 index 000000000..7a7027752 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_transfer/00019.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_transfer/00020.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_transfer/00020.png new file mode 100644 index 000000000..634a13e7e Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_transfer/00020.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_transfer/00021.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_transfer/00021.png new file mode 100644 index 000000000..d788d8343 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_transfer/00021.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_transfer/00022.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_transfer/00022.png new file mode 100644 index 000000000..7645a4905 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_transfer/00022.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_transfer/00023.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_transfer/00023.png new file mode 100644 index 000000000..3a161194e Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_asset_transfer/00023.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00004.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00004.png index 634a13e7e..748afdf92 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00004.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00004.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00005.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00005.png index d788d8343..95e3974ea 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00005.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00005.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00006.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00006.png index 5421c8e49..634a13e7e 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00006.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00006.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00007.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00007.png index 3a161194e..d788d8343 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00007.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00007.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00008.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00008.png new file mode 100644 index 000000000..5421c8e49 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00008.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00009.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00009.png new file mode 100644 index 000000000..3a161194e Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00009.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00012.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00012.png index f3b5fdb5d..748afdf92 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00012.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00012.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00013.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00013.png index 8f1963847..9f454fb7d 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00013.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00013.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00014.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00014.png index 0db5cb3b2..d24549023 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00014.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00014.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00015.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00015.png index 15f8e3a43..6a729094d 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00015.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00015.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00016.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00016.png index 6a729094d..d5fbea24e 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00016.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00016.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00017.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00017.png index d5fbea24e..6acc13980 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00017.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00017.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00018.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00018.png index 6acc13980..7e7062e3e 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00018.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00018.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00019.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00019.png index 7e7062e3e..a77ccfbc2 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00019.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00019.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00020.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00020.png index a77ccfbc2..0568360d8 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00020.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00020.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00021.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00021.png index 6474c6ad3..8f1963847 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00021.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00021.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00022.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00022.png index ab3057ee9..0db5cb3b2 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00022.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00022.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00023.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00023.png index a7e8260ae..15f8e3a43 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00023.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00023.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00024.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00024.png index dbb6b825f..6a729094d 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00024.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00024.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00025.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00025.png index 6a729094d..d5fbea24e 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00025.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00025.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00026.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00026.png index d5fbea24e..6acc13980 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00026.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00026.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00027.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00027.png index cb93efde3..7e7062e3e 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00027.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00027.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00028.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00028.png index cf0626518..a77ccfbc2 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00028.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00028.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00029.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00029.png index a77ccfbc2..b0510c9fd 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00029.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00029.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00030.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00030.png index 5421c8e49..ab3057ee9 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00030.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00030.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00031.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00031.png index 3a161194e..a7e8260ae 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00031.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00031.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00032.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00032.png new file mode 100644 index 000000000..dbb6b825f Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00032.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00033.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00033.png new file mode 100644 index 000000000..6a729094d Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00033.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00034.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00034.png new file mode 100644 index 000000000..d5fbea24e Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00034.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00035.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00035.png new file mode 100644 index 000000000..cb93efde3 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00035.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00036.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00036.png new file mode 100644 index 000000000..cf0626518 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00036.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00037.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00037.png new file mode 100644 index 000000000..a77ccfbc2 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00037.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00038.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00038.png new file mode 100644 index 000000000..5421c8e49 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00038.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00039.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00039.png new file mode 100644 index 000000000..3a161194e Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00039.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00005.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00005.png index 5421c8e49..748afdf92 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00005.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00005.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00006.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00006.png index 3a161194e..4b92b69a0 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00006.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00006.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00007.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00007.png new file mode 100644 index 000000000..ab9f86108 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00007.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00008.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00008.png new file mode 100644 index 000000000..5421c8e49 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00008.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00009.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00009.png new file mode 100644 index 000000000..3a161194e Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00009.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_usdc/00008.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_usdc/00008.png index 7645a4905..748afdf92 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_usdc/00008.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_usdc/00008.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_usdc/00009.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_usdc/00009.png index 3a161194e..40788a351 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_usdc/00009.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_usdc/00009.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_usdc/00010.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_usdc/00010.png new file mode 100644 index 000000000..38f573da9 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_usdc/00010.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_usdc/00011.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_usdc/00011.png new file mode 100644 index 000000000..0823a55e7 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_usdc/00011.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_usdc/00012.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_usdc/00012.png new file mode 100644 index 000000000..cfe23e78a Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_usdc/00012.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_usdc/00013.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_usdc/00013.png new file mode 100644 index 000000000..9071f3426 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_usdc/00013.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_usdc/00014.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_usdc/00014.png new file mode 100644 index 000000000..05519ceb3 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_usdc/00014.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_usdc/00015.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_usdc/00015.png new file mode 100644 index 000000000..7645a4905 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_usdc/00015.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_usdc/00016.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_usdc/00016.png new file mode 100644 index 000000000..3a161194e Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_usdc/00016.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_xlm/00008.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_xlm/00008.png index 7645a4905..748afdf92 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_xlm/00008.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_xlm/00008.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_xlm/00009.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_xlm/00009.png index 3a161194e..301b62ba3 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_xlm/00009.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_xlm/00009.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_xlm/00010.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_xlm/00010.png new file mode 100644 index 000000000..3482ea81c Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_xlm/00010.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_xlm/00011.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_xlm/00011.png new file mode 100644 index 000000000..0823a55e7 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_xlm/00011.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_xlm/00012.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_xlm/00012.png new file mode 100644 index 000000000..cfe23e78a Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_xlm/00012.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_xlm/00013.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_xlm/00013.png new file mode 100644 index 000000000..9071f3426 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_xlm/00013.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_xlm/00014.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_xlm/00014.png new file mode 100644 index 000000000..05519ceb3 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_xlm/00014.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_xlm/00015.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_xlm/00015.png new file mode 100644 index 000000000..7645a4905 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_xlm/00015.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_xlm/00016.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_xlm/00016.png new file mode 100644 index 000000000..3a161194e Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_transfer_xlm/00016.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00008.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00008.png index f3b5fdb5d..748afdf92 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00008.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00008.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00009.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00009.png index 1c0f803d1..2ed90043a 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00009.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00009.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00010.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00010.png index 38f573da9..ec92d69a3 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00010.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00010.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00011.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00011.png index 4d916ea10..cc381b4e7 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00011.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00011.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00012.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00012.png index 5fd7d2123..ef589829e 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00012.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00012.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00013.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00013.png index ae0b50302..e46c731ca 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00013.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00013.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00014.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00014.png index 38a505cd9..32957ba1d 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00014.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00014.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00015.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00015.png index 839936ee9..0568360d8 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00015.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00015.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00016.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00016.png index b25fbfec1..1c0f803d1 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00016.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00016.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00017.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00017.png index dd033cc00..38f573da9 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00017.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00017.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00020.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00020.png index a5c17eda1..ae0b50302 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00020.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00020.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00021.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00021.png index 795ed6c77..38a505cd9 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00021.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00021.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00022.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00022.png index 5d0cd9db8..e33edab7d 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00022.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00022.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00023.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00023.png index 634a13e7e..b25fbfec1 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00023.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00023.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00024.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00024.png index d788d8343..dd033cc00 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00024.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00024.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00025.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00025.png index 7645a4905..4d916ea10 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00025.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00025.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00026.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00026.png index 3a161194e..5fd7d2123 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00026.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00026.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00027.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00027.png new file mode 100644 index 000000000..a5c17eda1 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00027.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00028.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00028.png new file mode 100644 index 000000000..795ed6c77 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00028.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00029.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00029.png new file mode 100644 index 000000000..5d0cd9db8 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00029.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00030.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00030.png new file mode 100644 index 000000000..634a13e7e Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00030.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00031.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00031.png new file mode 100644 index 000000000..d788d8343 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00031.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00032.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00032.png new file mode 100644 index 000000000..7645a4905 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00032.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00033.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00033.png new file mode 100644 index 000000000..3a161194e Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth/00033.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00005.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00005.png index f3b5fdb5d..748afdf92 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00005.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00005.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00006.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00006.png index b333201c8..2ed90043a 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00006.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00006.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00007.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00007.png index babe5e204..ec92d69a3 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00007.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00007.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00008.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00008.png index b7d2be0a5..cc381b4e7 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00008.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00008.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00009.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00009.png index 839936ee9..0568360d8 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00009.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00009.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00010.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00010.png index b25fbfec1..b333201c8 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00010.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00010.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00011.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00011.png index dd033cc00..babe5e204 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00011.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00011.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00012.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00012.png index 4d916ea10..b7d2be0a5 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00012.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00012.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00013.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00013.png index 5fd7d2123..e33edab7d 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00013.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00013.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00014.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00014.png index a5c17eda1..b25fbfec1 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00014.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00014.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00015.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00015.png index 795ed6c77..dd033cc00 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00015.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00015.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00016.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00016.png index 5d0cd9db8..4d916ea10 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00016.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00016.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00017.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00017.png index 634a13e7e..5fd7d2123 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00017.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00017.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00018.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00018.png index d788d8343..a5c17eda1 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00018.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00018.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00019.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00019.png index 7645a4905..795ed6c77 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00019.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00019.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00020.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00020.png index 3a161194e..5d0cd9db8 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00020.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00020.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00021.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00021.png new file mode 100644 index 000000000..634a13e7e Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00021.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00022.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00022.png new file mode 100644 index 000000000..d788d8343 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00022.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00023.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00023.png new file mode 100644 index 000000000..7645a4905 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00023.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00024.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00024.png new file mode 100644 index 000000000..3a161194e Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00024.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00005.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00005.png index f3b5fdb5d..748afdf92 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00005.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00005.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00006.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00006.png index b333201c8..2ed90043a 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00006.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00006.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00007.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00007.png index babe5e204..ec92d69a3 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00007.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00007.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00008.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00008.png index b7d2be0a5..cc381b4e7 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00008.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00008.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00009.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00009.png index 839936ee9..0568360d8 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00009.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00009.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00010.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00010.png index b25fbfec1..b333201c8 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00010.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00010.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00011.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00011.png index dd033cc00..babe5e204 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00011.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00011.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00012.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00012.png index 4d916ea10..b7d2be0a5 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00012.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00012.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00013.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00013.png index 5fd7d2123..e33edab7d 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00013.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00013.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00014.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00014.png index a5c17eda1..b25fbfec1 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00014.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00014.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00015.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00015.png index 795ed6c77..dd033cc00 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00015.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00015.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00016.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00016.png index 5d0cd9db8..4d916ea10 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00016.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00016.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00017.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00017.png index 7645a4905..5fd7d2123 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00017.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00017.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00018.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00018.png index 3a161194e..a5c17eda1 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00018.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00018.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00019.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00019.png new file mode 100644 index 000000000..795ed6c77 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00019.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00020.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00020.png new file mode 100644 index 000000000..5d0cd9db8 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00020.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00021.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00021.png new file mode 100644 index 000000000..7645a4905 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00021.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00022.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00022.png new file mode 100644 index 000000000..3a161194e Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00022.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00000.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00000.png new file mode 100644 index 000000000..721b5d0ef Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00000.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00001.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00001.png new file mode 100644 index 000000000..14cffc1e1 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00001.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00002.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00002.png new file mode 100644 index 000000000..2ed90043a Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00002.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00003.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00003.png new file mode 100644 index 000000000..ec92d69a3 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00003.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00004.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00004.png new file mode 100644 index 000000000..cc381b4e7 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00004.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00005.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00005.png new file mode 100644 index 000000000..748afdf92 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00005.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00006.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00006.png new file mode 100644 index 000000000..ab3057ee9 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00006.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00007.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00007.png new file mode 100644 index 000000000..a7e8260ae Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00007.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00008.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00008.png new file mode 100644 index 000000000..c5b4f49cf Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00008.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00009.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00009.png new file mode 100644 index 000000000..1aceac473 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00009.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00010.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00010.png new file mode 100644 index 000000000..19115a86b Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00010.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00011.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00011.png new file mode 100644 index 000000000..592860294 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00011.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00012.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00012.png new file mode 100644 index 000000000..0568360d8 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00012.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00013.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00013.png new file mode 100644 index 000000000..9363d571c Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00013.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00014.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00014.png new file mode 100644 index 000000000..38f573da9 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00014.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00015.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00015.png new file mode 100644 index 000000000..4d916ea10 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00015.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00016.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00016.png new file mode 100644 index 000000000..5fd7d2123 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00016.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00017.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00017.png new file mode 100644 index 000000000..ae0b50302 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00017.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00018.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00018.png new file mode 100644 index 000000000..38a505cd9 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00018.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00019.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00019.png new file mode 100644 index 000000000..634a13e7e Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00019.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00020.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00020.png new file mode 100644 index 000000000..d788d8343 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00020.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00021.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00021.png new file mode 100644 index 000000000..7645a4905 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00021.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00022.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00022.png new file mode 100644 index 000000000..3a161194e Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00022.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00008.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00008.png index f3b5fdb5d..748afdf92 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00008.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00008.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00011.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00011.png index 58abb7f39..0e08da9e7 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00011.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00011.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00012.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00012.png index 2d7ccffd7..ef589829e 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00012.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00012.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00013.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00013.png index 6474c6ad3..e46c731ca 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00013.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00013.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00014.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00014.png index ab3057ee9..32957ba1d 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00014.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00014.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00015.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00015.png index a7e8260ae..0568360d8 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00015.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00015.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00016.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00016.png index 0c0cffa85..2ed90043a 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00016.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00016.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00017.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00017.png index ede58c1c4..ec92d69a3 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00017.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00017.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00018.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00018.png index ab3057ee9..58abb7f39 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00018.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00018.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00019.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00019.png index a7e8260ae..2d7ccffd7 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00019.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00019.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00020.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00020.png index a0714f78f..b0510c9fd 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00020.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00020.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00021.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00021.png index 59892f285..ab3057ee9 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00021.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00021.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00022.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00022.png index a591cabf0..a7e8260ae 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00022.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00022.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00023.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00023.png index 8ad6e7cde..0c0cffa85 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00023.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00023.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00024.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00024.png index 0df2e8c3a..031084976 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00024.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00024.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00025.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00025.png index a591cabf0..ab3057ee9 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00025.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00025.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00026.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00026.png index 8ad6e7cde..a7e8260ae 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00026.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00026.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00027.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00027.png index 949a27fb9..a0714f78f 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00027.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00027.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00028.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00028.png index e765e3d06..53a5b4b9f 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00028.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00028.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00029.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00029.png index 0c7108bf2..a591cabf0 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00029.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00029.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00030.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00030.png index 7afdd3412..8ad6e7cde 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00030.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00030.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00031.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00031.png index b8d856d37..cdb71d355 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00031.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00031.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00032.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00032.png index 1cc4288db..a591cabf0 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00032.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00032.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00033.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00033.png index 15f8e3a43..8ad6e7cde 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00033.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00033.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00037.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00037.png index 53c92e765..8f859f6eb 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00037.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00037.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00038.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00038.png index ab3057ee9..b8d856d37 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00038.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00038.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00039.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00039.png index a7e8260ae..1cc4288db 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00039.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00039.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00040.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00040.png index 79c7a768c..15f8e3a43 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00040.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00040.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00041.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00041.png index e5799c6cd..949a27fb9 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00041.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00041.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00042.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00042.png index ab3057ee9..e765e3d06 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00042.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00042.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00043.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00043.png index a7e8260ae..0c7108bf2 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00043.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00043.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00044.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00044.png index 2b3ddc505..716c32a4e 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00044.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00044.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00045.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00045.png index b655d0e25..ab3057ee9 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00045.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00045.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00046.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00046.png index b06d56a46..a7e8260ae 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00046.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00046.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00047.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00047.png index ab3057ee9..79c7a768c 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00047.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00047.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00048.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00048.png index a7e8260ae..9b0e0155d 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00048.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00048.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00049.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00049.png index aa5c82521..ab3057ee9 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00049.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00049.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00050.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00050.png index b655d0e25..a7e8260ae 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00050.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00050.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00051.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00051.png index 7c94e5f55..2b3ddc505 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00051.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00051.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00052.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00052.png index ab3057ee9..b655d0e25 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00052.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00052.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00053.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00053.png index a7e8260ae..246ceb5d3 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00053.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00053.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00054.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00054.png index 6c4b1d8a0..ab3057ee9 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00054.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00054.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00055.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00055.png index b655d0e25..a7e8260ae 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00055.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00055.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00056.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00056.png index 628978279..aa5c82521 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00056.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00056.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00057.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00057.png index ab3057ee9..b655d0e25 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00057.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00057.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00058.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00058.png index a7e8260ae..796e287ab 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00058.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00058.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00059.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00059.png index a8b62cd4d..ab3057ee9 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00059.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00059.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00060.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00060.png index b655d0e25..a7e8260ae 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00060.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00060.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00061.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00061.png index 7645a4905..6c4b1d8a0 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00061.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00061.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00062.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00062.png index 3a161194e..b655d0e25 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00062.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00062.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00063.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00063.png index 3a161194e..14a560aca 100644 Binary files a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00063.png and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00063.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00064.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00064.png new file mode 100644 index 000000000..ab3057ee9 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00064.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00065.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00065.png new file mode 100644 index 000000000..a7e8260ae Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00065.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00066.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00066.png new file mode 100644 index 000000000..a8b62cd4d Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00066.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00067.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00067.png new file mode 100644 index 000000000..b655d0e25 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00067.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00068.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00068.png new file mode 100644 index 000000000..7645a4905 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00068.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00069.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00069.png new file mode 100644 index 000000000..3a161194e Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00069.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00000.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00000.png new file mode 100644 index 000000000..721b5d0ef Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00000.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00001.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00001.png new file mode 100644 index 000000000..14cffc1e1 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00001.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00002.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00002.png new file mode 100644 index 000000000..2ed90043a Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00002.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00003.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00003.png new file mode 100644 index 000000000..ec92d69a3 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00003.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00004.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00004.png new file mode 100644 index 000000000..cc381b4e7 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00004.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00005.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00005.png new file mode 100644 index 000000000..748afdf92 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00005.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00006.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00006.png new file mode 100644 index 000000000..2ed90043a Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00006.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00007.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00007.png new file mode 100644 index 000000000..ec92d69a3 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00007.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00008.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00008.png new file mode 100644 index 000000000..cc381b4e7 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00008.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00009.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00009.png new file mode 100644 index 000000000..0568360d8 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00009.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00010.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00010.png new file mode 100644 index 000000000..b333201c8 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00010.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00011.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00011.png new file mode 100644 index 000000000..babe5e204 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00011.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00012.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00012.png new file mode 100644 index 000000000..b7d2be0a5 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00012.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00013.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00013.png new file mode 100644 index 000000000..a1299b38b Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00013.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00014.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00014.png new file mode 100644 index 000000000..b25fbfec1 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00014.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00015.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00015.png new file mode 100644 index 000000000..dd033cc00 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00015.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00016.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00016.png new file mode 100644 index 000000000..4d916ea10 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00016.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00017.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00017.png new file mode 100644 index 000000000..5fd7d2123 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00017.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00018.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00018.png new file mode 100644 index 000000000..a5c17eda1 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00018.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00019.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00019.png new file mode 100644 index 000000000..795ed6c77 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00019.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00020.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00020.png new file mode 100644 index 000000000..5d0cd9db8 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00020.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00021.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00021.png new file mode 100644 index 000000000..74f765f3e Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00021.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00022.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00022.png new file mode 100644 index 000000000..ab3057ee9 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00022.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00023.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00023.png new file mode 100644 index 000000000..a7e8260ae Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00023.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00024.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00024.png new file mode 100644 index 000000000..8afd2d7a0 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00024.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00025.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00025.png new file mode 100644 index 000000000..634a13e7e Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00025.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00026.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00026.png new file mode 100644 index 000000000..d788d8343 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00026.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00027.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00027.png new file mode 100644 index 000000000..7645a4905 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00027.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00028.png b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00028.png new file mode 100644 index 000000000..3a161194e Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00028.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_with_authorization_details_disabled/00000.png b/tests/snapshots/nanox/test_sign_tx_with_authorization_details_disabled/00000.png new file mode 100644 index 000000000..721b5d0ef Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_with_authorization_details_disabled/00000.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_with_authorization_details_disabled/00001.png b/tests/snapshots/nanox/test_sign_tx_with_authorization_details_disabled/00001.png new file mode 100644 index 000000000..14cffc1e1 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_with_authorization_details_disabled/00001.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_with_authorization_details_disabled/00002.png b/tests/snapshots/nanox/test_sign_tx_with_authorization_details_disabled/00002.png new file mode 100644 index 000000000..2ed90043a Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_with_authorization_details_disabled/00002.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_with_authorization_details_disabled/00003.png b/tests/snapshots/nanox/test_sign_tx_with_authorization_details_disabled/00003.png new file mode 100644 index 000000000..ec92d69a3 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_with_authorization_details_disabled/00003.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_with_nested_authorization_disabled/00004.png b/tests/snapshots/nanox/test_sign_tx_with_authorization_details_disabled/00004.png similarity index 100% rename from tests/snapshots/nanox/test_sign_tx_with_nested_authorization_disabled/00004.png rename to tests/snapshots/nanox/test_sign_tx_with_authorization_details_disabled/00004.png diff --git a/tests/snapshots/nanox/test_sign_tx_with_nested_authorization_disabled/00005.png b/tests/snapshots/nanox/test_sign_tx_with_authorization_details_disabled/00005.png similarity index 100% rename from tests/snapshots/nanox/test_sign_tx_with_nested_authorization_disabled/00005.png rename to tests/snapshots/nanox/test_sign_tx_with_authorization_details_disabled/00005.png diff --git a/tests/snapshots/nanox/test_sign_tx_with_nested_authorization_disabled/00006.png b/tests/snapshots/nanox/test_sign_tx_with_authorization_details_disabled/00006.png similarity index 100% rename from tests/snapshots/nanox/test_sign_tx_with_nested_authorization_disabled/00006.png rename to tests/snapshots/nanox/test_sign_tx_with_authorization_details_disabled/00006.png diff --git a/tests/snapshots/nanox/test_sign_tx_with_nested_authorization_disabled/00007.png b/tests/snapshots/nanox/test_sign_tx_with_authorization_details_disabled/00007.png similarity index 100% rename from tests/snapshots/nanox/test_sign_tx_with_nested_authorization_disabled/00007.png rename to tests/snapshots/nanox/test_sign_tx_with_authorization_details_disabled/00007.png diff --git a/tests/snapshots/nanox/test_sign_tx_with_authorization_details_disabled/00008.png b/tests/snapshots/nanox/test_sign_tx_with_authorization_details_disabled/00008.png new file mode 100644 index 000000000..7645a4905 Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_with_authorization_details_disabled/00008.png differ diff --git a/tests/snapshots/nanox/test_sign_tx_with_authorization_details_disabled/00009.png b/tests/snapshots/nanox/test_sign_tx_with_authorization_details_disabled/00009.png new file mode 100644 index 000000000..3a161194e Binary files /dev/null and b/tests/snapshots/nanox/test_sign_tx_with_authorization_details_disabled/00009.png differ diff --git a/tests/snapshots/stax/test_app_mainmenu/00002.png b/tests/snapshots/stax/test_app_mainmenu/00002.png index bec712646..de5b63a0c 100644 Binary files a/tests/snapshots/stax/test_app_mainmenu/00002.png and b/tests/snapshots/stax/test_app_mainmenu/00002.png differ diff --git a/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_create_smart_contract_v2/00002.png b/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_create_smart_contract_v2/00002.png index be2a9ebab..6bed7290f 100644 Binary files a/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_create_smart_contract_v2/00002.png and b/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_create_smart_contract_v2/00002.png differ diff --git a/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract/00003.png b/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract/00003.png index 2b428f63f..64be03c1a 100644 Binary files a/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract/00003.png and b/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract/00003.png differ diff --git a/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract/00004.png b/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract/00004.png index 694093e47..198a0e18e 100644 Binary files a/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract/00004.png and b/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract/00004.png differ diff --git a/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00002.png b/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00002.png index 3614b481c..3e291cf48 100644 Binary files a/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00002.png and b/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00002.png differ diff --git a/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00003.png b/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00003.png index 11418bf77..ac28b4e22 100644 Binary files a/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00003.png and b/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00003.png differ diff --git a/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00004.png b/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00004.png index 13746d6d6..9fbcd7de7 100644 Binary files a/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00004.png and b/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00004.png differ diff --git a/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00005.png b/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00005.png index 59ce7fdeb..04f0a7612 100644 Binary files a/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00005.png and b/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00005.png differ diff --git a/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00006.png b/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00006.png index 62cce0392..829bd048f 100644 Binary files a/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00006.png and b/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00006.png differ diff --git a/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00007.png b/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00007.png index 9f8b30d68..cf5801be4 100644 Binary files a/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00007.png and b/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00007.png differ diff --git a/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00008.png b/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00008.png index 88809499d..241154eb3 100644 Binary files a/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00008.png and b/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00008.png differ diff --git a/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00009.png b/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00009.png index a142f03de..d43dabcce 100644 Binary files a/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00009.png and b/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00009.png differ diff --git a/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00010.png b/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00010.png index e0e669c97..db21ca118 100644 Binary files a/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00010.png and b/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00010.png differ diff --git a/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00011.png b/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00011.png index 52dbffb23..e90783185 100644 Binary files a/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00011.png and b/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00011.png differ diff --git a/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00012.png b/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00012.png index 29251f898..0a0669583 100644 Binary files a/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00012.png and b/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_with_complex_sub_invocation/00012.png differ diff --git a/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_without_args/00001.png b/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_without_args/00001.png index 0e4594736..22aff884c 100644 Binary files a/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_without_args/00001.png and b/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_without_args/00001.png differ diff --git a/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_without_args/00003.png b/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_without_args/00003.png index 0b88a3b68..eec34e8da 100644 Binary files a/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_without_args/00003.png and b/tests/snapshots/stax/test_sign_soroban_auth_soroban_auth_invoke_contract_without_args/00003.png differ diff --git a/tests/snapshots/stax/test_sign_soroban_auth_with_nested_authorization_disabled/00000.png b/tests/snapshots/stax/test_sign_soroban_auth_with_authorization_details_disabled/00000.png similarity index 100% rename from tests/snapshots/stax/test_sign_soroban_auth_with_nested_authorization_disabled/00000.png rename to tests/snapshots/stax/test_sign_soroban_auth_with_authorization_details_disabled/00000.png diff --git a/tests/snapshots/stax/test_sign_soroban_auth_with_nested_authorization_disabled/00001.png b/tests/snapshots/stax/test_sign_soroban_auth_with_authorization_details_disabled/00001.png similarity index 100% rename from tests/snapshots/stax/test_sign_soroban_auth_with_nested_authorization_disabled/00001.png rename to tests/snapshots/stax/test_sign_soroban_auth_with_authorization_details_disabled/00001.png diff --git a/tests/snapshots/stax/test_sign_soroban_auth_with_nested_authorization_disabled/00002.png b/tests/snapshots/stax/test_sign_soroban_auth_with_authorization_details_disabled/00002.png similarity index 100% rename from tests/snapshots/stax/test_sign_soroban_auth_with_nested_authorization_disabled/00002.png rename to tests/snapshots/stax/test_sign_soroban_auth_with_authorization_details_disabled/00002.png diff --git a/tests/snapshots/stax/test_sign_soroban_auth_with_nested_authorization_disabled/00003.png b/tests/snapshots/stax/test_sign_soroban_auth_with_authorization_details_disabled/00003.png similarity index 100% rename from tests/snapshots/stax/test_sign_soroban_auth_with_nested_authorization_disabled/00003.png rename to tests/snapshots/stax/test_sign_soroban_auth_with_authorization_details_disabled/00003.png diff --git a/tests/snapshots/stax/test_sign_soroban_auth_with_nested_authorization_disabled/00004.png b/tests/snapshots/stax/test_sign_soroban_auth_with_authorization_details_disabled/00004.png similarity index 100% rename from tests/snapshots/stax/test_sign_soroban_auth_with_nested_authorization_disabled/00004.png rename to tests/snapshots/stax/test_sign_soroban_auth_with_authorization_details_disabled/00004.png diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_approve_usdc/00000.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_approve_usdc/00000.png index e5180ac62..1fe4a0169 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_approve_usdc/00000.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_approve_usdc/00000.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_approve_usdc/00001.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_approve_usdc/00001.png index e2a2295f1..ff0546e55 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_approve_usdc/00001.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_approve_usdc/00001.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_approve_usdc/00002.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_approve_usdc/00002.png index 1dbafa9fe..27948ce08 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_approve_usdc/00002.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_approve_usdc/00002.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_approve_usdc/00003.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_approve_usdc/00003.png index ba08d83af..2662fccc0 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_approve_usdc/00003.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_approve_usdc/00003.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_approve_usdc/00004.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_approve_usdc/00004.png index 58c91e90e..53e96eefc 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_approve_usdc/00004.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_approve_usdc/00004.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_approve_usdc/00005.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_approve_usdc/00005.png index ceda6a87a..f6de8bfe2 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_approve_usdc/00005.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_approve_usdc/00005.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_approve_usdc/00006.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_approve_usdc/00006.png index 1f147e075..f2e9e2960 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_approve_usdc/00006.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_approve_usdc/00006.png differ diff --git a/tests/snapshots/stax/test_sign_tx_with_nested_authorization_disabled/00004.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_approve_usdc/00007.png similarity index 100% rename from tests/snapshots/stax/test_sign_tx_with_nested_authorization_disabled/00004.png rename to tests/snapshots/stax/test_sign_tx_op_invoke_host_function_approve_usdc/00007.png diff --git a/tests/snapshots/stax/test_sign_tx_with_nested_authorization_disabled/00005.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_approve_usdc/00008.png similarity index 100% rename from tests/snapshots/stax/test_sign_tx_with_nested_authorization_disabled/00005.png rename to tests/snapshots/stax/test_sign_tx_op_invoke_host_function_approve_usdc/00008.png diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_approve/00000.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_approve/00000.png index e5180ac62..1fe4a0169 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_approve/00000.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_approve/00000.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_approve/00001.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_approve/00001.png index a1538f9f7..179b74fe8 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_approve/00001.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_approve/00001.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_approve/00002.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_approve/00002.png index acbe252fc..ce347863e 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_approve/00002.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_approve/00002.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_approve/00003.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_approve/00003.png index edd1cde0e..26521b440 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_approve/00003.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_approve/00003.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_approve/00004.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_approve/00004.png index 58c91e90e..4ad72cefc 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_approve/00004.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_approve/00004.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_approve/00005.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_approve/00005.png index ceda6a87a..5d400149d 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_approve/00005.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_approve/00005.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_approve/00006.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_approve/00006.png index 1f147e075..f2e9e2960 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_approve/00006.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_approve/00006.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_approve/00007.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_approve/00007.png new file mode 100644 index 000000000..ceda6a87a Binary files /dev/null and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_approve/00007.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_approve/00008.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_approve/00008.png new file mode 100644 index 000000000..1f147e075 Binary files /dev/null and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_approve/00008.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_transfer/00000.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_transfer/00000.png index e5180ac62..1fe4a0169 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_transfer/00000.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_transfer/00000.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_transfer/00001.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_transfer/00001.png index d7052846b..71ddaef3b 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_transfer/00001.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_transfer/00001.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_transfer/00002.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_transfer/00002.png index 7bb541012..cc3d9799a 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_transfer/00002.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_transfer/00002.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_transfer/00003.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_transfer/00003.png index ba08d83af..d7d8c812e 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_transfer/00003.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_transfer/00003.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_transfer/00004.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_transfer/00004.png index 58c91e90e..cfe39b2bc 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_transfer/00004.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_transfer/00004.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_transfer/00005.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_transfer/00005.png index ceda6a87a..f6de8bfe2 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_transfer/00005.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_transfer/00005.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_transfer/00006.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_transfer/00006.png index 1f147e075..f2e9e2960 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_transfer/00006.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_transfer/00006.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_transfer/00007.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_transfer/00007.png new file mode 100644 index 000000000..ceda6a87a Binary files /dev/null and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_transfer/00007.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_transfer/00008.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_transfer/00008.png new file mode 100644 index 000000000..1f147e075 Binary files /dev/null and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_asset_transfer/00008.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00000.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00000.png index 4a7d5af18..cae2f2e79 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00000.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00000.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00001.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00001.png index ac5704635..f2e2d6022 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00001.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00001.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00002.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00002.png index bce00aa04..547467199 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00002.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00002.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00003.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00003.png index ceda6a87a..56abc8d98 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00003.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00003.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00004.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00004.png index 1f147e075..ceda6a87a 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00004.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_new_asset/00004.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00000.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00000.png index 0679bd589..7b49c7712 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00000.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00000.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00001.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00001.png index ba33ce56a..d657de29b 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00001.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00001.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00002.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00002.png index d51dfd8fd..8a4464d8f 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00002.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00002.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00003.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00003.png index e7d49da54..e6f0d3649 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00003.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00003.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00004.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00004.png index 2da41fe24..1ac60c308 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00004.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00004.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00005.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00005.png index dfa947b6a..a88e341a0 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00005.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00005.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00006.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00006.png index 134ecc456..cc4686e0e 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00006.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00006.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00007.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00007.png index 86a11b689..162af9c44 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00007.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00007.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00008.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00008.png index 29d7e6bb5..1d7034e16 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00008.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00008.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00009.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00009.png index ceda6a87a..da5a6364b 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00009.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00009.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00010.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00010.png index 1f147e075..c1f2695f5 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00010.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00010.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00011.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00011.png new file mode 100644 index 000000000..ceda6a87a Binary files /dev/null and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00011.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00012.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00012.png new file mode 100644 index 000000000..1f147e075 Binary files /dev/null and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_v2_wasm_id/00012.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00000.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00000.png index 4a7d5af18..cae2f2e79 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00000.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00000.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00001.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00001.png index 344ad1f8b..9c91202ee 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00001.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00001.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00002.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00002.png index bce00aa04..6fb376c66 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00002.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00002.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00003.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00003.png index ceda6a87a..56abc8d98 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00003.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00003.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00004.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00004.png index 1f147e075..ceda6a87a 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00004.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00004.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00005.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00005.png new file mode 100644 index 000000000..1f147e075 Binary files /dev/null and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_create_contract_wasm_id/00005.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_usdc/00000.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_usdc/00000.png index 5580e1eea..408d9d8d4 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_usdc/00000.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_usdc/00000.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_usdc/00001.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_usdc/00001.png index a8c6609bf..cb67a068a 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_usdc/00001.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_usdc/00001.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_usdc/00002.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_usdc/00002.png index ffecd67cd..7e156f711 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_usdc/00002.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_usdc/00002.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_usdc/00003.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_usdc/00003.png index 4ae9d34a1..40dabf2f1 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_usdc/00003.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_usdc/00003.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_usdc/00004.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_usdc/00004.png index ceda6a87a..1ab481cbd 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_usdc/00004.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_usdc/00004.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_usdc/00005.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_usdc/00005.png index 1f147e075..75874a03a 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_usdc/00005.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_usdc/00005.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_usdc/00006.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_usdc/00006.png new file mode 100644 index 000000000..ceda6a87a Binary files /dev/null and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_usdc/00006.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_usdc/00007.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_usdc/00007.png new file mode 100644 index 000000000..1f147e075 Binary files /dev/null and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_usdc/00007.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_xlm/00000.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_xlm/00000.png index 5580e1eea..408d9d8d4 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_xlm/00000.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_xlm/00000.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_xlm/00001.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_xlm/00001.png index 80be9f038..d3944e6c7 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_xlm/00001.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_xlm/00001.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_xlm/00002.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_xlm/00002.png index ffecd67cd..7e156f711 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_xlm/00002.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_xlm/00002.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_xlm/00003.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_xlm/00003.png index 4ae9d34a1..9a609db6f 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_xlm/00003.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_xlm/00003.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_xlm/00004.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_xlm/00004.png index ceda6a87a..1ab481cbd 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_xlm/00004.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_xlm/00004.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_xlm/00005.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_xlm/00005.png index 1f147e075..75874a03a 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_xlm/00005.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_xlm/00005.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_xlm/00006.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_xlm/00006.png new file mode 100644 index 000000000..ceda6a87a Binary files /dev/null and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_xlm/00006.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_xlm/00007.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_xlm/00007.png new file mode 100644 index 000000000..1f147e075 Binary files /dev/null and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_transfer_xlm/00007.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth/00000.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth/00000.png index 1fe4a0169..30c35a07f 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth/00000.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth/00000.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth/00001.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth/00001.png index f79d87e8a..523e6d5ad 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth/00001.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth/00001.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth/00002.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth/00002.png index bf8c6b03d..23782ea03 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth/00002.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth/00002.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth/00003.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth/00003.png index 6e754fc9e..353df0364 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth/00003.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth/00003.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth/00004.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth/00004.png index a5e22c167..c023a6385 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth/00004.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth/00004.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth/00005.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth/00005.png index 8bf5bc470..367ddfe55 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth/00005.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth/00005.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth/00006.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth/00006.png index f2e9e2960..519b25633 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth/00006.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth/00006.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth/00007.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth/00007.png index ceda6a87a..270e61942 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth/00007.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth/00007.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth/00008.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth/00008.png index 1f147e075..2d276863b 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth/00008.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth/00008.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth/00009.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth/00009.png new file mode 100644 index 000000000..ceda6a87a Binary files /dev/null and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth/00009.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth/00010.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth/00010.png new file mode 100644 index 000000000..1f147e075 Binary files /dev/null and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth/00010.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00000.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00000.png index 408d9d8d4..1fe4a0169 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00000.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00000.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00001.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00001.png index f52bb8541..4f8fcc29a 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00001.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00001.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00002.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00002.png index f71c37eeb..572b95f97 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00002.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00002.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00003.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00003.png index 558914d30..f14b080a4 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00003.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00003.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00004.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00004.png index c921b6662..a5e22c167 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00004.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00004.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00005.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00005.png index 75874a03a..8bf5bc470 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00005.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00005.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00006.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00006.png index ceda6a87a..f2e9e2960 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00006.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00006.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00007.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00007.png index 1f147e075..ceda6a87a 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00007.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00007.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00008.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00008.png new file mode 100644 index 000000000..1f147e075 Binary files /dev/null and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args/00008.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00000.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00000.png index 408d9d8d4..1fe4a0169 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00000.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00000.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00001.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00001.png index f52bb8541..4f8fcc29a 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00001.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00001.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00002.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00002.png index f71c37eeb..572b95f97 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00002.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00002.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00003.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00003.png index 558914d30..f14b080a4 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00003.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00003.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00004.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00004.png index 6ae3fc42e..a5e22c167 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00004.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00004.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00005.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00005.png index 75874a03a..fdb4f4e33 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00005.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00005.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00006.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00006.png index ceda6a87a..f2e9e2960 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00006.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00006.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00007.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00007.png index 1f147e075..ceda6a87a 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00007.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00007.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00008.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00008.png new file mode 100644 index 000000000..1f147e075 Binary files /dev/null and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_and_no_args_and_no_source/00008.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00000.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00000.png new file mode 100644 index 000000000..1fe4a0169 Binary files /dev/null and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00000.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00001.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00001.png new file mode 100644 index 000000000..4f8fcc29a Binary files /dev/null and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00001.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00002.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00002.png new file mode 100644 index 000000000..7e944cc6a Binary files /dev/null and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00002.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00003.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00003.png new file mode 100644 index 000000000..dbb65c8cf Binary files /dev/null and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00003.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00004.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00004.png new file mode 100644 index 000000000..21b07b867 Binary files /dev/null and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00004.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00005.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00005.png new file mode 100644 index 000000000..f6de8bfe2 Binary files /dev/null and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00005.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00006.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00006.png new file mode 100644 index 000000000..f2e9e2960 Binary files /dev/null and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00006.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00007.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00007.png new file mode 100644 index 000000000..ceda6a87a Binary files /dev/null and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00007.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00008.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00008.png new file mode 100644 index 000000000..1f147e075 Binary files /dev/null and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_auth_root_differs_from_host_function/00008.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00000.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00000.png index 2b6edb2eb..3e66fa012 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00000.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00000.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00001.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00001.png index 1c2e43030..164736656 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00001.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00001.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00002.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00002.png index 0e294e899..75f3809fe 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00002.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00002.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00003.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00003.png index 7c33ee981..c89b49379 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00003.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00003.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00004.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00004.png index ebe987ffe..aaa333ccf 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00004.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00004.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00005.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00005.png index a45822aa6..b99b6a23c 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00005.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00005.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00006.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00006.png index b791f4ca2..f018ba67d 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00006.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00006.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00007.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00007.png index 6654e6a8b..ca2d0c769 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00007.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00007.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00008.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00008.png index 1e7762c03..bb0fa72a4 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00008.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00008.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00009.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00009.png index 9d6dabde3..dccae9a0d 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00009.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00009.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00010.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00010.png index f64889a85..082e04334 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00010.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00010.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00011.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00011.png index 0c6abc928..c5c1ce0b4 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00011.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00011.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00012.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00012.png index c08f20e24..a1fc5b31b 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00012.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00012.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00013.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00013.png index b3db7dd7c..43571d3e6 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00013.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00013.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00014.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00014.png index 157c7aedb..cf5b4668e 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00014.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00014.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00015.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00015.png index ceda6a87a..da2027099 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00015.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00015.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00016.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00016.png index 1f147e075..59af35351 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00016.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00016.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00017.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00017.png index 1f147e075..ceda6a87a 100644 Binary files a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00017.png and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00017.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00018.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00018.png new file mode 100644 index 000000000..1f147e075 Binary files /dev/null and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_complex_sub_invocation/00018.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00000.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00000.png new file mode 100644 index 000000000..49b04ad15 Binary files /dev/null and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00000.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00001.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00001.png new file mode 100644 index 000000000..2bca3eaf9 Binary files /dev/null and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00001.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00002.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00002.png new file mode 100644 index 000000000..9b4e65276 Binary files /dev/null and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00002.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00003.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00003.png new file mode 100644 index 000000000..c24814935 Binary files /dev/null and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00003.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00004.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00004.png new file mode 100644 index 000000000..c859d6980 Binary files /dev/null and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00004.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00005.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00005.png new file mode 100644 index 000000000..1fb874be8 Binary files /dev/null and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00005.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00006.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00006.png new file mode 100644 index 000000000..023161307 Binary files /dev/null and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00006.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00007.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00007.png new file mode 100644 index 000000000..d18e567bf Binary files /dev/null and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00007.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00008.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00008.png new file mode 100644 index 000000000..ceda6a87a Binary files /dev/null and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00008.png differ diff --git a/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00009.png b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00009.png new file mode 100644 index 000000000..1f147e075 Binary files /dev/null and b/tests/snapshots/stax/test_sign_tx_op_invoke_host_function_with_multiple_source_account_auth/00009.png differ diff --git a/tests/snapshots/stax/test_sign_tx_with_nested_authorization_disabled/00000.png b/tests/snapshots/stax/test_sign_tx_with_authorization_details_disabled/00000.png similarity index 100% rename from tests/snapshots/stax/test_sign_tx_with_nested_authorization_disabled/00000.png rename to tests/snapshots/stax/test_sign_tx_with_authorization_details_disabled/00000.png diff --git a/tests/snapshots/stax/test_sign_tx_with_nested_authorization_disabled/00001.png b/tests/snapshots/stax/test_sign_tx_with_authorization_details_disabled/00001.png similarity index 100% rename from tests/snapshots/stax/test_sign_tx_with_nested_authorization_disabled/00001.png rename to tests/snapshots/stax/test_sign_tx_with_authorization_details_disabled/00001.png diff --git a/tests/snapshots/stax/test_sign_tx_with_nested_authorization_disabled/00002.png b/tests/snapshots/stax/test_sign_tx_with_authorization_details_disabled/00002.png similarity index 100% rename from tests/snapshots/stax/test_sign_tx_with_nested_authorization_disabled/00002.png rename to tests/snapshots/stax/test_sign_tx_with_authorization_details_disabled/00002.png diff --git a/tests/snapshots/stax/test_sign_tx_with_nested_authorization_disabled/00003.png b/tests/snapshots/stax/test_sign_tx_with_authorization_details_disabled/00003.png similarity index 100% rename from tests/snapshots/stax/test_sign_tx_with_nested_authorization_disabled/00003.png rename to tests/snapshots/stax/test_sign_tx_with_authorization_details_disabled/00003.png diff --git a/tests/snapshots/stax/test_sign_tx_with_authorization_details_disabled/00004.png b/tests/snapshots/stax/test_sign_tx_with_authorization_details_disabled/00004.png new file mode 100644 index 000000000..ceda6a87a Binary files /dev/null and b/tests/snapshots/stax/test_sign_tx_with_authorization_details_disabled/00004.png differ diff --git a/tests/snapshots/stax/test_sign_tx_with_authorization_details_disabled/00005.png b/tests/snapshots/stax/test_sign_tx_with_authorization_details_disabled/00005.png new file mode 100644 index 000000000..1f147e075 Binary files /dev/null and b/tests/snapshots/stax/test_sign_tx_with_authorization_details_disabled/00005.png differ diff --git a/tests/test_error_cmd.py b/tests/test_error_cmd.py index a2ffc6b75..725491d38 100644 --- a/tests/test_error_cmd.py +++ b/tests/test_error_cmd.py @@ -29,3 +29,18 @@ def test_wrong_p1p2(backend): cla=CLA, ins=InsType.GET_CONF, p1=P1.FIRST_APDU, p2=P2.MORE_APDU ) assert e.value.status == Errors.SW_WRONG_P1_P2 + + +# Ensure a continuation chunk without a preceding first chunk is rejected +# instead of proceeding with the default derivation path and empty state +@pytest.mark.parametrize( + "ins", + [InsType.SIGN_TX, InsType.SIGN_SOROBAN_AUTH, InsType.SIGN_MESSAGE], + ids=["sign_tx", "sign_soroban_auth", "sign_message"], +) +def test_continuation_without_first_chunk(backend, ins): + with pytest.raises(ExceptionRAPDU) as e: + backend.exchange( + cla=CLA, ins=ins, p1=P1.MORE_APDU, p2=P2.LAST_APDU, data=b"\x00" * 8 + ) + assert e.value.status == Errors.SW_DATA_PARSING_FAIL diff --git a/tests/test_sign_message_cmd.py b/tests/test_sign_message_cmd.py index 954fcb57f..c10439fe1 100644 --- a/tests/test_sign_message_cmd.py +++ b/tests/test_sign_message_cmd.py @@ -54,10 +54,15 @@ def test_sign_message_reject(backend, scenario_navigator): assert len(e.value.data) == 0 -def test_sign_message_data_too_large(backend): +@pytest.mark.parametrize( + "size", + [1024 * 10, 2049], + ids=["exceeds_buffer", "exceeds_message_limit"], +) +def test_sign_message_data_too_large(backend, size): path = "m/44'/148'/0'" client = StellarCommandSender(backend) - message = b"A" * 1024 * 10 + message = b"A" * size with pytest.raises(ExceptionRAPDU) as e: with client.sign_message(path=path, message=message): diff --git a/tests/test_sign_soroban_auth_cmd.py b/tests/test_sign_soroban_auth_cmd.py index 74aaf16f5..abcdf8ad0 100644 --- a/tests/test_sign_soroban_auth_cmd.py +++ b/tests/test_sign_soroban_auth_cmd.py @@ -66,7 +66,7 @@ def test_sign_soroban_auth_with_nonce_enabled( assert response == expected_signature -def test_sign_soroban_auth_with_nested_authorization_disabled( +def test_sign_soroban_auth_with_authorization_details_disabled( backend, scenario_navigator, device, navigator ): keypair = Keypair.from_mnemonic_phrase(MNEMONIC, index=0) @@ -78,7 +78,7 @@ def test_sign_soroban_auth_with_nested_authorization_disabled( configure_device_settings( navigator, device, - SettingsId.DISABLE_NESTED_AUTHORIZATION | SettingsId.ENABLE_BLIND_SIGNING, + SettingsId.DISABLE_AUTHORIZATION_DETAILS | SettingsId.ENABLE_BLIND_SIGNING, ) with client.sign_soroban_auth( path=path, soroban_authorization=preimage.to_xdr_bytes() diff --git a/tests/test_sign_tx_cmd.py b/tests/test_sign_tx_cmd.py index b698639a8..f9b3ddf93 100644 --- a/tests/test_sign_tx_cmd.py +++ b/tests/test_sign_tx_cmd.py @@ -117,7 +117,7 @@ def test_sign_tx_with_tx_source_enabled(backend, scenario_navigator, device, nav assert response == expected_signature -def test_sign_tx_with_nested_authorization_disabled( +def test_sign_tx_with_authorization_details_disabled( backend, scenario_navigator, device, navigator ): keypair = Keypair.from_mnemonic_phrase(MNEMONIC, index=0) @@ -128,7 +128,7 @@ def test_sign_tx_with_nested_authorization_disabled( configure_device_settings( navigator, device, - SettingsId.DISABLE_NESTED_AUTHORIZATION | SettingsId.ENABLE_BLIND_SIGNING, + SettingsId.DISABLE_AUTHORIZATION_DETAILS | SettingsId.ENABLE_BLIND_SIGNING, ) with client.sign_tx(path=path, transaction=signature_base): diff --git a/tests/utils.py b/tests/utils.py index ae0f0e096..0d9204752 100644 --- a/tests/utils.py +++ b/tests/utils.py @@ -23,7 +23,7 @@ class SettingsId(IntFlag): ENABLE_TRANSACTION_SOURCE = auto() ENABLE_SEQUENCE_AND_NONCE = auto() ENABLE_PRECONDITION = auto() - DISABLE_NESTED_AUTHORIZATION = auto() + DISABLE_AUTHORIZATION_DETAILS = auto() # Button coordinates for different device types @@ -33,21 +33,21 @@ class SettingsId(IntFlag): SettingsId.ENABLE_TRANSACTION_SOURCE: (340, 280), SettingsId.ENABLE_SEQUENCE_AND_NONCE: (340, 445), SettingsId.ENABLE_PRECONDITION: (340, 135), - SettingsId.DISABLE_NESTED_AUTHORIZATION: (340, 305), + SettingsId.DISABLE_AUTHORIZATION_DETAILS: (340, 305), }, DeviceType.FLEX: { SettingsId.ENABLE_BLIND_SIGNING: (415, 140), SettingsId.ENABLE_TRANSACTION_SOURCE: (415, 280), SettingsId.ENABLE_SEQUENCE_AND_NONCE: (415, 140), SettingsId.ENABLE_PRECONDITION: (415, 320), - SettingsId.DISABLE_NESTED_AUTHORIZATION: (415, 140), + SettingsId.DISABLE_AUTHORIZATION_DETAILS: (415, 140), }, DeviceType.APEX_P: { SettingsId.ENABLE_BLIND_SIGNING: (265, 95), SettingsId.ENABLE_TRANSACTION_SOURCE: (265, 190), SettingsId.ENABLE_SEQUENCE_AND_NONCE: (265, 95), SettingsId.ENABLE_PRECONDITION: (265, 210), - SettingsId.DISABLE_NESTED_AUTHORIZATION: (265, 95), + SettingsId.DISABLE_AUTHORIZATION_DETAILS: (265, 95), }, } @@ -82,7 +82,7 @@ def _get_nano_instructions(settings: SettingsId) -> list[NavIns]: SettingsId.ENABLE_TRANSACTION_SOURCE, SettingsId.ENABLE_SEQUENCE_AND_NONCE, SettingsId.ENABLE_PRECONDITION, - SettingsId.DISABLE_NESTED_AUTHORIZATION, + SettingsId.DISABLE_AUTHORIZATION_DETAILS, ] for setting in settings_order: @@ -105,7 +105,7 @@ def _get_nano_instructions(settings: SettingsId) -> list[NavIns]: # Page 2 [ SettingsId.ENABLE_PRECONDITION, - SettingsId.DISABLE_NESTED_AUTHORIZATION, + SettingsId.DISABLE_AUTHORIZATION_DETAILS, ], ], DeviceType.FLEX: [ @@ -121,7 +121,7 @@ def _get_nano_instructions(settings: SettingsId) -> list[NavIns]: ], # Page 3 [ - SettingsId.DISABLE_NESTED_AUTHORIZATION, + SettingsId.DISABLE_AUTHORIZATION_DETAILS, ], ], DeviceType.APEX_P: [ @@ -137,7 +137,7 @@ def _get_nano_instructions(settings: SettingsId) -> list[NavIns]: ], # Page 3 [ - SettingsId.DISABLE_NESTED_AUTHORIZATION, + SettingsId.DISABLE_AUTHORIZATION_DETAILS, ], ], }