Disperse · Events · 21@tokenops/sdk/fhe-disperse
Disperse event reference.
The singleton emits everything except the subwallet Initialized marker. Disperse calls fire a ConfidentialTokensDispersed summary, with mode-specific WalletDistribution / DirectDistribution events carrying the recipient and transfer arrays.
Registration· 2
| Event | Args | Emitted on |
|---|---|---|
| UserRegistered | (indexed user, wallet0, wallet1) | singleton.register succeeds; wallet0 / wallet1 are the two deployed subwallet clones. |
| Initialized | (version) | Subwallet clone initialized during register (emitted by the subwallet, not the singleton). |
Dispersal· 3
| Event | Args | Emitted on |
|---|---|---|
| ConfidentialTokensDispersed | (indexed token, indexed sender, recipientCount, feeType) | A disperse call succeeds; one summary event per batch, feeType records the fee path. |
| WalletDistribution | (indexed sender, wallet, recipients, requested, transferred) | Wallet-mode dispersal (singleton.disperseConfidentialTokens / disperseConfidentialTokensWithTokenFee) succeeds; carries the recipient, requested, and transferred arrays. |
| DirectDistribution | (indexed sender, recipients, requested, transferred) | singleton.disperseConfidentialTokenDirect succeeds; one event per direct call. |
Disclosure· 1
| Event | Args | Emitted on |
|---|---|---|
| HandlesDisclosedToParty | (indexed discloser, indexed party, handles) | singleton.discloseHandleToParty / batchDiscloseHandlesToParty succeeds. |
Fees + Limits· 8
| Event | Args | Emitted on |
|---|---|---|
| CustomFeeSet | (indexed user, gasFee, tokenFee) | singleton.setCustomFee succeeds. |
| CustomFeeDisabled | (indexed user) | singleton.disableCustomFee succeeds. |
| FeeConfigUpdated | (config) | singleton.setFeeConfig succeeds. |
| GasFeeWithdrawn | (indexed to, amount) | singleton.withdrawGasFee succeeds. |
| TokenFeeWithdrawn | (indexed token, indexed to, amount) | singleton.withdrawTokenFee succeeds. |
| MaxBatchSizeDirectUpdated | (oldSize, newSize) | singleton.setMaxBatchSizeDirect succeeds. |
| MaxBatchSizeHoldingUpdated | (oldSize, newSize) | singleton.setMaxBatchSizeHolding succeeds. |
| MaxBatchSizeTokenFeeUpdated | (oldSize, newSize) | singleton.setMaxBatchSizeTokenFee succeeds. |
Recovery + Admin· 4
| Event | Args | Emitted on |
|---|---|---|
| Paused | (account) | singleton.pause succeeds. |
| Unpaused | (account) | singleton.unpause succeeds. |
| ConfidentialTokensRescued | (indexed token, indexed to) | singleton.rescueConfidentialTokens succeeds (admin recovery). |
| ERC20Rescued | (indexed token, indexed to, amount) | singleton.rescueERC20 succeeds. |
Roles· 3
| Event | Args | Emitted on |
|---|---|---|
| RoleGranted | (indexed role, indexed account, indexed sender) | singleton.grantRole succeeds. |
| RoleRevoked | (indexed role, indexed account, indexed sender) | singleton.revokeRole / renounceRole succeeds. |
| RoleAdminChanged | (indexed role, indexed previousAdminRole, indexed newAdminRole) | Admin role for a role is reassigned (AccessControl). |
parseEventLogs({ abi, logs }) and persist by topic. The ACL.Allowed event from the FHE coprocessor is the canonical source for handle ownership — see the indexing events recipe (coming soon).Browse recipes