@1inch/solidity-utils 2.2.21 → 2.2.22

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.
@@ -175,7 +175,7 @@ library SafeERC20 {
175
175
  calldatacopy(add(ptr, 0xa4), add(permit.offset, 0x24), 0x20) // r
176
176
  mstore(add(ptr, 0xc4), shr(1, shl(1, vs)))
177
177
  }
178
- // IERC20Permit.permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s)
178
+ // IERC20Permit.permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s)
179
179
  success := call(gas(), token, 0, ptr, 0xe4, 0, 0)
180
180
  }
181
181
  case 72 {
@@ -201,7 +201,7 @@ library SafeERC20 {
201
201
  case 224 {
202
202
  mstore(ptr, permitSelector)
203
203
  calldatacopy(add(ptr, 0x04), permit.offset, permit.length)
204
- // IERC20Permit.permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s)
204
+ // IERC20Permit.permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s)
205
205
  success := call(gas(), token, 0, ptr, add(4, permit.length), 0, 0)
206
206
  }
207
207
  case 256 {
@@ -210,28 +210,28 @@ library SafeERC20 {
210
210
  // IDaiLikePermit.permit(address holder, address spender, uint256 nonce, uint256 expiry, bool allowed, uint8 v, bytes32 r, bytes32 s)
211
211
  success := call(gas(), token, 0, ptr, add(4, permit.length), 0, 0)
212
212
  }
213
- case 128 {
214
- // Compact IPermit2.permit(address owner, PermitSingle calldata permitSingle, bytes calldata signature)
213
+ case 96 {
214
+ // Compact IPermit2.permit(uint160 amount, uint32 expiration, uint32 nonce, uint32 sigDeadline, uint256 r, uint256 vs)
215
215
  mstore(ptr, permit2Selector)
216
216
  mstore(add(ptr, 0x04), owner)
217
217
  mstore(add(ptr, 0x24), token)
218
218
  calldatacopy(add(ptr, 0x50), permit.offset, 0x14) // amount
219
- calldatacopy(add(ptr, 0x7e), add(permit.offset, 0x14), 0x06) // expiration
220
- calldatacopy(add(ptr, 0x9e), add(permit.offset, 0x1a), 0x06) // nonce
219
+ mstore(add(ptr, 0x64), and(0xffffffffffff, sub(shr(224, calldataload(add(permit.offset, 0x14))), 1))) // expiration
220
+ mstore(add(ptr, 0x84), shr(224, calldataload(add(permit.offset, 0x18)))) // nonce
221
221
  mstore(add(ptr, 0xa4), spender)
222
- calldatacopy(add(ptr, 0xc4), add(permit.offset, 0x20), 0x20) // sigDeadline
222
+ mstore(add(ptr, 0xc4), and(0xffffffffffff, sub(shr(224, calldataload(add(permit.offset, 0x1c))), 1))) // sigDeadline
223
223
  mstore(add(ptr, 0xe4), 0x100)
224
224
  mstore(add(ptr, 0x104), 0x40)
225
- calldatacopy(add(ptr, 0x124), add(permit.offset, 0x40), 0x20) // r
226
- calldatacopy(add(ptr, 0x144), add(permit.offset, 0x60), 0x20) // vs
225
+ calldatacopy(add(ptr, 0x124), add(permit.offset, 0x20), 0x20) // r
226
+ calldatacopy(add(ptr, 0x144), add(permit.offset, 0x40), 0x20) // vs
227
227
  // IPermit2.permit(address owner, PermitSingle calldata permitSingle, bytes calldata signature)
228
- success := call(gas(), _PERMIT2, 0, ptr, 388, 0, 0)
228
+ success := call(gas(), _PERMIT2, 0, ptr, 356, 0, 0)
229
229
  }
230
- case 384 {
230
+ case 352 {
231
231
  mstore(ptr, permit2Selector)
232
232
  calldatacopy(add(ptr, 0x04), permit.offset, permit.length)
233
233
  // IPermit2.permit(address owner, PermitSingle calldata permitSingle, bytes calldata signature)
234
- success := call(gas(), _PERMIT2, 0, ptr, 388, 0, 0)
234
+ success := call(gas(), _PERMIT2, 0, ptr, 356, 0, 0)
235
235
  }
236
236
  default {
237
237
  mstore(ptr, _PERMIT_LENGHT_ERROR)
@@ -67,3 +67,5 @@ export declare function getPermit(owner: Wallet | SignerWithAddress, permitContr
67
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;
70
+ export declare function compressPermit(permit: string): string;
71
+ export declare function decompressPermit(permit: string, token: string, owner: string, spender: string): string;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.withTarget = exports.getPermitLikeDai = exports.getPermit2 = exports.getPermit = exports.permit2Contract = exports.buildDataLikeDai = exports.buildData = exports.domainSeparator = exports.cutSelector = exports.trim0x = exports.DaiLikePermit = exports.Permit = exports.EIP712Domain = exports.defaultDeadlinePermit2 = exports.defaultDeadline = exports.TypedDataVersion = void 0;
3
+ exports.decompressPermit = exports.compressPermit = exports.withTarget = exports.getPermitLikeDai = exports.getPermit2 = exports.getPermit = exports.permit2Contract = exports.buildDataLikeDai = exports.buildData = exports.domainSeparator = exports.cutSelector = exports.trim0x = exports.DaiLikePermit = exports.Permit = exports.EIP712Domain = exports.defaultDeadlinePermit2 = exports.defaultDeadline = exports.TypedDataVersion = void 0;
4
4
  require("@nomiclabs/hardhat-ethers");
5
5
  const eth_sig_util_1 = require("@metamask/eth-sig-util");
6
6
  const prelude_1 = require("./prelude");
@@ -81,26 +81,8 @@ async function getPermit(owner, permitContract, tokenVersion, chainId, spender,
81
81
  const data = buildData(name, tokenVersion, chainId, permitContract.address, owner.address, spender, value, nonce.toString(), deadline);
82
82
  const signature = await owner._signTypedData(data.domain, data.types, data.message);
83
83
  const { v, r, s } = (0, utils_1.splitSignature)(signature);
84
- if (compact) {
85
- if (BigInt(deadline) !== prelude_1.constants.MAX_UINT256 && BigInt(deadline) >= (1n << 32n)) {
86
- throw new Error('Deadline is too big for the compact mode');
87
- }
88
- return '0x' +
89
- BigInt(value).toString(16).padStart(64, '0') +
90
- (deadline === prelude_1.constants.MAX_UINT256.toString() ? '00000000' : (BigInt(deadline) + 1n).toString(16).padStart(8, '0')) +
91
- BigInt(r).toString(16).padStart(64, '0') +
92
- (BigInt(s) | (BigInt(v - 27) << 255n)).toString(16).padStart(64, '0');
93
- }
94
- const permitCall = permitContract.interface.encodeFunctionData('permit', [
95
- owner.address,
96
- spender,
97
- value,
98
- deadline,
99
- v,
100
- r,
101
- s,
102
- ]);
103
- return cutSelector(permitCall);
84
+ const permitCall = cutSelector(permitContract.interface.encodeFunctionData('permit', [owner.address, spender, value, deadline, v, r, s]));
85
+ return compact ? compressPermit(permitCall) : decompressPermit(compressPermit(permitCall), prelude_1.constants.ZERO_ADDRESS, owner.address, spender);
104
86
  }
105
87
  exports.getPermit = getPermit;
106
88
  /*
@@ -121,15 +103,9 @@ async function getPermit2(owner, token, chainId, spender, amount, compact = fals
121
103
  sigDeadline,
122
104
  };
123
105
  const data = permit2_sdk_1.AllowanceTransfer.getPermitData(permitSingle, permitContract.address, chainId);
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
- }
131
- const permitCall = await permitContract.populateTransaction.permit(owner.address, permitSingle, signature);
132
- return cutSelector(permitCall.data);
106
+ const { r, _vs } = hardhat_1.ethers.utils.splitSignature(await owner._signTypedData(data.domain, data.types, data.values));
107
+ const permitCall = cutSelector(permitContract.interface.encodeFunctionData('permit', [owner.address, permitSingle, r + trim0x(_vs)]));
108
+ return compact ? compressPermit(permitCall) : decompressPermit(compressPermit(permitCall), token, owner.address, spender);
133
109
  }
134
110
  exports.getPermit2 = getPermit2;
135
111
  /*
@@ -141,22 +117,128 @@ async function getPermitLikeDai(holder, permitContract, tokenVersion, chainId, s
141
117
  const data = buildDataLikeDai(name, tokenVersion, chainId, permitContract.address, holder.address, spender, nonce.toString(), allowed, expiry);
142
118
  const signature = await holder._signTypedData(data.domain, data.types, data.message);
143
119
  const { v, r, s } = (0, utils_1.splitSignature)(signature);
144
- if (compact) {
145
- if (BigInt(expiry) !== prelude_1.constants.MAX_UINT256 && BigInt(expiry) >= (1n << 32n)) {
146
- throw new Error('Expiry is too big for the compact mode');
147
- }
148
- return '0x' +
149
- BigInt(nonce).toString(16).padStart(8, '0') +
150
- (expiry === prelude_1.constants.MAX_UINT256.toString() ? '00000000' : (BigInt(expiry) + 1n).toString(16).padStart(8, '0')) +
151
- BigInt(r).toString(16).padStart(64, '0') +
152
- (BigInt(s) | (BigInt(v - 27) << 255n)).toString(16).padStart(64, '0');
153
- }
154
- const permitCall = permitContract.interface.encodeFunctionData('permit(address,address,uint256,uint256,bool,uint8,bytes32,bytes32)', [holder.address, spender, nonce, expiry, allowed, v, r, s]);
155
- return cutSelector(permitCall);
120
+ const permitCall = cutSelector(permitContract.interface.encodeFunctionData('permit(address,address,uint256,uint256,bool,uint8,bytes32,bytes32)', [holder.address, spender, nonce, expiry, allowed, v, r, s]));
121
+ return compact ? compressPermit(permitCall) : decompressPermit(compressPermit(permitCall), prelude_1.constants.ZERO_ADDRESS, holder.address, spender);
156
122
  }
157
123
  exports.getPermitLikeDai = getPermitLikeDai;
158
124
  function withTarget(target, data) {
159
125
  return target.toString() + trim0x(data);
160
126
  }
161
127
  exports.withTarget = withTarget;
128
+ // Type | EIP-2612 | DAI | Permit2
129
+ // Uncompressed | 224 | 256 | 352
130
+ // Compressed | 100 | 72 | 96
131
+ function compressPermit(permit) {
132
+ const abiCoder = hardhat_1.ethers.utils.defaultAbiCoder;
133
+ switch (permit.length) {
134
+ case 450: {
135
+ // IERC20Permit.permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s)
136
+ const args = abiCoder.decode(['address owner', 'address spender', 'uint256 value', 'uint256 deadline', 'uint8 v', 'bytes32 r', 'bytes32 s'], permit);
137
+ // Compact IERC20Permit.permit(uint256 value, uint32 deadline, uint256 r, uint256 vs)
138
+ return '0x' + args.value.toBigInt().toString(16).padStart(64, '0') +
139
+ (args.deadline.toString() === prelude_1.constants.MAX_UINT256.toString() ? '00000000' : (args.expiry.toBigInt() + 1n).toString(16).padStart(8, '0')) +
140
+ BigInt(args.r).toString(16).padStart(64, '0') +
141
+ ((BigInt(args.v - 27) << 255n) | BigInt(args.s)).toString(16).padStart(64, '0');
142
+ }
143
+ case 514: {
144
+ // IDaiLikePermit.permit(address holder, address spender, uint256 nonce, uint256 expiry, bool allowed, uint8 v, bytes32 r, bytes32 s)
145
+ const args = abiCoder.decode(['address holder', 'address spender', 'uint256 nonce', 'uint256 expiry', 'bool allowed', 'uint8 v', 'bytes32 r', 'bytes32 s'], permit);
146
+ // Compact IDaiLikePermit.permit(uint32 nonce, uint32 expiry, uint256 r, uint256 vs)
147
+ return '0x' + args.nonce.toBigInt().toString(16).padStart(8, '0') +
148
+ (args.expiry.toString() === prelude_1.constants.MAX_UINT256.toString() ? '00000000' : (args.expiry.toBigInt() + 1n).toString(16).padStart(8, '0')) +
149
+ BigInt(args.r).toString(16).padStart(64, '0') +
150
+ ((BigInt(args.v - 27) << 255n) | BigInt(args.s)).toString(16).padStart(64, '0');
151
+ }
152
+ case 706: {
153
+ // IPermit2.permit(address owner, PermitSingle calldata permitSingle, bytes calldata signature)
154
+ const args = abiCoder.decode(['address owner', 'address token', 'uint160 amount', 'uint48 expiration', 'uint48 nonce', 'address spender', 'uint256 sigDeadline', 'bytes signature'], permit);
155
+ // Compact IPermit2.permit(uint160 amount, uint32 expiration, uint32 nonce, uint32 sigDeadline, uint256 r, uint256 vs)
156
+ return '0x' + args.amount.toBigInt().toString(16).padStart(40, '0') +
157
+ (args.expiration.toString() === prelude_1.constants.MAX_UINT48.toString() ? '00000000' : (args.expiration.toBigInt() + 1n).toString(16).padStart(8, '0')) +
158
+ args.nonce.toString(16).padStart(8, '0') +
159
+ (args.sigDeadline.toString() === prelude_1.constants.MAX_UINT48.toString() ? '00000000' : (args.sigDeadline.toBigInt() + 1n).toString(16).padStart(8, '0')) +
160
+ BigInt(args.signature).toString(16).padStart(128, '0');
161
+ }
162
+ case 202:
163
+ case 146:
164
+ case 194:
165
+ throw new Error('Permit is already compressed');
166
+ default:
167
+ throw new Error('Invalid permit length');
168
+ }
169
+ }
170
+ exports.compressPermit = compressPermit;
171
+ function decompressPermit(permit, token, owner, spender) {
172
+ const abiCoder = hardhat_1.ethers.utils.defaultAbiCoder;
173
+ switch (permit.length) {
174
+ case 202: {
175
+ // Compact IERC20Permit.permit(uint256 value, uint32 deadline, uint256 r, uint256 vs)
176
+ const args = {
177
+ value: BigInt(permit.slice(0, 66)),
178
+ deadline: BigInt('0x' + permit.slice(66, 74)),
179
+ r: '0x' + permit.slice(74, 138),
180
+ vs: BigInt('0x' + permit.slice(138, 202)),
181
+ };
182
+ // IERC20Permit.permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s)
183
+ return abiCoder.encode(['address owner', 'address spender', 'uint256 value', 'uint256 deadline', 'uint8 v', 'bytes32 r', 'bytes32 s'], [
184
+ owner,
185
+ spender,
186
+ args.value,
187
+ args.deadline === 0n ? prelude_1.constants.MAX_UINT256 : args.deadline - 1n,
188
+ Number(args.vs >> 255n) + 27,
189
+ args.r,
190
+ '0x' + (args.vs & 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn).toString(16),
191
+ ]);
192
+ }
193
+ case 146: {
194
+ // Compact IDaiLikePermit.permit(uint32 nonce, uint32 expiry, uint256 r, uint256 vs)
195
+ const args = {
196
+ nonce: BigInt(permit.slice(0, 10)),
197
+ expiry: BigInt('0x' + permit.slice(10, 18)),
198
+ r: '0x' + permit.slice(18, 82),
199
+ vs: BigInt('0x' + permit.slice(82, 146)),
200
+ };
201
+ // IDaiLikePermit.permit(address holder, address spender, uint256 nonce, uint256 expiry, bool allowed, uint8 v, bytes32 r, bytes32 s)
202
+ return abiCoder.encode(['address holder', 'address spender', 'uint256 nonce', 'uint256 expiry', 'bool allowed', 'uint8 v', 'bytes32 r', 'bytes32 s'], [
203
+ owner,
204
+ spender,
205
+ args.nonce,
206
+ args.expiry === 0n ? prelude_1.constants.MAX_UINT256 : args.expiry - 1n,
207
+ true,
208
+ Number(args.vs >> 255n) + 27,
209
+ args.r,
210
+ '0x' + (args.vs & 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn).toString(16),
211
+ ]);
212
+ }
213
+ case 194: {
214
+ // Compact IPermit2.permit(uint160 amount, uint32 expiration, uint32 nonce, uint32 sigDeadline, uint256 r, uint256 vs)
215
+ const args = {
216
+ amount: BigInt(permit.slice(0, 42)),
217
+ expiration: BigInt('0x' + permit.slice(42, 50)),
218
+ nonce: BigInt('0x' + permit.slice(50, 58)),
219
+ sigDeadline: BigInt('0x' + permit.slice(58, 66)),
220
+ r: '0x' + permit.slice(66, 130),
221
+ vs: '0x' + permit.slice(130, 194),
222
+ };
223
+ // IPermit2.permit(address owner, PermitSingle calldata permitSingle, bytes calldata signature)
224
+ return abiCoder.encode(['address owner', 'address token', 'uint160 amount', 'uint48 expiration', 'uint48 nonce', 'address spender', 'uint256 sigDeadline', 'bytes signature'], [
225
+ owner,
226
+ token,
227
+ args.amount,
228
+ args.expiration === 0n ? prelude_1.constants.MAX_UINT48 : args.expiration - 1n,
229
+ args.nonce,
230
+ spender,
231
+ args.sigDeadline === 0n ? prelude_1.constants.MAX_UINT48 : args.sigDeadline - 1n,
232
+ args.r + trim0x(args.vs),
233
+ ]);
234
+ }
235
+ case 450:
236
+ case 514:
237
+ case 706:
238
+ throw new Error('Permit is already decompressed');
239
+ default:
240
+ throw new Error('Invalid permit length');
241
+ }
242
+ }
243
+ exports.decompressPermit = decompressPermit;
162
244
  //# sourceMappingURL=permit.js.map
@@ -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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"}
@@ -9,6 +9,7 @@ export declare const constants: {
9
9
  readonly MAX_UINT48: bigint;
10
10
  readonly MIN_INT256: bigint;
11
11
  readonly MAX_UINT128: bigint;
12
+ readonly MAX_UINT32: bigint;
12
13
  };
13
14
  export { time };
14
15
  export declare function ether(n: string): bigint;
@@ -20,6 +20,7 @@ exports.constants = {
20
20
  MAX_UINT48: 2n ** 48n - 1n,
21
21
  MIN_INT256: -(2n ** 255n),
22
22
  MAX_UINT128: 2n ** 128n - 1n,
23
+ MAX_UINT32: 2n ** 32n - 1n,
23
24
  };
24
25
  function ether(n) {
25
26
  return (0, utils_1.parseUnits)(n).toBigInt();
@@ -1 +1 @@
1
- {"version":3,"file":"prelude.js","sourceRoot":"","sources":["../../src/prelude.ts"],"names":[],"mappings":";;;AAAA,+BAAiF;AAuBxE,0FAvBA,gBAAS,OAuBA;AAAE,+FAvBA,qBAAc,OAuBA;AAAE,uFAvBA,aAAM,OAuBA;AAAE,uFAvBA,aAAM,OAuBA;AAAE,uFAvBA,aAAM,OAuBA;AAAE,uFAvBA,aAAM,OAuBA;AAtBlE,4CAA8C;AAC9C,sFAAgE;AAcvD,qFAdA,8BAAI,OAcA;AAZA,QAAA,SAAS,GAAG;IACrB,YAAY,EAAE,4CAA4C;IAC1D,WAAW,EAAE,4CAA4C;IACzD,YAAY,EAAE,oEAAoE;IAClF,WAAW,EAAE,EAAE,IAAI,IAAI,GAAG,EAAE;IAC5B,UAAU,EAAE,EAAE,IAAI,IAAI,GAAG,EAAE;IAC3B,UAAU,EAAE,EAAE,IAAI,GAAG,GAAG,EAAE;IAC1B,UAAU,EAAE,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC;IACzB,WAAW,EAAE,EAAE,IAAI,IAAI,GAAG,EAAE;CACtB,CAAC;AAKX,SAAgB,KAAK,CAAC,CAAS;IAC3B,OAAO,IAAA,kBAAU,EAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;AACpC,CAAC;AAFD,sBAEC"}
1
+ {"version":3,"file":"prelude.js","sourceRoot":"","sources":["../../src/prelude.ts"],"names":[],"mappings":";;;AAAA,+BAAiF;AAwBxE,0FAxBA,gBAAS,OAwBA;AAAE,+FAxBA,qBAAc,OAwBA;AAAE,uFAxBA,aAAM,OAwBA;AAAE,uFAxBA,aAAM,OAwBA;AAAE,uFAxBA,aAAM,OAwBA;AAAE,uFAxBA,aAAM,OAwBA;AAvBlE,4CAA8C;AAC9C,sFAAgE;AAevD,qFAfA,8BAAI,OAeA;AAbA,QAAA,SAAS,GAAG;IACrB,YAAY,EAAE,4CAA4C;IAC1D,WAAW,EAAE,4CAA4C;IACzD,YAAY,EAAE,oEAAoE;IAClF,WAAW,EAAE,EAAE,IAAI,IAAI,GAAG,EAAE;IAC5B,UAAU,EAAE,EAAE,IAAI,IAAI,GAAG,EAAE;IAC3B,UAAU,EAAE,EAAE,IAAI,GAAG,GAAG,EAAE;IAC1B,UAAU,EAAE,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC;IACzB,WAAW,EAAE,EAAE,IAAI,IAAI,GAAG,EAAE;IAC5B,UAAU,EAAE,EAAE,IAAI,GAAG,GAAG,EAAE;CACpB,CAAC;AAKX,SAAgB,KAAK,CAAC,CAAS;IAC3B,OAAO,IAAA,kBAAU,EAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;AACpC,CAAC;AAFD,sBAEC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1inch/solidity-utils",
3
- "version": "2.2.21",
3
+ "version": "2.2.22",
4
4
  "main": "dist/src/index.js",
5
5
  "types": "dist/src/index.d.ts",
6
6
  "repository": {
@@ -12,7 +12,7 @@
12
12
  "clean": "rimraf artifacts cache coverage contracts/hardhat-dependency-compiler dist typechain-types",
13
13
  "build": "yarn typechain && cti src -b && tsc -p tsconfig.publish.json",
14
14
  "prepack": "yarn clean && yarn build",
15
- "coverage": "skip_on_coverage=true hardhat coverage",
15
+ "coverage": "hardhat coverage",
16
16
  "format": "yarn format-ts && yarn format-sol",
17
17
  "format-ts": "prettier '**/*.ts' --write",
18
18
  "format-sol": "prettier '**/*.sol' --write",
@@ -28,50 +28,50 @@
28
28
  "typechain": "hardhat typechain"
29
29
  },
30
30
  "dependencies": {
31
- "@metamask/eth-sig-util": "4.0.1",
32
- "@nomicfoundation/hardhat-network-helpers": "1.0.6",
33
- "@nomiclabs/hardhat-ethers": "2.1.1",
34
- "@openzeppelin/contracts": "4.7.3",
31
+ "@metamask/eth-sig-util": "5.0.2",
32
+ "@nomicfoundation/hardhat-network-helpers": "1.0.8",
33
+ "@nomiclabs/hardhat-ethers": "2.2.2",
34
+ "@openzeppelin/contracts": "4.8.2",
35
35
  "@uniswap/permit2-sdk": "^1.2.0",
36
36
  "ethereumjs-util": "7.1.5",
37
- "ethers": "5.7.1"
37
+ "ethers": "5.7.2"
38
38
  },
39
39
  "devDependencies": {
40
- "@nomicfoundation/hardhat-chai-matchers": "1.0.3",
41
- "@typechain/ethers-v5": "10.1.0",
42
- "@typechain/hardhat": "6.1.3",
43
- "@types/chai": "4.3.3",
40
+ "@nomicfoundation/hardhat-chai-matchers": "1.0.6",
41
+ "@typechain/ethers-v5": "10.2.0",
42
+ "@typechain/hardhat": "6.1.5",
43
+ "@types/chai": "4.3.4",
44
44
  "@types/eth-sig-util": "2.1.1",
45
45
  "@types/ethereumjs-util": "6.1.0",
46
- "@types/mocha": "9.1.1",
47
- "@types/node": "18.7.21",
48
- "@typescript-eslint/eslint-plugin": "5.38.0",
49
- "@typescript-eslint/parser": "5.38.0",
50
- "acquit": "1.2.1",
51
- "chai": "4.3.6",
52
- "commander": "9.4.0",
46
+ "@types/mocha": "10.0.1",
47
+ "@types/node": "18.15.10",
48
+ "@typescript-eslint/eslint-plugin": "5.57.0",
49
+ "@typescript-eslint/parser": "5.57.0",
50
+ "acquit": "1.3.0",
51
+ "chai": "4.3.7",
52
+ "commander": "10.0.0",
53
53
  "create-ts-index": "1.14.0",
54
54
  "cross-spawn": "7.0.3",
55
- "dotenv": "16.0.2",
56
- "eslint": "8.23.1",
55
+ "dotenv": "16.0.3",
56
+ "eslint": "8.36.0",
57
57
  "eslint-config-standard": "17.0.0",
58
- "eslint-plugin-import": "2.26.0",
59
- "eslint-plugin-n": "15.2.5",
60
- "eslint-plugin-promise": "6.0.1",
58
+ "eslint-plugin-import": "2.27.5",
59
+ "eslint-plugin-n": "15.6.1",
60
+ "eslint-plugin-promise": "6.1.1",
61
61
  "eslint-plugin-standard": "5.0.0",
62
62
  "ethereumjs-wallet": "1.0.2",
63
- "hardhat": "2.12.8-viair.0",
63
+ "hardhat": "2.13.0",
64
64
  "hardhat-gas-reporter": "1.0.9",
65
65
  "hardhat-tracer": "2.1.2",
66
- "prettier": "2.7.1",
67
- "prettier-plugin-solidity": "1.0.0-beta.24",
68
- "rimraf": "3.0.2",
66
+ "prettier": "2.8.7",
67
+ "prettier-plugin-solidity": "1.1.3",
68
+ "rimraf": "4.4.1",
69
69
  "shx": "0.3.4",
70
- "solhint": "3.3.7",
70
+ "solhint": "3.4.1",
71
71
  "solidity-coverage": "0.8.2",
72
72
  "ts-node": "10.9.1",
73
- "typechain": "8.1.0",
74
- "typescript": "4.8.3"
73
+ "typechain": "8.1.1",
74
+ "typescript": "5.0.2"
75
75
  },
76
76
  "bin": {
77
77
  "solidity-utils-docify": "utils/docify.utils.js",