@1inch/solidity-utils 2.2.16 → 2.2.18

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.
@@ -25,8 +25,7 @@ library ECDSA {
25
25
  bytes32 r,
26
26
  bytes32 s
27
27
  ) internal view returns (address signer) {
28
- /// @solidity memory-safe-assembly
29
- assembly { // solhint-disable-line no-inline-assembly
28
+ assembly ("memory-safe") { // solhint-disable-line no-inline-assembly
30
29
  if lt(s, _S_BOUNDARY) {
31
30
  let ptr := mload(0x40)
32
31
 
@@ -46,8 +45,7 @@ library ECDSA {
46
45
  bytes32 r,
47
46
  bytes32 vs
48
47
  ) internal view returns (address signer) {
49
- /// @solidity memory-safe-assembly
50
- assembly { // solhint-disable-line no-inline-assembly
48
+ assembly ("memory-safe") { // solhint-disable-line no-inline-assembly
51
49
  let s := and(vs, _COMPACT_S_MASK)
52
50
  if lt(s, _S_BOUNDARY) {
53
51
  let ptr := mload(0x40)
@@ -71,8 +69,7 @@ library ECDSA {
71
69
  /// signature uniqueness will get rekt.
72
70
  /// More info: https://github.com/OpenZeppelin/openzeppelin-contracts/security/advisories/GHSA-4h98-2769-gh6h
73
71
  function recover(bytes32 hash, bytes calldata signature) internal view returns (address signer) {
74
- /// @solidity memory-safe-assembly
75
- assembly { // solhint-disable-line no-inline-assembly
72
+ assembly ("memory-safe") { // solhint-disable-line no-inline-assembly
76
73
  let ptr := mload(0x40)
77
74
 
78
75
  // memory[ptr:ptr+0x80] = (hash, v, r, s)
@@ -166,8 +163,7 @@ library ECDSA {
166
163
  // (bool success, bytes memory data) = signer.staticcall(abi.encodeWithSelector(IERC1271.isValidSignature.selector, hash, signature));
167
164
  // return success && data.length >= 4 && abi.decode(data, (bytes4)) == IERC1271.isValidSignature.selector;
168
165
  bytes4 selector = IERC1271.isValidSignature.selector;
169
- /// @solidity memory-safe-assembly
170
- assembly { // solhint-disable-line no-inline-assembly
166
+ assembly ("memory-safe") { // solhint-disable-line no-inline-assembly
171
167
  let ptr := mload(0x40)
172
168
 
173
169
  mstore(ptr, selector)
@@ -189,8 +185,7 @@ library ECDSA {
189
185
  bytes32 s
190
186
  ) internal view returns (bool success) {
191
187
  bytes4 selector = IERC1271.isValidSignature.selector;
192
- /// @solidity memory-safe-assembly
193
- assembly { // solhint-disable-line no-inline-assembly
188
+ assembly ("memory-safe") { // solhint-disable-line no-inline-assembly
194
189
  let ptr := mload(0x40)
195
190
 
196
191
  mstore(ptr, selector)
@@ -215,8 +210,7 @@ library ECDSA {
215
210
  // (bool success, bytes memory data) = signer.staticcall(abi.encodeWithSelector(IERC1271.isValidSignature.selector, hash, abi.encodePacked(r, vs)));
216
211
  // return success && data.length >= 4 && abi.decode(data, (bytes4)) == IERC1271.isValidSignature.selector;
217
212
  bytes4 selector = IERC1271.isValidSignature.selector;
218
- /// @solidity memory-safe-assembly
219
- assembly { // solhint-disable-line no-inline-assembly
213
+ assembly ("memory-safe") { // solhint-disable-line no-inline-assembly
220
214
  let ptr := mload(0x40)
221
215
 
222
216
  mstore(ptr, selector)
@@ -240,8 +234,7 @@ library ECDSA {
240
234
  // (bool success, bytes memory data) = signer.staticcall(abi.encodeWithSelector(IERC1271.isValidSignature.selector, hash, abi.encodePacked(r, vs & ~uint256(1 << 255), uint8(vs >> 255))));
241
235
  // return success && data.length >= 4 && abi.decode(data, (bytes4)) == IERC1271.isValidSignature.selector;
242
236
  bytes4 selector = IERC1271.isValidSignature.selector;
243
- /// @solidity memory-safe-assembly
244
- assembly { // solhint-disable-line no-inline-assembly
237
+ assembly ("memory-safe") { // solhint-disable-line no-inline-assembly
245
238
  let ptr := mload(0x40)
246
239
 
247
240
  mstore(ptr, selector)
@@ -260,8 +253,7 @@ library ECDSA {
260
253
  function toEthSignedMessageHash(bytes32 hash) internal pure returns (bytes32 res) {
261
254
  // 32 is the length in bytes of hash, enforced by the type signature above
262
255
  // return keccak256(abi.encodePacked("\x19Ethereum Signed Message:\n32", hash));
263
- /// @solidity memory-safe-assembly
264
- assembly { // solhint-disable-line no-inline-assembly
256
+ assembly ("memory-safe") { // solhint-disable-line no-inline-assembly
265
257
  mstore(0, 0x19457468657265756d205369676e6564204d6573736167653a0a333200000000) // "\x19Ethereum Signed Message:\n32"
266
258
  mstore(28, hash)
267
259
  res := keccak256(0, 60)
@@ -270,8 +262,7 @@ library ECDSA {
270
262
 
271
263
  function toTypedDataHash(bytes32 domainSeparator, bytes32 structHash) internal pure returns (bytes32 res) {
272
264
  // return keccak256(abi.encodePacked("\x19\x01", domainSeparator, structHash));
273
- /// @solidity memory-safe-assembly
274
- assembly { // solhint-disable-line no-inline-assembly
265
+ assembly ("memory-safe") { // solhint-disable-line no-inline-assembly
275
266
  let ptr := mload(0x40)
276
267
  mstore(ptr, 0x1901000000000000000000000000000000000000000000000000000000000000) // "\x19\x01"
277
268
  mstore(add(ptr, 0x02), domainSeparator)
@@ -8,8 +8,7 @@ library RevertReasonForwarder {
8
8
  /// @dev Forwards latest externall call revert.
9
9
  function reRevert() internal pure {
10
10
  // bubble up revert reason from latest external call
11
- /// @solidity memory-safe-assembly
12
- assembly { // solhint-disable-line no-inline-assembly
11
+ assembly ("memory-safe") { // solhint-disable-line no-inline-assembly
13
12
  let ptr := mload(0x40)
14
13
  returndatacopy(ptr, 0, returndatasize())
15
14
  revert(ptr, returndatasize())
@@ -27,8 +27,7 @@ library RevertReasonParser {
27
27
  // We assume that revert reason is abi-encoded as Error(string)
28
28
  bytes4 selector;
29
29
  if (data.length >= 4) {
30
- /// @solidity memory-safe-assembly
31
- assembly { // solhint-disable-line no-inline-assembly
30
+ assembly ("memory-safe") { // solhint-disable-line no-inline-assembly
32
31
  selector := mload(add(data, 0x20))
33
32
  }
34
33
  }
@@ -36,8 +35,7 @@ library RevertReasonParser {
36
35
  // 68 = 4-byte selector + 32 bytes offset + 32 bytes length
37
36
  if (selector == _ERROR_SELECTOR && data.length >= 68) {
38
37
  string memory reason;
39
- /// @solidity memory-safe-assembly
40
- assembly { // solhint-disable-line no-inline-assembly
38
+ assembly ("memory-safe") { // solhint-disable-line no-inline-assembly
41
39
  // 68 = 32 bytes data length + 4-byte selector + 32 bytes offset
42
40
  reason := add(data, 68)
43
41
  }
@@ -55,8 +53,7 @@ library RevertReasonParser {
55
53
  // 36 = 4-byte selector + 32 bytes integer
56
54
  else if (selector == _PANIC_SELECTOR && data.length == 36) {
57
55
  uint256 code;
58
- /// @solidity memory-safe-assembly
59
- assembly { // solhint-disable-line no-inline-assembly
56
+ assembly ("memory-safe") { // solhint-disable-line no-inline-assembly
60
57
  // 36 = 32 bytes data length + 4-byte selector
61
58
  code := mload(add(data, 36))
62
59
  }
@@ -46,8 +46,7 @@ library SafeERC20 {
46
46
  ) internal {
47
47
  bytes4 selector = token.transferFrom.selector;
48
48
  bool success;
49
- /// @solidity memory-safe-assembly
50
- assembly { // solhint-disable-line no-inline-assembly
49
+ assembly ("memory-safe") { // solhint-disable-line no-inline-assembly
51
50
  let data := mload(0x40)
52
51
 
53
52
  mstore(data, selector)
@@ -77,8 +76,7 @@ library SafeERC20 {
77
76
  ) internal {
78
77
  bytes4 selector = IPermit2.transferFrom.selector;
79
78
  bool success;
80
- /// @solidity memory-safe-assembly
81
- assembly { // solhint-disable-line no-inline-assembly
79
+ assembly ("memory-safe") { // solhint-disable-line no-inline-assembly
82
80
  let data := mload(0x40)
83
81
 
84
82
  mstore(data, selector)
@@ -159,8 +157,7 @@ library SafeERC20 {
159
157
  bytes4 permitSelector = IERC20Permit.permit.selector;
160
158
  bytes4 daiPermitSelector = IDaiLikePermit.permit.selector;
161
159
  bytes4 permit2Selector = IPermit2.permit.selector;
162
- /// @solidity memory-safe-assembly
163
- assembly { // solhint-disable-line no-inline-assembly
160
+ assembly ("memory-safe") { // solhint-disable-line no-inline-assembly
164
161
  let ptr := mload(0x40)
165
162
  switch permit.length
166
163
  case 100 {
@@ -189,11 +186,10 @@ library SafeERC20 {
189
186
 
190
187
  // Compact IDaiLikePermit.permit(uint32 nonce, uint32 expiry, uint256 r, uint256 vs)
191
188
  { // stack too deep
192
- let nonce := shr(224, calldataload(permit.offset))
193
189
  let expiry := shr(224, calldataload(add(permit.offset, 0x04)))
194
190
  let vs := calldataload(add(permit.offset, 0x28))
195
191
 
196
- mstore(add(ptr, 0x44), nonce)
192
+ mstore(add(ptr, 0x44), shr(224, calldataload(permit.offset)))
197
193
  mstore(add(ptr, 0x64), sub(expiry, 1))
198
194
  mstore(add(ptr, 0x84), true)
199
195
  mstore(add(ptr, 0xa4), add(27, shr(255, vs)))
@@ -215,12 +211,29 @@ library SafeERC20 {
215
211
  // IDaiLikePermit.permit(address holder, address spender, uint256 nonce, uint256 expiry, bool allowed, uint8 v, bytes32 r, bytes32 s)
216
212
  success := call(gas(), token, 0, ptr, add(4, permit.length), 0, 0)
217
213
  }
214
+ case 128 {
215
+ // Compact IPermit2.permit(address owner, PermitSingle calldata permitSingle, bytes calldata signature)
216
+ mstore(ptr, permit2Selector)
217
+ mstore(add(ptr, 0x04), owner)
218
+ mstore(add(ptr, 0x24), token)
219
+ calldatacopy(add(ptr, 0x50), permit.offset, 0x14) // amount
220
+ calldatacopy(add(ptr, 0x7e), add(permit.offset, 0x14), 0x06) // expiration
221
+ calldatacopy(add(ptr, 0x9e), add(permit.offset, 0x1a), 0x06) // nonce
222
+ mstore(add(ptr, 0xa4), spender)
223
+ calldatacopy(add(ptr, 0xc4), add(permit.offset, 0x20), 0x20) // sigDeadline
224
+ mstore(add(ptr, 0xe4), 0x100)
225
+ mstore(add(ptr, 0x104), 0x40)
226
+ calldatacopy(add(ptr, 0x124), add(permit.offset, 0x40), 0x20) // r
227
+ calldatacopy(add(ptr, 0x144), add(permit.offset, 0x60), 0x20) // vs
228
+ // IPermit2.permit(address owner, PermitSingle calldata permitSingle, bytes calldata signature)
229
+ success := call(gas(), _PERMIT2, 0, ptr, 388, 0, 0)
230
+ }
218
231
  case 384 {
219
232
  mstore(ptr, permit2Selector)
220
233
  calldatacopy(add(ptr, 0x04), permit.offset, permit.length)
221
- success := call(gas(), _PERMIT2, 0, ptr, add(4, permit.length), 0, 0)
234
+ // IPermit2.permit(address owner, PermitSingle calldata permitSingle, bytes calldata signature)
235
+ success := call(gas(), _PERMIT2, 0, ptr, 388, 0, 0)
222
236
  }
223
- // TODO: add case for compact permit2
224
237
  default {
225
238
  mstore(ptr, _PERMIT_LENGHT_ERROR)
226
239
  revert(ptr, 4)
@@ -234,8 +247,7 @@ library SafeERC20 {
234
247
  address to,
235
248
  uint256 amount
236
249
  ) private returns (bool success) {
237
- /// @solidity memory-safe-assembly
238
- assembly { // solhint-disable-line no-inline-assembly
250
+ assembly ("memory-safe") { // solhint-disable-line no-inline-assembly
239
251
  let data := mload(0x40)
240
252
 
241
253
  mstore(data, selector)
@@ -257,8 +269,7 @@ library SafeERC20 {
257
269
  function safeDeposit(IWETH weth, uint256 amount) internal {
258
270
  if (amount > 0) {
259
271
  bytes4 selector = IWETH.deposit.selector;
260
- /// @solidity memory-safe-assembly
261
- assembly { // solhint-disable-line no-inline-assembly
272
+ assembly ("memory-safe") { // solhint-disable-line no-inline-assembly
262
273
  mstore(0, selector)
263
274
  if iszero(call(gas(), weth, amount, 0, 4, 0, 0)) {
264
275
  returndatacopy(0, 0, returndatasize())
@@ -270,8 +281,7 @@ library SafeERC20 {
270
281
 
271
282
  function safeWithdraw(IWETH weth, uint256 amount) internal {
272
283
  bytes4 selector = IWETH.withdraw.selector;
273
- /// @solidity memory-safe-assembly
274
- assembly { // solhint-disable-line no-inline-assembly
284
+ assembly ("memory-safe") { // solhint-disable-line no-inline-assembly
275
285
  mstore(0, selector)
276
286
  mstore(4, amount)
277
287
  if iszero(call(gas(), weth, 0, 0, 0x24, 0, 0)) {
@@ -284,8 +294,7 @@ library SafeERC20 {
284
294
  function safeWithdrawTo(IWETH weth, uint256 amount, address to) internal {
285
295
  safeWithdraw(weth, amount);
286
296
  if (to != address(this)) {
287
- /// @solidity memory-safe-assembly
288
- assembly { // solhint-disable-line no-inline-assembly
297
+ assembly ("memory-safe") { // solhint-disable-line no-inline-assembly
289
298
  if iszero(call(gas(), to, amount, 0, 0, 0, 0)) {
290
299
  returndatacopy(0, 0, returndatasize())
291
300
  revert(0, returndatasize())
@@ -16,8 +16,7 @@ library StringUtil {
16
16
  /// @dev this is the assembly adaptation of highly optimized toHex16 code from Mikhail Vladimirov
17
17
  /// https://stackoverflow.com/a/69266989
18
18
  function toHex(bytes memory data) internal pure returns (string memory result) {
19
- /// @solidity memory-safe-assembly
20
- assembly { // solhint-disable-line no-inline-assembly
19
+ assembly ("memory-safe") { // solhint-disable-line no-inline-assembly
21
20
  function _toHex16(input) -> output {
22
21
  output := or(
23
22
  and(input, 0xFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000),
@@ -133,8 +133,7 @@ library UniERC20 {
133
133
  that overall data length is greater or equal than string length + extra 64 bytes
134
134
  */
135
135
  if (offset == 0x20 && data.length >= 0x40 + len) {
136
- /// @solidity memory-safe-assembly
137
- assembly { // solhint-disable-line no-inline-assembly
136
+ assembly ("memory-safe") { // solhint-disable-line no-inline-assembly
138
137
  result := add(data, 0x40)
139
138
  }
140
139
  return result;
@@ -149,8 +148,7 @@ library UniERC20 {
149
148
  }
150
149
 
151
150
  if (len > 0) {
152
- /// @solidity memory-safe-assembly
153
- assembly { // solhint-disable-line no-inline-assembly
151
+ assembly ("memory-safe") { // solhint-disable-line no-inline-assembly
154
152
  mstore(data, len)
155
153
  }
156
154
  return string(data);
@@ -64,6 +64,6 @@ export declare function buildDataLikeDai(name: string, version: string, chainId:
64
64
  };
65
65
  export declare function permit2Contract(): Promise<Contract>;
66
66
  export declare function getPermit(owner: Wallet | SignerWithAddress, permitContract: Contract, tokenVersion: string, chainId: number, spender: string, value: string, deadline?: string, compact?: boolean): Promise<string>;
67
- export declare function getPermit2(owner: Wallet | SignerWithAddress, token: string, chainId: number, spender: string, amount: bigint, expiration?: bigint, sigDeadline?: bigint): Promise<string>;
67
+ export declare function getPermit2(owner: Wallet | SignerWithAddress, token: string, chainId: number, spender: string, amount: bigint, compact?: boolean, expiration?: bigint, sigDeadline?: bigint): Promise<string>;
68
68
  export declare function getPermitLikeDai(holder: Wallet | SignerWithAddress, permitContract: Contract, tokenVersion: string, chainId: number, spender: string, allowed: boolean, expiry?: string, compact?: boolean): Promise<string>;
69
69
  export declare function withTarget(target: bigint | string, data: bigint | string): string;
@@ -106,7 +106,7 @@ exports.getPermit = getPermit;
106
106
  /*
107
107
  * @param permit2Contract The contract object for Permit2 Uniswap contract.
108
108
  */
109
- async function getPermit2(owner, token, chainId, spender, amount, expiration = exports.defaultDeadlinePermit2, sigDeadline = exports.defaultDeadlinePermit2) {
109
+ async function getPermit2(owner, token, chainId, spender, amount, compact = false, expiration = exports.defaultDeadlinePermit2, sigDeadline = exports.defaultDeadlinePermit2) {
110
110
  const permitContract = await permit2Contract();
111
111
  const nonce = (await permitContract.allowance(owner.address, token, spender)).nonce;
112
112
  const details = {
@@ -122,6 +122,12 @@ async function getPermit2(owner, token, chainId, spender, amount, expiration = e
122
122
  };
123
123
  const data = permit2_sdk_1.AllowanceTransfer.getPermitData(permitSingle, permitContract.address, chainId);
124
124
  const signature = await owner._signTypedData(data.domain, data.types, data.values);
125
+ const { v, r, s } = hardhat_1.ethers.utils.splitSignature(signature);
126
+ if (compact) {
127
+ return '0x' + amount.toString(16).padStart(40, '0') + expiration.toString(16).padStart(12, '0') +
128
+ BigInt(nonce).toString(16).padStart(12, '0') + sigDeadline.toString(16).padStart(64, '0') +
129
+ BigInt(r).toString(16).padStart(64, '0') + (BigInt(s) | (BigInt(v - 27) << 255n)).toString(16).padStart(64, '0');
130
+ }
125
131
  const permitCall = await permitContract.populateTransaction.permit(owner.address, permitSingle, signature);
126
132
  return cutSelector(permitCall.data);
127
133
  }
@@ -1 +1 @@
1
- {"version":3,"file":"permit.js","sourceRoot":"","sources":["../../src/permit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permit.js","sourceRoot":"","sources":["../../src/permit.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1inch/solidity-utils",
3
- "version": "2.2.16",
3
+ "version": "2.2.18",
4
4
  "main": "dist/src/index.js",
5
5
  "types": "dist/src/index.d.ts",
6
6
  "repository": {