From f32153c03ef477a7afd44b3a0b6bfed059133a0e Mon Sep 17 00:00:00 2001 From: truemagic-coder Date: Wed, 3 Dec 2025 12:07:18 -0800 Subject: [PATCH] update --- .coverage | Bin 53248 -> 53248 bytes README.md | 10 ++++------ pyproject.toml | 2 +- sakit/privy_dflow_swap.py | 12 +++--------- sakit/solana_dflow_swap.py | 12 +++--------- tests/test_privy_dflow_swap_tool.py | 4 ---- tests/test_solana_dflow_swap_tool.py | 4 ---- 7 files changed, 11 insertions(+), 33 deletions(-) diff --git a/.coverage b/.coverage index 7fc630002e2271a7e1645072300cebaa4a7b8a0d..faff375266d5fab5419bf4305f5605c164c3a9fa 100644 GIT binary patch delta 193 zcmZozz}&Eac>`O6%~l5fAN-;GQv7UuXZW`9&E<>cbK+Cteaw55w~*I`=Q+sBhaed;t&9!y2pg=L#=FMFxjA|+(ER399QcOGIPqIDuRk5l2 z-TQYlI^4_`aQm0SwCX)EF38>>->@ h-TU_Mu70-upJlDu;a|oOK?vFKruyC4%}Rau9056=L5~0c delta 195 zcmZozz}&Eac>`O6&1MGvAN-;GQv7UuXZW`9&E<>cbK+CteZ+f&w}97~=NZomo=H44 zJa#"] license = "MIT" diff --git a/sakit/privy_dflow_swap.py b/sakit/privy_dflow_swap.py index eeefa64..282d077 100644 --- a/sakit/privy_dflow_swap.py +++ b/sakit/privy_dflow_swap.py @@ -8,8 +8,9 @@ Transactions are signed via Privy's signTransaction and sent via Helius RPC for priority fees and reliable blockhash handling. -Supports platform fee collection via referralAccount - DFlow auto-creates the -required token accounts to receive fees in the output token. +Note: Platform fees are not supported. DFlow requires a specific token account +(ATA) for each output token to collect fees, which is impractical for a +general-purpose swap tool. Use Jupiter Ultra (privy_ultra) if you need fees. """ import base64 @@ -210,8 +211,6 @@ def __init__(self, registry: Optional[ToolRegistry] = None): self._signing_key: Optional[str] = None self._payer_private_key: Optional[str] = None self._rpc_url: Optional[str] = None - self._platform_fee_bps: Optional[int] = None - self._referral_account: Optional[str] = None def get_schema(self) -> Dict[str, Any]: return { @@ -252,9 +251,6 @@ def configure(self, config: Dict[str, Any]) -> None: self._payer_private_key = tool_cfg.get("payer_private_key") # RPC URL for sending transactions (Helius recommended for priority fees) self._rpc_url = tool_cfg.get("rpc_url") - # Platform fee configuration (uses referralAccount for auto ATA creation) - self._platform_fee_bps = tool_cfg.get("platform_fee_bps") - self._referral_account = tool_cfg.get("referral_account") async def execute( # pragma: no cover self, @@ -307,8 +303,6 @@ async def execute( # pragma: no cover user_public_key=public_key, slippage_bps=slippage_bps if slippage_bps > 0 else None, sponsor=sponsor, - platform_fee_bps=self._platform_fee_bps, - referral_account=self._referral_account, ) if not order_result.success: diff --git a/sakit/solana_dflow_swap.py b/sakit/solana_dflow_swap.py index 7969aa0..34b9d96 100644 --- a/sakit/solana_dflow_swap.py +++ b/sakit/solana_dflow_swap.py @@ -3,8 +3,9 @@ Enables fast token swaps using DFlow's Swap API with a Solana keypair. DFlow offers faster swaps compared to Jupiter Ultra with similar liquidity. -Supports platform fee collection via referralAccount - DFlow auto-creates the -required token accounts to receive fees in the output token. +Note: Platform fees are not supported. DFlow requires a specific token account +(ATA) for each output token to collect fees, which is impractical for a +general-purpose swap tool. Use Jupiter Ultra (solana_ultra) if you need fees. """ import base64 @@ -80,8 +81,6 @@ def __init__(self, registry: Optional[ToolRegistry] = None): self._private_key: Optional[str] = None self._payer_private_key: Optional[str] = None self._rpc_url: Optional[str] = None - self._platform_fee_bps: Optional[int] = None - self._referral_account: Optional[str] = None def get_schema(self) -> Dict[str, Any]: return { @@ -115,9 +114,6 @@ def configure(self, config: Dict[str, Any]) -> None: self._private_key = tool_cfg.get("private_key") self._payer_private_key = tool_cfg.get("payer_private_key") self._rpc_url = tool_cfg.get("rpc_url") or DEFAULT_RPC_URL - # Platform fee configuration (uses referralAccount for auto ATA creation) - self._platform_fee_bps = tool_cfg.get("platform_fee_bps") - self._referral_account = tool_cfg.get("referral_account") async def execute( self, @@ -151,8 +147,6 @@ async def execute( user_public_key=user_pubkey, slippage_bps=slippage_bps if slippage_bps > 0 else None, sponsor=sponsor, - platform_fee_bps=self._platform_fee_bps, - referral_account=self._referral_account, ) if not order_result.success: diff --git a/tests/test_privy_dflow_swap_tool.py b/tests/test_privy_dflow_swap_tool.py index 3e5ba8b..7c8df95 100644 --- a/tests/test_privy_dflow_swap_tool.py +++ b/tests/test_privy_dflow_swap_tool.py @@ -67,8 +67,6 @@ def test_configure_sets_credentials(self): "signing_key": "test_signing_key", "payer_private_key": "payer_key", "rpc_url": "https://custom-rpc.com", - "platform_fee_bps": 50, - "referral_account": "RefAcct123", } } } @@ -80,8 +78,6 @@ def test_configure_sets_credentials(self): assert tool._signing_key == "test_signing_key" assert tool._payer_private_key == "payer_key" assert tool._rpc_url == "https://custom-rpc.com" - assert tool._platform_fee_bps == 50 - assert tool._referral_account == "RefAcct123" class TestPrivyDFlowSwapToolExecute: diff --git a/tests/test_solana_dflow_swap_tool.py b/tests/test_solana_dflow_swap_tool.py index 94bf9e4..f6715dd 100644 --- a/tests/test_solana_dflow_swap_tool.py +++ b/tests/test_solana_dflow_swap_tool.py @@ -71,8 +71,6 @@ def test_configure_sets_credentials(self): "private_key": "test_private_key", "payer_private_key": "payer_key", "rpc_url": "https://custom-rpc.com", - "platform_fee_bps": 50, - "referral_account": "RefAcct123", } } } @@ -82,8 +80,6 @@ def test_configure_sets_credentials(self): assert tool._private_key == "test_private_key" assert tool._payer_private_key == "payer_key" assert tool._rpc_url == "https://custom-rpc.com" - assert tool._platform_fee_bps == 50 - assert tool._referral_account == "RefAcct123" def test_configure_uses_default_rpc_url(self): """Should use default RPC URL when not provided."""