@1inch/solidity-utils 2.0.3 → 2.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/contracts/GasChecker.sol +1 -1
- package/contracts/libraries/RevertReasonParser.sol +1 -1
- package/contracts/libraries/StringUtil.sol +2 -2
- package/contracts/libraries/UniERC20.sol +1 -1
- package/dist/src/asserts.d.ts +1 -1
- package/dist/src/prelude.d.ts +2 -1
- package/dist/src/prelude.js +1 -0
- package/dist/src/prelude.js.map +1 -1
- package/dist/src/utils.d.ts +6 -1
- package/dist/src/utils.js +5 -3
- package/dist/src/utils.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
package/contracts/GasChecker.sol
CHANGED
|
@@ -15,7 +15,7 @@ import "./StringUtil.sol";
|
|
|
15
15
|
library RevertReasonParser {
|
|
16
16
|
using StringUtil for uint256;
|
|
17
17
|
using StringUtil for bytes;
|
|
18
|
-
|
|
18
|
+
|
|
19
19
|
bytes4 constant private _ERROR_SELECTOR = bytes4(keccak256("Error(string)"));
|
|
20
20
|
bytes4 constant private _PANIC_SELECTOR = bytes4(keccak256("Panic(uint256)"));
|
|
21
21
|
|
|
@@ -58,10 +58,10 @@ library StringUtil {
|
|
|
58
58
|
mstore(toPtr, 0x3078000000000000000000000000000000000000000000000000000000000000) // set 0x as first two bytes
|
|
59
59
|
toPtr := add(toPtr, 0x02)
|
|
60
60
|
|
|
61
|
-
for {
|
|
61
|
+
for {
|
|
62
62
|
let fromPtr := add(data, 0x20)
|
|
63
63
|
let endPtr := add(fromPtr, length)
|
|
64
|
-
} lt(fromPtr, endPtr) {
|
|
64
|
+
} lt(fromPtr, endPtr) {
|
|
65
65
|
fromPtr := add(fromPtr, 0x20)
|
|
66
66
|
} {
|
|
67
67
|
let rawData := mload(fromPtr)
|
package/dist/src/asserts.d.ts
CHANGED
package/dist/src/prelude.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { Assertion, AssertionError, assert, expect, config, should } from 'chai';
|
|
2
2
|
import 'chai-bn';
|
|
3
3
|
import { toBN } from 'web3-utils';
|
|
4
|
-
import BN from
|
|
4
|
+
import BN from 'bn.js';
|
|
5
5
|
export declare const constants: {
|
|
6
6
|
readonly ZERO_ADDRESS: "0x0000000000000000000000000000000000000000";
|
|
7
|
+
readonly EEE_ADDRESS: "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE";
|
|
7
8
|
readonly ZERO_BYTES32: "0x0000000000000000000000000000000000000000000000000000000000000000";
|
|
8
9
|
readonly MAX_UINT256: string;
|
|
9
10
|
readonly MAX_INT256: string;
|
package/dist/src/prelude.js
CHANGED
|
@@ -18,6 +18,7 @@ chai_1.default.use(chai_as_promised_1.default);
|
|
|
18
18
|
const { time: timeImpl } = require('@openzeppelin/test-helpers');
|
|
19
19
|
exports.constants = {
|
|
20
20
|
ZERO_ADDRESS: '0x0000000000000000000000000000000000000000',
|
|
21
|
+
EEE_ADDRESS: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE',
|
|
21
22
|
ZERO_BYTES32: '0x0000000000000000000000000000000000000000000000000000000000000000',
|
|
22
23
|
MAX_UINT256: (0, web3_utils_1.toBN)('2').pow((0, web3_utils_1.toBN)('256')).sub((0, web3_utils_1.toBN)('1')).toString(),
|
|
23
24
|
MAX_INT256: (0, web3_utils_1.toBN)('2').pow((0, web3_utils_1.toBN)('255')).sub((0, web3_utils_1.toBN)('1')).toString(),
|
package/dist/src/prelude.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prelude.js","sourceRoot":"","sources":["../../src/prelude.ts"],"names":[],"mappings":";;;;AAAA,0DAAuF;
|
|
1
|
+
{"version":3,"file":"prelude.js","sourceRoot":"","sources":["../../src/prelude.ts"],"names":[],"mappings":";;;;AAAA,0DAAuF;AAqCnF,0FArCW,gBAAS,OAqCX;AACT,+FAtCsB,qBAAc,OAsCtB;AACd,uFAvCsC,aAAM,OAuCtC;AACN,uFAxC8C,aAAM,OAwC9C;AACN,uFAzCsD,aAAM,OAyCtD;AACN,uFA1C8D,aAAM,OA0C9D;AAzCV,mBAAiB;AACjB,qFAA8C;AAC9C,2CAAyC;AAiBrC,qFAjBK,iBAAI,OAiBL;AAfR,cAAI,CAAC,GAAG,CAAC,0BAAc,CAAC,CAAC;AACzB,8DAA8D;AAC9D,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;AAEpD,QAAA,SAAS,GAAG;IACrB,YAAY,EAAE,4CAA4C;IAC1D,WAAW,EAAE,4CAA4C;IACzD,YAAY,EAAE,oEAAoE;IAClF,WAAW,EAAE,IAAA,iBAAI,EAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAA,iBAAI,EAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,IAAA,iBAAI,EAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE;IACjE,UAAU,EAAE,IAAA,iBAAI,EAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAA,iBAAI,EAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,IAAA,iBAAI,EAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE;IAChE,UAAU,EAAE,IAAA,iBAAI,EAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAA,iBAAI,EAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,IAAA,iBAAI,EAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC3D,CAAC;AAaE,QAAA,IAAI,GAAS,QAAQ,CAAC;AAEnC,SAAgB,KAAK,CAAE,CAAS;IAC5B,OAAO,IAAA,iBAAI,EAAC,IAAA,kBAAK,EAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AACnC,CAAC;AAFD,sBAEC"}
|
package/dist/src/utils.d.ts
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
/// <reference types="bn.js" />
|
|
2
|
+
import { constants } from './prelude';
|
|
2
3
|
export declare function timeIncreaseTo(seconds: number | string | BN): Promise<void>;
|
|
3
4
|
export interface Token extends Truffle.ContractInstance {
|
|
4
5
|
balanceOf(account: string, txDetails?: Truffle.TransactionDetails): Promise<BN>;
|
|
5
6
|
}
|
|
6
|
-
export declare function trackReceivedTokenAndTx<T extends unknown[], U extends Truffle.AnyEvent>(token: Token
|
|
7
|
+
export declare function trackReceivedTokenAndTx<T extends unknown[], U extends Truffle.AnyEvent>(token: Token | {
|
|
8
|
+
address: typeof constants.ZERO_ADDRESS;
|
|
9
|
+
} | {
|
|
10
|
+
address: typeof constants.EEE_ADDRESS;
|
|
11
|
+
}, wallet: string, txPromise: (...args: T) => Promise<Truffle.TransactionResponse<U>>, ...args: T): Promise<readonly [import("bn.js"), Truffle.TransactionResponse<U>]>;
|
|
7
12
|
export declare function fixSignature(signature: string): string;
|
|
8
13
|
export declare function signMessage(signer: string, messageHex?: string): Promise<string>;
|
|
9
14
|
export declare function countInstructions(txHash: string, instructions: string[]): Promise<number[]>;
|
package/dist/src/utils.js
CHANGED
|
@@ -10,13 +10,15 @@ async function timeIncreaseTo(seconds) {
|
|
|
10
10
|
}
|
|
11
11
|
exports.timeIncreaseTo = timeIncreaseTo;
|
|
12
12
|
async function trackReceivedTokenAndTx(token, wallet, txPromise, ...args) {
|
|
13
|
-
const isETH =
|
|
14
|
-
|
|
13
|
+
const [balanceFunc, isETH] = 'balanceOf' in token
|
|
14
|
+
? [() => token.balanceOf(wallet), false]
|
|
15
|
+
: [async () => (0, prelude_1.toBN)(await web3.eth.getBalance(wallet)), true];
|
|
16
|
+
const preBalance = await balanceFunc();
|
|
15
17
|
const txResult = await txPromise(...args);
|
|
16
18
|
const txFees = (wallet.toLowerCase() === txResult.receipt.from.toLowerCase() && isETH)
|
|
17
19
|
? (0, prelude_1.toBN)(txResult.receipt.gasUsed).mul((0, prelude_1.toBN)(txResult.receipt.effectiveGasPrice))
|
|
18
20
|
: (0, prelude_1.toBN)('0');
|
|
19
|
-
const postBalance =
|
|
21
|
+
const postBalance = await balanceFunc();
|
|
20
22
|
return [postBalance.sub(preBalance).add(txFees), txResult];
|
|
21
23
|
}
|
|
22
24
|
exports.trackReceivedTokenAndTx = trackReceivedTokenAndTx;
|
package/dist/src/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":";;;AAAA,+BAAiC;AACjC,uCAAkD;AAE3C,KAAK,UAAU,cAAc,CAAE,OAA6B;IAC/D,MAAM,KAAK,GAAG,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,eAAe,EAAE,CAAC;IAClD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IACzD,MAAM,cAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAJD,wCAIC;AASM,KAAK,UAAU,uBAAuB,CACzC,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
|