Rule506cOffering

Git Source

Inherits: Offering, RegDExemption

Inherits from both Offering (for the generic offering logic) and RegulationDExemption (for the private exemption rules).

State Variables

_initialized

bool private _initialized;

Functions

constructor

constructor() Offering(address(0), address(0), address(0), 0, 0, 0, 0, 0, "") RegDExemption();

initialize

Initialize the clone with offering parameters.

function initialize(
    address _issuer,
    address _asset,
    address _paymentToken,
    uint256 _pricePerToken,
    uint256 _minInvestment,
    uint256 _investmentDeadline,
    uint256 _targetAmount,
    uint256 _maxAmount,
    string memory _uri,
    address _attestationRegistry
) external;

Parameters

Name
Type
Description

_issuer

address

The issuer address.

_asset

address

The asset address.

_paymentToken

address

The payment token address.

_pricePerToken

uint256

The price per token.

_minInvestment

uint256

The minimum investment.

_investmentDeadline

uint256

The investment deadline.

_targetAmount

uint256

The target investment amount.

_maxAmount

uint256

The maximum raise amount.

_uri

string

The metadata URI.

_attestationRegistry

address

The attestation registry contract address.

_complianceCheck

Check if an investor is accredited.

function _complianceCheck(address investor) internal view override returns (bool);

Parameters

Name
Type
Description

investor

address

The address of the investor.

Returns

Name
Type
Description

<none>

bool

bool The accreditation status.

issueUnderExemption

Overridden function to ensure only accredited investors

function issueUnderExemption(address investor, uint256 amount) internal virtual override;

invest

Implementation of the Offering's 'invest' function, which also calls 'issueUnderExemption' from RegDExemption.

function invest(uint256 _amount, uint256 _pricePerToken) external override;

_createLotTokensToInvestor

Internal function to createLot tokens to investor

function _createLotTokensToInvestor(address investor, uint256 amount) internal override;

_beforeCountersign

function _beforeCountersign(address investor) internal override;

_afterCountersign

function _afterCountersign(address investor) internal override;

closeOffering

Overridden to close the offering.

function closeOffering() external override;

Last updated

Was this helpful?