Skip to content

Remove open and openext; Every Balance and Swap Row Is Billed to sysio - #759

Merged
heifner merged 2 commits into
masterfrom
feature/remove-open-action
Nov 10, 2026
Merged

heifner merged 2 commits into
masterfrom
feature/remove-open-action

Conversation

@heifner

@heifner heifner commented Nov 9, 2026 •

Copy link
Copy Markdown
Contributor

sysio.token, sysio.liq and sysio.swap bill every balance row to sysio, and the first credit creates the row, so open is removed from all three. close stays.

  • sysio.swap: every row is billed to sysio: pair-token balances, deposits, the configuration, the rows inittoken writes, and the fundyield and yield payout receipts. The first credit of a token creates its deposit row, for an existing account only, so openext is removed; closeext stays. A debit with no deposit row fails with insufficient funds.
  • sysio.token and sysio.liq: the balance helpers no longer take a payer; they always bill sysio.
  • sysio.liq: regliqpool no longer opens deposit rows, and its calls into sysio.swap no longer carry sysio.payer.
  • clio transfer drops --pay-ram-to-open, which sent open.
  • Tests: the open and openext tests are removed, and the cases that used either as setup create the row with a credit instead. New swap tests check that every swap row is billed to sysio and that depositing, sending, receiving, adding liquidity, withdrawing and closing leave the holders' RAM unchanged. The contract test fixtures deploy sysio.swap privileged, as sysio.roa::setsyscode does.
  • Rebuilt sysio.token, sysio.liq and sysio.swap. The ABI changes are the removed open actions and sysio.swap's removed openext.

Pairs with Wire-Network/wire-libraries-ts#148, which regenerates SysioContractTypes.ts without these actions. Either PR can land first; nothing outside sysio.liq called open or openext.

sysio.token, sysio.liq and sysio.swap bill every balance row to sysio, and the first credit creates the row, so open is removed from all three. close stays.

Every sysio.swap row is now billed to sysio: pair-token balances, deposits, the configuration, the rows inittoken writes, and the fundyield and yield payout receipts. The first credit of a token creates its deposit row, so openext is removed; closeext stays. Holders' RAM is unchanged by depositing, sending, receiving, withdrawing and closing.

sysio.liq's calls into sysio.swap no longer open deposit rows or carry sysio.payer.

clio transfer drops --pay-ram-to-open, which sent open.

Change-Id: Ieb42335cd3ccaea653672cd8ad63767dd056ca2e
huangminghuang
huangminghuang previously approved these changes Nov 10, 2026

@huangminghuang huangminghuang left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the full diff and relevant callers, deployment permissions, and balance logic. No actionable findings.

Validation: 109 tests and 8,622 assertions passed across the swap, LIQ, token, and kicker suites using this commit's committed WASM/ABIs with existing host libraries. Full node rebuild was not run.

Brings in the context-free action removal (#754), the action data trailing-bytes check (#755) and the msig propose payer (#751). sysio.token, sysio.liq and sysio.swap are rebuilt with wire-cdt master. Master's new transfer trailing-bytes test is kept, and open_tests stays removed.

@huangminghuang huangminghuang left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-reviewed the current diff after merging master at da4a179. The PR's text changes are unchanged from the earlier review; checked merge interactions with RAM authorization, deployment privileges, and the rebuilt contract artifacts. No actionable findings.

Validation: 110 tests and 8,634 assertions passed across the swap, LIQ, token, and kicker suites, including the newly merged trailing-bytes rejection test. Used this commit's committed WASM/ABIs with existing host libraries. Full node rebuild was not run.

@heifner
heifner merged commit fd459c6 into master Nov 10, 2026
13 checks passed
heifner added a commit that referenced this pull request Nov 11, 2026
…ys-cpu

Brings in #758, #759, #760 and #761. `sysio.system` is rebuilt with the wire-cdt of #132, so `sysio.system.wasm` carries #761's changes and the new parameter. Every other contract and ABI built with that wire-cdt matches master's byte for byte. `get_cached_descriptor`, which this branch adds to the sys-vm-oc code cache, drops the top-level `const` on its return type, as #758 does for the functions beside it. The deep-mind log, the snapshot compatibility files, the consensus blockchain data and the sys-util snapshot info expectations still pass unchanged.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants