InitialPublicOffering

Git Source

Inherits: Offering, PublicOfferingRoles

Represents a fully registered public offering, inheriting from the base Offering but not FederalExemption.

Functions

constructor

constructor(
    address _issuer,
    address _asset,
    address _paymentToken,
    uint256 _pricePerToken,
    uint256 _minInvestment,
    uint256 _investmentDeadline,
    uint256 _targetAmount,
    uint256 _maxAmount,
    string memory _uri
)
    Offering(
        _issuer,
        _asset,
        _paymentToken,
        _pricePerToken,
        _minInvestment,
        _investmentDeadline,
        _targetAmount,
        _maxAmount,
        _uri
    );

invest

Public offering invest logic: No federal exemption checks, but might require KYC or broker-dealer integration for a real IPO scenario.

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

setUnderwritingPrice

Allows the underwriter to adjust the offering price before closing.

Only callable by an address with the UNDERWRITER_ROLE.

function setUnderwritingPrice(uint256 newPrice) external;

finalizeOffering

Allows the underwriter to finalize the offering once all shares are allocated.

function finalizeOffering() external;

approveInstitutionalInvestment

Allows an underwriter to approve a large institutional investor's allocation.

function approveInstitutionalInvestment(address investor, uint256 amount) external;

countersign

Only the issuer can countersign an investment.

function countersign(uint256 investmentId) external override;

_createLotTokensToInvestor

Internal function to createLot tokens to investor

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

_afterCountersign

function _afterCountersign(address investor) internal override;

Last updated

Was this helpful?