feat(scripts): recover stray SUI from the stSUI CollectionFeeCap - #44
Conversation
Add scripts/receiveStray.ts to pull the 1513.878 SUI mistakenly sent to CollectionFeeCap 0x019466989a. Guards on receive_stray existing, the cap owner signing, and the coin still being unclaimed, so it no-ops until the liquid_staking upgrade lands. Port scripts/utils.ts to SuiGrpcClient: public fullnodes no longer serve JSON-RPC, and 2.22.0 dropped SuiClient/fromB64. Fix scripts/test.ts against current src signatures — explicit lstInfo and lstCoinType params, setValidators/updateFee renames, required typeName on event queries.
|
operate.md review — re-run against head Resolved
Still open
New
Verified, no action
|
|
@Zorag44 — two fixes requested before this can be approved (details in the operate.md comment above): (1) validate |
Reject addresses that BCS would silently zero-pad into a valid dead address, and print the normalized destination instead of the raw env value. Return status from execute/dry-run so a MoveAbort — which does not throw, it returns $kind: FailedTransaction — exits non-zero instead of 0.
jangid
left a comment
There was a problem hiding this comment.
operate.md: clean — CI green; the two items that gated the earlier review (RECIPIENT validation, non-zero exit on tx failure) are verified fixed in ee21dda. Non-blocking follow-ups in the review comment: dotenv is imported by scripts/utils.ts but is not a declared dependency, so the documented invocation cannot start until it is added; and scripts/ is still outside every CI gate. Approvals: 2/2 — threshold met, merge is a separate call.
Add scripts/receiveStray.ts to pull the 1513.878 SUI mistakenly sent to CollectionFeeCap 0x019466989a. Guards on receive_stray existing, the cap owner signing, and the coin still being unclaimed, so it no-ops until the liquid_staking upgrade lands.
Port scripts/utils.ts to SuiGrpcClient: public fullnodes no longer serve JSON-RPC, and 2.22.0 dropped SuiClient/fromB64.
Fix scripts/test.ts against current src signatures — explicit lstInfo and lstCoinType params, setValidators/updateFee renames, required typeName on event queries.