Raise funds in ETH or POLY by setting a maximum fundraise amount and a conversion rate from ETH or POLY to your security token — e.g. 100 tokens for 1 ETH. Your sale ends when either the hard cap or the end–date is reached.
Raise funds in ETH or POLY by setting a maximum fundraise amount and a conversion rate from ETH or POLY to your security token — e.g. 100 tokens for 1 ETH. Your sale ends when either the hard cap or the end–date is reached.
LockUpTransferManagerLockUp Transfer ManagerTransfer RestrictionIncorrect callerIncorrect versionStablePolyUsdOraclenInvalid addressnInvalid addressInvalid bound typeProvided data is not validUnsuccessful initializationAddress should not be 0xNew version equals to currentAddress should not be 0xNew version equals to currentAddress should not be 0xVersion should not be empty stringFail in executing the function of implementation contractOld address is not allowed and implementation address should not be 0xCannot set a proxy implementation to a non-contract address)Version should not be empty stringImplementation address should not be 0xOld address is not allowed and implementation address should not be 0xCannot set a proxy implementation to a non-contract addressInsufficient allowance for module fee)Manage transfers using lock ups over time
BlacklistTransferManagerBlacklist Transfer ManagerTransfer RestrictionIncorrect callerIncorrect versionStablePolyUsdOraclenInvalid addressnInvalid addressInvalid bound typeProvided data is not validUnsuccessful initializationAddress should not be 0xNew version equals to currentAddress should not be 0xNew version equals to currentAddress should not be 0xVersion should not be empty stringFail in executing the function of implementation contractOld address is not allowed and implementation address should not be 0xCannot set a proxy implementation to a non-contract address)Version should not be empty stringImplementation address should not be 0xOld address is not allowed and implementation address should not be 0xCannot set a proxy implementation to a non-contract addressInsufficient allowance for module fee)Automate blacklist to restrict selling
CountTransferManagerCount Transfer ManagerRestrict the number of investorsTransfer RestrictionIncorrect callerIncorrect versionStablePolyUsdOraclenInvalid addressnInvalid addressInvalid bound typeProvided data is not validUnsuccessful initializationAddress should not be 0xNew version equals to currentAddress should not be 0xNew version equals to currentAddress should not be 0xVersion should not be empty stringFail in executing the function of implementation contractOld address is not allowed and implementation address should not be 0xCannot set a proxy implementation to a non-contract address)Version should not be empty stringImplementation address should not be 0xOld address is not allowed and implementation address should not be 0xCannot set a proxy implementation to a non-contract addressInsufficient allowance for module fee
Address should not be 0xNew version equals to currentAddress should not be 0xNew version equals to currentAddress should not be 0xVersion should not be empty stringFail in executing the function of implementation contractOld address is not allowed and implementation address should not be 0xCannot set a proxy implementation to a non-contract address)Version should not be empty stringImplementation address should not be 0xOld address is not allowed and implementation address should not be 0xCannot set a proxy implementation to a non-contract address
Address should not be 0xNew version equals to currentAddress should not be 0xNew version equals to currentAddress should not be 0xVersion should not be empty stringFail in executing the function of implementation contractOld address is not allowed and implementation address should not be 0xCannot set a proxy implementation to a non-contract address)Version should not be empty stringImplementation address should not be 0xOld address is not allowed and implementation address should not be 0xCannot set a proxy implementation to a non-contract address
Address should not be 0xNew version equals to currentAddress should not be 0xNew version equals to currentAddress should not be 0xVersion should not be empty stringFail in executing the function of implementation contractOld address is not allowed and implementation address should not be 0xCannot set a proxy implementation to a non-contract address)Version should not be empty stringImplementation address should not be 0xOld address is not allowed and implementation address should not be 0xCannot set a proxy implementation to a non-contract address
Invalid InitializationnInvalid addressInvalid InitializationnInvalid UpgradeIncorrect versionIncompatible ModulesPPPPPPPPPPPPPPV[bnInvalid upgradenInvalid upgradenInvalid addressInvalid InitializationnInvalid UpgradePPPV[PPPPPPPPV[bUnsuccessful initializationAddress should not be 0xAddress should not be 0xNew version equals to currentAddress should not be 0xVersion should not be empty stringFail in executing the function of implementation contractOld address is not allowed and implementation address should not be 0xCannot set a proxy implementation to a non-contract address
WeightedVoteCheckpointWeighted Vote CheckpointIncorrect callerIncorrect versionStablePolyUsdOraclenInvalid addressnInvalid addressInvalid bound typeProvided data is not validUnsuccessful initializationAddress should not be 0xNew version equals to currentAddress should not be 0xNew version equals to currentAddress should not be 0xVersion should not be empty stringFail in executing the function of implementation contractOld address is not allowed and implementation address should not be 0xCannot set a proxy implementation to a non-contract address)Version should not be empty stringImplementation address should not be 0xOld address is not allowed and implementation address should not be 0xCannot set a proxy implementation to a non-contract addressInsufficient allowance for module fee)Weighted votes based on token amount
PLCRVotingCheckpointPLCR Voting CheckpointIncorrect callerIncorrect versionStablePolyUsdOraclenInvalid addressnInvalid addressInvalid bound typeProvided data is not validUnsuccessful initializationAddress should not be 0xNew version equals to currentAddress should not be 0xNew version equals to currentAddress should not be 0xVersion should not be empty stringFail in executing the function of implementation contractOld address is not allowed and implementation address should not be 0xCannot set a proxy implementation to a non-contract address)Version should not be empty stringImplementation address should not be 0xOld address is not allowed and implementation address should not be 0xCannot set a proxy implementation to a non-contract addressInsufficient allowance for module fee)Commit & reveal technique used for voting
ERC20DividendCheckpointERC20 Dividend CheckpointIncorrect callerIncorrect versionStablePolyUsdOraclenInvalid addressnInvalid addressInvalid bound typeProvided data is not validUnsuccessful initializationAddress should not be 0xNew version equals to currentAddress should not be 0xNew version equals to currentAddress should not be 0xVersion should not be empty stringFail in executing the function of implementation contractOld address is not allowed and implementation address should not be 0xCannot set a proxy implementation to a non-contract address)Version should not be empty stringImplementation address should not be 0xOld address is not allowed and implementation address should not be 0xCannot set a proxy implementation to a non-contract addressInsufficient allowance for module fee)Create ERC20 dividends for token holders at a specific checkpoint
Incorrect callerIncorrect versionStablePolyUsdOraclenInvalid addressnInvalid addressInvalid bound typeProvided data is not validUnsuccessful initializationAddress should not be 0xNew version equals to currentAddress should not be 0xNew version equals to currentAddress should not be 0xVersion should not be empty stringFail in executing the function of implementation contractOld address is not allowed and implementation address should not be 0xCannot set a proxy implementation to a non-contract address)Version should not be empty stringImplementation address should not be 0xOld address is not allowed and implementation address should not be 0xCannot set a proxy implementation to a non-contract addressInsufficient allowance for module fee)It allows both accredited and non-accredited investors to contribute into the STO. Non-accredited investors will be capped at a maximum investment limit (as a default or specific to their jurisdiction). Tokens will be sold according to tiers sequentially & each tier has its own price and volume of tokens to sell. Upon receipt of funds (ETH, POLY or DAI), security tokens will automatically transfer to investor’s wallet address
EtherDividendCheckpointEther Dividend CheckpointIncorrect callerIncorrect versionStablePolyUsdOraclenInvalid addressnInvalid addressInvalid bound typeProvided data is not validUnsuccessful initializationAddress should not be 0xNew version equals to currentAddress should not be 0xNew version equals to currentAddress should not be 0xVersion should not be empty stringFail in executing the function of implementation contractOld address is not allowed and implementation address should not be 0xCannot set a proxy implementation to a non-contract address)Version should not be empty stringImplementation address should not be 0xOld address is not allowed and implementation address should not be 0xCannot set a proxy implementation to a non-contract addressInsufficient allowance for module fee)Create ETH dividends for token holders at a specific checkpoint
GeneralTransferManagerGeneral Transfer ManagerTransfer RestrictionIncorrect callerIncorrect versionStablePolyUsdOraclenInvalid addressnInvalid addressInvalid bound typeProvided data is not validUnsuccessful initializationAddress should not be 0xNew version equals to currentAddress should not be 0xNew version equals to currentAddress should not be 0xVersion should not be empty stringFail in executing the function of implementation contractOld address is not allowed and implementation address should not be 0xCannot set a proxy implementation to a non-contract address)Version should not be empty stringImplementation address should not be 0xOld address is not allowed and implementation address should not be 0xCannot set a proxy implementation to a non-contract addressInsufficient allowance for module fee)Manage transfers using a time based whitelist
VestingEscrowWalletVesting Escrow WalletTransfer RestrictionIncorrect callerIncorrect versionStablePolyUsdOraclenInvalid addressnInvalid addressInvalid bound typeProvided data is not validUnsuccessful initializationAddress should not be 0xNew version equals to currentAddress should not be 0xNew version equals to currentAddress should not be 0xVersion should not be empty stringFail in executing the function of implementation contractOld address is not allowed and implementation address should not be 0xCannot set a proxy implementation to a non-contract address)Version should not be empty stringImplementation address should not be 0xOld address is not allowed and implementation address should not be 0xCannot set a proxy implementation to a non-contract addressInsufficient allowance for module fee)Manage vesting schedules to employees / affiliates
Incorrect callerIncorrect versionStablePolyUsdOraclenInvalid addressnInvalid addressInvalid bound typeProvided data is not validUnsuccessful initializationAddress should not be 0xNew version equals to currentAddress should not be 0xNew version equals to currentAddress should not be 0xVersion should not be empty stringFail in executing the function of implementation contractOld address is not allowed and implementation address should not be 0xCannot set a proxy implementation to a non-contract address)Version should not be empty stringImplementation address should not be 0xOld address is not allowed and implementation address should not be 0xCannot set a proxy implementation to a non-contract addressInsufficient allowance for module fee)This smart contract creates a maximum number of tokens (i.e. hard cap) which the total aggregate of tokens acquired by all investors cannot exceed. Security tokens are sent to the investor upon reception of the funds (ETH or POLY), and any security tokens left upon termination of the offering will not be minted.
ManualApprovalTransferManagerManual Approval Transfer ManagerTransfer RestrictionIncorrect callerIncorrect versionStablePolyUsdOraclenInvalid addressnInvalid addressInvalid bound typeProvided data is not validUnsuccessful initializationAddress should not be 0xNew version equals to currentAddress should not be 0xNew version equals to currentAddress should not be 0xVersion should not be empty stringFail in executing the function of implementation contractOld address is not allowed and implementation address should not be 0xCannot set a proxy implementation to a non-contract address)Version should not be empty stringImplementation address should not be 0xOld address is not allowed and implementation address should not be 0xCannot set a proxy implementation to a non-contract addressInsufficient allowance for module fee)Manage transfers using single approvals
GeneralPermissionManagerGeneral Permission ManagerPermission ManagementIncorrect callerIncorrect versionStablePolyUsdOraclenInvalid addressnInvalid addressInvalid bound typeProvided data is not validUnsuccessful initializationAddress should not be 0xNew version equals to currentAddress should not be 0xNew version equals to currentAddress should not be 0xVersion should not be empty stringFail in executing the function of implementation contractOld address is not allowed and implementation address should not be 0xCannot set a proxy implementation to a non-contract address)Version should not be empty stringImplementation address should not be 0xOld address is not allowed and implementation address should not be 0xCannot set a proxy implementation to a non-contract addressInsufficient allowance for module fee)Manage permissions within the Security Token and attached modules
PercentageTransferManagerPercentage Transfer ManagerRestrict the number of investorsTransfer RestrictionIncorrect callerIncorrect versionStablePolyUsdOraclenInvalid addressnInvalid addressInvalid bound typeProvided data is not validUnsuccessful initializationAddress should not be 0xNew version equals to currentAddress should not be 0xNew version equals to currentAddress should not be 0xVersion should not be empty stringFail in executing the function of implementation contractOld address is not allowed and implementation address should not be 0xCannot set a proxy implementation to a non-contract address)Version should not be empty stringImplementation address should not be 0xOld address is not allowed and implementation address should not be 0xCannot set a proxy implementation to a non-contract addressInsufficient allowance for module fee
VolumeRestrictionTMTransfer RestrictionIncorrect callerIncorrect versionStablePolyUsdOraclenInvalid addressnInvalid addressInvalid bound typeProvided data is not validUnsuccessful initializationAddress should not be 0xNew version equals to currentAddress should not be 0xNew version equals to currentAddress should not be 0xVersion should not be empty stringFail in executing the function of implementation contractOld address is not allowed and implementation address should not be 0xCannot set a proxy implementation to a non-contract address)Version should not be empty stringImplementation address should not be 0xOld address is not allowed and implementation address should not be 0xCannot set a proxy implementation to a non-contract addressInsufficient allowance for module fee)Manage transfers based on the volume of tokens that needs to be transactVolume Restriction Transfer Manager
Active state unchangedInvalid checkpoint IdInvalid startTimeArray length mismatchweight should be > 0Incorrect proposals IdVoting period is not activeToken holder has already votedBallot is not activeArray length mismatchIncorrect ballot durationnInvalid addressIncorrect proposals noTimes are not validInvalid quorum percentagevalues get overflowedSender is not ownernInvalid addressIndex out of boundnInvalid addressContract is not pausedContract is pausedInvalid permission
ModuleFactory must be verifiedIncompatible versionsShould not be pausedalready initialized0x address is invalid0x address is invalidtoken transfer failedFactory must have typeSecurityTokenRegistrycustomModulesAllowedOnly owner allowed to register modulesModuleFactory must be verified or SecurityToken owner must be ModuleFactory ownermsg.sender must be the Module Factory owner or registry curatorModule factory must be registeredysender must be ownerModule factory should be registeredModule factory should not be pre-registeredIndex should less than length of the array
PPPPPPPPPPPPP`@Qa GV[PPPPPPPPV[a nInvalid addressSender is not ownerUser not in lockupUsers attached to lockupContract is not pausedUser already in lockupContract is pausednInvalid addressInvalid startTime or expiredInvalid permission
Active state unchangedArray length mismatchArray length mismatchInvalid checkpoint IdnInvalid addressZero weight is not allowedSecret vote not availableInvalid proposal choiceIndex out of boundSender is not ownernInvalid addressnInvalid addressContract is not pausedInvalid quorum percentageParameter values get overflowedInvalid start timeInvalid number of proposalsContract is pausedNot in a valid stageInvalid permission
PPPPPPPPPPPPP`@QIncorrect withholding taxnInvalid addressDividend already claimedExpiry before maturityDividend already expiredSender is not factoryMismatched input lengthsIncorrect withholding taxnInvalid addressDividend expiry in futureToo many excluded addressesnInvalid addressDuplicate exclude addressSender is not ownerToo many addresses excludedExpiry before maturityNo dividend sentinsufficent allowancenInvalid addressduped exclude addressDividend reclaimedDividend maturity in futureDividend expiry in pastContract is not pausedInvalid permissionInvalid dividendmsg.sender excluded from Dividend
PPPPPPPPPPPPP`@QSTO is finalizednInvalid addressPOLY not allowedRPa>ܒPPPV[PPPPPPPPPV[`STO has been finalizednInvalid addressInvalid currencySender is not factoryAlready configuredV[PPPPPPPPPPPPV[`Insufficient mintedSender is not ownerContract is not pausedToo many discounted tokensInvalid discountRaise type is not specifiedBeneficiary != funderInvalid USD tokenInvestment < minInvalid permissionOver Non-accredited investor limit
PPPPPPPPPPPPP`@QIncorrect withholding taxnInvalid addressDividend already claimedIncorrect dividend indexExpiry before maturityDividend already expiredSender is not factoryInvalid checkpointMismatched input lengthsIncorrect withholding taxnInvalid addressIncorrect dividend indexDividend expiry is in the future`DDividend is already claimedToo many excluded addressesnInvalid addressDuplicate exclude addressSender is not ownerDividend reclaimedDividend maturity in futureDividend expiry in pastContract is not pausedToo many addresses excludedExpiry is before maturityExpiry is in the pastNo dividend sentnInvalid addressduped exclude addressInvalid permissionmsg.sender excluded from Dividend
registeredTickers_statusAlready deployed[PPPPPPPPPPPV[a$Only owner or selfБPPV[PPPPPPPPPV[`Transfers not frozenCannot remove latestVersionStablePolyUsdOracleregisteredTickers_ownersecurityTokens_tickerCurrency unchangedsecurityTokens_tickersecurityTokens_tokenDetailssecurityTokens_deployedAtregisteredTickers_ownerInsufficent allowancePPPPPPPPPPP` `@QregisteredTickers_statusregisteredTickers_ownerregisteredTickers_statustickerToSecurityTokenregisteredTickers_expiryDateIndex should less than length of the arrayregisteredTickers_registrationDate
nInvalid addressnInvalid addressTemplate is usedSender is not factorynInvalid addressnInvalid addressArray out of boundAmount cannot be zeroSender is not ownernInvalid addressSchedule starteda&#V[PPPPPPV[`
T`Contract is not pausednInvalid addressSchedule not foundnInvalid addressFailed transferFromInvalid frequencyInvalid granularityInvalid permissionAmount is greater than unassigned tokens
Mismatched input lengthsInvalid signature or dataMismatched input lengthsMismatched input lengthsSender is not ownerContract is not pausedContract is pausedEthereum Signed Message:
32Invalid permission
Blacklist type doesn't existSender is not ownerBlacklist type doesn't existInvalid investor addressInvalid investor addressBlacklist type doesn't existInvalid investor addressInvalid blacklist nameBlacklist type doesn’t existContract is not pausedBlacklist type already existContract is pausedInvalid blacklist nameInvalid start or end dateInvalid permissionInvestor not associated to the blacklistBlacklist already added to investorInput array's length mismatchInvestor is not present in the blacklistInvestors are associated with the blacklist
Mode of investment is not ETHSender is not factoryAlready configuredZero address is not permittedDate parameters are not validCap should be greater than 0Invalid permissionDoes not change valueSTO has been finalizedMode of investment is not POLYSender is not ownerRaise type is not specifiedContract is not pausedIt only selects single fund raise typeOffering is closed/Not yet startedBeneficiary address does not match msg.senderBeneficiary address should not be 0xRate of token should be greater than 0Amount invested should not be equal to 0
Sender is not ownerInput length array mismatchInput array length mismatchSender is not ownerContract is not pausedInvalid expiry timeInvalid allowanceApproval already existsApproval not existContract is pausedInput array length mismatchInvalid expiry timeApproval not presentInvalid permission
ninvalid address0 length is not allowedArray length mismatchnInvalid addressdelegate does not existnInvalid addressnInvalid address0 value not allowedninvalid addressSender is not ownerContract is not pausedContract is paused
PPPPPPPPPPPPP`@QSender is not ownernInvalid addressnInvalid addressSender is not ownerpInvalid startTimepInvalid startTimeInvalid rollingperiodaITV[P[PPPPPPPPV[`Contract is not pausedContract is pausedInvalid permission
Module unarchivedIncreaseApproval failInsufficient allowanceAcknowledgment(string text)I acknowledge that freezing Issuance is a permanent and irrevocable changeI acknowledge that disabling controller is a permanent and irrevocable changeEIP712Domain(string name,uint256 chainId,address verifyingContract)
Module unarchivedIncreaseApproval failInsufficient allowanceAcknowledgment(string text)I acknowledge that freezing Issuance is a permanent and irrevocable changeI acknowledge that disabling controller is a permanent and irrevocable changeEIP712Domain(string name,uint256 chainId,address verifyingContract)
ModuleFactory must be verifiedIncompatible versionsShould not be pausedalready initialized0x address is invalid0x address is invalidtoken transfer failedFactory must have typeSecurityTokenRegistrycustomModulesAllowedOnly owner allowed to register modulesModuleFactory must be verified or SecurityToken owner must be ModuleFactory ownermsg.sender must be the Module Factory owner or registry curatorModule factory must be registeredysender must be ownerModule factory should be registeredModule factory should not be pre-registeredIndex should less than length of the array
Active state unchangedInvalid checkpoint IdInvalid startTimeArray length mismatchweight should be > 0Incorrect proposals IdVoting period is not activeToken holder has already votedBallot is not activeArray length mismatchIncorrect ballot durationnInvalid addressIncorrect proposals noTimes are not validInvalid quorum percentagevalues get overflowedSender is not ownernInvalid addressIndex out of boundnInvalid addressContract is not pausedContract is pausedInvalid permission