aboutsummaryrefslogtreecommitdiffstats
path: root/src/utils
diff options
context:
space:
mode:
Diffstat (limited to 'src/utils')
-rw-r--r--src/utils/abi_decoder.ts5
-rw-r--r--src/utils/interval_utils.ts20
2 files changed, 23 insertions, 2 deletions
diff --git a/src/utils/abi_decoder.ts b/src/utils/abi_decoder.ts
index f988a5695..61c8eecd4 100644
--- a/src/utils/abi_decoder.ts
+++ b/src/utils/abi_decoder.ts
@@ -1,5 +1,6 @@
import * as Web3 from 'web3';
import * as _ from 'lodash';
+import * as BigNumber from 'bignumber.js';
import {AbiType, DecodedLogArgs, DecodedArgs} from '../types';
import * as SolidityCoder from 'web3/lib/solidity/coder';
@@ -31,9 +32,9 @@ export class AbiDecoder {
dataIndex++;
}
if (param.type === 'address') {
- value = this.padZeros(new Web3().toBigNumber(value).toString(16));
+ value = this.padZeros(new BigNumber(value).toString(16));
} else if (param.type === 'uint256' || param.type === 'uint8' || param.type === 'int' ) {
- value = new Web3().toBigNumber(value).toString(10);
+ value = new BigNumber(value);
}
decodedParams[param.name] = value;
});
diff --git a/src/utils/interval_utils.ts b/src/utils/interval_utils.ts
new file mode 100644
index 000000000..1656318e6
--- /dev/null
+++ b/src/utils/interval_utils.ts
@@ -0,0 +1,20 @@
+import * as _ from 'lodash';
+
+export const intervalUtils = {
+ setAsyncExcludingInterval(fn: () => Promise<void>, intervalMs: number) {
+ let locked = false;
+ const intervalId = setInterval(async () => {
+ if (locked) {
+ return;
+ } else {
+ locked = true;
+ await fn();
+ locked = false;
+ }
+ });
+ return intervalId;
+ },
+ clearAsyncExcludingInterval(intervalId: number): void {
+ clearInterval(intervalId);
+ },
+};