@@ -2,8 +2,7 @@ import { RedundantSubprovider, RPCSubprovider, Web3ProviderEngine } from '@0x/su
2
2
import { GeneralPermissionManagerEvents , BigNumber } from '@polymathnetwork/abi-wrappers' ;
3
3
import ModuleFactoryWrapper from '../src/contract_wrappers/modules/module_factory_wrapper' ;
4
4
import { ApiConstructorParams , PolymathAPI } from '../src/PolymathAPI' ;
5
- import { bytes32ToString } from '../src/utils/convert' ;
6
- import { ModuleName , ModuleType , Perm } from '../src' ;
5
+ import { ModuleName , ModuleType , Perm , TransferType } from '../src' ;
7
6
8
7
// This file acts as a valid sandbox for adding a permission manager module on an unlocked node (like ganache)
9
8
@@ -54,11 +53,13 @@ window.addEventListener('load', async () => {
54
53
} ) ;
55
54
56
55
// Generate a security token
57
- await polymathAPI . securityTokenRegistry . generateSecurityToken ( {
56
+ await polymathAPI . securityTokenRegistry . generateNewSecurityToken ( {
58
57
name : tokenName ! ,
59
58
ticker : ticker ! ,
60
- details : 'http://' ,
61
- divisible : false ,
59
+ tokenDetails : 'http://' ,
60
+ divisible : true ,
61
+ treasuryWallet : myAddress ,
62
+ protocolVersion : '0' ,
62
63
} ) ;
63
64
64
65
// Get permission manager factory address
@@ -80,11 +81,7 @@ window.addEventListener('load', async () => {
80
81
names . push ( instanceFactory . name ( ) ) ;
81
82
} ) ;
82
83
const resultNames = await Promise . all ( names ) ;
83
-
84
- const finalNames = resultNames . map ( name => {
85
- return bytes32ToString ( name ) ;
86
- } ) ;
87
- const index = finalNames . indexOf ( moduleStringName ) ;
84
+ const index = resultNames . indexOf ( moduleStringName ) ;
88
85
89
86
// Create a Security Token Instance
90
87
const tickerSecurityTokenInstance = await polymathAPI . tokenFactory . getSecurityTokenInstanceFromTicker ( ticker ! ) ;
@@ -148,21 +145,20 @@ window.addEventListener('load', async () => {
148
145
await generalPM . checkPermission ( { delegate : myAddress , module : generalTMAddress , permission : Perm . Admin } ) ,
149
146
) ;
150
147
151
- // Change allow all whitelist transfers: I_GeneralTransferManager.modifyTransferRequirementsMulti(
152
- // [0, 1, 2],
153
- // [false, false, false],
154
- // [false, false, false],
155
- // [false, false, false],
156
- // [false, false, false],
157
- // { from: token_owner }
158
148
// Use FLAGS permission to allow all whitelist transfers, this validates that the user can use the
159
149
const generalTM = await polymathAPI . moduleFactory . getModuleInstance ( {
160
150
name : ModuleName . GeneralTransferManager ,
161
151
address : generalTMAddress ,
162
152
} ) ;
163
- /*
164
- await generalTM.changeAllowAllWhitelistTransfers({ allowAllWhitelistTransfers: true });
165
- */
153
+
154
+ await generalTM . modifyTransferRequirementsMulti ( {
155
+ transferTypes : [ TransferType . General , TransferType . Issuance , TransferType . Redemption ] ,
156
+ fromValidKYC : [ true , false , false ] ,
157
+ toValidKYC : [ true , false , false ] ,
158
+ fromRestricted : [ true , false , false ] ,
159
+ toRestricted : [ true , false , false ] ,
160
+ } ) ;
161
+
166
162
// Revoking Permission
167
163
const permissionResult = await generalPM . changePermission ( {
168
164
valid : false ,
0 commit comments