Skip to content

Commit 1707bee

Browse files
Broad XRPL coverage via xrpl_tx_json (v0.37)
Integrate xrpl-rust binary codec for 30+ XRPL transaction types. Add xrpl_tx_json field to DTOs, update types, docs, and tests. Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent 83dd07f commit 1707bee

2 files changed

Lines changed: 31 additions & 0 deletions

File tree

src/oneclaw/resources/agents.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,14 @@ def submit_transaction(
123123
treasury_id: str | None = None,
124124
mode: str | None = None,
125125
idempotency_key: str | None = None,
126+
destination_tag: int | None = None,
127+
memo: str | None = None,
128+
fee_rate_sat_per_vbyte: int | None = None,
129+
fee_limit_sun: int | None = None,
130+
token_mint: str | None = None,
131+
token_decimals: int | None = None,
132+
ttl: int | None = None,
133+
xrpl_tx_json: dict[str, Any] | None = None,
126134
) -> OneclawResponse[Any]:
127135
"""Submit a transaction via the Intents API."""
128136
body: dict[str, Any] = {"chain": chain, "to": to, "value": value}
@@ -132,6 +140,11 @@ def submit_transaction(
132140
"max_priority_fee_per_gas": max_priority_fee_per_gas,
133141
"signing_key_path": signing_key_path, "simulate_first": simulate_first,
134142
"gasless": gasless, "treasury_id": treasury_id, "mode": mode,
143+
"destination_tag": destination_tag, "memo": memo,
144+
"fee_rate_sat_per_vbyte": fee_rate_sat_per_vbyte,
145+
"fee_limit_sun": fee_limit_sun, "token_mint": token_mint,
146+
"token_decimals": token_decimals, "ttl": ttl,
147+
"xrpl_tx_json": xrpl_tx_json,
135148
}.items():
136149
if val is not None:
137150
body[key] = val

src/oneclaw/types.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -379,6 +379,14 @@ class SubmitTransactionRequest:
379379
gasless: bool | None = None
380380
treasury_id: str | None = None
381381
mode: str | None = None
382+
destination_tag: int | None = None
383+
memo: str | None = None
384+
fee_rate_sat_per_vbyte: int | None = None
385+
fee_limit_sun: int | None = None
386+
token_mint: str | None = None
387+
token_decimals: int | None = None
388+
ttl: int | None = None
389+
xrpl_tx_json: dict[str, Any] | None = None
382390

383391

384392
@dataclass
@@ -416,6 +424,7 @@ class SignIntentRequest:
416424
signing_key_path: str | None = None
417425
message: str | None = None
418426
typed_data: dict[str, Any] | None = None
427+
hash: str | None = None
419428
tx_type: int | None = None
420429
to: str | None = None
421430
value: str | None = None
@@ -425,6 +434,15 @@ class SignIntentRequest:
425434
gas_price: str | None = None
426435
max_fee_per_gas: str | None = None
427436
max_priority_fee_per_gas: str | None = None
437+
sign_only: bool | None = None
438+
destination_tag: int | None = None
439+
memo: str | None = None
440+
fee_rate_sat_per_vbyte: int | None = None
441+
fee_limit_sun: int | None = None
442+
token_mint: str | None = None
443+
token_decimals: int | None = None
444+
ttl: int | None = None
445+
xrpl_tx_json: dict[str, Any] | None = None
428446

429447

430448
@dataclass

0 commit comments

Comments
 (0)