Skip to content
This repository was archived by the owner on Jul 6, 2022. It is now read-only.

Commit 3bf7086

Browse files
committed
fix: 🐛 Fixing GPM example
1 parent 1d65417 commit 3bf7086

File tree

1 file changed

+16
-20
lines changed

1 file changed

+16
-20
lines changed

examples/generalPermissionManager.ts

Lines changed: 16 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@ import { RedundantSubprovider, RPCSubprovider, Web3ProviderEngine } from '@0x/su
22
import { GeneralPermissionManagerEvents, BigNumber } from '@polymathnetwork/abi-wrappers';
33
import ModuleFactoryWrapper from '../src/contract_wrappers/modules/module_factory_wrapper';
44
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';
76

87
// This file acts as a valid sandbox for adding a permission manager module on an unlocked node (like ganache)
98

@@ -54,11 +53,13 @@ window.addEventListener('load', async () => {
5453
});
5554

5655
// Generate a security token
57-
await polymathAPI.securityTokenRegistry.generateSecurityToken({
56+
await polymathAPI.securityTokenRegistry.generateNewSecurityToken({
5857
name: tokenName!,
5958
ticker: ticker!,
60-
details: 'http://',
61-
divisible: false,
59+
tokenDetails: 'http://',
60+
divisible: true,
61+
treasuryWallet: myAddress,
62+
protocolVersion: '0',
6263
});
6364

6465
// Get permission manager factory address
@@ -80,11 +81,7 @@ window.addEventListener('load', async () => {
8081
names.push(instanceFactory.name());
8182
});
8283
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);
8885

8986
// Create a Security Token Instance
9087
const tickerSecurityTokenInstance = await polymathAPI.tokenFactory.getSecurityTokenInstanceFromTicker(ticker!);
@@ -148,21 +145,20 @@ window.addEventListener('load', async () => {
148145
await generalPM.checkPermission({ delegate: myAddress, module: generalTMAddress, permission: Perm.Admin }),
149146
);
150147

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 }
158148
// Use FLAGS permission to allow all whitelist transfers, this validates that the user can use the
159149
const generalTM = await polymathAPI.moduleFactory.getModuleInstance({
160150
name: ModuleName.GeneralTransferManager,
161151
address: generalTMAddress,
162152
});
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+
166162
// Revoking Permission
167163
const permissionResult = await generalPM.changePermission({
168164
valid: false,

0 commit comments

Comments
 (0)