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

Commit ad747f4

Browse files
committed
fix: 🐛 implement ErrorCode type on MATM
1 parent 5b70082 commit ad747f4

File tree

2 files changed

+51
-12
lines changed

2 files changed

+51
-12
lines changed

src/contract_wrappers/modules/transfer_manager/manual_approval_transfer_manager_wrapper.ts

Lines changed: 50 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import {
2323
Subscribe,
2424
GetLogs,
2525
Perm,
26-
ErrorCode
26+
ErrorCode,
2727
} from '../../../types';
2828
import {
2929
bigNumberToDate,
@@ -206,8 +206,12 @@ export default class ManualApprovalTransferManagerWrapper extends ModuleWrapper
206206
}
207207

208208
public unpause = async (params: TxParams) => {
209-
assert.assert(await this.paused(), 'Controller not currently paused');
210-
assert.assert(await this.isCallerTheSecurityTokenOwner(params.txData), 'Sender is not owner');
209+
assert.assert(await this.paused(), ErrorCode.PreconditionRequired, 'Controller not currently paused');
210+
assert.assert(
211+
await this.isCallerTheSecurityTokenOwner(params.txData),
212+
ErrorCode.Unauthorized,
213+
'Sender is not owner',
214+
);
211215
return (await this.contract).unpause.sendTransactionAsync(params.txData, params.safetyFactor);
212216
};
213217

@@ -216,8 +220,12 @@ export default class ManualApprovalTransferManagerWrapper extends ModuleWrapper
216220
};
217221

218222
public pause = async (params: TxParams) => {
219-
assert.assert(!(await this.paused()), 'Controller currently paused');
220-
assert.assert(await this.isCallerTheSecurityTokenOwner(params.txData), 'Sender is not owner');
223+
assert.assert(!(await this.paused()), ErrorCode.ContractPaused, 'Controller currently paused');
224+
assert.assert(
225+
await this.isCallerTheSecurityTokenOwner(params.txData),
226+
ErrorCode.Unauthorized,
227+
'Sender is not owner',
228+
);
221229
return (await this.contract).pause.sendTransactionAsync(params.txData, params.safetyFactor);
222230
};
223231

@@ -256,7 +264,11 @@ export default class ManualApprovalTransferManagerWrapper extends ModuleWrapper
256264
};
257265

258266
public addManualApproval = async (params: AddManualApprovalParams) => {
259-
assert.assert(await this.isCallerAllowed(params.txData, Perm.Admin), 'Caller is not allowed');
267+
assert.assert(
268+
await this.isCallerAllowed(params.txData, Perm.Admin),
269+
ErrorCode.Unauthorized,
270+
'Caller is not allowed',
271+
);
260272
assert.isETHAddressHex('from', params.from);
261273
assert.isNonZeroETHAddressHex('to', params.to);
262274
assert.isFutureDate(params.expiryTime, 'ExpiryTime must be in the future');
@@ -275,14 +287,19 @@ export default class ManualApprovalTransferManagerWrapper extends ModuleWrapper
275287
};
276288

277289
public addManualApprovalMulti = async (params: AddManualApprovalMultiParams) => {
278-
assert.assert(await this.isCallerAllowed(params.txData, Perm.Admin), 'Caller is not allowed');
290+
assert.assert(
291+
await this.isCallerAllowed(params.txData, Perm.Admin),
292+
ErrorCode.Unauthorized,
293+
'Caller is not allowed',
294+
);
279295
params.from.forEach(address => assert.isETHAddressHex('from', address));
280296
params.to.forEach(address => assert.isNonZeroETHAddressHex('to', address));
281297
assert.assert(
282298
params.from.length === params.to.length &&
283299
params.from.length === params.allowances.length &&
284300
params.from.length === params.expiryTimes.length &&
285301
params.from.length === params.descriptions.length,
302+
ErrorCode.MismatchedArrayLength,
286303
'Array lengths missmatch',
287304
);
288305
params.expiryTimes.forEach(expiry => assert.isFutureDate(expiry, 'ExpiryTime must be in the future'));
@@ -307,7 +324,11 @@ export default class ManualApprovalTransferManagerWrapper extends ModuleWrapper
307324
};
308325

309326
public modifyManualApproval = async (params: ModifyManualApprovalParams) => {
310-
assert.assert(await this.isCallerAllowed(params.txData, Perm.Admin), 'Caller is not allowed');
327+
assert.assert(
328+
await this.isCallerAllowed(params.txData, Perm.Admin),
329+
ErrorCode.Unauthorized,
330+
'Caller is not allowed',
331+
);
311332
assert.isETHAddressHex('from', params.from);
312333
assert.isNonZeroETHAddressHex('to', params.to);
313334
assert.isFutureDate(params.expiryTime, 'ExpiryTime must be in the future');
@@ -326,14 +347,19 @@ export default class ManualApprovalTransferManagerWrapper extends ModuleWrapper
326347
};
327348

328349
public modifyManualApprovalMulti = async (params: ModifyManualApprovalMultiParams) => {
329-
assert.assert(await this.isCallerAllowed(params.txData, Perm.Admin), 'Caller is not allowed');
350+
assert.assert(
351+
await this.isCallerAllowed(params.txData, Perm.Admin),
352+
ErrorCode.Unauthorized,
353+
'Caller is not allowed',
354+
);
330355
params.from.forEach(address => assert.isETHAddressHex('from', address));
331356
params.to.forEach(address => assert.isNonZeroETHAddressHex('to', address));
332357
assert.assert(
333358
params.from.length === params.to.length &&
334359
params.from.length === params.changedAllowances.length &&
335360
params.from.length === params.expiryTimes.length &&
336361
params.from.length === params.descriptions.length,
362+
ErrorCode.MismatchedArrayLength,
337363
'Array lengths missmatch',
338364
);
339365
params.expiryTimes.forEach(expiry => assert.isFutureDate(expiry, 'ExpiryTime must be in the future'));
@@ -356,7 +382,11 @@ export default class ManualApprovalTransferManagerWrapper extends ModuleWrapper
356382
};
357383

358384
public revokeManualApproval = async (params: RevokeManualApprovalParams) => {
359-
assert.assert(await this.isCallerAllowed(params.txData, Perm.Admin), 'Caller is not allowed');
385+
assert.assert(
386+
await this.isCallerAllowed(params.txData, Perm.Admin),
387+
ErrorCode.Unauthorized,
388+
'Caller is not allowed',
389+
);
360390
assert.isETHAddressHex('from', params.from);
361391
assert.isETHAddressHex('to', params.to);
362392
await this.checkApprovalDoesExist(params.from, params.to);
@@ -369,10 +399,18 @@ export default class ManualApprovalTransferManagerWrapper extends ModuleWrapper
369399
};
370400

371401
public revokeManualApprovalMulti = async (params: RevokeManualApprovalMultiParams) => {
372-
assert.assert(await this.isCallerAllowed(params.txData, Perm.Admin), 'Caller is not allowed');
402+
assert.assert(
403+
await this.isCallerAllowed(params.txData, Perm.Admin),
404+
ErrorCode.Unauthorized,
405+
'Caller is not allowed',
406+
);
373407
params.from.forEach(address => assert.isETHAddressHex('from', address));
374408
params.to.forEach(address => assert.isETHAddressHex('to', address));
375-
assert.assert(params.to.length === params.from.length, 'To and From address arrays must have the same length');
409+
assert.assert(
410+
params.to.length === params.from.length,
411+
ErrorCode.MismatchedLength,
412+
'To and From address arrays must have the same length',
413+
);
376414
const approvals = [];
377415
for (let i = 0; i < params.to.length; i += 1) {
378416
approvals.push(this.checkApprovalDoesExist(params.from[i], params.to[i]));

src/types.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -364,4 +364,5 @@ export enum ErrorCode {
364364
CoinNotAllowed = 'CoinNotAllowed',
365365
AlreadyExists = 'AlreadyExists',
366366
NotFound = 'NotFound',
367+
MismatchedLength = 'MismatchedLength',
367368
}

0 commit comments

Comments
 (0)