TokenCoreOps
Asset Tokenization Studio Team
TokenCoreOps - Orchestrator for core token operations
Deployed once as a separate contract. Facets call via DELEGATECALL.
Contains balance operations for ClearingOps to avoid inlining.
Methods
checkCompliance
function checkCompliance(address _from, address _to, bool _checkSender) external view
Validates that a transfer between two parties satisfies compliance rules.
Parameters
| Name | Type | Description |
|---|---|---|
| _from | address | Address of the sender being checked. |
| _to | address | Address of the recipient being checked. |
| _checkSender | bool | When true, the compliance check also validates the sender's status. |
checkIdentity
function checkIdentity(address _from, address _to) external view
Validates that both transfer parties hold a verified on-chain identity.
Parameters
| Name | Type | Description |
|---|---|---|
| _from | address | Address of the sender being verified. |
| _to | address | Address of the recipient being verified. |
Events
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
Emitted when owner authorises spender to spend up to value tokens on their behalf, whether via {IAllowance.approve}, {IAllowance.increaseAllowance} or {IAllowance.decreaseAllowance}.
Mirrors the ERC-20 Approval event. value is the resulting, absolute allowance after the update — not the delta applied.
Parameters
| Name | Type | Description |
|---|---|---|
owner indexed | address | Address whose tokens may be spent. |
spender indexed | address | Address authorised to spend on owner's behalf. |
| value | uint256 | Allowance of spender over owner's tokens after the update. |
DelegateVotesChanged
event DelegateVotesChanged(address indexed delegate, uint256 previousBalance, uint256 newBalance)
Emitted when delegate votes change due to balance changes
Parameters
| Name | Type | Description |
|---|---|---|
delegate indexed | address | The delegate whose votes changed |
| previousBalance | uint256 | The previous vote balance |
| newBalance | uint256 | The new vote balance |
IssuedByPartition
event IssuedByPartition(bytes32 indexed partition, address indexed operator, address indexed to, uint256 value, bytes data)
Emitted when new tokens are issued into a partition.
Parameters
| Name | Type | Description |
|---|---|---|
partition indexed | bytes32 | Partition the tokens were issued into. |
operator indexed | address | Address that performed the issuance. |
to indexed | address | Recipient of the issued tokens. |
| value | uint256 | Token quantity issued. |
| data | bytes | Caller-supplied data attached to the issuance. |
RedeemedByPartition
event RedeemedByPartition(bytes32 indexed partition, address indexed operator, address indexed from, uint256 value, bytes data, bytes operatorData)
Emitted when tokens are redeemed from a partition.
Parameters
| Name | Type | Description |
|---|---|---|
partition indexed | bytes32 | Partition the tokens were redeemed from. |
operator indexed | address | Address that performed the redemption. |
from indexed | address | Token holder whose tokens were redeemed. |
| value | uint256 | Token quantity redeemed. |
| data | bytes | Caller-supplied data attached to the redemption. |
| operatorData | bytes | Operator-supplied data attached to the redemption. |
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
Emitted whenever tokens move between accounts, are minted, or are burned.
Parameters
| Name | Type | Description |
|---|---|---|
from indexed | address | Source account (zero address on mint). |
to indexed | address | Destination account (zero address on burn). |
| value | uint256 | Amount of tokens transferred. |
TransferByPartition
event TransferByPartition(bytes32 indexed fromPartition, address operator, address indexed from, address indexed to, uint256 value, bytes data, bytes operatorData)
Emitted when tokens are transferred from one partition to another or within the same partition.
Parameters
| Name | Type | Description |
|---|---|---|
fromPartition indexed | bytes32 | Source partition. |
| operator | address | Address that initiated the transfer. |
from indexed | address | Token holder whose balance decreased. |
to indexed | address | Recipient whose balance increased. |
| value | uint256 | Token quantity transferred. |
| data | bytes | Caller-supplied data. |
| operatorData | bytes | Operator-supplied data. |
Errors
AbafChangeForBlockForbidden
error AbafChangeForBlockForbidden(uint256 blockNumber)
Raised when attempting to change ABAF for a block that is forbidden
Parameters
| Name | Type | Description |
|---|---|---|
| blockNumber | uint256 | The block number that is forbidden |
ExpiredDeadline
error ExpiredDeadline(uint256 deadline)
Reverts when a signed payload is submitted after its deadline.
The caller must provide and validate deadlines before accepting the signed operation.
Parameters
| Name | Type | Description |
|---|---|---|
| deadline | uint256 | Expired deadline carried by the signed payload. |
InsufficientAllowance
error InsufficientAllowance(address spender, address from)
Reverts when spender attempts to consume more allowance than from has granted.
Raised by transferFrom-style flows and by {IAllowance.decreaseAllowance} when the subtracted amount exceeds the current allowance.
Parameters
| Name | Type | Description |
|---|---|---|
| spender | address | Address attempting to spend on behalf of from. |
| from | address | Address whose allowance is being consumed. |
InsufficientBalance
error InsufficientBalance(address account, uint256 balance, uint256 value, bytes32 partition)
Thrown when a transfer or redemption is attempted with insufficient partition balance.
Parameters
| Name | Type | Description |
|---|---|---|
| account | address | The account whose balance was checked. |
| balance | uint256 | The actual balance available. |
| value | uint256 | The amount that was requested. |
| partition | bytes32 | The partition that was checked. |
InvalidPartition
error InvalidPartition(address account, bytes32 partition)
Thrown when an account does not hold or is not associated with the specified partition.
Parameters
| Name | Type | Description |
|---|---|---|
| account | address | Address that was checked. |
| partition | bytes32 | Partition that was not found for the account. |
IsPaused
error IsPaused()
Thrown when an operation that requires the token to be unpaused is attempted while the token is paused (own flag or any external pause contract).
SnapshotIdDoesNotExists
error SnapshotIdDoesNotExists(uint256 snapshotId)
Thrown when the requested snapshot identifier has never been taken on this token.
Parameters
| Name | Type | Description |
|---|---|---|
| snapshotId | uint256 | The unrecognised snapshot identifier that was supplied. |
SnapshotIdNull
error SnapshotIdNull()
Thrown when a snapshot identifier of zero is supplied; zero is reserved and never assigned to a valid snapshot.
SpenderWithZeroAddress
error SpenderWithZeroAddress()
Reverts when the zero address is supplied as spender in an allowance update.
TokenHolderNotFound
error TokenHolderNotFound(address tokenHolder)
Thrown when an operation targets a token holder address that has no registered balance.
Parameters
| Name | Type | Description |
|---|---|---|
| tokenHolder | address | The address that was not found. |
UnexpectedError
error UnexpectedError(bytes4 _errorId)
Reverts when an unreachable validation state is detected.
Replaces assertions for defensive handling of logically impossible states.
Parameters
| Name | Type | Description |
|---|---|---|
| _errorId | bytes4 | Identifier of the unexpected validation condition. |
UnrecognizedResolverProxyVersion
error UnrecognizedResolverProxyVersion(bytes8 _resolverProxyVersion)
Thrown when the provided proxy version does not match any BLR compatible standard.
Parameters
| Name | Type | Description |
|---|---|---|
| _resolverProxyVersion | bytes8 | proxy version that is not compatible with the BLR. |
WrongNonce
error WrongNonce(uint256 nonce, address account)
Reverts when a nonce does not match the expected value for an account.
Protects signed operations against replay and out-of-order execution.
Parameters
| Name | Type | Description |
|---|---|---|
| nonce | uint256 | Nonce supplied by the caller or signed payload. |
| account | address | Account for which the nonce validation failed. |
WrongSignature
error WrongSignature()
Reverts when a signature fails verification.
Applies to shared signature validation flows, including EIP-712 payloads and partition-based signatures.
WrongSignatureLength
error WrongSignatureLength()
Reverts when a signature payload has an invalid byte length.
Used before signature recovery or verification to reject malformed input.
ZeroPartition
error ZeroPartition()
Thrown when the zero bytes32 value is supplied as a partition identifier.
ZeroValue
error ZeroValue()
Thrown when a zero token amount is supplied to an operation that requires a positive value.