@1inch/solidity-utils 2.0.15 → 2.0.16
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.
|
@@ -3,14 +3,12 @@
|
|
|
3
3
|
pragma solidity ^0.8.0;
|
|
4
4
|
pragma abicoder v1;
|
|
5
5
|
|
|
6
|
-
import "@openzeppelin/contracts/utils/math/SafeMath.sol";
|
|
7
6
|
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
|
|
8
7
|
import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
|
|
9
8
|
import "./RevertReasonForwarder.sol";
|
|
10
9
|
import "./StringUtil.sol";
|
|
11
10
|
|
|
12
11
|
library UniERC20 {
|
|
13
|
-
using SafeMath for uint256;
|
|
14
12
|
using SafeERC20 for IERC20;
|
|
15
13
|
|
|
16
14
|
error ApproveCalledOnETH();
|
|
@@ -52,7 +50,7 @@ library UniERC20 {
|
|
|
52
50
|
if (to != address(this)) revert ToIsNotThis();
|
|
53
51
|
if (msg.value > amount) {
|
|
54
52
|
// Return remainder if exist
|
|
55
|
-
from.transfer(msg.value
|
|
53
|
+
unchecked { from.transfer(msg.value - amount); }
|
|
56
54
|
}
|
|
57
55
|
} else {
|
|
58
56
|
token.safeTransferFrom(from, to, amount);
|
package/dist/src/prelude.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Assertion, AssertionError, assert, expect, config, should } from 'chai';
|
|
2
2
|
import 'chai-bn';
|
|
3
|
-
import { toBN } from 'web3-utils';
|
|
4
3
|
import BN from 'bn.js';
|
|
4
|
+
export declare function toBN(num: string | number, base?: number | 'hex'): BN;
|
|
5
5
|
export declare const constants: {
|
|
6
6
|
readonly ZERO_ADDRESS: "0x0000000000000000000000000000000000000000";
|
|
7
7
|
readonly EEE_ADDRESS: "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE";
|
|
@@ -10,7 +10,7 @@ export declare const constants: {
|
|
|
10
10
|
readonly MAX_INT256: string;
|
|
11
11
|
readonly MIN_INT256: string;
|
|
12
12
|
};
|
|
13
|
-
export {
|
|
13
|
+
export { BN };
|
|
14
14
|
export declare type Time = {
|
|
15
15
|
increaseTo: (target: string | number | BN) => Promise<BN>;
|
|
16
16
|
latest: () => Promise<BN>;
|
package/dist/src/prelude.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.should = exports.config = exports.expect = exports.assert = exports.AssertionError = exports.Assertion = exports.ether = exports.time = exports.
|
|
3
|
+
exports.should = exports.config = exports.expect = exports.assert = exports.AssertionError = exports.Assertion = exports.ether = exports.time = exports.BN = exports.constants = exports.toBN = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const chai_1 = tslib_1.__importStar(require("chai"));
|
|
6
6
|
Object.defineProperty(exports, "Assertion", { enumerable: true, get: function () { return chai_1.Assertion; } });
|
|
@@ -12,21 +12,26 @@ Object.defineProperty(exports, "should", { enumerable: true, get: function () {
|
|
|
12
12
|
require("chai-bn");
|
|
13
13
|
const chai_as_promised_1 = tslib_1.__importDefault(require("chai-as-promised"));
|
|
14
14
|
const web3_utils_1 = require("web3-utils");
|
|
15
|
-
|
|
15
|
+
const bn_js_1 = tslib_1.__importDefault(require("bn.js"));
|
|
16
|
+
exports.BN = bn_js_1.default;
|
|
16
17
|
chai_1.default.use(chai_as_promised_1.default);
|
|
17
18
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
18
19
|
const { time: timeImpl } = require('@openzeppelin/test-helpers');
|
|
20
|
+
function toBN(num, base) {
|
|
21
|
+
return new bn_js_1.default(num, base);
|
|
22
|
+
}
|
|
23
|
+
exports.toBN = toBN;
|
|
19
24
|
exports.constants = {
|
|
20
25
|
ZERO_ADDRESS: '0x0000000000000000000000000000000000000000',
|
|
21
26
|
EEE_ADDRESS: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE',
|
|
22
27
|
ZERO_BYTES32: '0x0000000000000000000000000000000000000000000000000000000000000000',
|
|
23
|
-
MAX_UINT256:
|
|
24
|
-
MAX_INT256:
|
|
25
|
-
MIN_INT256:
|
|
28
|
+
MAX_UINT256: toBN('2').pow(toBN('256')).sub(toBN('1')).toString(),
|
|
29
|
+
MAX_INT256: toBN('2').pow(toBN('255')).sub(toBN('1')).toString(),
|
|
30
|
+
MIN_INT256: toBN('2').pow(toBN('255')).mul(toBN('-1')).toString(),
|
|
26
31
|
};
|
|
27
32
|
exports.time = timeImpl;
|
|
28
33
|
function ether(n) {
|
|
29
|
-
return
|
|
34
|
+
return toBN((0, web3_utils_1.toWei)(n, 'ether'));
|
|
30
35
|
}
|
|
31
36
|
exports.ether = ether;
|
|
32
37
|
//# sourceMappingURL=prelude.js.map
|
package/dist/src/prelude.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prelude.js","sourceRoot":"","sources":["../../src/prelude.ts"],"names":[],"mappings":";;;;AAAA,qDAAuF;
|
|
1
|
+
{"version":3,"file":"prelude.js","sourceRoot":"","sources":["../../src/prelude.ts"],"names":[],"mappings":";;;;AAAA,qDAAuF;AAyCnF,0FAzCW,gBAAS,OAyCX;AACT,+FA1CsB,qBAAc,OA0CtB;AACd,uFA3CsC,aAAM,OA2CtC;AACN,uFA5C8C,aAAM,OA4C9C;AACN,uFA7CsD,aAAM,OA6CtD;AACN,uFA9C8D,aAAM,OA8C9D;AA7CV,mBAAiB;AACjB,gFAA8C;AAC9C,2CAAmC;AACnC,0DAAuB;AAoBnB,aApBG,eAAE,CAoBH;AAnBN,cAAI,CAAC,GAAG,CAAC,0BAAc,CAAC,CAAC;AACzB,8DAA8D;AAC9D,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;AAEjE,SAAgB,IAAI,CAAE,GAAoB,EAAE,IAAqB;IAC7D,OAAO,IAAI,eAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAC7B,CAAC;AAFD,oBAEC;AAEY,QAAA,SAAS,GAAG;IACrB,YAAY,EAAE,4CAA4C;IAC1D,WAAW,EAAE,4CAA4C;IACzD,YAAY,EAAE,oEAAoE;IAClF,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE;IACjE,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE;IAChE,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC3D,CAAC;AAaE,QAAA,IAAI,GAAS,QAAQ,CAAC;AAEnC,SAAgB,KAAK,CAAE,CAAS;IAC5B,OAAO,IAAI,CAAC,IAAA,kBAAK,EAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AACnC,CAAC;AAFD,sBAEC"}
|