---
title: "OverlayerWrap"
description: "Solidity reference for OverlayerWrap, the overlaid stablecoin token: state variables, modifiers, blacklist activation timing and minter controls."
keywords:
  - "OverlayerWrap"
  - "Solidity"
  - "ERC-20"
  - "blacklist"
  - "minter"
canonical_url: https://docs.overlayer.fi/developer_guide/contracts/OverlayerWrap
md_url: https://docs.overlayer.fi/developer_guide/contracts/OverlayerWrap.md
last_updated: 2026-05-13T01:03:10.000Z
---

# OverlayerWrap

> Solidity reference for OverlayerWrap, the overlaid stablecoin token: state variables, modifiers, blacklist activation timing and minter controls.

The stable coin Overlayer

### blacklistActivationTime

```solidity
uint256 blacklistActivationTime
```

The timestamp of the last blacklist activation request

### BLACKLIST_ACTIVATION_TIME

```solidity
uint256 BLACKLIST_ACTIVATION_TIME
```

Time delay for blacklisting to be activated

### notDisabled

```solidity
modifier notDisabled(address account_)
```

Ensure account is not blacklisted

### blacklistAllowed

```solidity
modifier blacklistAllowed()
```

Ensure blacklisting is allowed

### constructor

```solidity
constructor(struct IOverlayerWrapDefs.ConstructorParams params_) public
```

Constructor initializes the OverlayerWrap token

#### Parameters

| Name | Type | Description |
| ---- | ---- | ----------- |
| params_ | struct IOverlayerWrapDefs.ConstructorParams | A struct containing:        - admin: Address of the contract administrator        - name: Token name        - symbol: Token symbol        - collateral: Configuration for the main collateral token        - aCollateral: Configuration for the associated collateral token        - maxMintPerBlock: Maximum amount that can be minted per block        - maxRedeemPerBlock: Maximum amount that can be redeemed per block |

### mint

```solidity
function mint(struct OverlayerWrapCoreTypes.Order order_) external
```

Mint tokens

_Can be disabled by the gatekeeper via disableMint()_

#### Parameters

| Name | Type | Description |
| ---- | ---- | ----------- |
| order_ | struct OverlayerWrapCoreTypes.Order | A struct containing the mint order |

### setBlackListTime

```solidity
function setBlackListTime(uint256 time_) external
```

Sets the blacklist time.

_Disables blakclist if time is zero._

#### Parameters

| Name | Type | Description |
| ---- | ---- | ----------- |
| time_ | uint256 | The timestamp. |

### redeem

```solidity
function redeem(struct OverlayerWrapCoreTypes.Order order_) external
```

Redeem collateral

_Cannot be disabled or paused_

#### Parameters

| Name | Type | Description |
| ---- | ---- | ----------- |
| order_ | struct OverlayerWrapCoreTypes.Order | A struct containing the redeem order |

### disableAccount

```solidity
function disableAccount(address account_) external
```

Disable an account from performing transactions

#### Parameters

| Name | Type | Description |
| ---- | ---- | ----------- |
| account_ | address | The account to be disabled |

### enableAccount

```solidity
function enableAccount(address account_) external
```

Enable an account from performing transactions

#### Parameters

| Name | Type | Description |
| ---- | ---- | ----------- |
| account_ | address | The account to be enabled |

### renounceRole

```solidity
function renounceRole(bytes32 role_, address account_) public
```

Overrides renounceRole to prevent self-removal of BLACKLISTED_ROLE

_All other roles can still be renounced via the inherited behavior_

#### Parameters

| Name | Type | Description |
| ---- | ---- | ----------- |
| role_ | bytes32 | The role to renounce |
| account_ | address | The account renouncing the role (must be msg.sender per AccessControl) |

### grantRole

```solidity
function grantRole(bytes32 role_, address account_) public
```

Prevents direct grant of BLACKLISTED_ROLE; use disableAccount() instead

#### Parameters

| Name | Type | Description |
| ---- | ---- | ----------- |
| role_ | bytes32 | The role to grant |
| account_ | address | The account to grant the role to |

### revokeRole

```solidity
function revokeRole(bytes32 role_, address account_) public
```

Prevents direct revoke of BLACKLISTED_ROLE; use enableAccount() instead

#### Parameters

| Name | Type | Description |
| ---- | ---- | ----------- |
| role_ | bytes32 | The role to revoke |
| account_ | address | The account to revoke the role from |

### _update

```solidity
function _update(address from_, address to_, uint256 value_) internal
```

_Transfers a `value` amount of tokens from `from` to `to`, or alternatively mints (or burns) if `from`
(or `to`) is the zero address. All customizations to transfers, mints, and burns should be done by overriding
this function.

Emits a `{Transfer}` event._
