Skip to main content

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​

NameTypeDescription
_fromaddressAddress of the sender being checked.
_toaddressAddress of the recipient being checked.
_checkSenderboolWhen 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​

NameTypeDescription
_fromaddressAddress of the sender being verified.
_toaddressAddress 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​

NameTypeDescription
owner indexedaddressAddress whose tokens may be spent.
spender indexedaddressAddress authorised to spend on owner's behalf.
valueuint256Allowance 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​

NameTypeDescription
delegate indexedaddressThe delegate whose votes changed
previousBalanceuint256The previous vote balance
newBalanceuint256The 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​

NameTypeDescription
partition indexedbytes32Partition the tokens were issued into.
operator indexedaddressAddress that performed the issuance.
to indexedaddressRecipient of the issued tokens.
valueuint256Token quantity issued.
databytesCaller-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​

NameTypeDescription
partition indexedbytes32Partition the tokens were redeemed from.
operator indexedaddressAddress that performed the redemption.
from indexedaddressToken holder whose tokens were redeemed.
valueuint256Token quantity redeemed.
databytesCaller-supplied data attached to the redemption.
operatorDatabytesOperator-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​

NameTypeDescription
from indexedaddressSource account (zero address on mint).
to indexedaddressDestination account (zero address on burn).
valueuint256Amount 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​

NameTypeDescription
fromPartition indexedbytes32Source partition.
operatoraddressAddress that initiated the transfer.
from indexedaddressToken holder whose balance decreased.
to indexedaddressRecipient whose balance increased.
valueuint256Token quantity transferred.
databytesCaller-supplied data.
operatorDatabytesOperator-supplied data.

Errors​

AbafChangeForBlockForbidden​

error AbafChangeForBlockForbidden(uint256 blockNumber)

Raised when attempting to change ABAF for a block that is forbidden

Parameters​

NameTypeDescription
blockNumberuint256The 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​

NameTypeDescription
deadlineuint256Expired 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​

NameTypeDescription
spenderaddressAddress attempting to spend on behalf of from.
fromaddressAddress 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​

NameTypeDescription
accountaddressThe account whose balance was checked.
balanceuint256The actual balance available.
valueuint256The amount that was requested.
partitionbytes32The 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​

NameTypeDescription
accountaddressAddress that was checked.
partitionbytes32Partition 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​

NameTypeDescription
snapshotIduint256The 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​

NameTypeDescription
tokenHolderaddressThe 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​

NameTypeDescription
_errorIdbytes4Identifier of the unexpected validation condition.

UnrecognizedResolverProxyVersion​

error UnrecognizedResolverProxyVersion(bytes8 _resolverProxyVersion)

Thrown when the provided proxy version does not match any BLR compatible standard.

Parameters​

NameTypeDescription
_resolverProxyVersionbytes8proxy 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​

NameTypeDescription
nonceuint256Nonce supplied by the caller or signed payload.
accountaddressAccount 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.