diff --git a/stellar_rust_sdk/src/accounts/mod.rs b/stellar_rust_sdk/src/accounts/mod.rs index c62fb2c..bb2da0a 100644 --- a/stellar_rust_sdk/src/accounts/mod.rs +++ b/stellar_rust_sdk/src/accounts/mod.rs @@ -78,10 +78,26 @@ pub mod test { use super::prelude::*; use crate::horizon_client::HorizonClient; - static SEQUENCE: &str = "131988639973376"; - static ACCOUNT_ID: &str = "GCAHCEGRUI7FFAQE3DBQWV7ULMQHFBUIVRZC4R2VISREAY6D52Z2NODN"; - static LAST_MODIFIED_TIME: &str = "2024-02-08T14:25:14Z"; - static LAST_MODIFIED_LEDGER: u64 = 30731; + static ACCOUNT_ID: &str = "GDIGRW2H37U3O5WPMQFWGN35DDVZAYYTIMGLYVQI4XTATZBW4FXEATRE"; + static LAST_MODIFIED_TIME: &str = "2024-06-12T17:21:23Z"; + static SEQUENCE: &str = "5471788335106"; + static SUBENTRY_COUNT: &u32 = &0; + static LAST_MODIFIED_LEDGER: u64 = 14055; + static LOW_THRESHOLD: &u32 = &0; + static MID_THRESOLD: &u32 = &0; + static HIGH_THRESOLD: &u32 = &0; + static AUTH_REQUIRED: &bool = &true; + static AUTH_REVOCABLE: &bool = &true; + static AUTH_IMMUTABLE: &bool = &false; + static AUTH_CLAWBACK_ENABLED: &bool = &false; + static BALANCE: &str = "4.9999600"; + static ASSET_TYPE: &str = "native"; + static BUYING_LIABILITY: &str = "0.0000000"; + static SELLING_LIABILITY: &str = "0.0000000"; + static WEIGHT: &u32 = &1; + static SIGNER_TYPE: &str = "ed25519_public_key"; + static NUM_SPONSORING: &u32 = &0; + static NUM_SPONSORED: &u32 = &0; #[tokio::test] async fn test_get_account_list() { @@ -106,25 +122,25 @@ pub mod test { assert_eq!(response.account_id(), ACCOUNT_ID); assert_eq!(response.id(), ACCOUNT_ID); assert_eq!(response.sequence(), SEQUENCE); - assert_eq!(response.subentry_count(), &0); + assert_eq!(response.subentry_count(), SUBENTRY_COUNT); assert_eq!(response.last_modified_ledger(), &LAST_MODIFIED_LEDGER); assert_eq!(response.last_modified_time(), LAST_MODIFIED_TIME); - assert_eq!(response.thresholds().low_threshold(), &0); - assert_eq!(response.thresholds().med_threshold(), &0); - assert_eq!(response.thresholds().high_threshold(), &0); - assert_eq!(response.flags().auth_required(), &false); - assert_eq!(response.flags().auth_revocable(), &false); - assert_eq!(response.flags().auth_immutable(), &false); - assert_eq!(response.flags().auth_clawback_enabled(), &false); - assert_eq!(response.balances()[0].balance(), "10000.0000000"); - assert_eq!(response.balances()[0].asset_type(), "native"); - assert_eq!(response.balances()[0].buying_liabilities(), "0.0000000"); - assert_eq!(response.balances()[0].selling_liabilities(), "0.0000000"); + assert_eq!(response.thresholds().low_threshold(), LOW_THRESHOLD); + assert_eq!(response.thresholds().med_threshold(), MID_THRESOLD); + assert_eq!(response.thresholds().high_threshold(), HIGH_THRESOLD); + assert_eq!(response.flags().auth_required(), AUTH_REQUIRED); + assert_eq!(response.flags().auth_revocable(), AUTH_REVOCABLE); + assert_eq!(response.flags().auth_immutable(), AUTH_IMMUTABLE); + assert_eq!(response.flags().auth_clawback_enabled(), AUTH_CLAWBACK_ENABLED); + assert_eq!(response.balances()[0].balance(), BALANCE); + assert_eq!(response.balances()[0].asset_type(), ASSET_TYPE); + assert_eq!(response.balances()[0].buying_liabilities(), BUYING_LIABILITY); + assert_eq!(response.balances()[0].selling_liabilities(), SELLING_LIABILITY); assert_eq!(response.signers()[0].key(), ACCOUNT_ID); - assert_eq!(response.signers()[0].weight(), &1); - assert_eq!(response.signers()[0].singer_type(), "ed25519_public_key"); - assert_eq!(response.num_sponsoring(), &0); - assert_eq!(response.num_sponsored(), &0); + assert_eq!(response.signers()[0].weight(), WEIGHT); + assert_eq!(response.signers()[0].singer_type(), SIGNER_TYPE); + assert_eq!(response.num_sponsoring(), NUM_SPONSORING); + assert_eq!(response.num_sponsored(), NUM_SPONSORED); assert_eq!(response.paging_token(), ACCOUNT_ID); } @@ -147,25 +163,25 @@ pub mod test { let response = single_account_response.unwrap(); assert_eq!(response.account_id().to_string(), ACCOUNT_ID); assert_eq!(response.sequence().to_string(), SEQUENCE); - assert_eq!(response.subentry_count(), &0); + assert_eq!(response.subentry_count(), SUBENTRY_COUNT); assert_eq!(response.last_modified_ledger(), &LAST_MODIFIED_LEDGER); assert_eq!(response.last_modified_time(), LAST_MODIFIED_TIME); - assert_eq!(response.thresholds().low_threshold(), &0); - assert_eq!(response.thresholds().med_threshold(), &0); - assert_eq!(response.thresholds().high_threshold(), &0); - assert_eq!(response.flags().auth_required(), &false); - assert_eq!(response.flags().auth_revocable(), &false); - assert_eq!(response.flags().auth_immutable(), &false); - assert_eq!(response.flags().auth_clawback_enabled(), &false); - assert_eq!(response.balances()[0].balance(), "10000.0000000"); - assert_eq!(response.balances()[0].asset_type(), "native"); - assert_eq!(response.balances()[0].buying_liabilities(), "0.0000000"); - assert_eq!(response.balances()[0].selling_liabilities(), "0.0000000"); + assert_eq!(response.thresholds().low_threshold(), LOW_THRESHOLD); + assert_eq!(response.thresholds().med_threshold(), MID_THRESOLD); + assert_eq!(response.thresholds().high_threshold(), HIGH_THRESOLD); + assert_eq!(response.flags().auth_required(), AUTH_REQUIRED); + assert_eq!(response.flags().auth_revocable(), AUTH_REVOCABLE); + assert_eq!(response.flags().auth_immutable(), AUTH_IMMUTABLE); + assert_eq!(response.flags().auth_clawback_enabled(), AUTH_CLAWBACK_ENABLED); + assert_eq!(response.balances()[0].balance(), BALANCE); + assert_eq!(response.balances()[0].asset_type(), ASSET_TYPE); + assert_eq!(response.balances()[0].buying_liabilities(), BUYING_LIABILITY); + assert_eq!(response.balances()[0].selling_liabilities(), SELLING_LIABILITY); assert_eq!(response.signers()[0].key(), ACCOUNT_ID); - assert_eq!(response.signers()[0].weight(), &1); - assert_eq!(response.signers()[0].singer_type(), "ed25519_public_key"); - assert_eq!(response.num_sponsoring(), &0); - assert_eq!(response.num_sponsored(), &0); + assert_eq!(response.signers()[0].weight(), WEIGHT); + assert_eq!(response.signers()[0].singer_type(), SIGNER_TYPE); + assert_eq!(response.num_sponsoring(), NUM_SPONSORING); + assert_eq!(response.num_sponsored(), NUM_SPONSORED); assert_eq!(response.paging_token(), ACCOUNT_ID); } } diff --git a/stellar_rust_sdk/src/assets/mod.rs b/stellar_rust_sdk/src/assets/mod.rs index 9623416..13b5596 100644 --- a/stellar_rust_sdk/src/assets/mod.rs +++ b/stellar_rust_sdk/src/assets/mod.rs @@ -80,17 +80,29 @@ pub mod test { #[tokio::test] async fn test_get_all_assets() { - let asset_type = "credit_alphanum4"; - let asset_code = "0"; - let asset_issuer = "GAGNEED7RUE6PNAB3AKXFU6QZF4EUSVTICHE7YRHB53KDOEHGKWBL6BE"; - let paging_token = - "0_GAGNEED7RUE6PNAB3AKXFU6QZF4EUSVTICHE7YRHB53KDOEHGKWBL6BE_credit_alphanum4"; - let num_accounts = 0; - let amount = "0.0000000"; - let num_authorized = 0; - let num_unauthorized = 0; - let balances_authorized = "0.0000000"; - let balances_unauthorized = "0.0000000"; + static ASSET_TYPE: &str = "credit_alphanum4"; + static ASSET_CODE: &str = "006"; + static ASSET_ISSUER: &str = "GCN4ALWVHURX3D64AQ3PD7VFOLLKHMEFOG3Y4A4DKOTV256IZNJG3IKB"; + static PAGING_TOKEN: &str = + "006_GCN4ALWVHURX3D64AQ3PD7VFOLLKHMEFOG3Y4A4DKOTV256IZNJG3IKB_credit_alphanum4"; + static NUM_ACCOUNTS: &u32 = &1; + static NUM_CLAIMABLE_BALANCES: &u32 = &0; + static NUM_LIQUIDITY_POOLS: &u32 = &0; + + static AMOUNT: &str = "999.0000000"; + static AUTHORIZED: &u32 = &1; + static AUTHORIZED_TO_MAINTAIN_LIABILITIES: &u32 = &0; + static UNAUTHORIZED: &u32 = &0; + static CLAIMABLE_BALANCES_AMOUNT: &str = "0.0000000"; + static LIQUIDITY_POOLS_AMOUNT: &str = "0.0000000"; + static CONTRACTS_AMOUNT: &str = "0.0000000"; + static BALANCES_AUTHORIZED: &str = "999.0000000"; + static BALANCES_UNAUTHORIZED: &str = "0.0000000"; + static AUTH_REQUIRED: &bool = &false; + static AUTH_REVOCABLE: &bool = &false; + static AUTH_IMMUTABLE: &bool = &false; + static AUTH_CLAWBACK_ENABLED: &bool = &false; + // Initialize horizon client let horizon_client = @@ -104,35 +116,29 @@ pub mod test { assert!(response.is_ok()); let binding = response.unwrap(); let response = &binding.embedded().records()[0]; - assert_eq!(response.asset_type(), asset_type); - assert_eq!(response.asset_code(), asset_code); - assert_eq!(response.asset_issuer(), asset_issuer); - assert_eq!(response.paging_token(), paging_token); + assert_eq!(response.asset_type(), ASSET_TYPE); + assert_eq!(response.asset_code(), ASSET_CODE); + assert_eq!(response.asset_issuer(), ASSET_ISSUER); + assert_eq!(response.paging_token(), PAGING_TOKEN); assert_eq!( response.paging_token(), - &format!("{}_{}_{}", asset_code, asset_issuer, asset_type) + &format!("{}_{}_{}", ASSET_CODE, ASSET_ISSUER, ASSET_TYPE) ); - assert_eq!(response.num_accounts(), &num_accounts); - assert_eq!(response.num_claimable_balances(), &0); - assert_eq!(response.num_liquidity_pools(), &0); - assert_eq!(response.amount(), amount); - assert_eq!(response.accounts().authorized(), &num_authorized); - assert_eq!(response.accounts().authorized_to_maintain_liabilities(), &2); - assert_eq!(response.accounts().unauthorized(), &num_unauthorized); - assert_eq!(response.claimable_balances_amount(), "0.0000000"); - assert_eq!(response.liquidity_pools_amount(), "0.0000000"); - assert_eq!(response.contracts_amount(), "0.0000000"); - assert_eq!(response.balances().authorized(), balances_authorized); - assert_eq!( - response.balances().authorized_to_maintain_liabilities(), - "1.0000000" - ); - assert_eq!(response.balances().unauthorized(), balances_unauthorized); - - let auth_required = true; - assert_eq!(response.flags().auth_required(), &auth_required); - assert_eq!(response.flags().auth_revocable(), &true); - assert_eq!(response.flags().auth_immutable(), &false); - assert_eq!(response.flags().auth_clawback_enabled(), &true); + assert_eq!(response.num_accounts(), NUM_ACCOUNTS); + assert_eq!(response.num_claimable_balances(), NUM_CLAIMABLE_BALANCES); + assert_eq!(response.num_liquidity_pools(), NUM_LIQUIDITY_POOLS); + assert_eq!(response.amount(), AMOUNT); + assert_eq!(response.accounts().authorized(), AUTHORIZED); + assert_eq!(response.accounts().authorized_to_maintain_liabilities(), AUTHORIZED_TO_MAINTAIN_LIABILITIES); + assert_eq!(response.accounts().unauthorized(), UNAUTHORIZED); + assert_eq!(response.claimable_balances_amount(), CLAIMABLE_BALANCES_AMOUNT); + assert_eq!(response.liquidity_pools_amount(), LIQUIDITY_POOLS_AMOUNT); + assert_eq!(response.contracts_amount(), CONTRACTS_AMOUNT); + assert_eq!(response.balances().authorized(), BALANCES_AUTHORIZED); + assert_eq!(response.balances().unauthorized(), BALANCES_UNAUTHORIZED); + assert_eq!(response.flags().auth_required(), AUTH_REQUIRED); + assert_eq!(response.flags().auth_revocable(), AUTH_REVOCABLE); + assert_eq!(response.flags().auth_immutable(), AUTH_IMMUTABLE); + assert_eq!(response.flags().auth_clawback_enabled(), AUTH_CLAWBACK_ENABLED); } } diff --git a/stellar_rust_sdk/src/claimable_balances/mod.rs b/stellar_rust_sdk/src/claimable_balances/mod.rs index c7fedee..3a5ab65 100644 --- a/stellar_rust_sdk/src/claimable_balances/mod.rs +++ b/stellar_rust_sdk/src/claimable_balances/mod.rs @@ -151,6 +151,14 @@ mod tests { #[tokio::test] async fn test_get_all_claimable_balances() { + static ID: &str = "0000000010a8f6991f79df306f22a2032f6007ad594dd30f966b21556f7d75658ec1c4e9"; + static ASSET: &str = "native"; + static AMOUNT: &str = "3.0000000"; + static SPONSOR: &str = "GCRHSLTKEPLLRLC4MB5OJPO4DJYIMYHYBDHX4TET3XKUKFAYMWERHXVG"; + static LAST_MODIFIED_LEDGER: &i64 = &2170; + static LAST_MODIFIED_TIME: &str = "2024-06-11T23:59:46Z"; + static CLAWBACK_ENABLED: &bool = &false; + // Initialize horizon client let horizon_client = HorizonClient::new("https://horizon-testnet.stellar.org".to_string()).unwrap(); @@ -177,42 +185,49 @@ mod tests { assert_eq!( record.id(), - "000000000a12cd57c169a34e7794bdcdf2d093fab135c59ea599e2d1233d7a53f26c1464" + ID ); assert_eq!( record.asset(), - "USDC:GAKNDFRRWA3RPWNLTI3G4EBSD3RGNZZOY5WKWYMQ6CQTG3KIEKPYWAYC" + ASSET ); - assert_eq!(record.amount(), "0.0010000"); + assert_eq!(record.amount(), AMOUNT); assert_eq!( record.sponsor(), - "GCENYNAX2UCY5RFUKA7AYEXKDIFITPRAB7UYSISCHVBTIAKPU2YO57OA" + SPONSOR ); - assert_eq!(record.last_modified_ledger(), &591); + assert_eq!(record.last_modified_ledger(), LAST_MODIFIED_LEDGER); assert_eq!( record.last_modified_time().to_string(), - "2024-02-06T18:25:07Z" + LAST_MODIFIED_TIME ); - assert_eq!(record.flags().clawback_enabled(), &false); + assert_eq!(record.flags().clawback_enabled(), CLAWBACK_ENABLED); } #[tokio::test] async fn test_get_single_claimable_balance() { + static CLAIMABLE_BALANCE_ID: &str = "00000000fe3d8209ed9662e92f0d3a5c55068e18bd5e0697c3c6db6ac4c0870c6f3e0b38"; + static ID: &str = "00000000fe3d8209ed9662e92f0d3a5c55068e18bd5e0697c3c6db6ac4c0870c6f3e0b38"; + static ASSET: &str = "IOM:GBSUM7J4W2IH5LAMSQGI7Y2OZBV2BJB6EOK7TIK66DXNJUU4JAY36VR2"; + static AMOUNT: &str = "2.0000000"; + static SPONSOR: &str = "GA7UL5DDCP6WR7KV5GXKXSHBMP577U7TBDBTBY33J57RZE2A37KW67JB"; + static LAST_MODIFIED_LEDGER: &i64 = &9234; + static LAST_MODIFIED_TIME: &str = "2024-06-12T10:19:12Z"; + static CLAWBACK_ENABLED: &bool = &false; + static PAGING_TOKEN: &str = "9234-00000000fe3d8209ed9662e92f0d3a5c55068e18bd5e0697c3c6db6ac4c0870c6f3e0b38"; + // Initialize horizon client let horizon_client = HorizonClient::new("https://horizon-testnet.stellar.org".to_string()).unwrap(); let single_claimable_balance_request = SingleClaimableBalanceRequest::new() - .set_claimable_balance_id( - "000000000a12cd57c169a34e7794bdcdf2d093fab135c59ea599e2d1233d7a53f26c1464" - .to_string(), - ); + .set_claimable_balance_id(CLAIMABLE_BALANCE_ID.to_string()); let single_claimable_balance_response = horizon_client .get_single_claimable_balance(&single_claimable_balance_request) @@ -223,8 +238,8 @@ mod tests { let binding = single_claimable_balance_response.clone().unwrap(); let predicate = binding.claimants()[0].predicate(); - let jan_first_2024 = Utc::with_ymd_and_hms(&Utc, 2024, 1, 1, 0, 0, 0).unwrap(); - let valid_date = Utc::with_ymd_and_hms(&Utc, 2024, 2, 10, 0, 0, 0).unwrap(); + let jan_first_2024 = Utc::with_ymd_and_hms(&Utc, 2021, 1, 1, 0, 0, 0).unwrap(); + let valid_date = Utc::with_ymd_and_hms(&Utc, 2021, 1, 1, 0, 0, 0).unwrap(); assert_eq!(predicate.is_valid(jan_first_2024), true); assert_eq!(predicate.is_valid(valid_date), true); @@ -232,44 +247,37 @@ mod tests { let single_claimable_balance_response = single_claimable_balance_response.unwrap(); assert_eq!( single_claimable_balance_response.id().to_string(), - "000000000a12cd57c169a34e7794bdcdf2d093fab135c59ea599e2d1233d7a53f26c1464" + ID ); assert_eq!( single_claimable_balance_response.asset().to_string(), - "USDC:GAKNDFRRWA3RPWNLTI3G4EBSD3RGNZZOY5WKWYMQ6CQTG3KIEKPYWAYC" - ); + ASSET); assert_eq!( single_claimable_balance_response.amount().to_string(), - "0.0010000" - ); + AMOUNT); assert_eq!( single_claimable_balance_response.sponsor().to_string(), - "GCENYNAX2UCY5RFUKA7AYEXKDIFITPRAB7UYSISCHVBTIAKPU2YO57OA" - ); + SPONSOR); assert_eq!( single_claimable_balance_response.last_modified_ledger(), - &591 - ); + LAST_MODIFIED_LEDGER); assert_eq!( single_claimable_balance_response .last_modified_time() .to_string(), - "2024-02-06T18:25:07Z" - ); + LAST_MODIFIED_TIME); assert_eq!( single_claimable_balance_response.flags().clawback_enabled(), - &false - ); + CLAWBACK_ENABLED); assert_eq!( single_claimable_balance_response.paging_token().to_string(), - "591-000000000a12cd57c169a34e7794bdcdf2d093fab135c59ea599e2d1233d7a53f26c1464" - ); + PAGING_TOKEN); } } diff --git a/stellar_rust_sdk/src/effects/effects_for_ledger_request.rs b/stellar_rust_sdk/src/effects/effects_for_ledger_request.rs index 7044e47..6afc14e 100644 --- a/stellar_rust_sdk/src/effects/effects_for_ledger_request.rs +++ b/stellar_rust_sdk/src/effects/effects_for_ledger_request.rs @@ -19,7 +19,7 @@ use stellar_rust_sdk_derive::Pagination; /// # use stellar_rs::Paginatable; /// /// let mut request = EffectsForLedgerRequest::new() -/// .set_sequence(125) +/// .set_sequence(&1000) /// .set_limit(2); /// /// // The request is now ready to be used with a Horizon client to fetch effects for the specified ledger. @@ -51,9 +51,9 @@ impl EffectsForLedgerRequest { /// # Arguments /// * `sequence` - A `String` value representing the ledger sequence. /// - pub fn set_sequence(self, sequence: u32) -> EffectsForLedgerRequest { + pub fn set_sequence(self, sequence: &u32) -> EffectsForLedgerRequest { EffectsForLedgerRequest { - sequence: Some(sequence), + sequence: Some(*sequence), ..self } } @@ -94,7 +94,7 @@ mod tests { fn test_effects_for_ledger_request_build_url() { let sequence: u32 = 125; - let request = EffectsForLedgerRequest::new().set_sequence(sequence); + let request = EffectsForLedgerRequest::new().set_sequence(&sequence); let url = request.build_url("https://horizon-testnet.stellar.org"); diff --git a/stellar_rust_sdk/src/effects/mod.rs b/stellar_rust_sdk/src/effects/mod.rs index 22f0189..731f615 100644 --- a/stellar_rust_sdk/src/effects/mod.rs +++ b/stellar_rust_sdk/src/effects/mod.rs @@ -166,12 +166,12 @@ mod tests { #[tokio::test] async fn test_get_effects_for_account() { - const ID: &str = "0000000459561504769-0000000001"; - const PAGING_TOKEN: &str = "459561504769-1"; + const ID: &str = "0000002314987376641-0000000001"; + const PAGING_TOKEN: &str = "2314987376641-1"; const ACCOUNT: &str = "GAIH3ULLFQ4DGSECF2AR555KZ4KNDGEKN4AFI4SU2M7B43MGK3QJZNSR"; const RECORD_TYPE: &str = "account_created"; const TYPE_I: u32 = 0; - const CREATED_AT: &str = "2024-02-06T17:42:48Z"; + const CREATED_AT: &str = "2024-06-11T21:36:12Z"; const STARTING_BALANCE: &str = "10000000000.0000000"; // Initialize horizon client let horizon_client = @@ -201,12 +201,12 @@ mod tests { #[tokio::test] async fn get_effects_for_liquidity_pools() { - const ID: &str = "0000000459561504769-0000000001"; - const PAGING_TOKEN: &str = "459561504769-1"; + const ID: &str = "0000002314987376641-0000000001"; + const PAGING_TOKEN: &str = "2314987376641-1"; const ACCOUNT: &str = "GAIH3ULLFQ4DGSECF2AR555KZ4KNDGEKN4AFI4SU2M7B43MGK3QJZNSR"; const RECORD_TYPE: &str = "account_created"; const TYPE_I: u32 = 0; - const CREATED_AT: &str = "2024-02-06T17:42:48Z"; + const CREATED_AT: &str = "2024-06-11T21:36:12Z"; const STARTING_BALANCE: &str = "10000000000.0000000"; let horizon_client = @@ -249,49 +249,66 @@ mod tests { #[tokio::test] async fn test_get_effects_for_ledger() { // found by trial and error in the Stellar laboratory - let ledger_sequence = 125; + static LEDGER_SEQUENCE: &u32 = &1000; + const ID: &str = "0000004294967300098-0000000001"; + const PAGING_TOKEN: &str = "4294967300098-1"; + const ACCOUNT: &str = "GA7MC32ZYG5G7XSOR7TARZXXK5E4Y74VMWXIUZZNKIZ3Y3YQLCD25FV5"; + const RECORD_TYPE: &str = "account_created"; + const TYPE_I: u32 = 0; + const CREATED_AT: &str = "2024-06-11T22:16:55Z"; + const STARTING_BALANCE: &str = "0.0000000"; let horizon_client = HorizonClient::new("https://horizon-testnet.stellar.org".to_string()).unwrap(); let effects_for_ledger_request = - EffectsForLedgerRequest::new().set_sequence(ledger_sequence); + EffectsForLedgerRequest::new().set_sequence(LEDGER_SEQUENCE); let effects_for_ledger_response = horizon_client .get_effects_for_ledger(&effects_for_ledger_request) .await; assert!(effects_for_ledger_response.is_ok()); + let binding = effects_for_ledger_response.clone().unwrap(); + let record = &binding.embedded().records()[0]; assert_eq!( - effects_for_ledger_response - .clone() - .unwrap() - .embedded() - .records()[0] - .id, - "0000000536870916097-0000000001" - ); + record.id, + ID); assert_eq!( - effects_for_ledger_response - .clone() - .unwrap() - .embedded() - .records()[1] - .effect_type, - "account_debited" - ); + record.paging_token, + PAGING_TOKEN); + + assert_eq!( + record.account, + ACCOUNT); + + assert_eq!( + record.effect_type, + RECORD_TYPE); + + assert_eq!( + record.type_i, + TYPE_I); + + assert_eq!( + record.created_at, + CREATED_AT); + + assert_eq!( + record.starting_balance.as_ref().unwrap(), + STARTING_BALANCE); } #[tokio::test] async fn test_get_effects_for_operation() { - const OPERATION_ID: &str = "459561504769"; - const ID: &str = "0000000459561504769-0000000001"; - const PAGING_TOKEN: &str = "459561504769-1"; + const OPERATION_ID: &str = "2314987376641"; + const ID: &str = "0000002314987376641-0000000001"; + const PAGING_TOKEN: &str = "2314987376641-1"; const ACCOUNT: &str = "GAIH3ULLFQ4DGSECF2AR555KZ4KNDGEKN4AFI4SU2M7B43MGK3QJZNSR"; const RECORD_TYPE: &str = "account_created"; const TYPE_I: u32 = 0; - const CREATED_AT: &str = "2024-02-06T17:42:48Z"; + const CREATED_AT: &str = "2024-06-11T21:36:12Z"; const STARTING_BALANCE: &str = "10000000000.0000000"; let horizon_client = @@ -326,12 +343,12 @@ mod tests { async fn test_get_effects_for_transaction() { const TRANSACTION_HASH: &str = "b9d0b2292c4e09e8eb22d036171491e87b8d2086bf8b265874c8d182cb9c9020"; - const ID: &str = "0000000459561504769-0000000001"; - const PAGING_TOKEN: &str = "459561504769-1"; + const ID: &str = "0000002314987376641-0000000001"; + const PAGING_TOKEN: &str = "2314987376641-1"; const ACCOUNT: &str = "GAIH3ULLFQ4DGSECF2AR555KZ4KNDGEKN4AFI4SU2M7B43MGK3QJZNSR"; const RECORD_TYPE: &str = "account_created"; const TYPE_I: u32 = 0; - const CREATED_AT: &str = "2024-02-06T17:42:48Z"; + const CREATED_AT: &str = "2024-06-11T21:36:12Z"; const STARTING_BALANCE: &str = "10000000000.0000000"; let horizon_client = diff --git a/stellar_rust_sdk/src/horizon_client.rs b/stellar_rust_sdk/src/horizon_client.rs index 884860a..d9db24d 100644 --- a/stellar_rust_sdk/src/horizon_client.rs +++ b/stellar_rust_sdk/src/horizon_client.rs @@ -740,7 +740,7 @@ impl HorizonClient { /// # let base_url = "https://horizon-testnet.stellar.org".to_string(); /// # let horizon_client = HorizonClient::new(base_url)?; /// let mut request = EffectsForLedgerRequest::new() - /// .set_sequence(125) + /// .set_sequence(&125) /// .set_limit(2).unwrap(); /// /// let response = horizon_client.get_effects_for_ledger(&request).await; diff --git a/stellar_rust_sdk/src/ledgers/mod.rs b/stellar_rust_sdk/src/ledgers/mod.rs index bf9ea4c..e4e1fc0 100644 --- a/stellar_rust_sdk/src/ledgers/mod.rs +++ b/stellar_rust_sdk/src/ledgers/mod.rs @@ -90,8 +90,22 @@ pub mod tests { #[tokio::test] async fn test_get_all_ledgers() { - let hash = "f96c4021adc1ae496c662f4f97143e499a9548f541c64bb2401a1b1701de5150"; - let prev_hash = "63d98f536ee68d1b27b5b89f23af5311b7569a24faf1403ad0b52b633b07be99"; + static ID: &str = "546c5bccad35413e75324e0e63dd4d9f1ba87a3f4c97c84f83b7c09150f61caa"; + static PAGING_TOKEN: &str = "8589934592"; + static HASH: &str = "546c5bccad35413e75324e0e63dd4d9f1ba87a3f4c97c84f83b7c09150f61caa"; + static PREV_HASH: &str = "63d98f536ee68d1b27b5b89f23af5311b7569a24faf1403ad0b52b633b07be99"; + static SEQUENCE: i32 = 2; + static SUCCESSFUL_TRANSACTION_COUNT: i32 = 0; + static FAILED_TRANSACTION_COUNT: i32 = 0; + static OPERATION_COUNT: i32 = 0; + static TX_SET_OPERATION_COUNT: i32 = 0; + static CLOSED_AT: &str = "2024-06-11T20:49:11Z"; + static TOTAL_COINS: &str = "100000000000.0000000"; + static FEE_POOL: &str = "0.0000000"; + static BASE_FEE_IN_STROOPS: i32 = 100; + static BASE_RESERVE_IN_STROOPS: i32 = 100000000; + static MAX_TX_SET_SIZE: i32 = 100; + static PROTOCOL_VERSION: i32 = 0; // Initialize horizon client let horizon_client = @@ -106,20 +120,44 @@ pub mod tests { let binding = all_ledgers_response.unwrap(); let all_ledgers_response = &binding.embedded().records()[0]; - assert_eq!(all_ledgers_response.hash(), hash); - assert_eq!(all_ledgers_response.prev_hash(), prev_hash); - assert_eq!(all_ledgers_response.sequence(), &2); - assert_eq!(all_ledgers_response.successful_transaction_count(), &0); - assert_eq!(all_ledgers_response.paging_token(), "8589934592"); + assert_eq!(all_ledgers_response.id(), ID); + assert_eq!(all_ledgers_response.paging_token(), PAGING_TOKEN); + assert_eq!(all_ledgers_response.hash(), HASH); + assert_eq!(all_ledgers_response.prev_hash(), PREV_HASH); + assert_eq!(all_ledgers_response.sequence(), &SEQUENCE); + assert_eq!(all_ledgers_response.successful_transaction_count(), &SUCCESSFUL_TRANSACTION_COUNT); + assert_eq!(all_ledgers_response.failed_transaction_count(), &FAILED_TRANSACTION_COUNT); + assert_eq!(all_ledgers_response.operation_count(), &OPERATION_COUNT); + assert_eq!(all_ledgers_response.tx_set_operation_count(), &TX_SET_OPERATION_COUNT); + assert_eq!(all_ledgers_response.closed_at(), CLOSED_AT); + assert_eq!(all_ledgers_response.total_coins(), TOTAL_COINS); + assert_eq!(all_ledgers_response.fee_pool(), FEE_POOL); + assert_eq!(all_ledgers_response.base_fee_in_stroops(), &BASE_FEE_IN_STROOPS); + assert_eq!(all_ledgers_response.base_reserve_in_stroops(), &BASE_RESERVE_IN_STROOPS); + assert_eq!(all_ledgers_response.max_tx_set_size(), &MAX_TX_SET_SIZE); + assert_eq!(all_ledgers_response.protocol_version(), &PROTOCOL_VERSION); } #[tokio::test] async fn test_get_single_ledger() { - let id = "f96c4021adc1ae496c662f4f97143e499a9548f541c64bb2401a1b1701de5150"; - let hash = "f96c4021adc1ae496c662f4f97143e499a9548f541c64bb2401a1b1701de5150"; - let prev_hash = "63d98f536ee68d1b27b5b89f23af5311b7569a24faf1403ad0b52b633b07be99"; - let closed_at = "2024-02-06T17:32:26Z"; - let closed_at_timepoint = 1707240746; + static ID: &str = "546c5bccad35413e75324e0e63dd4d9f1ba87a3f4c97c84f83b7c09150f61caa"; + static PAGING_TOKEN: &str = "8589934592"; + static HASH: &str = "546c5bccad35413e75324e0e63dd4d9f1ba87a3f4c97c84f83b7c09150f61caa"; + static PREV_HASH: &str = "63d98f536ee68d1b27b5b89f23af5311b7569a24faf1403ad0b52b633b07be99"; + static SEQUENCE: &i32 = &2; + static SUCCESSFUL_TRANSACTION_COUNT: &i32 = &0; + static FAILED_TRANSACTION_COUNT: &i32 = &0; + static OPERATION_COUNT: &i32 = &0; + static TX_SET_OPERATION_COUNT: &i32 = &0; + static CLOSED_AT: &str = "2024-06-11T20:49:11Z"; + static TOTAL_COINS: &str = "100000000000.0000000"; + static FEE_POOL: &str = "0.0000000"; + static BASE_FEE_IN_STROOPS: &i32 = &100; + static BASE_RESERVE_IN_STROOPS: &i32 = &100000000; + static MAX_TX_SET_SIZE: &i32 = &100; + static PROTOCOL_VERSION: &i32 = &0; + + let closed_at_timepoint = 1718138951; // Initialize horizon client let horizon_client = @@ -134,22 +172,23 @@ pub mod tests { assert!(single_ledger_response.is_ok()); let single_ledger_response = single_ledger_response.unwrap(); - assert_eq!(single_ledger_response.id(), id); - assert_eq!(single_ledger_response.paging_token(), "8589934592"); - assert_eq!(single_ledger_response.hash(), hash); - assert_eq!(single_ledger_response.prev_hash(), prev_hash); - assert_eq!(single_ledger_response.sequence(), &2); - assert_eq!(single_ledger_response.successful_transaction_count(), &0); - assert_eq!(single_ledger_response.failed_transaction_count(), &0); - assert_eq!(single_ledger_response.operation_count(), &0); - assert_eq!(single_ledger_response.tx_set_operation_count(), &0); - assert_eq!(single_ledger_response.closed_at(), closed_at); - assert_eq!(single_ledger_response.total_coins(), "100000000000.0000000"); - assert_eq!(single_ledger_response.fee_pool(), "0.0000000"); - assert_eq!(single_ledger_response.base_fee_in_stroops(), &100); - assert_eq!(single_ledger_response.base_reserve_in_stroops(), &100000000); - assert_eq!(single_ledger_response.max_tx_set_size(), &100); - assert_eq!(single_ledger_response.protocol_version(), &0); + + assert_eq!(single_ledger_response.id(), ID); + assert_eq!(single_ledger_response.paging_token(), PAGING_TOKEN); + assert_eq!(single_ledger_response.hash(), HASH); + assert_eq!(single_ledger_response.prev_hash(), PREV_HASH); + assert_eq!(single_ledger_response.sequence(), SEQUENCE); + assert_eq!(single_ledger_response.successful_transaction_count(), SUCCESSFUL_TRANSACTION_COUNT); + assert_eq!(single_ledger_response.failed_transaction_count(), FAILED_TRANSACTION_COUNT); + assert_eq!(single_ledger_response.operation_count(), OPERATION_COUNT); + assert_eq!(single_ledger_response.tx_set_operation_count(), TX_SET_OPERATION_COUNT); + assert_eq!(single_ledger_response.closed_at(), CLOSED_AT); + assert_eq!(single_ledger_response.total_coins(), TOTAL_COINS); + assert_eq!(single_ledger_response.fee_pool(), FEE_POOL); + assert_eq!(single_ledger_response.base_fee_in_stroops(), BASE_FEE_IN_STROOPS); + assert_eq!(single_ledger_response.base_reserve_in_stroops(), BASE_RESERVE_IN_STROOPS); + assert_eq!(single_ledger_response.max_tx_set_size(), MAX_TX_SET_SIZE); + assert_eq!(single_ledger_response.protocol_version(), PROTOCOL_VERSION); let decoded_xdr_header = single_ledger_response.decoded_header_xdr().unwrap(); diff --git a/stellar_rust_sdk/src/liquidity_pools/mod.rs b/stellar_rust_sdk/src/liquidity_pools/mod.rs index 495ab3c..5e88929 100644 --- a/stellar_rust_sdk/src/liquidity_pools/mod.rs +++ b/stellar_rust_sdk/src/liquidity_pools/mod.rs @@ -80,39 +80,39 @@ async fn test_get_all_liquidity_pools() { "4cd1f6defba237eecbc5fefe259f89ebc4b5edd49116beb5536c4034fc48d63f"; const RSP_1_LIQUIDITY_POOL_FEE_BP: i64 = 30; const RSP_1_LIQUIDITY_POOL_TYPE: &str = "constant_product"; - const RSP_1_LIQUIDITY_POOL_TOTAL_TRUSTLINES: &str = "2"; + const RSP_1_LIQUIDITY_POOL_TOTAL_TRUSTLINES: &str = "1"; const RSP_1_LIQUIDITY_POOL_RESERVE_ASSET_0: &str = "native"; const RSP_1_LIQUIDITY_POOL_RESERVE_ASSET_1: &str = "USDC:GBBD47IF6LWK7P7MDEVSCWR7DPUWV3NY3DTQEVFL4NAT4AQH3ZLLFLA5"; const RSP_2_LIQUIDITY_POOL_ID: &str = - "0a9a1af472bd6107075610add5759bddfb1d82f80c664ee5198cd24509541841"; + "03eac63a834b31201652ed575c816b4e7beb0c4eece47caf956ff83648f486d0"; const RSP_2_LIQUIDITY_POOL_PAGING_TOKEN: &str = - "0a9a1af472bd6107075610add5759bddfb1d82f80c664ee5198cd24509541841"; + "03eac63a834b31201652ed575c816b4e7beb0c4eece47caf956ff83648f486d0"; const RSP_2_LIQUIDITY_POOL_FEE_BP: i64 = 30; const RSP_2_LIQUIDITY_POOL_TYPE: &str = "constant_product"; const RSP_2_LIQUIDITY_POOL_TOTAL_TRUSTLINES: &str = "1"; - const RSP_2_LIQUIDITY_POOL_TOTAL_SHARES: &str = "0.0000000"; + const RSP_2_LIQUIDITY_POOL_TOTAL_SHARES: &str = "249.0000000"; const RSP_2_LIQUIDITY_POOL_RESERVE_ASSET_0: &str = "native"; - const RSP_2_LIQUIDITY_POOL_RESERVE_AMOUNT_0: &str = "0.0000000"; + const RSP_2_LIQUIDITY_POOL_RESERVE_AMOUNT_0: &str = "249.0000000"; const RSP_2_LIQUIDITY_POOL_RESERVE_ASSET_1: &str = - "NOODLE:GARPXPHGABTN52WPJ2QZQBY7TSXMK7PXLKOD6FSPA2TEVSJDWIDRSHPO"; - const RSP_2_LIQUIDITY_POOL_RESERVE_AMOUNT_1: &str = "0.0000000"; + "FLUTTER:GCGTOQSNERFVVJ6Y7YZYDF3MTZIY63KIEFMKA26Q7YPV3AFYD2JSRNYN"; + const RSP_2_LIQUIDITY_POOL_RESERVE_AMOUNT_1: &str = "249.0000000"; const RSP_3_LIQUIDITY_POOL_ID: &str = - "02ea143d8ac56fa6e936c3558edfce6c64b7a223827a006805b279104bac2851"; + "0b3c88caa5aeada296646c1810893e3b04cba0426cff8ff6a63cf6f35cc7f5b3"; const RSP_3_LIQUIDITY_POOL_PAGING_TOKEN: &str = - "02ea143d8ac56fa6e936c3558edfce6c64b7a223827a006805b279104bac2851"; + "0b3c88caa5aeada296646c1810893e3b04cba0426cff8ff6a63cf6f35cc7f5b3"; const RSP_3_LIQUIDITY_POOL_FEE_BP: i64 = 30; const RSP_3_LIQUIDITY_POOL_TYPE: &str = "constant_product"; - const RSP_3_LIQUIDITY_POOL_TOTAL_TRUSTLINES: &str = "2"; - const RSP_3_LIQUIDITY_POOL_TOTAL_SHARES: &str = "5196.1524225"; + const RSP_3_LIQUIDITY_POOL_TOTAL_TRUSTLINES: &str = "1"; + const RSP_3_LIQUIDITY_POOL_TOTAL_SHARES: &str = "150.0000000"; const RSP_3_LIQUIDITY_POOL_RESERVE_ASSET_0: &str = - "LPA7:GDTCZZNMT74SEGPDQL3IQJDJ54MXQJHSNQ3HNNJJIJLIVG2LOSDLG2OZ"; - const RSP_3_LIQUIDITY_POOL_RESERVE_AMOUNT_0: &str = "3000.0000000"; + "SDK:GAGTRBIF75N7NUA37JGGJZKXIS4JJKTQERRFWTP5DN4SM4OC2T6QPMQB"; + const RSP_3_LIQUIDITY_POOL_RESERVE_AMOUNT_0: &str = "160.0000000"; const RSP_3_LIQUIDITY_POOL_RESERVE_ASSET_1: &str = - "LPB7:GDTBT5GAABYAENDWYXB2IAHYXMWDGK2ZG5H4ZDQL32DR7KS6L7NGC5I3"; - const RSP_3_LIQUIDITY_POOL_RESERVE_AMOUNT_1: &str = "9000.0000000"; + "FLUTTER:GCGTOQSNERFVVJ6Y7YZYDF3MTZIY63KIEFMKA26Q7YPV3AFYD2JSRNYN"; + const RSP_3_LIQUIDITY_POOL_RESERVE_AMOUNT_1: &str = "140.6513722"; let horizon_client = HorizonClient::new("https://horizon-testnet.stellar.org".to_string()).unwrap(); @@ -170,8 +170,8 @@ async fn test_get_all_liquidity_pools() { let all_liquidity_pools_request_2 = AllLiquidityPoolsRequest::new() .add_native_reserve() .add_alphanumeric12_reserve( - "NOODLE".to_string(), - "GARPXPHGABTN52WPJ2QZQBY7TSXMK7PXLKOD6FSPA2TEVSJDWIDRSHPO".to_string(), + "FLUTTER".to_string(), + "GCGTOQSNERFVVJ6Y7YZYDF3MTZIY63KIEFMKA26Q7YPV3AFYD2JSRNYN".to_string(), ) .set_limit(2) .unwrap(); @@ -225,8 +225,8 @@ async fn test_get_all_liquidity_pools() { let all_liquidity_pools_request_3 = AllLiquidityPoolsRequest::new() .add_alphanumeric4_reserve( - "LPA7".to_string(), - "GDTCZZNMT74SEGPDQL3IQJDJ54MXQJHSNQ3HNNJJIJLIVG2LOSDLG2OZ".to_string(), + "SDK".to_string(), + "GAGTRBIF75N7NUA37JGGJZKXIS4JJKTQERRFWTP5DN4SM4OC2T6QPMQB".to_string(), ) .set_limit(2) .unwrap(); @@ -285,28 +285,28 @@ async fn test_get_single_liquidity_pool() { use single_liquidity_pool_request::SingleLiquidityPoolRequest; const LIQUIDITY_POOL_ID: &str = - "01c58ab8fb283c8b083a26bf2fe06b7b6c6304c13f9d29d956cdf15a48bea72d"; + "03eac63a834b31201652ed575c816b4e7beb0c4eece47caf956ff83648f486d0"; const LIQUIDITY_POOL_PAGING_TOKEN: &str = - "01c58ab8fb283c8b083a26bf2fe06b7b6c6304c13f9d29d956cdf15a48bea72d"; + "03eac63a834b31201652ed575c816b4e7beb0c4eece47caf956ff83648f486d0"; const LIQUIDITY_POOL_FEE_BP: i64 = 30; const LIQUIDITY_POOL_TYPE: &str = "constant_product"; const LIQUIDITY_POOL_TOTAL_TRUSTLINES: &str = "1"; - const LIQUIDITY_POOL_TOTAL_SHARES: &str = "150.0000000"; + const LIQUIDITY_POOL_TOTAL_SHARES: &str = "249.0000000"; const LIQUIDITY_POOL_RESERVE_ASSET_0: &str = - "SDK:GB7IIVQLLJ3AY3DWSCACVJBZL7FFKDK4D3PMHPBBAIHPVVB3BZYUG5UN"; - const LIQUIDITY_POOL_RESERVE_AMOUNT_0: &str = "160.0000000"; + "native"; + const LIQUIDITY_POOL_RESERVE_AMOUNT_0: &str = "249.0000000"; const LIQUIDITY_POOL_RESERVE_ASSET_1: &str = - "PHPSTAR:GAJHVDRVJHC2ORAERVVQYWADMEJLUX6H2SZ5MMEPI7BUHJYSTTFRZW7W"; - const LIQUIDITY_POOL_RESERVE_AMOUNT_1: &str = "140.6513722"; - const LIQUIDITY_POOL_LAST_MODIFIED_LEDGER: i64 = 249832; - const LIQUIDITY_POOL_LAST_MODIFIED_TIME: &str = "2024-02-21T22:18:27Z"; + "FLUTTER:GCGTOQSNERFVVJ6Y7YZYDF3MTZIY63KIEFMKA26Q7YPV3AFYD2JSRNYN"; + const LIQUIDITY_POOL_RESERVE_AMOUNT_1: &str = "249.0000000"; + const LIQUIDITY_POOL_LAST_MODIFIED_LEDGER: i64 = 258622; + const LIQUIDITY_POOL_LAST_MODIFIED_TIME: &str = "2024-06-27T14:27:46Z"; let horizon_client = HorizonClient::new("https://horizon-testnet.stellar.org".to_string()).unwrap(); let single_liquidity_pool_request = SingleLiquidityPoolRequest::new() .set_liquidity_pool_id( - "01c58ab8fb283c8b083a26bf2fe06b7b6c6304c13f9d29d956cdf15a48bea72d".to_string(), + "03eac63a834b31201652ed575c816b4e7beb0c4eece47caf956ff83648f486d0".to_string(), ) .unwrap(); diff --git a/stellar_rust_sdk/src/offers/mod.rs b/stellar_rust_sdk/src/offers/mod.rs index e752283..4d1da82 100644 --- a/stellar_rust_sdk/src/offers/mod.rs +++ b/stellar_rust_sdk/src/offers/mod.rs @@ -85,23 +85,23 @@ pub mod test { use super::prelude::*; use crate::{horizon_client::HorizonClient, models::*, Paginatable}; - const LINK_SELF: &str = "https://horizon-testnet.stellar.org/offers/1"; - const LINK_OFFER_MAKER: &str = "https://horizon-testnet.stellar.org/accounts/GBBD47IF6LWK7P7MDEVSCWR7DPUWV3NY3DTQEVFL4NAT4AQH3ZLLFLA5"; - const OFFER_ID: &str = "1"; - const PAGING_TOKEN: &str = "1"; - const SELLER: &str = "GBBD47IF6LWK7P7MDEVSCWR7DPUWV3NY3DTQEVFL4NAT4AQH3ZLLFLA5"; - const SELLING_ASSET_TYPE: &str = "credit_alphanum4"; - const SELLING_ASSET_CODE: &str = "USDC"; - const SELLING_ASSET_ISSUER: &str = "GBBD47IF6LWK7P7MDEVSCWR7DPUWV3NY3DTQEVFL4NAT4AQH3ZLLFLA5"; + const LINK_SELF: &str = "https://horizon-testnet.stellar.org/offers/7"; + const LINK_OFFER_MAKER: &str = "https://horizon-testnet.stellar.org/accounts/GCXRNJ23TEHRNXQJEYXGQ3IYGVAWWY6Z2VOOWPP6STTYQCKXIRTNCN3E"; + const OFFER_ID: &str = "7"; + const PAGING_TOKEN: &str = "7"; + const SELLER: &str = "GCXRNJ23TEHRNXQJEYXGQ3IYGVAWWY6Z2VOOWPP6STTYQCKXIRTNCN3E"; + const SELLING_ASSET_TYPE: &str = "credit_alphanum12"; + const SELLING_ASSET_CODE: &str = "MBAUDD"; + const SELLING_ASSET_ISSUER: &str = "GD2YNRNSJ3EOFJAYGLKGKSIOLX2VU3UFDW3YFNOYMAHB26AEHSZBJU4U"; const BUYING_ASSET_TYPE: &str = "credit_alphanum12"; - const BUYING_ASSET_CODE: &str = "USDCAllow"; - const BUYING_ASSET_ISSUER: &str = "GAWZGWFOURKXZ4XYXBGFADZM4QIG6BJNM74XIZCEIU3BHM62RN2MDEZN"; - const AMOUNT: &str = "909086990804.0875807"; - const PRICE_R_N: &u32 = &1; - const PRICE_R_D: &u32 = &1; - const PRICE: &str = "1.0000000"; - const LAST_MODIFIED_LEDGER: &u32 = &747543; - const LAST_MODIFIED_TIME: &str = "2024-03-23T04:51:18Z"; + const BUYING_ASSET_CODE: &str = "TMB001128"; + const BUYING_ASSET_ISSUER: &str = "GBH2HB7DZN7PRJP5RED2SQZAKSYYBH43PQCQH3NOYT2Y2KLODQZM3M2F"; + const AMOUNT: &str = "41011.9400000"; + const PRICE_R_N: &u32 = &50; + const PRICE_R_D: &u32 = &467; + const PRICE: &str = "0.1070664"; + const LAST_MODIFIED_LEDGER: &u32 = &4739; + const LAST_MODIFIED_TIME: &str = "2024-06-12T03:45:47Z"; #[tokio::test] async fn test_get_single_offer() { @@ -181,8 +181,8 @@ pub mod test { async fn test_get_all_offers_filter() { // Different values are expected for this specific request. const LINK_OFFER_MAKER: &str = "https://horizon-testnet.stellar.org/accounts/GB3Q6QDZYTHWT7E5PVS3W7FUT5GVAFC5KSZFFLPU25GO7VTC3NM2ZTVO"; - const OFFER_ID: &str = "2"; - const PAGING_TOKEN: &str = "2"; + const OFFER_ID: &str = "150"; + const PAGING_TOKEN: &str = "150"; const SELLER: &str = "GB3Q6QDZYTHWT7E5PVS3W7FUT5GVAFC5KSZFFLPU25GO7VTC3NM2ZTVO"; const SELLING_ASSET_TYPE: &str = "credit_alphanum4"; const SELLING_ASSET_CODE: &str = "EURC"; @@ -190,12 +190,12 @@ pub mod test { const BUYING_ASSET_TYPE: &str = "credit_alphanum12"; const BUYING_ASSET_CODE: &str = "EURCAllow"; const BUYING_ASSET_ISSUER: &str = "GA6HVGLFUF3BHHGR5CMYXIVZ3RYVUH5EUYAOAY4T3OKI5OQVIWVRK24R"; - const AMOUNT: &str = "922274722883.0675807"; + const AMOUNT: &str = "922307928093.4475807"; const PRICE_R_N: &u32 = &1; const PRICE_R_D: &u32 = &1; const PRICE: &str = "1.0000000"; - const LAST_MODIFIED_LEDGER: &u32 = &1938375; - const LAST_MODIFIED_TIME: &str = "2024-06-03T15:21:13Z"; + const LAST_MODIFIED_LEDGER: &u32 = &286496; + const LAST_MODIFIED_TIME: &str = "2024-06-29T07:08:23Z"; let horizon_client = HorizonClient::new("https://horizon-testnet.stellar.org" @@ -237,7 +237,7 @@ pub mod test { #[tokio::test] async fn test_get_offers_for_account() { - const ACCOUNT_ID: &str = "GBBD47IF6LWK7P7MDEVSCWR7DPUWV3NY3DTQEVFL4NAT4AQH3ZLLFLA5"; + const ACCOUNT_ID: &str = "GCXRNJ23TEHRNXQJEYXGQ3IYGVAWWY6Z2VOOWPP6STTYQCKXIRTNCN3E"; let horizon_client = HorizonClient::new("https://horizon-testnet.stellar.org" .to_string()) diff --git a/stellar_rust_sdk/src/operations/mod.rs b/stellar_rust_sdk/src/operations/mod.rs index fb97c01..f2a9bd2 100644 --- a/stellar_rust_sdk/src/operations/mod.rs +++ b/stellar_rust_sdk/src/operations/mod.rs @@ -34,13 +34,13 @@ pub mod tests { #[tokio::test] async fn test_get_all_operations() { - const ID: &str = "459561504769"; - const PAGING_TOKEN: &str = "459561504769"; + const ID: &str = "2314987376641"; + const PAGING_TOKEN: &str = "2314987376641"; const TRANSACTION_SUCCESFULL: bool = true; const SOURCE_ACCOUNT: &str = "GBRPYHIL2CI3FNQ4BXLFMNDLFJUNPU2HY3ZMFSHONUCEOASW7QC7OX2H"; const TYPE: &str = "create_account"; const TYPE_I: i64 = 0; - const CREATED_AT: &str = "2024-02-06T17:42:48Z"; + const CREATED_AT: &str = "2024-06-11T21:36:12Z"; const TRANSACTION_HASH: &str = "b9d0b2292c4e09e8eb22d036171491e87b8d2086bf8b265874c8d182cb9c9020"; const STARTING_BALANCE: &str = "10000000000.0000000"; @@ -80,14 +80,13 @@ pub mod tests { #[tokio::test] async fn test_get_single_operation() { - const ID: &str = "459561504769"; - - const PAGING_TOKEN: &str = "459561504769"; + const ID: &str = "2314987376641"; + const PAGING_TOKEN: &str = "2314987376641"; const TRANSACTION_SUCCESFULL: bool = true; const SOURCE_ACCOUNT: &str = "GBRPYHIL2CI3FNQ4BXLFMNDLFJUNPU2HY3ZMFSHONUCEOASW7QC7OX2H"; const TYPE: &str = "create_account"; const TYPE_I: i64 = 0; - const CREATED_AT: &str = "2024-02-06T17:42:48Z"; + const CREATED_AT: &str = "2024-06-11T21:36:12Z"; const TRANSACTION_HASH: &str = "b9d0b2292c4e09e8eb22d036171491e87b8d2086bf8b265874c8d182cb9c9020"; const STARTING_BALANCE: &str = "10000000000.0000000"; @@ -125,13 +124,13 @@ pub mod tests { #[tokio::test] async fn test_get_operations_for_account() { const ACCOUNT_ID: &str = "GBRPYHIL2CI3FNQ4BXLFMNDLFJUNPU2HY3ZMFSHONUCEOASW7QC7OX2H"; - const ID: &str = "459561504769"; - const PAGING_TOKEN: &str = "459561504769"; + const ID: &str = "2314987376641"; + const PAGING_TOKEN: &str = "2314987376641"; const TRANSACTION_SUCCESFULL: bool = true; const SOURCE_ACCOUNT: &str = "GBRPYHIL2CI3FNQ4BXLFMNDLFJUNPU2HY3ZMFSHONUCEOASW7QC7OX2H"; const TYPE: &str = "create_account"; const TYPE_I: i64 = 0; - const CREATED_AT: &str = "2024-02-06T17:42:48Z"; + const CREATED_AT: &str = "2024-06-11T21:36:12Z"; const TRANSACTION_HASH: &str = "b9d0b2292c4e09e8eb22d036171491e87b8d2086bf8b265874c8d182cb9c9020"; const STARTING_BALANCE: &str = "10000000000.0000000"; @@ -185,13 +184,13 @@ pub mod tests { #[tokio::test] async fn test_get_operations_for_ledger() { - const ID: &str = "459561504769"; - const PAGING_TOKEN: &str = "459561504769"; + const ID: &str = "2314987376641"; + const PAGING_TOKEN: &str = "2314987376641"; const TRANSACTION_SUCCESFULL: bool = true; const SOURCE_ACCOUNT: &str = "GBRPYHIL2CI3FNQ4BXLFMNDLFJUNPU2HY3ZMFSHONUCEOASW7QC7OX2H"; const TYPE: &str = "create_account"; const TYPE_I: i64 = 0; - const CREATED_AT: &str = "2024-02-06T17:42:48Z"; + const CREATED_AT: &str = "2024-06-11T21:36:12Z"; const TRANSACTION_HASH: &str = "b9d0b2292c4e09e8eb22d036171491e87b8d2086bf8b265874c8d182cb9c9020"; const STARTING_BALANCE: &str = "10000000000.0000000"; @@ -240,13 +239,13 @@ pub mod tests { #[tokio::test] async fn test_get_operations_for_liquidity_pool() { - const ID: &str = "459561504769"; - const PAGING_TOKEN: &str = "459561504769"; + const ID: &str = "2314987376641"; + const PAGING_TOKEN: &str = "2314987376641"; const TRANSACTION_SUCCESFULL: bool = true; const SOURCE_ACCOUNT: &str = "GBRPYHIL2CI3FNQ4BXLFMNDLFJUNPU2HY3ZMFSHONUCEOASW7QC7OX2H"; const TYPE: &str = "create_account"; const TYPE_I: i64 = 0; - const CREATED_AT: &str = "2024-02-06T17:42:48Z"; + const CREATED_AT: &str = "2024-06-11T21:36:12Z"; const TRANSACTION_HASH: &str = "b9d0b2292c4e09e8eb22d036171491e87b8d2086bf8b265874c8d182cb9c9020"; const STARTING_BALANCE: &str = "10000000000.0000000"; diff --git a/stellar_rust_sdk/src/order_book/details_request.rs b/stellar_rust_sdk/src/order_book/details_request.rs index 9690ff0..dc9e16c 100644 --- a/stellar_rust_sdk/src/order_book/details_request.rs +++ b/stellar_rust_sdk/src/order_book/details_request.rs @@ -155,11 +155,11 @@ impl Request for DetailsRequest { } mod tests { - use crate::models::Request; - use super::{Asset, AssetType, DetailsRequest}; - + #[test] fn test_details_request() { + use crate::models::Request; + use super::{Asset, AssetType, DetailsRequest}; let details_request = DetailsRequest::new() .set_buying_asset(AssetType::Native) .unwrap() diff --git a/stellar_rust_sdk/src/order_book/mod.rs b/stellar_rust_sdk/src/order_book/mod.rs index 0499655..9dd440a 100644 --- a/stellar_rust_sdk/src/order_book/mod.rs +++ b/stellar_rust_sdk/src/order_book/mod.rs @@ -9,37 +9,32 @@ pub mod prelude { } pub mod tests { - use crate::horizon_client; - use crate::order_book::prelude::{Asset, AssetType, DetailsRequest}; - #[tokio::test] async fn get_order_bookdetails() { - const BIDS_N: &u32 = &1000; - const BIDS_D: &u32 = &87; - const BIDS_PRICE: &str = "11.4942529"; - const BIDS_AMOUNT: &str = "2556626.8467920"; - - const ASKS_N: &u32 = &2299; - const ASKS_D: &u32 = &200; - const ASKS_PRICE: &str = "11.4950000"; - const ASKS_AMOUNT: &str = "162468.5993642"; - - const BASE_ASSET_TYPE: &str = "credit_alphanum4"; - const BASE_ASSET_CODE: &str = "USDC"; - const BASE_ASSET_ISSUER: &str = "GBBD47IF6LWK7P7MDEVSCWR7DPUWV3NY3DTQEVFL4NAT4AQH3ZLLFLA5"; - - const COUNTER_ASSET_TYPE: &str = "native"; + use crate::horizon_client; + use crate::order_book::prelude::{Asset, AssetType, DetailsRequest}; + + const BIDS_N: &u32 = &6; + const BIDS_D: &u32 = &1; + const BIDS_PRICE: &str = "6.0000000"; + const ASKS_N: &u32 = &7; + const ASKS_D: &u32 = &1; + const ASKS_PRICE: &str = "7.0000000"; + const BASE_ASSET_TYPE: &str = "native"; + const BASE_ASSET_CODE: &str = "IOM"; + const BASE_ASSET_ISSUER: &str = "GCDE6MVFIOYF7YZCSVA6V7MDCFTNWMIOF5PQU3DWPH27AHNX4ERY6AKS"; + const COUNTER_ASSET_TYPE: &str = "credit_alphanum4"; let horizon_client = horizon_client::HorizonClient::new("https://horizon-testnet.stellar.org".to_string()) .unwrap(); let details_request = DetailsRequest::new() - .set_buying_asset(AssetType::Native) + .set_selling_asset(AssetType::Native) .unwrap() - .set_selling_asset(AssetType::Alphanumeric4(Asset { - asset_code: "USDC".to_string(), - asset_issuer: "GBBD47IF6LWK7P7MDEVSCWR7DPUWV3NY3DTQEVFL4NAT4AQH3ZLLFLA5" + .set_buying_asset(AssetType::Alphanumeric4(Asset { + asset_code: "IOM".to_string(), + asset_issuer: "GCDE6MVFIOYF7YZCSVA6V7MDCFTNWMIOF5PQU3DWPH27AHNX4ERY6AKS" .to_string(), })) .unwrap(); @@ -58,14 +53,12 @@ pub mod tests { // The amount changes all the time assert_ne!(binding.bids()[0].amount(), "0"); - //assert_eq!(binding.bids()[0].amount(), BIDS_AMOUNT); assert_eq!(binding.asks()[0].price_ratio().numenator(), ASKS_N); assert_eq!(binding.asks()[0].price_ratio().denominator(), ASKS_D); assert_eq!(binding.asks()[0].price(), ASKS_PRICE); // The amount changes all the time assert_ne!(binding.asks()[0].amount(), "0"); - //assert_eq!(binding.asks()[0].amount(), ASKS_AMOUNT); assert_eq!( binding.base().asset_type().as_deref(), @@ -73,16 +66,26 @@ pub mod tests { ); assert_eq!( binding.base().asset_code().as_deref(), - Some(BASE_ASSET_CODE) + None ); assert_eq!( binding.base().asset_issuer().as_deref(), - Some(BASE_ASSET_ISSUER) + None ); assert_eq!( binding.counter().asset_type().as_deref(), Some(COUNTER_ASSET_TYPE) ); + + assert_eq!( + binding.counter().asset_code().as_deref(), + Some(BASE_ASSET_CODE) + ); + + assert_eq!( + binding.counter().asset_issuer().as_deref(), + Some(BASE_ASSET_ISSUER) + ); } } diff --git a/stellar_rust_sdk/src/trades/mod.rs b/stellar_rust_sdk/src/trades/mod.rs index b5d40f8..22f8296 100644 --- a/stellar_rust_sdk/src/trades/mod.rs +++ b/stellar_rust_sdk/src/trades/mod.rs @@ -66,28 +66,28 @@ pub mod test { #[tokio::test] async fn all_trades_request() { const LINK_SELF: &str = ""; - const LINK_BASE: &str = "https://horizon-testnet.stellar.org/accounts/GB4MMSZ5FY3KOCMMN77DNJBSKXFZVRXMLM5SKKDIVGTWGR55DKJM7GSD"; - const LINK_COUNTER: &str = "https://horizon-testnet.stellar.org/accounts/GBBD47IF6LWK7P7MDEVSCWR7DPUWV3NY3DTQEVFL4NAT4AQH3ZLLFLA5"; - const LINK_OPERATION: &str = "https://horizon-testnet.stellar.org/operations/4754528817153"; - const ID: &str = "4754528817153-0"; - const PAGING_TOKEN: &str = "4754528817153-0"; - const LEDGER_CLOSE_TIME: &str = "2024-02-06T19:10:19Z"; + const LINK_BASE: &str = "https://horizon-testnet.stellar.org/accounts/GCUOMNFW7YG55YHY5S5W7FE247PWODUDUZ4SOVZFEON47KZ7AXFG6D6A"; + const LINK_COUNTER: &str = "https://horizon-testnet.stellar.org/accounts/GBHRHA3KGRJBXBFER7VHI3WS5SKUXOP5TQ3YITVD7WJ2D3INGK62FZJR"; + const LINK_OPERATION: &str = "https://horizon-testnet.stellar.org/operations/23944442687489"; + const ID: &str = "23944442687489-0"; + const PAGING_TOKEN: &str = "23944442687489-0"; + const LEDGER_CLOSE_TIME: &str = "2024-06-12T04:58:59Z"; const TRADE_TYPE: &str = "orderbook"; - const BASE_OFFER_ID: &str = "4611690772956205057"; - const BASE_ACCOUNT: &str = "GB4MMSZ5FY3KOCMMN77DNJBSKXFZVRXMLM5SKKDIVGTWGR55DKJM7GSD"; - const BASE_AMOUNT: &str = "3842030179.4600000"; - const BASE_ASSET_TYPE: &str = "credit_alphanum12"; - const BASE_ASSET_CODE: &str = "USDCAllow"; - const BASE_ASSET_ISSUER: &str = "GAWZGWFOURKXZ4XYXBGFADZM4QIG6BJNM74XIZCEIU3BHM62RN2MDEZN"; - const COUNTER_OFFER_ID: &str = "1"; - const COUNTER_ACCOUNT: &str = "GBBD47IF6LWK7P7MDEVSCWR7DPUWV3NY3DTQEVFL4NAT4AQH3ZLLFLA5"; - const COUNTER_AMOUNT: &str = "3842030179.4600000"; + const BASE_OFFER_ID: &str = "20"; + const BASE_ACCOUNT: &str = "GCUOMNFW7YG55YHY5S5W7FE247PWODUDUZ4SOVZFEON47KZ7AXFG6D6A"; + const BASE_AMOUNT: &str = "3.6000000"; + const BASE_ASSET_TYPE: &str = "credit_alphanum4"; + const BASE_ASSET_CODE: &str = "XETH"; + const BASE_ASSET_ISSUER: &str = "GBZXN7PIRZGNMHGA7MUUUF4GWPY5AYPV6LY4UV2GL6VJGIQRXFDNMADI"; + const COUNTER_OFFER_ID: &str = "21"; + const COUNTER_ACCOUNT: &str = "GBHRHA3KGRJBXBFER7VHI3WS5SKUXOP5TQ3YITVD7WJ2D3INGK62FZJR"; + const COUNTER_AMOUNT: &str = "1.0800000"; const COUNTER_ASSET_TYPE: &str = "credit_alphanum4"; - const COUNTER_ASSET_CODE: &str = "USDC"; - const COUNTER_ASSET_ISSUER: &str = "GBBD47IF6LWK7P7MDEVSCWR7DPUWV3NY3DTQEVFL4NAT4AQH3ZLLFLA5"; - const BASE_IS_SELLER: &bool = &false; - const PRICE_N: &str = "1"; - const PRICE_R: &str = "1"; + const COUNTER_ASSET_CODE: &str = "XUSD"; + const COUNTER_ASSET_ISSUER: &str = "GBZXN7PIRZGNMHGA7MUUUF4GWPY5AYPV6LY4UV2GL6VJGIQRXFDNMADI"; + const BASE_IS_SELLER: &bool = &true; + const PRICE_N: &str = "3"; + const PRICE_R: &str = "10"; let all_trades_request = AllTradesRequest::new(); diff --git a/stellar_rust_sdk/src/transactions/mod.rs b/stellar_rust_sdk/src/transactions/mod.rs index ac52000..e076eba 100644 --- a/stellar_rust_sdk/src/transactions/mod.rs +++ b/stellar_rust_sdk/src/transactions/mod.rs @@ -78,37 +78,35 @@ pub mod test { #[tokio::test] async fn test_get_single_transaction() { - const LINK_SELF: &str = "https://horizon-testnet.stellar.org/transactions/be0d59c8706e8fd525d2ab10910a55ec57323663858c65b330a3f93afb13ab0f"; - const LINK_ACCOUNT: &str = "https://horizon-testnet.stellar.org/accounts/GAIH3ULLFQ4DGSECF2AR555KZ4KNDGEKN4AFI4SU2M7B43MGK3QJZNSR"; - const LINK_LEDGER: &str = "https://horizon-testnet.stellar.org/ledgers/126"; - const LINK_OPERATIONS: &str = "https://horizon-testnet.stellar.org/transactions/be0d59c8706e8fd525d2ab10910a55ec57323663858c65b330a3f93afb13ab0f/operations{?cursor,limit,order}"; - const LINK_EFFECTS: &str = "https://horizon-testnet.stellar.org/transactions/be0d59c8706e8fd525d2ab10910a55ec57323663858c65b330a3f93afb13ab0f/effects{?cursor,limit,order}"; - const LINK_PRECEDES: &str = "https://horizon-testnet.stellar.org/transactions?order=asc&cursor=541165883392"; - const LINK_SUCCEEDS: &str = "https://horizon-testnet.stellar.org/transactions?order=desc&cursor=541165883392"; - const LINK_TRANSACTION: &str = "https://horizon-testnet.stellar.org/transactions/be0d59c8706e8fd525d2ab10910a55ec57323663858c65b330a3f93afb13ab0f"; - const ID: &str = "be0d59c8706e8fd525d2ab10910a55ec57323663858c65b330a3f93afb13ab0f"; - const PAGING_TOKEN: &str = "541165883392"; + const LINK_SELF: &str = "https://horizon-testnet.stellar.org/transactions/b9d0b2292c4e09e8eb22d036171491e87b8d2086bf8b265874c8d182cb9c9020"; + const LINK_ACCOUNT: &str = "https://horizon-testnet.stellar.org/accounts/GBRPYHIL2CI3FNQ4BXLFMNDLFJUNPU2HY3ZMFSHONUCEOASW7QC7OX2H"; + const LINK_LEDGER: &str = "https://horizon-testnet.stellar.org/ledgers/539"; + const LINK_OPERATIONS: &str = "https://horizon-testnet.stellar.org/transactions/b9d0b2292c4e09e8eb22d036171491e87b8d2086bf8b265874c8d182cb9c9020/operations{?cursor,limit,order}"; + const LINK_EFFECTS: &str = "https://horizon-testnet.stellar.org/transactions/b9d0b2292c4e09e8eb22d036171491e87b8d2086bf8b265874c8d182cb9c9020/effects{?cursor,limit,order}"; + const LINK_PRECEDES: &str = "https://horizon-testnet.stellar.org/transactions?order=asc&cursor=2314987376640"; + const LINK_SUCCEEDS: &str = "https://horizon-testnet.stellar.org/transactions?order=desc&cursor=2314987376640"; + const LINK_TRANSACTION: &str = "https://horizon-testnet.stellar.org/transactions/b9d0b2292c4e09e8eb22d036171491e87b8d2086bf8b265874c8d182cb9c9020"; + const ID: &str = "b9d0b2292c4e09e8eb22d036171491e87b8d2086bf8b265874c8d182cb9c9020"; + const PAGING_TOKEN: &str = "2314987376640"; const SUCCESSFUL: &bool = &true; - const HASH: &str = "be0d59c8706e8fd525d2ab10910a55ec57323663858c65b330a3f93afb13ab0f"; - const LEDGER: &i64 = &126; - const CREATED_AT: &str = "2024-02-06T17:44:28Z"; - const SOURCE_ACCOUNT: &str = "GAIH3ULLFQ4DGSECF2AR555KZ4KNDGEKN4AFI4SU2M7B43MGK3QJZNSR"; - const SOURCE_ACCOUNT_SEQUENCE: &str = "459561500680"; - const FEE_ACCOUNT: &str = "GAIH3ULLFQ4DGSECF2AR555KZ4KNDGEKN4AFI4SU2M7B43MGK3QJZNSR"; - const FEE_CHARGED: &str = "2000"; - const MAX_FEE: &str = "2000"; - const OPERATION_COUNT: &i64 = &20; + const HASH: &str = "b9d0b2292c4e09e8eb22d036171491e87b8d2086bf8b265874c8d182cb9c9020"; + const LEDGER: &i64 = &539; + const CREATED_AT: &str = "2024-06-11T21:36:12Z"; + const SOURCE_ACCOUNT: &str = "GBRPYHIL2CI3FNQ4BXLFMNDLFJUNPU2HY3ZMFSHONUCEOASW7QC7OX2H"; + const SOURCE_ACCOUNT_SEQUENCE: &str = "1"; + const FEE_ACCOUNT: &str = "GBRPYHIL2CI3FNQ4BXLFMNDLFJUNPU2HY3ZMFSHONUCEOASW7QC7OX2H"; + const FEE_CHARGED: &str = "1100"; + const MAX_FEE: &str = "1100"; + const OPERATION_COUNT: &i64 = &11; // TODO: Is it necessary to test the following 4 values, as they're very long? // const ENVELOPE_XDR: &str = ""; // const RESULT_XDR: &str = ""; // const RESULT_META_XDR: &str = ""; // const FEE_META_XDR: &str = ""; const MEMO_TYPE: &str = "none"; - const SIGNATURE: &str = "wd3ANI0TfNZtfzPt7sBbeHm7tOmLtTCadyD0Roor3f6G/FqCO5poG+cuAbsxLm7cf9XBhobkC0Zdj4RgQMGbCQ=="; + const SIGNATURE: &str = "NUHx9PZlcXQ9mq1lf1usrSTP4/gbxUqzUOQOSU/pQuy9dF7FcUF0fjEbzFECxHUcl4QEfbvyGIE029TA3DrODA=="; const VALID_AFTER: &str = "1970-01-01T00:00:00Z"; - const VALID_BEFORE: &str = "2024-02-06T17:49:24Z"; const MIN_TIME: &str = "0"; - const MAX_TIME: &str = "1707241764"; let horizon_client = HorizonClient::new("https://horizon-testnet.stellar.org" @@ -148,28 +146,26 @@ pub mod test { assert_eq!(response.operation_count(), OPERATION_COUNT); assert_eq!(response.memo_type(), MEMO_TYPE); assert_eq!(response.signatures()[0], SIGNATURE); - assert_eq!(response.valid_after(), VALID_AFTER); - assert_eq!(response.valid_before().as_ref().unwrap(), VALID_BEFORE); - assert_eq!(response.preconditions().timebounds().min_time(), MIN_TIME); - assert_eq!(response.preconditions().timebounds().max_time().as_ref().unwrap(), MAX_TIME); + assert_eq!(response.valid_after().as_ref().unwrap(), VALID_AFTER); + assert_eq!(response.preconditions().as_ref().unwrap().timebounds().min_time(), MIN_TIME); } #[tokio::test] async fn test_get_all_transactions() { const LINK_SELF: &str = "https://horizon-testnet.stellar.org/transactions/b9d0b2292c4e09e8eb22d036171491e87b8d2086bf8b265874c8d182cb9c9020"; const LINK_ACCOUNT: &str = "https://horizon-testnet.stellar.org/accounts/GBRPYHIL2CI3FNQ4BXLFMNDLFJUNPU2HY3ZMFSHONUCEOASW7QC7OX2H"; - const LINK_LEDGER: &str = "https://horizon-testnet.stellar.org/ledgers/107"; + const LINK_LEDGER: &str = "https://horizon-testnet.stellar.org/ledgers/539"; const LINK_OPERATIONS: &str = "https://horizon-testnet.stellar.org/transactions/b9d0b2292c4e09e8eb22d036171491e87b8d2086bf8b265874c8d182cb9c9020/operations{?cursor,limit,order}"; const LINK_EFFECTS: &str = "https://horizon-testnet.stellar.org/transactions/b9d0b2292c4e09e8eb22d036171491e87b8d2086bf8b265874c8d182cb9c9020/effects{?cursor,limit,order}"; - const LINK_PRECEDES: &str = "https://horizon-testnet.stellar.org/transactions?order=asc&cursor=459561504768"; - const LINK_SUCCEEDS: &str = "https://horizon-testnet.stellar.org/transactions?order=desc&cursor=459561504768"; + const LINK_PRECEDES: &str = "https://horizon-testnet.stellar.org/transactions?order=asc&cursor=2314987376640"; + const LINK_SUCCEEDS: &str = "https://horizon-testnet.stellar.org/transactions?order=desc&cursor=2314987376640"; const LINK_TRANSACTION: &str = "https://horizon-testnet.stellar.org/transactions/b9d0b2292c4e09e8eb22d036171491e87b8d2086bf8b265874c8d182cb9c9020"; const ID: &str = "b9d0b2292c4e09e8eb22d036171491e87b8d2086bf8b265874c8d182cb9c9020"; - const PAGING_TOKEN: &str = "459561504768"; + const PAGING_TOKEN: &str = "2314987376640"; const SUCCESSFUL: &bool = &true; const HASH: &str = "b9d0b2292c4e09e8eb22d036171491e87b8d2086bf8b265874c8d182cb9c9020"; - const LEDGER: &i64 = &107; - const CREATED_AT: &str = "2024-02-06T17:42:48Z"; + const LEDGER: &i64 = &539; + const CREATED_AT: &str = "2024-06-11T21:36:12Z"; const SOURCE_ACCOUNT: &str = "GBRPYHIL2CI3FNQ4BXLFMNDLFJUNPU2HY3ZMFSHONUCEOASW7QC7OX2H"; const SOURCE_ACCOUNT_SEQUENCE: &str = "1"; const FEE_ACCOUNT: &str = "GBRPYHIL2CI3FNQ4BXLFMNDLFJUNPU2HY3ZMFSHONUCEOASW7QC7OX2H"; @@ -218,7 +214,7 @@ pub mod test { assert_eq!(record.operation_count(), OPERATION_COUNT); assert_eq!(record.memo_type(), MEMO_TYPE); assert_eq!(record.signatures()[0], SIGNATURE); // Check only the first signature of the vector - assert_eq!(record.valid_after(), VALID_AFTER); - assert_eq!(record.preconditions().timebounds().min_time(), MIN_TIME); + assert_eq!(record.valid_after().as_ref().unwrap(), VALID_AFTER); + assert_eq!(record.preconditions().as_ref().unwrap().timebounds().min_time(), MIN_TIME); } } \ No newline at end of file diff --git a/stellar_rust_sdk/src/transactions/response.rs b/stellar_rust_sdk/src/transactions/response.rs index 324e1a1..19672e3 100644 --- a/stellar_rust_sdk/src/transactions/response.rs +++ b/stellar_rust_sdk/src/transactions/response.rs @@ -147,11 +147,11 @@ pub struct TransactionResponse { /// An array of signatures used to sign this transaction. signatures: Vec, /// The date after which a transaction is valid. - valid_after: String, + valid_after: Option, /// The date before which a transaction is valid. valid_before: Option, /// A set of transaction preconditions affecting its validity. - preconditions: Preconditions, + preconditions: Option, } impl Response for TransactionResponse {