Skip to main content

IAssetManagerEvents

IAssetManagerEvents is an interface that defines the events emitted by the IAssetManager contract.

Sourced from IAssetManagerEvents.sol on GitHub

Event Categories

The events are organized into the following categories:

  • Minting Events - Events related to the FAssets minting process.
  • Redemption Events - All events related to the FAssets redemption process, including requests, tickets, outcomes, and failures.

Minting Events

Events related to the FAssets minting process, including collateral reservation, execution, and defaults.

CollateralReserved

Emitted when a minter has reserved collateral, paid the reservation fee, and is expected to pay the underlying funds. The agent's collateral is reserved at this point.

Parameters:

  • agentVault: Address of the agent vault
  • minter: Address of the minter
  • collateralReservationId: ID of the collateral reservation
  • valueUBA: Value in the underlying base amount
  • feeUBA: Fee in the underlying base amount
  • firstUnderlyingBlock: First block number on the underlying chain
  • lastUnderlyingBlock: Last block number on the underlying chain
  • lastUnderlyingTimestamp: Last timestamp on the underlying chain
  • paymentAddress: Address for payment
  • paymentReference: Reference for payment
  • executor: Address of the executor
  • executorFeeNatWei: Fee for the executor in NAT wei
event CollateralReserved(
address indexed agentVault,
address indexed minter,
uint256 indexed collateralReservationId,
uint256 valueUBA,
uint256 feeUBA,
uint256 firstUnderlyingBlock,
uint256 lastUnderlyingBlock,
uint256 lastUnderlyingTimestamp,
string paymentAddress,
bytes32 paymentReference,
address executor,
uint256 executorFeeNatWei
);

CollateralReservationRejected

Emitted when an agent rejects the collateral reservation request due to the minter's identity. The reserved collateral is released.

Parameters:

  • agentVault: Address of the agent vault
  • minter: Address of the minter
  • collateralReservationId: ID of the collateral reservation
event CollateralReservationRejected(
address indexed agentVault,
address indexed minter,
uint256 indexed collateralReservationId
);

CollateralReservationCancelled

Emitted when a minter cancels the collateral reservation request due to agent inactivity. The reserved collateral is released.

Parameters:

  • agentVault: Address of the agent vault
  • minter: Address of the minter
  • collateralReservationId: ID of the collateral reservation
event CollateralReservationCancelled(
address indexed agentVault,
address indexed minter,
uint256 indexed collateralReservationId
);

MintingExecuted

Emitted when a minter has successfully paid the underlying funds in time and received the FAssets. The agent's collateral is locked at this point.

Parameters:

  • agentVault: Address of the agent vault
  • collateralReservationId: ID of the collateral reservation
  • mintedAmountUBA: Amount of FAssets minted in the underlying base amount
  • agentFeeUBA: Fee paid to the agent in the underlying base amount
  • poolFeeUBA: Fee paid to the pool in the underlying base amount
event MintingExecuted(
address indexed agentVault,
uint256 indexed collateralReservationId,
uint256 mintedAmountUBA,
uint256 agentFeeUBA,
uint256 poolFeeUBA
);

MintingPaymentDefault

Emitted when a minter fails to pay the underlying funds in time. The collateral reservation fee is paid to the agent, and the reserved collateral is released.

Parameters:

  • agentVault: Address of the agent vault
  • minter: Address of the minter
  • collateralReservationId: ID of the collateral reservation
  • reservedAmountUBA: Amount that was reserved in the underlying base amount
event MintingPaymentDefault(
address indexed agentVault,
address indexed minter,
uint256 indexed collateralReservationId,
uint256 reservedAmountUBA
);

CollateralReservationDeleted

Emitted when both the minter and agent fail to present any proof within the attestation time window, and the agent calls unstickMinting to release the reserved collateral.

Parameters:

  • agentVault: Address of the agent vault
  • minter: Address of the minter
  • collateralReservationId: ID of the collateral reservation
  • reservedAmountUBA: Amount that was reserved in the underlying base amount
event CollateralReservationDeleted(
address indexed agentVault,
address indexed minter,
uint256 indexed collateralReservationId,
uint256 reservedAmountUBA
);

Redemption Events

All events related to the FAssets redemption process, including redemption requests, ticket management, successful redemptions, failures, defaults, and fee distributions.

RedemptionRequested

An event is emitted when the redeemer starts the redemption process.

event RedemptionRequested(
address indexed agentVault,
address indexed redeemer,
uint256 indexed requestId,
string paymentAddress,
uint256 valueUBA,
uint256 feeUBA,
uint256 firstUnderlyingBlock,
uint256 lastUnderlyingBlock,
uint256 lastUnderlyingTimestamp,
bytes32 paymentReference,
address executor,
uint256 executorFeeNatWei);

RedemptionTicketCreated

This event is emitted when a redemption ticket is created, when a minting transaction is executed.

Parameters:

event RedemptionTicketCreated(
address indexed agentVault,
uint256 indexed redemptionTicketId,
uint256 ticketValueUBA);

RedemptionTicketUpdated

Event emitted when a redemption ticket value is changed (partially redeemed).

Parameters:

  • agentVault: The address of the agent vault that will redeem the FAssets.
  • redemptionTicketId: The ID of the redemption ticket.
  • ticketValueUBA: The value of the redemption ticket in the underlying chain currency.
event RedemptionTicketUpdated(
address indexed agentVault,
uint256 indexed redemptionTicketId,
uint256 ticketValueUBA);

RedemptionPerformed

The event is emitted when the agent provides proof of redemption payment, and the agent's collateral is released.

event RedemptionPerformed(
address indexed agentVault,
address indexed redeemer,
uint64 indexed requestId,
bytes32 transactionHash,
uint256 redemptionAmountUBA,
int256 spentUnderlyingUBA);

RedemptionRejected

Emitted when an agent rejects a redemption request due to an invalid redeemer address.

Parameters:

  • agentVault: Address of the agent vault that rejected the redemption.
  • redeemer: Address of the user attempting to redeem (invalid address).
  • requestId: Unique identifier for the redemption request.
  • redemptionAmountUBA: Amount of FAssets that were requested for redemption.
event RedemptionRejected(
address indexed agentVault,
address indexed redeemer,
uint256 indexed requestId,
uint256 redemptionAmountUBA
);

RedemptionRequestIncomplete

Emitted when a redemption request cannot be fully processed due to insufficient tickets or exceeding allowed redemption limits.

Parameters:

  • redeemer: Address of the user who requested the redemption.
  • remainingLots: Number of FAsset lots that could not be redeemed and are returned to the redeemer.
event RedemptionRequestIncomplete(
address indexed redeemer,
uint256 remainingLots
);

RedemptionDefault

Emitted when a redemption payment times out and the redeemer is compensated with collateral instead.

Parameters:

  • agentVault: Address of the agent vault that failed to complete the payment.
  • redeemer: Address of the user who requested the redemption.
  • requestId: Unique identifier for the redemption request.
  • redemptionAmountUBA: Amount of FAssets that were requested for redemption.
  • redeemedVaultCollateralWei: Amount of collateral paid from the agent's vault.
  • redeemedPoolCollateralWei: Amount of collateral paid from the collateral pool.
event RedemptionDefault(
address indexed agentVault,
address indexed redeemer,
uint256 indexed requestId,
uint256 redemptionAmountUBA,
uint256 redeemedVaultCollateralWei,
uint256 redeemedPoolCollateralWei
);

RedemptionPaymentBlocked

Emitted when a redemption payment fails due to the redeemer's address being blocked or gas limit issues.

Parameters:

  • agentVault: Address of the agent vault that attempted the payment.
  • redeemer: Address of the user who requested the redemption.
  • requestId: Unique identifier for the redemption request.
  • transactionHash: Hash of the failed transaction on the underlying chain.
  • redemptionAmountUBA: Amount of FAssets that were requested for redemption.
  • spentUnderlyingUBA: Amount of underlying currency spent in the failed attempt (negative value).
event RedemptionPaymentBlocked(
address indexed agentVault,
address indexed redeemer,
uint256 indexed requestId,
bytes32 transactionHash,
uint256 redemptionAmountUBA,
int256 spentUnderlyingUBA
);

RedemptionPaymentFailed

Emitted when a redemption payment fails due to the agent's own error.

Parameters:

  • agentVault: Address of the agent vault that failed the payment.
  • redeemer: Address of the user who requested the redemption.
  • requestId: Unique identifier for the redemption request.
  • transactionHash: Hash of the failed transaction on the underlying chain.
  • spentUnderlyingUBA: Amount of underlying currency spent in the failed attempt (negative value).
  • failureReason: Human-readable description of why the payment failed.
event RedemptionPaymentFailed(
address indexed agentVault,
address indexed redeemer,
uint256 indexed requestId,
bytes32 transactionHash,
int256 spentUnderlyingUBA,
string failureReason
);

RedemptionPoolFeeMinted

Emitted when part of the redemption fee is re-minted as FAssets and paid to the agent's collateral pool.

Parameters:

  • agentVault: Address of the agent vault that completed the redemption.
  • requestId: Unique identifier for the redemption request.
  • poolFeeUBA: Amount of FAssets re-minted and paid as a fee to the collateral pool.
event RedemptionPoolFeeMinted(
address indexed agentVault,
uint256 indexed requestId,
uint256 poolFeeUBA
);

RedeemedInCollateral

Emitted when FAssets are redeemed in collateral during a self-close exit process.

Parameters:

  • agentVault: Address of the agent vault that processed the redemption.
  • redeemer: Address of the user who requested the redemption.
  • redemptionAmountUBA: Amount of FAssets that were redeemed.
  • paidVaultCollateralWei: Amount of collateral paid from the agent's vault.
event RedeemedInCollateral(
address indexed agentVault,
address indexed redeemer,
uint256 redemptionAmountUBA,
uint256 paidVaultCollateralWei
);