From 516071a99ec8442eaf90370b524384d0287e9c01 Mon Sep 17 00:00:00 2001 From: stayzappy Date: Sun, 26 Jul 2026 15:02:41 +0000 Subject: [PATCH 1/2] test: add distribute update table test --- contracts/splitter/src/test.rs | 43 ++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/contracts/splitter/src/test.rs b/contracts/splitter/src/test.rs index 2533347..cf6dcd7 100644 --- a/contracts/splitter/src/test.rs +++ b/contracts/splitter/src/test.rs @@ -1923,3 +1923,46 @@ fn single_recipient_gets_full_amount() { assert_eq!(token_client.balance(&a), amount); assert_eq!(token_client.balance(&payer), 0); } + +#[test] +fn distribute_uses_updated_table_after_update_split() { + let s = setup(); + let creator = Address::generate(&s.env); + let a = Address::generate(&s.env); + let b = Address::generate(&s.env); + let controller = Address::generate(&s.env); + + let id = s.client.create_split( + &creator, + &vec![&s.env, acct(&a)], + &vec![&s.env, 10_000], + &Some(controller.clone()), + ); + + let token_id = s + .env + .register_stellar_asset_contract(Address::generate(&s.env)); + let token_client = token::Client::new(&s.env, &token_id); + let token_admin = token::StellarAssetClient::new(&s.env, &token_id); + let payer = Address::generate(&s.env); + let amount = 10_000_000; + token_admin.mint(&payer, &amount); + + // Update the routing table + s.client.update_split( + &id, + &vec![&s.env, acct(&a), acct(&b)], + &vec![&s.env, 5_000, 5_000], + ); + + // Deposit + s.client.deposit(&payer, &id, &token_id, &amount); + + // Distribute + s.client.distribute(&id, &token_id); + + // Should pay by the NEW routing table + assert_eq!(token_client.balance(&a), amount / 2); + assert_eq!(token_client.balance(&b), amount / 2); + assert_eq!(token_client.balance(&payer), 0); +} From b03cffe6cbe1155fc7a8daf99aa94bf3c5454c52 Mon Sep 17 00:00:00 2001 From: stayzappy Date: Tue, 28 Jul 2026 11:36:21 +0000 Subject: [PATCH 2/2] fix(ci): fix deprecated method and duplicate test imports --- app/src/lib/tributary.test.ts | 40 ---------------------------------- contracts/splitter/src/test.rs | 6 ++--- 2 files changed, 3 insertions(+), 43 deletions(-) diff --git a/app/src/lib/tributary.test.ts b/app/src/lib/tributary.test.ts index ec2522d..90d2442 100644 --- a/app/src/lib/tributary.test.ts +++ b/app/src/lib/tributary.test.ts @@ -1,12 +1,3 @@ -import { describe, it, expect } from "vitest"; -import { - toStroops, - fromStroops, - formatAmount, - shortAddress, - recipientLabel, - ConversionError, -} from "./tributary"; import { describe, expect, it } from "vitest"; import { ConversionError, @@ -296,35 +287,4 @@ describe("Token conversion functions", () => { }); }); -describe("formatAmount", () => { - it("formats valid decimal string with commas", () => { - expect(formatAmount("1000")).toBe("1,000"); - }); - - it("returns input string if non-numeric", () => { - expect(formatAmount("abc")).toBe("abc"); - }); -}); - -describe("shortAddress", () => { - it("shortens stellar address", () => { - expect( - shortAddress("GBRPYHIL2CI3FNQ4BXLFMNDLFJUNPU2HY3ZMFXYFTRE65OTHVRWPAHV7") - ).toBe("GBRP…AHV7"); - }); -}); -describe("recipientLabel", () => { - it("formats account recipient", () => { - expect( - recipientLabel({ - tag: "Account", - values: ["GBRPYHIL2CI3FNQ4BXLFMNDLFJUNPU2HY3ZMFXYFTRE65OTHVRWPAHV7"], - }) - ).toBe("GBRP…AHV7"); - }); - - it("formats split recipient", () => { - expect(recipientLabel({ tag: "Split", values: [42n] })).toBe("split #42"); - }); -}); diff --git a/contracts/splitter/src/test.rs b/contracts/splitter/src/test.rs index cf6dcd7..69a97fa 100644 --- a/contracts/splitter/src/test.rs +++ b/contracts/splitter/src/test.rs @@ -1941,9 +1941,9 @@ fn distribute_uses_updated_table_after_update_split() { let token_id = s .env - .register_stellar_asset_contract(Address::generate(&s.env)); - let token_client = token::Client::new(&s.env, &token_id); - let token_admin = token::StellarAssetClient::new(&s.env, &token_id); + .register_stellar_asset_contract_v2(Address::generate(&s.env)); + let token_client = token::Client::new(&s.env, &token_id.address()); + let token_admin = token::StellarAssetClient::new(&s.env, &token_id.address()); let payer = Address::generate(&s.env); let amount = 10_000_000; token_admin.mint(&payer, &amount);