Skip to content

Commit 50ebe4c

Browse files
authored
Merge branch 'dev-3.0.0' into datastore
2 parents f269c99 + 40d5b38 commit 50ebe4c

File tree

122 files changed

+15479
-4717
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

122 files changed

+15479
-4717
lines changed

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ cache:
77
jobs:
88
include:
99
- stage: Test
10-
install:
10+
install:
1111
- echo -ne '\n' | sudo add-apt-repository ppa:ethereum/ethereum
1212
- sudo apt-get update
1313
- sudo apt-get install -y dpkg

0

Whitespace-only changes.

CLI/commands/ST20Generator.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,9 @@ async function executeApp(_ticker, _transferOwnership, _name, _details, _divisib
3232
await step_transfer_ticker_ownership(_transferOwnership);
3333
await step_token_deploy(_name, _details, _divisible);
3434
}
35-
await tokenManager.executeApp(tokenSymbol);
35+
if (typeof _divisible === 'undefined') {
36+
await tokenManager.executeApp(tokenSymbol);
37+
}
3638
} catch (err) {
3739
console.log(err);
3840
return;

CLI/commands/TickerRollForward.js

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ let securityTokenRegistry;
2020
let securityTokenRegistryAddress;
2121

2222
function Ticker(_owner, _symbol, _name) {
23-
this.owner = _owner;
24-
this.symbol = _symbol;
25-
this.name = _name;
23+
this.owner = _owner;
24+
this.symbol = _symbol;
25+
this.name = _name;
2626
}
2727

2828
function FailedRegistration(_ticker, _error) {
@@ -58,11 +58,11 @@ async function startScript() {
5858
}
5959

6060
async function readFile() {
61-
var stream = fs.createReadStream("./CLI/data/ticker_data.csv");
61+
var stream = fs.createReadStream(`${__dirname}/../data/ticker_data.csv`);
6262

6363
var csvStream = csv()
6464
.on("data", function (data) {
65-
ticker_data.push(new Ticker(data[0],data[1],data[2],data[3]));
65+
ticker_data.push(new Ticker(data[0], data[1], data[2], data[3]));
6666
})
6767
.on("end", async function () {
6868
await registerTickers();
@@ -73,12 +73,12 @@ async function readFile() {
7373
async function registerTickers() {
7474
// Poly approval for registration fees
7575
let polyBalance = BigNumber(await polyToken.methods.balanceOf(Issuer.address).call());
76-
let fee = web3.utils.fromWei(await securityTokenRegistry.methods.getTickerRegistrationFee().call());
76+
let fee = web3.utils.fromWei(await securityTokenRegistry.methods.getTickerRegistrationFee().call());
7777
let totalFee = BigNumber(ticker_data.length).mul(fee);
7878

7979
if (totalFee.gt(polyBalance)) {
8080
console.log(chalk.red(`\n*******************************************************************************`));
81-
console.log(chalk.red(`Not enough POLY to pay registration fee. Require ${totalFee.div(10**18).toNumber()} POLY but have ${polyBalance.div(10**18).toNumber()} POLY.`));
81+
console.log(chalk.red(`Not enough POLY to pay registration fee. Require ${totalFee.div(10 ** 18).toNumber()} POLY but have ${polyBalance.div(10 ** 18).toNumber()} POLY.`));
8282
console.log(chalk.red(`*******************************************************************************\n`));
8383
process.exit(0);
8484
} else {
@@ -100,7 +100,7 @@ async function registerTickers() {
100100
}
101101

102102
// validate ticker
103-
await securityTokenRegistry.methods.getTickerDetails(ticker_data[i].symbol).call({}, function(error, result){
103+
await securityTokenRegistry.methods.getTickerDetails(ticker_data[i].symbol).call({}, function (error, result) {
104104
if (result[1] != 0) {
105105
failed_tickers.push(` ${i} is already registered`);
106106
valid = false;
@@ -131,7 +131,7 @@ async function logResults() {
131131
Successful registrations: ${registered_tickers.length}
132132
Failed registrations: ${failed_tickers.length}
133133
Total gas consumed: ${totalGas}
134-
Total gas cost: ${defaultGasPrice.mul(totalGas).div(10**18)} ETH
134+
Total gas cost: ${defaultGasPrice.mul(totalGas).div(10 ** 18)} ETH
135135
136136
List of failed registrations:
137137
${failed_tickers}

CLI/commands/common/common_functions.js

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ const Tx = require('ethereumjs-tx');
33
const permissionsList = require('./permissions_list');
44
const abis = require('../helpers/contract_abis');
55

6-
async function connect(abi, address) {
6+
function connect(abi, address) {
77
contractRegistry = new web3.eth.Contract(abi, address);
88
contractRegistry.setProvider(web3.currentProvider);
99
return contractRegistry
@@ -15,7 +15,7 @@ async function checkPermission(contractName, functionName, contractRegistry) {
1515
return true
1616
} else {
1717
let stAddress = await contractRegistry.methods.securityToken().call();
18-
let securityToken = await connect(abis.securityToken(), stAddress);
18+
let securityToken = connect(abis.securityToken(), stAddress);
1919
let stOwner = await securityToken.methods.owner().call();
2020
if (stOwner == Issuer.address) {
2121
return true
@@ -49,7 +49,7 @@ async function getGasLimit(options, action) {
4949

5050
async function checkPermissions(action) {
5151
let contractRegistry = await connect(action._parent.options.jsonInterface, action._parent._address);
52-
//NOTE this is a condition to verify if the transaction comes from a module or not.
52+
//NOTE this is a condition to verify if the transaction comes from a module or not.
5353
if (contractRegistry.methods.hasOwnProperty('factory')) {
5454
let moduleAddress = await contractRegistry.methods.factory().call();
5555
let moduleRegistry = await connect(abis.moduleFactory(), moduleAddress);
@@ -153,10 +153,13 @@ module.exports = {
153153
let filteredLogs = logs.filter(l => l.topics.includes(eventJsonInterface.signature));
154154
return filteredLogs.map(l => web3.eth.abi.decodeLog(eventJsonInterface.inputs, l.data, l.topics.slice(1)));
155155
},
156+
connect: function (abi, address) {
157+
return connect(abi, address)
158+
},
156159
splitIntoBatches: function (data, batchSize) {
157160
let allBatches = [];
158-
for (let index = 0; index < data.length; index += batchSize) {
159-
allBatches.push(data.slice(index, index + batchSize));
161+
for (let index = 0; index < data.length; index += parseInt(batchSize)) {
162+
allBatches.push(data.slice(index, index + parseInt(batchSize)));
160163
}
161164
return allBatches;
162165
},

CLI/commands/common/constants.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ module.exports = Object.freeze({
2929
FUND_RAISE_TYPES: {
3030
ETH: 0,
3131
POLY: 1,
32-
DAI: 2
32+
STABLE: 2
3333
},
3434
DEFAULT_BATCH_SIZE: 75,
3535
ADDRESS_ZERO: '0x0000000000000000000000000000000000000000'

CLI/commands/common/permissions_list.js

Lines changed: 48 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -60,46 +60,68 @@ function getPermissionList() {
6060
},
6161
ManualApprovalTransferManager: {
6262
addManualApproval: "TRANSFER_APPROVAL",
63-
addManualBlocking: "TRANSFER_APPROVAL",
6463
revokeManualApproval: "TRANSFER_APPROVAL",
65-
revokeManualBlocking: "TRANSFER_APPROVAL"
6664
},
6765
PercentageTransferManager: {
6866
modifyWhitelist: "WHITELIST",
6967
modifyWhitelistMulti: "WHITELIST",
7068
setAllowPrimaryIssuance: "ADMIN",
7169
changeHolderPercentage: "ADMIN"
7270
},
73-
LockupVolumeRestrictionTM: {
74-
addLockup: "ADMIN",
75-
addLockUpMulti: "ADMIN",
76-
removeLockUp: "ADMIN",
77-
modifyLockUp: "ADMIN"
71+
VolumeRestrictionTM: {
72+
changeExemptWalletList: "ADMIN",
73+
addIndividualRestriction: "ADMIN",
74+
addIndividualRestrictionMulti: "ADMIN",
75+
addGlobalRestriction: "ADMIN",
76+
addDailyGlobalRestriction: "ADMIN",
77+
removeIndividualRestriction: "ADMIN",
78+
removeIndividualRestrictionMulti: "ADMIN",
79+
removeGlobalRestriction: "ADMIN",
80+
removeDailyGlobalRestriction: "ADMIN",
81+
modifyIndividualRestriction: "ADMIN",
82+
modifyIndividualRestrictionMulti: "ADMIN",
83+
modifyGlobalRestriction: "ADMIN",
84+
modifyDailyGlobalRestriction: "ADMIN"
7885
},
79-
SingleTradeVolumeRestrictionTM: {
80-
setAllowPrimaryIssuance: "ADMIN",
81-
changeTransferLimitToPercentage: "ADMIN",
82-
changeTransferLimitToTokens: "ADMIN",
83-
changeGlobalLimitInTokens: "ADMIN",
84-
changeGlobalLimitInPercentage: "ADMIN",
85-
addExemptWallet: "ADMIN",
86-
removeExemptWallet: "ADMIN",
87-
addExemptWalletMulti: "ADMIN",
88-
removeExemptWalletMulti: "ADMIN",
89-
setTransferLimitInTokens: "ADMIN",
90-
setTransferLimitInPercentage: "ADMIN",
91-
removeTransferLimitInPercentage: "ADMIN",
92-
removeTransferLimitInTokens: "ADMIN",
93-
setTransferLimitInTokensMulti: "ADMIN",
94-
setTransferLimitInPercentageMulti: "ADMIN",
95-
removeTransferLimitInTokensMulti: "ADMIN",
96-
removeTransferLimitInPercentageMulti: "ADMIN"
86+
BlacklistTransferManager: {
87+
addBlacklistType: "ADMIN",
88+
addBlacklistTypeMulti: "ADMIN",
89+
modifyBlacklistType: "ADMIN",
90+
modifyBlacklistTypeMulti: "ADMIN",
91+
deleteBlacklistType: "ADMIN",
92+
deleteBlacklistTypeMulti: "ADMIN",
93+
addInvestorToBlacklist: "ADMIN",
94+
addInvestorToBlacklistMulti: "ADMIN",
95+
addMultiInvestorToBlacklistMulti: "ADMIN",
96+
addInvestorToNewBlacklist: "ADMIN",
97+
deleteInvestorFromAllBlacklist: "ADMIN",
98+
deleteInvestorFromAllBlacklistMulti: "ADMIN",
99+
deleteInvestorFromBlacklist: "ADMIN",
100+
deleteMultiInvestorsFromBlacklistMulti: "ADMIN",
101+
},
102+
VestingEscrowWallet: {
103+
changeTreasuryWallet: "ONLY_OWNER",
104+
depositTokens: "ADMIN",
105+
sendToTreasury: "ADMIN",
106+
pushAvailableTokens: "ADMIN",
107+
addTemplate: "ADMIN",
108+
removeTemplate: "ADMIN",
109+
addSchedule: "ADMIN",
110+
addScheduleFromTemplate: "ADMIN",
111+
modifySchedule: "ADMIN",
112+
revokeSchedule: "ADMIN",
113+
revokeAllSchedules: "ADMIN",
114+
pushAvailableTokensMulti: "ADMIN",
115+
addScheduleMulti: "ADMIN",
116+
addScheduleFromTemplateMulti: "ADMIN",
117+
revokeSchedulesMulti: "ADMIN",
118+
modifyScheduleMulti: "ADMIN"
97119
}
98120
}
99121
}
100122

101123
module.exports = {
102-
verifyPermission: function(contractName, functionName) {
124+
verifyPermission: function (contractName, functionName) {
103125
let list = getPermissionList();
104126
try {
105127
return list[contractName][functionName]

0 commit comments

Comments
 (0)