Rule506bOffering
Last updated
Was this helpful?
Last updated
Was this helpful?
Inherits: , ,
Implements a Regulation D Rule 506(b) offering. In a 506(b) offering, no general solicitation is permitted, so only pre-approved (whitelisted) investors may participate. Moreover, the offering allows up to 35 non-accredited investors. After the 35 non-accredited participants have been reached, any additional investor must be accredited (i.e. successfully verified).
Parameterless constructor for the minimal clone.
Initialize the clone with offering parameters.
Parameters
_issuer
address
The address of the issuer.
_asset
address
The asset address.
_paymentToken
address
The payment token address.
_pricePerToken
uint256
The price per token.
_minInvestment
uint256
The minimum investment amount.
_investmentDeadline
uint256
The investment deadline (timestamp).
_targetAmount
uint256
The target funding amount.
_maxAmount
uint256
The maximum raise amount.
_uri
string
The metadata URI associated with the offering.
_attestationRegistry
address
The address of the attestationRegistry contract.
Internal helper function to check if an investor is accredited. Replicates the logic from RegDExemption's _complianceCheck but returns a boolean.
Parameters
investor
address
The address to check.
Returns
<none>
bool
bool Returns true if the investor passes the accreditation and identification checks.
Overridden compliance check for Rule506(b). Allows up to 35 non-accredited investors, but requires a valid customer-identification attestation for all.
Override of the Offering's invest function. In addition to the generic validations, ensures:
The investor has been whitelisted.
If the investor is not accredited, then either they have already invested as non-accredited or the total non-accredited count is still below the limit.
Parameters
_amount
uint256
The investment amount.
_pricePerToken
uint256
The price per token provided for this investment.
Internal function to createLot tokens to the investor. createLots tokens according to the ratio between the invested amount and the token price.
Parameters
investor
address
The address of the investor.
amount
uint256
The investment amount.
Optional hook to implement any pre-countersign logic specific to Rule506(b).
Parameters
investor
address
The address of the investor.
Optional hook to implement any post-countersign logic specific to Rule506(b).
Parameters
investor
address
The address of the investor.
Closes the offering.
Once closed, no further investments can be accepted.