Polymath
master
master
  • README
  • api
    • Proxy (Proxy.sol)
    • Base abstract contract to be extended by all STO modules (STO.sol)
    • OwnedUpgradeabilityProxy (OwnedUpgradeabilityProxy.sol)
    • Transfer Manager module for core transfer validation functionality (GeneralTransferManager.sol)
    • VotingCheckpointStorage.sol
    • PLCRVotingCheckpoint.sol
    • Factory for deploying VestingEscrowWallet module (VestingEscrowWalletFactory.sol)
    • Helper library use to compare or validate the semantic versions (VersionUtils.sol)
    • Interface to be implemented by all Wallet modules (Wallet.sol)
    • Factory for deploying CappedSTO module (CappedSTOFactory.sol)
    • Checkpoint module for issuing ERC20 dividends (ERC20DividendCheckpoint.sol)
    • Interface to be implemented by all Transfer Manager modules (ITransferManager.sol)
    • StableOracle.sol
    • VolumeRestrictionTM.sol
    • SecurityTokenRegistryProxy (SecurityTokenRegistryProxy.sol)
    • PreSaleSTO module Proxy (PreSaleSTOProxy.sol)
    • DataStoreProxy Proxy (DataStoreProxy.sol)
    • Proxy for deploying SecurityToken instances (STFactory.sol)
    • Ownable (IOwnable.sol)
    • Checkpoint module for issuing ether dividends (DividendCheckpoint.sol)
    • CountTransferManager module Proxy (BlacklistTransferManagerProxy.sol)
    • Security Token contract (mock) (MockSTGetter.sol)
    • Permission Manager module for core permissioning functionality (GeneralPermissionManager.sol)
    • Contract used to store layout for the CountTransferManager storage (CountTransferManagerStorage.sol)
    • DummySTO module Proxy (DummySTOProxy.sol)
    • Transfer Manager module for limiting percentage of token supply a single address can hold (Percentag
    • Helps contracts guard against reentrancy attacks. (ReentrancyGuard.sol)
    • Factory for deploying EtherDividendCheckpoint module (ScheduledCheckpointFactory.sol)
    • Interface that every module factory contract should implement (IModuleFactory.sol)
    • Factory for deploying GeneralTransferManager module (TrackedRedemptionFactory.sol)
    • SafeMath (SafeMath.sol)
    • USDTiered STO module Proxy (SecurityTokenProxy.sol)
    • USDTiered STO module Proxy (USDTieredSTOProxy.sol)
    • IOracle.sol
    • ManualApprovalTransferManager module Proxy (ManualApprovalTransferManagerProxy.sol)
    • Interface to be implemented by all permission manager modules (IPermissionManager.sol)
    • Factory for deploying PreSaleSTO module (PreSaleSTOFactory.sol)
    • MockPolyOracle.sol
    • Transfer Manager module for verifing transations with a signed message (SignedTransferManager.sol)
    • DataStoreFactory.sol
    • OraclizeAddrResolverI.sol
    • PolyTokenFaucet.sol
    • Registry contract for issuers to register their security tokens (MockModuleRegistry.sol)
    • VolumeRestrictionLib.sol
    • Contract used to store layout for the PercentageTransferManager storage (PercentageTransferManagerSt
    • Transfer Manager for limiting maximum number of token holders (CountTransferManager.sol)
    • ModuleRegistryProxy (ModuleRegistryProxy.sol)
    • Voting module for governance (WeightedVoteCheckpointProxy.sol)
    • Factory for deploying BlacklistTransferManager module (BlacklistTransferManagerFactory.sol)
    • Contract used to store layout for the GeneralPermissionManager storage (GeneralPermissionManagerStor
    • CountTransferManager module Proxy (LockUpTransferManagerProxy.sol)
    • Holds the storage variable for the DividendCheckpoint modules (i.e ERC20, Ether) (DividendCheckpoint
    • Factory for deploying DummySTO module (DummySTOFactory.sol)
    • IERC1644.sol
    • Core functionality for registry upgradability (PolymathRegistry.sol)
    • Utility contract to allow owner to retreive any ERC20 sent to the contract (ReclaimTokens.sol)
    • SecurityTokenMock.sol
    • Factory for deploying CappedSTO module (USDTieredSTOFactory.sol)
    • Factory for deploying ManualApprovalTransferManager module (ManualApprovalTransferManagerFactory.sol
    • IERC1643.sol
    • Transfer Manager module for core transfer validation functionality (EtherDividendCheckpointProxy.sol
    • solcChecker.sol
    • It holds the storage variables related to ERC20DividendCheckpoint module (ERC20DividendCheckpointSto
    • Interface for all security tokens (ISecurityToken.sol)
    • Base abstract contract to be implemented by all Transfer Manager modules (TransferManager.sol)
    • Storage layout for VolumeRestrictionTM (VolumeRestrictionTMStorage.sol)
    • Security Token contract (mock) (MockSecurityTokenLogic.sol)
    • Transfer Manager module for core transfer validation functionality (GeneralTransferManagerStorage.so
    • IERC1410.sol
    • VotingCheckpoint.sol
    • Factory for deploying WeightedVoteCheckpoint module (WeightedVoteCheckpointFactory.sol)
    • PLCRVotingCheckpointStorage.sol
    • IDataStore.sol
    • TestSTOFactory.sol
    • Ownable (Ownable.sol)
    • UpgradeabilityProxy (UpgradeabilityProxy.sol)
    • Mock Contract Not fit for production environment (MockFactory.sol)
    • Registry contract for issuers to register their security tokens (SecurityTokenRegistryMock.sol)
    • ICheckPermission.sol
    • Factory for deploying LockUpTransferManager module (LockUpTransferManagerFactory.sol)
    • Storage layout for the STO contract (STOStorage.sol)
    • Interface for the Polymath Security Token Registry contract (ISecurityTokenRegistry.sol)
    • Mock Contract Not fit for production environment (MockWrongTypeFactory.sol)
    • Transfer Manager module for core transfer validation functionality (KYCTransferManager.sol)
    • Factory for deploying EtherDividendCheckpoint module (EtherDividendCheckpointFactory.sol)
    • functionSigClash2.sol
    • Standard Interface of ERC1594 (IERC1594.sol)
    • TokenLib.sol
    • MakerDAOOracle.sol
    • Interface that any module contract should implement (Module.sol)
    • Interface that any module factory contract should implement (ModuleFactory.sol)
    • STGetter.sol
    • Interface to be implemented by upgradable token factories (IUpgradableTokenFactory.sol)
    • ERC20 interface (IERC20.sol)
    • KYCTransferManagerFactory.sol
    • Checkpoint module for issuing ether dividends (EtherDividendCheckpoint.sol)
    • functionSigClash1.sol
    • Wallet for core vesting escrow functionality (VestingEscrowWalletStorage.sol)
    • Interface for managing polymath feature switches (IFeatureRegistry.sol)
    • Encoder.sol
    • STRGetter.sol
    • OraclizeI.sol
    • Contract used to store layout for the CappedSTO storage (CappedSTOStorage.sol)
    • LockUpTransferManager.sol
    • Checkpoint module for token weighted vote (WeightedVoteCheckpoint.sol)
    • Registry contract to store registered modules (ModuleRegistry.sol)
    • Factory for deploying upgradable modules (UpgradableModuleFactory.sol)
    • Utility contract to allow pausing and unpausing of certain functions (Pausable.sol)
    • CountTransferManager module Proxy (CountTransferManagerProxy.sol)
    • Math (Math.sol)
    • IPolymathRegistry.sol
    • MockOracle.sol
    • Transfer Manager module for manually approving transactions between accounts (ManualApprovalTransfer
    • DecimalMath.sol
    • STO module for standard capped crowdsale (USDTieredSTO.sol)
    • Security Token contract (SecurityToken.sol)
    • PercentageTransferManager module Proxy (PercentageTransferManagerProxy.sol)
    • Interface to be implemented by all checkpoint modules (IBurn.sol)
    • Burn module for burning tokens and keeping track of burnt amounts (MockRedemptionManager.sol)
    • GeneralPermissionManager module Proxy (GeneralPermissionManagerProxy.sol)
    • STO module for sample implementation of a different crowdsale module (DummySTO.sol)
    • Factory for deploying CountTransferManager module (CountTransferManagerFactory.sol)
    • Interface to be implemented by all STO modules (ISTO.sol)
    • Data store contract that stores data for all the modules in a central contract. (DataStore.sol)
    • Transfer Manager module to automate blacklist and restrict transfers (BlacklistTransferManager.sol)
    • Contract used to store layout for the PreSaleSTO storage (PreSaleSTOStorage.sol)
    • Migrations.sol
    • Contract used to store layout for the CountTransferManager storage (BlacklistTransferManagerStorage.
    • STO module for private presales (PreSaleSTO.sol)
    • DataStoreStorage.sol
    • Storage layout for the ISTO contract (ISTOStorage.sol)
    • Registry contract for issuers to register their tickers and security tokens (SecurityTokenRegistry.s
    • Factory for deploying SignedTransferManager module (SignedTransferManagerFactory.sol)
    • Transfer Manager module for core transfer validation functionality (ERC20DividendCheckpointProxy.sol
    • Burn module for burning tokens and keeping track of burnt amounts (ScheduledCheckpoint.sol)
    • ERC20 interface (IPoly.sol)
    • Transfer Manager module for core transfer validation functionality (VolumeRestrictionTMProxy.sol)
    • Contract used to store layout for the DummySTO storage (DummySTOStorage.sol)
    • Burn module for burning tokens and keeping track of burnt amounts (TrackedRedemption.sol)
    • Interface that every module contract should implement (IModule.sol)
    • Contract used to store layout for the ManualApprovalTransferManager storage (ManualApprovalTransferM
    • Elliptic curve signature operations (ECDSA.sol)
    • Factory for deploying PercentageTransferManager module (PercentageTransferManagerFactory.sol)
    • Transfer Manager module for core transfer validation functionality (GeneralTransferManagerProxy.sol)
    • Utility contract for reusable code (Util.sol)
    • SecurityTokenStorage.sol
    • Contract used to store layout for the USDTieredSTO storage (USDTieredSTOStorage.sol)
    • Factory for deploying GeneralPermissionManager module (GeneralPermissionManagerFactory.sol)
    • Address.sol
    • StatusCodes.sol
    • Standard ERC20 token
    • Voting module for governance (PLCRVotingCheckpointProxy.sol)
    • CBOR.sol
    • Registry for managing polymath feature switches (FeatureRegistry.sol)
    • WeightedVoteCheckpointStorage.sol
    • Interface for the Polymath Module Registry contract (IModuleRegistry.sol)
    • Interface for security token proxy deployment (ISTFactory.sol)
    • Registry contract for issuers to register their security tokens (MockSTRGetter.sol)
    • Buffer.sol
    • BokkyPooBahsDateTimeLibrary.sol
    • Mock Contract Not fit for production environment (MockBurnFactory.sol)
    • Wallet for core vesting escrow functionality (LockUpTransferManagerStorage.sol)
    • Factory for deploying VolumeRestrictionTM module (VolumeRestrictionTMFactory.sol)
    • usingOraclize.sol
    • STO module for standard capped crowdsale (CappedSTO.sol)
    • Interface to MakerDAO Medianizer contract (IMedianizer.sol)
    • Interface to be implemented by all checkpoint modules (ICheckpoint.sol)
    • Factory for deploying ERC20DividendCheckpoint module (ERC20DividendCheckpointFactory.sol)
    • Factory for deploying GeneralTransferManager module (GeneralTransferManagerFactory.sol)
    • Escrow wallet module for vesting functionality (VestingEscrowWalletProxy.sol)
    • OZStorage.sol
    • Wallet for core vesting escrow functionality (VestingEscrowWallet.sol)
    • EternalStorage.sol
    • Factory for deploying PLCRVotingCheckpoint module (PLCRVotingCheckpointFactory.sol)
    • IVoting.sol
    • Transfer Manager for limiting maximum number of token holders (MockCountTransferManager.sol)
    • CappedSTO module Proxy (CappedSTOProxy.sol)
    • Storage for Module contract (ModuleStorage.sol)
  • wiki
    • Dividend-Module
    • Transfer-manager-results
    • General Permission Manager
    • Transfer-Feature
    • Voting-Checkpoint-Modules
    • USDTieredSTO
    • Contract-Manager
    • Vesting-Escrow-Wallet
    • General Transfer Manager
    • Permission-Manager
    • Dividends-Manager
    • Manual Approval Transfer Manager
    • Transfer-Ownership
    • Transfer-Manager
    • How-to-Use-the-Investor-Portal
    • Count Transfer Manager
    • VolumeRestrictionTransferManager
    • Time-Travel-(Contract-Testing)
    • Percentage Transfer Manager
    • Prerequisite-Instructions-for-Deploying-and-Setting-Up-the-Polymath-Contracts
    • How to Create and Launch an STO
    • Token-Manager
    • How to set up and use the POLY Faucet
    • Advanced PLCR Voting Checkpoint
    • Welcome to the Polymath Core Wiki
    • Capped STO
    • _Sidebar
    • CLI for Polymath-core
    • Lockup Transfer Manager
    • The-STO-Manager
    • Blacklist Transfer Manager (BTM)
  • misc
    • Multiple Transfer Managers
    • PolyOracle Encrypted URL
    • ethereum_status_codes
    • Flags List
    • Permissions List
Powered by GitBook
On this page
  • Summary
  • How it works (High Level Overview)
  • Example Scenario
  • Troubleshooting / FAQs

Was this helpful?

  1. wiki

The-STO-Manager

Summary

This CLI feature is a Wizard-like script that will guide technical users in the creation/management of an STO.

How it works (High Level Overview)

  1. Select or Manually Enter the Security token you are working with

  2. Add new STO module

  3. Choose from a CappedSTO or USDTieredSTO

  4. Enter specific details for your STO

  5. Lauch STO

Example Scenario

$ node CLI/polymath-cli sto_manager

****************************************
Welcome to the Command-Line STO Manager.
****************************************
The following script will allow you to manage STOs modules.
Issuer Account: 0x1AE1959062556E6984ADCE0312D0Ff8f88909A0b


[1] CP - Deployed at 0x28D7cC342E76CCab1AC04c9344Ad9A2AD67AF1ac
[2] Enter token symbol manually
[0] Exit

Select a token [1, 2, 0]: 1

 STO Manager - Main Menu 

There are no STO modules attached

[1] Add new STO module
[0] Exit

What do you want to do? [1/0]: 1
Selected: Add new STO module 

Launch STO - Configuration

[1] CappedSTO
[2] USDTieredSTO
[0] Return

What type of STO do you want? [1, 2, 0]: 1
Selected: CappedSTO 

Launch STO - Capped STO in No. of Tokens
---- Transaction executed: transfer - Gas limit provided: 103248 ----

  Your transaction is being processed. Please wait...
  TxHash: 0x94a542ef1c125d873d7e51129f09b788ed10f032a205c9f2bf9511ca6ceb8a2a

  Congratulations! The transaction was successfully completed.
  Gas used: 51624 - Gas spent: 0.0025812 Ether
  Review it on Etherscan.
  TxHash: 0x94a542ef1c125d873d7e51129f09b788ed10f032a205c9f2bf9511ca6ceb8a2a

Number of POLY sent: 0
How many tokens do you plan to sell on the STO? (500.000): 
Enter P for POLY raise or leave empty for Ether raise (E): P
Enter the rate (1 POLY = X CP) for the STO (1000): 100
Enter the address that will receive the funds from the STO (0x1AE1959062556E6984ADCE0312D0Ff8f88909A0b): 
Enter the start time for the STO (Unix Epoch time)
(1 minutes from now = 1547066423 ): 
Enter the end time for the STO (Unix Epoch time)
(1 month from now = 1549658363 ): 
---- Transaction executed: addModule - Gas limit provided: 3184283 ----

  Your transaction is being processed. Please wait...
  TxHash: 0xbe008ac4c84b34dae1c6bb31825b3577c64ac4560dacaf07cb13b07719dfb8ec

  Congratulations! The transaction was successfully completed.
  Gas used: 2623569 - Gas spent: 0.13117845 Ether
  Review it on Etherscan.
  TxHash: 0xbe008ac4c84b34dae1c6bb31825b3577c64ac4560dacaf07cb13b07719dfb8ec

STO deployed at address: 0xF83B33E6593a6Da1C651d70bCa908c082A944db7

  *************** STO Information ***************
  - Address:           0xF83B33E6593a6Da1C651d70bCa908c082A944db7
  - Raise Cap:         500000 CP
  - Start Time:        Wed Jan 09 2019 15:40:23 GMT-0500 (EST)
  - End Time:          Fri Feb 08 2019 15:39:23 GMT-0500 (EST)
  - Raise Type:        POLY
  - Rate:              1 POLY = 100 CP
  - Wallet:            0x1AE1959062556E6984ADCE0312D0Ff8f88909A0b
  - Wallet Balance:    999500 POLY
  -----------------------------------------------
  - STO starts in:     0 days, 0 Hrs, 0 Minutes, 18 Seconds
  - Funds raised:      0 POLY
  - Tokens sold:       0 CP
  - Tokens remaining:  500000 CP
  - Investor count:    0


999500 POLY balance remaining at issuer address 0x1AE1959062556E6984ADCE0312D0Ff8f88909A0b

 STO Manager - Main Menu 

STO modules attached:
- CappedSTO at 0xF83B33E6593a6Da1C651d70bCa908c082A944db7

[1] Show existing STO information
[2] Modify existing STO
[3] Add new STO module
[0] Exit

Show existing STO Information

Selected: Show existing STO information 


[1] CappedSTO at 0xF83B33E6593a6Da1C651d70bCa908c082A944db7

Select a module [1]: 1
Selected: CappedSTO at 0xF83B33E6593a6Da1C651d70bCa908c082A944db7 


  *************** STO Information ***************
  - Address:           0xF83B33E6593a6Da1C651d70bCa908c082A944db7
  - Raise Cap:         500000 CP
  - Start Time:        Wed Jan 09 2019 15:40:23 GMT-0500 (EST)
  - End Time:          Fri Feb 08 2019 15:39:23 GMT-0500 (EST)
  - Raise Type:        POLY
  - Rate:              1 POLY = 100 CP
  - Wallet:            0x1AE1959062556E6984ADCE0312D0Ff8f88909A0b
  - Wallet Balance:    999500 POLY
  -----------------------------------------------
  - Time remaining:    29 days, 23 Hrs, 55 Minutes, 57 Seconds
  - Funds raised:      0 POLY
  - Tokens sold:       0 CP
  - Tokens remaining:  500000 CP
  - Investor count:    0


999500 POLY balance remaining at issuer address 0x1AE1959062556E6984ADCE0312D0Ff8f88909A0b

Modifying an existing STO

Selected: Modify existing STO 


[1] CappedSTO at 0xF83B33E6593a6Da1C651d70bCa908c082A944db7

Select a module [1]: 1
Selected: CappedSTO at 0xF83B33E6593a6Da1C651d70bCa908c082A944db7 


    *********************************
    This option is not yet available.
    *********************************

Adding a new STO module (USDTieredSTO)

Selected: Add new STO module 

Launch STO - Configuration

[1] CappedSTO
[2] USDTieredSTO
[0] Return

What type of STO do you want? [1, 2, 0]: 2
Selected: USDTieredSTO 

Launch STO - USD pegged tiered STO
---- Transaction executed: transfer - Gas limit provided: 103248 ----

  Your transaction is being processed. Please wait...
  TxHash: 0x38e56dd2911aea25113425e7856598600cd85579dfd6d9c98913890c61a1474f

  Congratulations! The transaction was successfully completed.
  Gas used: 51624 - Gas spent: 0.0025812 Ether
  Review it on Etherscan.
  TxHash: 0x38e56dd2911aea25113425e7856598600cd85579dfd6d9c98913890c61a1474f

Number of POLY sent: 0
Enter P for POLY raise, S for Stable Coin raise, E for Ether raise or any combination of them (i.e. PSE for all): PSE
Enter the address that will receive the funds from the STO (0x1AE1959062556E6984ADCE0312D0Ff8f88909A0b): 0x1AE1959062556E6984ADCE0312D0Ff8f88909A0b

Enter the address that will receive remaining tokens in the case the cap is not met (0x1AE1959062556E6984ADCE0312D0Ff8f88909A0b): 0x1AE1959062556E6984ADCE0312D0Ff8f88909A0b

Enter the address (or multiple addresses separated by commas) of the USD stable coin(s) (0xeee959bE821F28f9c157DC4B2018ED1bB2e97dEC): 0xeee959bE821F28f9c157DC4B2018ED1bB2e97dEC

Enter the number of tiers for the STO? (3): 3

How many tokens do you plan to sell on tier No. 1? (190000000): 190000000

What is the USD per token rate for tier No. 1? (0.05): 0.05

Do you plan to have a discounted rate for POLY investments for tier No. 1? [y/n]: n

How many tokens do you plan to sell on tier No. 2? (100000000): 100000000

What is the USD per token rate for tier No. 2? (0.10): 0.10

Do you plan to have a discounted rate for POLY investments for tier No. 2? [y/n]: n

How many tokens do you plan to sell on tier No. 3? (200000000): 200000000

What is the USD per token rate for tier No. 3? (0.15): 0.15

Do you plan to have a discounted rate for POLY investments for tier No. 3? [y/n]: n

What is the minimum investment in USD? (5): 5

What is the default limit for non accredited investors in USD? (2500): 2500

Enter the start time for the STO (Unix Epoch time)
(1 minutes from now = 1547066933 ): 1547066933 

Enter the end time for the STO (Unix Epoch time)
(1 month from now = 1549658874 ): 1549658874

---- Transaction executed: addModule - Gas limit provided: 2124902 ----

  Your transaction is being processed. Please wait...
  TxHash: 0x93805d5329f07a9b82a3f8016a599f90a7be3a2532e01cde1d95d9fd09cae5ea

  Congratulations! The transaction was successfully completed.
  Gas used: 1740752 - Gas spent: 0.0870376 Ether
  Review it on Etherscan.
  TxHash: 0x93805d5329f07a9b82a3f8016a599f90a7be3a2532e01cde1d95d9fd09cae5ea

STO deployed at address: 0x42d35C36cFAD474B9d1F5b5a8c11CA8C86C18d94

  *********************** STO Information ***********************
  - Address:                     0x42d35C36cFAD474B9d1F5b5a8c11CA8C86C18d94
  - Start Time:                  Wed Jan 09 2019 15:48:53 GMT-0500 (EST)
  - End Time:                    Fri Feb 08 2019 15:47:54 GMT-0500 (EST)
  - Raise Type:                  ETH - POLY - POLY
  - Tiers:                       3
  - Tier 1:
      Tokens:                    190000000 CP
      Rate:                      0.05 USD per Token
  - Tier 2:
      Tokens:                    100000000 CP
      Rate:                      0.1 USD per Token
  - Tier 3:
      Tokens:                    200000000 CP
      Rate:                      0.15 USD per Token
  - Minimum Investment:          5 USD
  - Non Accredited Limit:        2500 USD
  - Wallet:                      0x1AE1959062556E6984ADCE0312D0Ff8f88909A0b
      Balance ETH:         91.03724985 ETH (45518.624925 USD)
      Balance POLY:         999500 POLY (499750 USD)
      Balance POLY:         1000000 POLY
  - Reserve Wallet:              0x1AE1959062556E6984ADCE0312D0Ff8f88909A0b
      Balance ETH:         91.03724985 ETH (45518.624925 USD)
      Balance POLY:         999500 POLY (499750 USD)
      Balance POLY:         1000000 POLY

  ---------------------------------------------------------------
  - STO starts in:               0 days, 0 Hrs, 0 Minutes, 56 Seconds
  - Is Finalized:                NO
  - Tokens Sold:                 0 CP
        Sold for ETH:         0 CP
        Sold for POLY:         0 CP
        Sold for stable coin(s): 0 CP
  - Current Tier:                1
  - Tokens minted in Tier 1:     0 CP
        Sold for ETH:         0 CP 
        Sold for POLY:         0 CP 
        Sold for stable coin(s): 0 CP 
  - Tokens minted in Tier 2:     0 CP
        Sold for ETH:         0 CP 
        Sold for POLY:         0 CP 
        Sold for stable coin(s): 0 CP 
  - Tokens minted in Tier 3:     0 CP
        Sold for ETH:         0 CP 
        Sold for POLY:         0 CP 
        Sold for stable coin(s): 0 CP 
  - Investor count:              0
  - Funds Raised
      ETH:             0 ETH
      POLY:             0 POLY
      Total USD:                 0 USD


999500 POLY balance remaining at issuer address 0x1AE1959062556E6984ADCE0312D0Ff8f88909A0b

Troubleshooting / FAQs

  • n/a

PreviousLockup Transfer ManagerNextBlacklist Transfer Manager (BTM)

Last updated 5 years ago

Was this helpful?