-
Notifications
You must be signed in to change notification settings - Fork 160
Transfer Manager
Summary:
This CLI feature allows you to run the transfer_manager module which allows you to manage if you want to disable or set a new controller or even force a transfer.
How it works
- Verify transfers
- Make Transfer
- Allow Forced transfers
- Configure existing modules
- Add new Transfer Manager module
How to Use this CLI Feature (Instructions)
To run this feature, please run:
$ node CLI/polymath-cli tm or $ node CLI/polymath-cli transfer_manager
*********************************************
Welcome to the Command-Line Transfer Manager.
*********************************************
Issuer Account: 0xddF2Da2bc5a45D21e7B136F08EeADD08FcF5a27e
[1] CP - Deployed at 0x37454c3FCa8547D17b79F12aF485b0F920082b7A
[2] Enter token symbol manually
[0] Exit
Select a token [1, 2, 0]: 1
Transfer Manager - Main Menu
Transfer Manager modules attached:
- GeneralTransferManager at 0xb0E3F9D978A0E52639f3691821138Bd5E1FAb6A4
- PercentageTransferManager at 0x71936d7a699790Db8C708A0E4739A44eB686C55F
[1] Verify transfer
[2] Transfer
[3] Forced transfers
[4] Config existing modules
[5] Add new Transfer Manager module
[0] Exit
**Verifying Transfers between addresses **
What do you want to do? [1...5 / 0]: 1
Selected: Verify transfer
Total investors at the moment: 1
Enter the sender account (0xddF2Da2bc5a45D21e7B136F08EeADD08FcF5a27e):
Balance of 0xddF2Da2bc5a45D21e7B136F08EeADD08FcF5a27e: 100 CP - 100% of total supply
Enter the receiver account: 0x2f795dd330a3f4b3f0ac531543d362a411248749
Balance of 0x2f795dd330a3f4b3f0ac531543d362a411248749: 0 CP - 0% of total supply
Enter amount of tokens to verify: 20
20 CP can be transferred from 0xddF2Da2bc5a45D21e7B136F08EeADD08FcF5a27e to 0x2f795dd330a3f4b3f0ac531543d362a411248749!
Transfer Manager - Main Menu
Transfer Manager modules attached:
- GeneralTransferManager at 0xb0E3F9D978A0E52639f3691821138Bd5E1FAb6A4
- PercentageTransferManager at 0x71936d7a699790Db8C708A0E4739A44eB686C55F
Note: Addresses must be on the whitelist and have no transfer restrictions prior to verifying transfers
Transfering
What do you want to do? [1...5 / 0]: 2
Selected: Transfer
Total investors at the moment: 1
Balance of 0xddF2Da2bc5a45D21e7B136F08EeADD08FcF5a27e: 100 CP - 100% of total supply
Enter beneficiary of tranfer: 0x2f795dd330a3f4b3f0ac531543d362a411248749
Balance of 0x2f795dd330a3f4b3f0ac531543d362a411248749: 0 CP - 0% of total supply
Enter amount of tokens to transfer: 10
---- Transaction executed: transfer - Gas limit provided: 175632 ----
Your transaction is being processed. Please wait...
TxHash: 0xa783e6315cbf54a5ec3d00cafeaf1977320a6828752116d7d967aab283592c42
Congratulations! The transaction was successfully completed.
Gas used: 146360 - Gas spent: 0.007318 Ether
Review it on Etherscan.
TxHash: 0xa783e6315cbf54a5ec3d00cafeaf1977320a6828752116d7d967aab283592c42
0xddF2Da2bc5a45D21e7B136F08EeADD08FcF5a27e transferred 10 CP to 0x2F795dd330A3f4B3f0ac531543d362a411248749 successfully!
Total investors at the moment: 2
Balance of 0xddF2Da2bc5a45D21e7B136F08EeADD08FcF5a27e: 90 CP - 90% of total supply
Balance of 0x2f795dd330a3f4b3f0ac531543d362a411248749: 10 CP - 10% of total supply
Transfer Manager - Main Menu
Transfer Manager modules attached:
- GeneralTransferManager at 0xb0E3F9D978A0E52639f3691821138Bd5E1FAb6A4
- PercentageTransferManager at 0x71936d7a699790Db8C708A0E4739A44eB686C55F
Forced Transfers
For forced transfers you simple enter the address you would like to set as a controller or disable as a controller
Selected: Forced transfers
[1] Disable controller
[2] Set controller
[0] Return
Configuration of existing modules
The process is the same for whatever module you select. With that being said, we are going to select GeneralTransferManager for this example.
Selected: Config existing modules
[1] GeneralTransferManager at 0xb0E3F9D978A0E52639f3691821138Bd5E1FAb6A4
[2] PercentageTransferManager at 0x71936d7a699790Db8C708A0E4739A44eB686C55F
[0] Return
----
Which module do you want to config? [1, 2, 0]: 1
Selected: GeneralTransferManager at 0xb0E3F9D978A0E52639f3691821138Bd5E1FAb6A4
General Transfer Manager at 0xb0E3F9D978A0E52639f3691821138Bd5E1FAb6A4
- Issuance address: 0x0000000000000000000000000000000000000000
- Signing address: 0x0000000000000000000000000000000000000000
- Allow all transfers: NO
- Allow all whitelist transfers: NO
- Allow all whitelist issuances: YES
- Allow all burn transfers: NO
- Default times:
- From time: 0 (December 31st 1969, 19:00:00)
- To time: 0 (December 31st 1969, 19:00:00)
- Investors: 4
[1] Show investors
[2] Show whitelist data
[3] Modify whitelist
[4] Modify whitelist from CSV
[5] Change the default times used when they are zero
[6] Change issuance address
[7] Change signing address
[8] Allow all transfers
[9] Allow all whitelist transfers
[a] Disallow all whitelist issuances
[b] Allow all burn transfers
[0] Return
----
What do you want to do? [1...9, a, b, 0]: 1
Selected: Show investors
***** List of investors on whitelist *****
0xddF2Da2bc5a45D21e7B136F08EeADD08FcF5a27e
0xa40B039F9aE64718aEe5DccaA30BcF248F384545
0x2F795dd330A3f4B3f0ac531543d362a411248749
0x600f5D001F2f6044E652628E9a703E0A96Eb633D
----
What do you want to do? [1...9, a, b, 0]: 2
Selected: Show whitelist data
Enter the addresses of the investors you want to show (i.e: addr1,addr2,addr3) or leave empty to show them all: 0xddF2Da2bc5a45D21e7B136F08EeADD08FcF5a27e
0xa40B039F9aE64718aEe5DccaA30BcF248F384545
0x2F795dd330A3f4B3f0ac531543d362a411248749
0x600f5D001F2f6044E652628E9a703E0A96Eb633D
╔════════════════════════════════════════════╤══════════════════╤══════════════════╤══════════════════╤════════════╗
║ Investor │ From time │ To time │ KYC expiry date │ Restricted ║
╟────────────────────────────────────────────┼──────────────────┼──────────────────┼──────────────────┼────────────╢
║ 0xddF2Da2bc5a45D21e7B136F08EeADD08FcF5a27e │ 01/08/2019 12:38 │ 01/08/2019 12:38 │ 01/12/2019 12:38 │ NO ║
╚════════════════════════════════════════════╧══════════════════╧══════════════════╧══════════════════╧════════════╝
----
What do you want to do? [1...9, a, b, 0]: 3
Selected: Modify whitelist
Selected: Modify whitelist
Enter the address to whitelist: 0x6f877e57ecb50a6b092a989237f3ef5f3ac6949e
Enter the time(Unix Epoch time) when the sale lockup period ends and the investor can freely sell his tokens(now = 1546983389): 1546983398
Enter the time(Unix Epoch time) when the purchase lockup period ends and the investor can freely purchase tokens from others(now = 1546983389): 1546983398
Enter the time till investors KYC will be validated(after that investor need to do re - KYC) (1 hour from now = 1546987002): 1547328997
Is the investor a restricted investor? [y/n]: n
---- Transaction executed: modifyWhitelist - Gas limit provided: 121776 ----
Your transaction is being processed. Please wait...
TxHash: 0xb8f4f26fb96afb53f7993cb89df5105bacef637847ed92b20458e034c9beed2f
Congratulations! The transaction was successfully completed.
Gas used: 101480 - Gas spent: 0.005074 Ether
Review it on Etherscan.
TxHash: 0xb8f4f26fb96afb53f7993cb89df5105bacef637847ed92b20458e034c9beed2f
0x6f877e57EcB50A6b092A989237f3Ef5f3Ac6949E has been whitelisted sucessfully!
----
Selected: Modify whitelist from CSV
Enter the path for csv data file (/Users/charlesst.louis/Desktop/polymath-core/CLI/commands/../data/Transfer/GTM/whitelist_data.csv): *Enter updated csv file here*
Enter the max number of records per transaction or batch size (75): *Enter max # of records/tx or batch size*
Batch 1 - Attempting to modify whitelist to accounts:
[ '0xEe7Ae74D964F2bE7d72C1B187B38e2eD3615d4d1',
'0x2F0fD672BF222413cc69DC1f4f1d7e93Ad1763A1',
'0xaC297053173B02b02a737D47F7B4a718e5b170EF',
'0x49FC0b78238DAB644698A90FA351B4C749E123d2',
'0x10223927009b8ADD0960359dd90d1449415b7ca9',
'0x3C65CFE3dE848cF38e9d76e9c3e57a2F1140B399',
'0xaBf60DE3265B3017Db7A1be66fC8B364ec1dbb98',
'0xb841fe5a89Da1BBeF2D0805FbD7ffcBbB2fCa5E3',
'0x56bE93088141b16EBaA9416122Fd1D928dA25ecf',
'0xBB276B6f68f0A41D54B7E0A608FE8eB1eBDeE7B0' ]
---- Transaction executed: modifyWhitelistMulti - Gas limit provided: 927058 ----
Your transaction is being processed. Please wait...
TxHash: 0x9ff240d7c9c6e18753d9d9c95e6788e462f35bb91498609abef186286542704c
Congratulations! The transaction was successfully completed.
Gas used: 772548 - Gas spent: 0.0386274 Ether
Review it on Etherscan.
TxHash: 0x9ff240d7c9c6e18753d9d9c95e6788e462f35bb91498609abef186286542704c
Modify whitelist transaction was successful.
772548 gas used.Spent: 0.0386274 ETH
----
What do you want to do? [1...9, a, b, 0]: 5
Selected: Change the default times used when they are zero
Enter the default time (Unix Epoch time) used when fromTime is zero: 1547328997
---- Transaction executed: changeDefaults - Gas limit provided: 60128 ----
Your transaction is being processed. Please wait...
TxHash: 0x9229e2a8405639c2237aa034d06b8799a90f55771fb0fc13dea06f3baa8f6179
Congratulations! The transaction was successfully completed.
Gas used: 50107 - Gas spent: 0.00250535 Ether
Review it on Etherscan.
TxHash: 0x9229e2a8405639c2237aa034d06b8799a90f55771fb0fc13dea06f3baa8f6179
Default times have been updated successfully!
----
Selected: Change issuance address
Enter the new issuance address: 0x0cff167c0b67ec12064bb7326e4f6da793c77b3b
---- Transaction executed: changeIssuanceAddress - Gas limit provided: 60544 ----
Your transaction is being processed. Please wait...
TxHash: 0xeec8b7b173b36e886212a7639c753beb8d5166dd1d1c240174d0e1c7a6be54bf
Congratulations! The transaction was successfully completed.
Gas used: 50453 - Gas spent: 0.00252265 Ether
Review it on Etherscan.
TxHash: 0xeec8b7b173b36e886212a7639c753beb8d5166dd1d1c240174d0e1c7a6be54bf
0x0cff167C0b67ec12064BB7326E4f6Da793C77b3b is the new address for the issuance!
----
Selected: Change signing address
Enter the new signing address: 0x0cff167c0b67ec12064bb7326e4f6da793c77b3b
---- Transaction executed: changeSigningAddress - Gas limit provided: 42016 ----
Your transaction is being processed. Please wait...
TxHash: 0xc845a5e7e4411cf055271f3e25ef59bce34f71be2a2b018423a7c33ead454064
Congratulations! The transaction was successfully completed.
Gas used: 35013 - Gas spent: 0.00175065 Ether
Review it on Etherscan.
TxHash: 0xc845a5e7e4411cf055271f3e25ef59bce34f71be2a2b018423a7c33ead454064
0x0cff167C0b67ec12064BB7326E4f6Da793C77b3b is the new address for the signing!----
----
Selected: Allow all transfers (no input required, automtically runs script)
---- Transaction executed: changeAllowAllTransfers - Gas limit provided: 40312 ----
Your transaction is being processed. Please wait...
TxHash: 0x925f5d8f3a196df2999650d2db28d5fecca48fed6fc54edacef4b475983643bd
Congratulations! The transaction was successfully completed.
Gas used: 33593 - Gas spent: 0.00167965 Ether
Review it on Etherscan.
TxHash: 0x925f5d8f3a196df2999650d2db28d5fecca48fed6fc54edacef4b475983643bd
All transfers are allowed!
*When going back to the menu it now shows the "Disallow all transfers" instead of "Allow all transfers":*
1] Show investors
[2] Show whitelist data
[3] Modify whitelist
[4] Modify whitelist from CSV
[5] Change the default times used when they are zero
[6] Change issuance address
[7] Change signing address
[8] Disallow all transfers
[9] Allow all whitelist transfers
[a] Disallow all whitelist issuances
[b] Allow all burn transfers
[0] Return
----
Selected: Allow all whitelist transfers
---- Transaction executed: changeAllowAllWhitelistTransfers - Gas limit provided: 40570 ----
Your transaction is being processed. Please wait...
TxHash: 0x4a9ef2755290afe51a070a5c5d934fa76368217188ffe4d956abb0582d7d32a5
Congratulations! The transaction was successfully completed.
Gas used: 33808 - Gas spent: 0.0016904 Ether
Review it on Etherscan.
TxHash: 0x4a9ef2755290afe51a070a5c5d934fa76368217188ffe4d956abb0582d7d32a5
Time locks from whitelist are ignored for transfers!
*When going back to the menu it now shows the "Disallow all whitelist transfers" instead of "Allow whitelist transfers":*
General Transfer Manager at 0xb0E3F9D978A0E52639f3691821138Bd5E1FAb6A4
- Issuance address: 0x0cff167C0b67ec12064BB7326E4f6Da793C77b3b
- Signing address: 0x0cff167C0b67ec12064BB7326E4f6Da793C77b3b
- Allow all transfers: YES
- Allow all whitelist transfers: YES
- Allow all whitelist issuances: YES
- Allow all burn transfers: NO
- Default times:
- From time: 1547328997 (January 12th 2019, 16:36:37)
- To time: 1547328997 (January 12th 2019, 16:36:37)
- Investors: 15
[1] Show investors
[2] Show whitelist data
[3] Modify whitelist
[4] Modify whitelist from CSV
[5] Change the default times used when they are zero
[6] Change issuance address
[7] Change signing address
[8] Disallow all transfers
[9] Disallow all whitelist transfers
[a] Disallow all whitelist issuances
[b] Allow all burn transfers
[0] Return
----
Selected: Disallow all whitelist issuances
---- Transaction executed: changeAllowAllWhitelistIssuances - Gas limit provided: 40440 ----
Your transaction is being processed. Please wait...
TxHash: 0xd1344491bbd0008e9b3f7f19ba56eb928e763e9906349e31068d760df1153c7c
Congratulations! The transaction was successfully completed.
Gas used: 33700 - Gas spent: 0.001685 Ether
Review it on Etherscan.
TxHash: 0xd1344491bbd0008e9b3f7f19ba56eb928e763e9906349e31068d760df1153c7c
Issuances are restricted by time locks from whitelist!
----
Selected: Allow all burn transfers
---- Transaction executed: changeAllowAllBurnTransfers - Gas limit provided: 40992 ----
Your transaction is being processed. Please wait...
TxHash: 0x4d1908a2ff9911a0b834ab3c014569b0fcc37d7b631aae6ac78720be678fcd44
Congratulations! The transaction was successfully completed.
Gas used: 34160 - Gas spent: 0.001708 Ether
Review it on Etherscan.
TxHash: 0x4d1908a2ff9911a0b834ab3c014569b0fcc37d7b631aae6ac78720be678fcd44
The burning mechanism is deactivated!
Adding new Transfer Manager modules
Selected: Add new Transfer Manager module
[1] PercentageTransferManager
[2] CountTransferManager
[3] GeneralTransferManager
[4] ManualApprovalTransferManager
[0] Return
----
Percentage Transfer Manager
Which Transfer Manager module do you want to add? [1...4 / 0]: 1
Are you sure you want to add PercentageTransferManager module? [y/n]: y
Enter the maximum amount of tokens in percentage that an investor can hold: 5
Do you want to ignore transactions which are part of the primary issuance? [y/n]: n
---- Transaction executed: addModule - Gas limit provided: 2268599 ----
Your transaction is being processed. Please wait...
TxHash: 0x38e9cb87902602eb0cf1c519e39c62929e75cd1f883a3ec50d090033354c5b10
Congratulations! The transaction was successfully completed.
Gas used: 1875499 - Gas spent: 0.09377495 Ether
Review it on Etherscan.
TxHash: 0x38e9cb87902602eb0cf1c519e39c62929e75cd1f883a3ec50d090033354c5b10
Module deployed at address: 0x7f930c9dd304c90D331d055Bb70A2ED6363c980E
----
Count Transfer Manager
Which Transfer Manager module do you want to add? [1...4 / 0]: 2
Are you sure you want to add CountTransferManager module? [y/n]: y
Enter the maximum no. of holders the SecurityToken is allowed to have: 1000
---- Transaction executed: addModule - Gas limit provided: 1746196 ----
Your transaction is being processed. Please wait...
TxHash: 0xc6ca7e7566ae4c869b627af4f0c566008e86f52c7ebda005bb137485c192d80d
Congratulations! The transaction was successfully completed.
Gas used: 1455163 - Gas spent: 0.07275815 Ether
Review it on Etherscan.
TxHash: 0xc6ca7e7566ae4c869b627af4f0c566008e86f52c7ebda005bb137485c192d80d
Module deployed at address: 0x1b0bCe80cab378EFd2472398a24d8Aa8CaA965cF
----
General Transfer Manager
Which Transfer Manager module do you want to add? [1...4 / 0]: 3
Are you sure you want to add GeneralTransferManager module? [y/n]: y
---- Transaction executed: addModule - Gas limit provided: 1323953 ----
Your transaction is being processed. Please wait...
TxHash: 0xb02830107df701d438f7ffb2df636c8f669b3b115788369beffda70bee74fa6f
Congratulations! The transaction was successfully completed.
Gas used: 1103294 - Gas spent: 0.0551647 Ether
Review it on Etherscan.
TxHash: 0xb02830107df701d438f7ffb2df636c8f669b3b115788369beffda70bee74fa6f
Module deployed at address: 0x503298dc6b5971bA6c77ddBB29E005e78b2347Ac
----
Which Transfer Manager module do you want to add? [1...4 / 0]: 4
Are you sure you want to add ManualApprovalTransferManager module? [y/n]: y
---- Transaction executed: addModule - Gas limit provided: 3725315 ----
Your transaction is being processed. Please wait...
TxHash: 0xa96b64be89ad93f924b687308a8a8adeb794189b0bb21d8fdb92dc071f791717
Congratulations! The transaction was successfully completed.
Gas used: 3104429 - Gas spent: 0.15522145 Ether
Review it on Etherscan.
TxHash: 0xa96b64be89ad93f924b687308a8a8adeb794189b0bb21d8fdb92dc071f791717
Module deployed at address: 0xfDC74D7bCB6D72dC855ddd4989eB46f1C7ccF0d3
Transfer Manager - Main Menu
----
Summary:
Transfer Manager modules attached:
- GeneralTransferManager at 0xb0E3F9D978A0E52639f3691821138Bd5E1FAb6A4
- PercentageTransferManager at 0x71936d7a699790Db8C708A0E4739A44eB686C55F
- PercentageTransferManager at 0x7f930c9dd304c90D331d055Bb70A2ED6363c980E
- CountTransferManager at 0x1b0bCe80cab378EFd2472398a24d8Aa8CaA965cF
- GeneralTransferManager at 0x503298dc6b5971bA6c77ddBB29E005e78b2347Ac
- ManualApprovalTransferManager at 0xfDC74D7bCB6D72dC855ddd4989eB46f1C7ccF0d3
Troubleshooting / FAQs
CLI Installation
Running the CLI Features and Modules
- How to Use the POLY Faucet
- St-20 Generator
- STO Manager
- How to Use the Investor Portal
- Token Manager
- Transfer Feature
- Transfer Ownership
- Dividends Manager
- Transfer Manager
- Contract Manager
- Permission Manager
- Time Travel for Contract Testing
Modules
- LockupTransferManager
- VolumeRestrictionTransferManager
- BlacklistTransferManager
- ManualApprovalTransferManager
- CountTransferManager
- GeneralPermissionManager
- PercentageTransferManager
- GeneralTransferManager
- DividendCheckpointModules
- VestingEscrowWallet
- CappedSTO
- USDTieredSTO
- AdvancedPLCRVotingCheckpoint
- VotingCheckpointModules
- Schedule Checkpoint