Skip to content

Add CTS-controlled pending application - #3

Merged
ap0calypse644 merged 8 commits into
mainfrom
agent/cts-sdk-compat
Aug 17, 2026
Merged

Add CTS-controlled pending application#3
ap0calypse644 merged 8 commits into
mainfrom
agent/cts-sdk-compat

Conversation

@ap0calypse644

Copy link
Copy Markdown
Contributor

What changed

  • adds ControlledConfidentialTransferClient, preserving automatic applyPending by default but allowing orchestrators to disable it with autoApplyPending: false
  • exposes a public applyPending() method without changing the existing ConfidentialTransferClient API
  • exports the controlled client from the package root
  • updates normal confidential event ABIs to match the current Fairyring Diamond (ResultCode as uint8, current field ordering, current offchain flag placement)
  • adds regression tests for default auto-apply behavior, disabled auto-apply behavior, and public applyPending() forwarding

Why

CTS must own pending-state scheduling explicitly. Hidden auto-apply inside deposit/transfer/withdraw would make applyPending traffic impossible to schedule, persist, quarantine, and reconcile independently.

The existing SDK behavior remains backwards compatible because auto-apply stays enabled unless a caller explicitly disables it.

@ap0calypse644
ap0calypse644 marked this pull request as ready for review August 17, 2026 07:28
@ap0calypse644
ap0calypse644 merged commit 0ecea7a into main Aug 17, 2026
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.

1 participant