Skip to content

Feature: Can Buy Form STO in STO contracts #532

@F-OBrien

Description

@F-OBrien

Is your feature request related to a problem?

Currently the canBuyFromSTO check is implemented in the general transfer manager and not the STO contracts. Every transfer will check if a STO module is attached and if the tokens are from address zero (being minted). If both these are true the contract checks if the investor is allowed to receive the tokens based on the investors canBuyFromSTO status in a global whitelist. Once STO's are complete this is an inefficient use of gas and also does not allow concurrent STO's to run with different restrictions applied to different investors e.g. A US investor can buy from Reg D 506(c) but cannot buy from a Reg S offering. Setting this investor as allowed to buy from STO's in the global whitelist would allow them to invest in the Reg S offering. setting restrictions at the STO contract level would allow the required restrictions for concurrent offerings.

Describe the solution you'd like

Implement the canBuyFromSTO whitelisting and checks at the STO contract instead of the global whitelist and remove it from the general transfer manager.

Describe alternatives you've considered

None

Possible Implementation

Similar to what is done for the current isAccredited check in usdTieredSTO

Additional context

None

(Side note: Are there also cases where the investors accredited status should be managed at the general transfer manager level or in another transfer module instead of just the STO contract? Such as restricting certain secondary trades to only be between accredited investors?)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions