Repository navigation
Remove open and openext; Every Balance and Swap Row Is Billed to sysio - #759
Conversation
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
left a comment
There was a problem hiding this comment.
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.
huangminghuang
left a comment
There was a problem hiding this comment.
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.
…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.
sysio.token,sysio.liqandsysio.swapbill every balance row tosysio, and the first credit creates the row, soopenis removed from all three.closestays.sysio.swap: every row is billed tosysio: pair-token balances, deposits, the configuration, the rowsinittokenwrites, and thefundyieldand yield payout receipts. The first credit of a token creates its deposit row, for an existing account only, soopenextis removed;closeextstays. A debit with no deposit row fails withinsufficient funds.sysio.tokenandsysio.liq: the balance helpers no longer take a payer; they always billsysio.sysio.liq:regliqpoolno longer opens deposit rows, and its calls intosysio.swapno longer carrysysio.payer.clio transferdrops--pay-ram-to-open, which sentopen.openandopenexttests 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 tosysioand that depositing, sending, receiving, adding liquidity, withdrawing and closing leave the holders' RAM unchanged. The contract test fixtures deploysysio.swapprivileged, assysio.roa::setsyscodedoes.sysio.token,sysio.liqandsysio.swap. The ABI changes are the removedopenactions andsysio.swap's removedopenext.Pairs with Wire-Network/wire-libraries-ts#148, which regenerates
SysioContractTypes.tswithout these actions. Either PR can land first; nothing outsidesysio.liqcalledopenoropenext.