--- title: IAssetManagerEvents description: FAssets IAssetManager interface reference. keywords: [fassets, xrp, bitcoin, dogecoin, flare-network] sidebar_position: 3 --- `IAssetManagerEvents` is an interface that defines the events emitted by the [`IAssetManager`](/fassets/reference/IAssetManager) contract. Sourced from `IAssetManagerEvents.sol` on [GitHub](https://github.com/flare-foundation/fassets/blob/main/contracts/userInterfaces/IAssetManagerEvents.sol).ā ## Event Categories The events are organized into the following categories: - **[Minting Events](#minting-events)** - Events related to the FAssets minting process. - **[Redemption Events](#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 ```solidity 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 ```solidity 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 ```solidity 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 ```solidity 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 ```solidity 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 ```solidity 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. Parameters: - `agentVault`: Address of the agent vault. - `redeemer`: Address of the redeemer. - `requestId`: Unique identifier for the redemption request. - `paymentAddress`: Address to which the agent must transfer the redeemed amount on the underlying chain. - `valueUBA`: Amount of FAssets to redeem. - `feeUBA`: Fee for the redemption. - `firstUnderlyingBlock`: First underlying block to submit payment. - `lastUnderlyingBlock`: Last underlying block to submit payment. - `lastUnderlyingTimestamp`: Deadline on the underlying chain for submitting the redemption payment. - `paymentReference`: Reference for payment that will be used to track the redemption payment. - `executor`: Address of the executor that is allowed to execute the redemption default. - `executorFeeNatWei`: Fee for the executor in NAT wei. ```solidity 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: ```solidity 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. ```solidity 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. ```solidity 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. ```solidity 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. ```solidity 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. ```solidity 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). ```solidity 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. ```solidity 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. ```solidity 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. ```solidity event RedeemedInCollateral( address indexed agentVault, address indexed redeemer, uint256 redemptionAmountUBA, uint256 paidVaultCollateralWei ); ```