@1inch/fusion-sdk 2.4.7-rc.2 → 2.4.7-rc.3

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.
@@ -12,6 +12,9 @@ _export(exports, {
12
12
  NetworkEnum: function() {
13
13
  return NetworkEnum;
14
14
  },
15
+ ONE_INCH_LIMIT_ORDER_V4: function() {
16
+ return ONE_INCH_LIMIT_ORDER_V4;
17
+ },
15
18
  ONE_INCH_LIMIT_ORDER_V4_ADDRESSES: function() {
16
19
  return ONE_INCH_LIMIT_ORDER_V4_ADDRESSES;
17
20
  },
@@ -70,6 +73,7 @@ var NetworkEnum = /*#__PURE__*/ function(NetworkEnum) {
70
73
  NetworkEnum[NetworkEnum["UNICHAIN"] = 130] = "UNICHAIN";
71
74
  return NetworkEnum;
72
75
  }({});
76
+ /** @deprecated Use ONE_INCH_LIMIT_ORDER_V4_ADDRESSES instead */ var ONE_INCH_LIMIT_ORDER_V4 = '0x111111125421ca6dc452d289314280a0f8842a65';
73
77
  var _obj;
74
78
  var ONE_INCH_LIMIT_ORDER_V4_ADDRESSES = (_obj = {}, _define_property(_obj, 324, '0x6fd4383cb451173d5f9304f041c7bcbf27d561ff'), _define_property(_obj, 1, '0x111111125421ca6dc452d289314280a0f8842a65'), _define_property(_obj, 137, '0x111111125421ca6dc452d289314280a0f8842a65'), _define_property(_obj, 56, '0x111111125421ca6dc452d289314280a0f8842a65'), _define_property(_obj, 42161, '0x111111125421ca6dc452d289314280a0f8842a65'), _define_property(_obj, 43114, '0x111111125421ca6dc452d289314280a0f8842a65'), _define_property(_obj, 10, '0x111111125421ca6dc452d289314280a0f8842a65'), _define_property(_obj, 250, '0x111111125421ca6dc452d289314280a0f8842a65'), _define_property(_obj, 100, '0x111111125421ca6dc452d289314280a0f8842a65'), _define_property(_obj, 8453, '0x111111125421ca6dc452d289314280a0f8842a65'), _define_property(_obj, 59144, '0x111111125421ca6dc452d289314280a0f8842a65'), _define_property(_obj, 146, '0x111111125421ca6dc452d289314280a0f8842a65'), _define_property(_obj, 130, '0x111111125421ca6dc452d289314280a0f8842a65'), _obj);
75
79
  var UINT_160_MAX = (1n << 160n) - 1n;
@@ -18,34 +18,23 @@ _export(exports, {
18
18
  });
19
19
  var _limitordersdk = require("@1inch/limit-order-sdk");
20
20
  var _ethers = require("ethers");
21
- var _byteutils = require("@1inch/byte-utils");
22
21
  var _assert = /*#__PURE__*/ _interop_require_default(require("assert"));
23
22
  function _interop_require_default(obj) {
24
23
  return obj && obj.__esModule ? obj : {
25
24
  default: obj
26
25
  };
27
26
  }
28
- var FUNC_N_ZH_TCH_ABI = [
29
- 'address',
30
- 'address',
31
- 'uint256',
27
+ /**
28
+ * Permit2Proxy exposes `func_nZHTch(address,address,uint256,((address,uint256),uint256,uint256),bytes)`
29
+ * whose selector collides with `transferFrom(address,address,uint256)` (0x23b872dd).
30
+ * The LOP calls `_callTransferFromWithSuffix`, appending these extra params as raw suffix bytes.
31
+ */ var PERMIT2_TRANSFER_FROM_EXTRA_PARAMS_ABI = [
32
32
  'tuple(tuple(address token, uint256 amount) permitted, uint256 nonce, uint256 deadline)',
33
33
  'bytes'
34
34
  ];
35
- var ZERO_SLOT = '0'.repeat(64);
36
- var STRIPPED_SLOTS = 3;
37
- /**
38
- * ABI-encodes the Permit2 suffix appended to `transferFrom(from,to,amount)` calldata.
39
- *
40
- * The limit order protocol calls `_callTransferFromWithSuffix` on the Permit2Proxy,
41
- * which has `func_nZHTch(address,address,uint256,((address,uint256),uint256,uint256),bytes)`
42
- * with selector 0x23b872dd (same as transferFrom). The suffix is everything after (from,to,amount).
43
- */ function encodeTransferFromSuffix(token, amount, nonce, deadline, signature) {
44
- var abiCoder = _ethers.AbiCoder.defaultAbiCoder();
45
- var encoded = abiCoder.encode(FUNC_N_ZH_TCH_ABI, [
46
- _limitordersdk.Address.ZERO_ADDRESS.toString(),
47
- _limitordersdk.Address.ZERO_ADDRESS.toString(),
48
- 0n,
35
+ var abiCoder = _ethers.AbiCoder.defaultAbiCoder();
36
+ function encodeTransferFromSuffix(token, amount, nonce, deadline, signature) {
37
+ return abiCoder.encode(PERMIT2_TRANSFER_FROM_EXTRA_PARAMS_ABI, [
49
38
  {
50
39
  permitted: {
51
40
  token: token.toString(),
@@ -56,15 +45,11 @@ var STRIPPED_SLOTS = 3;
56
45
  },
57
46
  signature
58
47
  ]);
59
- var strippedHexChars = STRIPPED_SLOTS * 32 * 2;
60
- return '0x' + (0, _byteutils.trim0x)(encoded).slice(strippedHexChars);
61
48
  }
62
49
  function decodeTransferFromSuffix(suffix) {
63
- var restored = '0x' + ZERO_SLOT.repeat(STRIPPED_SLOTS) + suffix.slice(2);
64
- var abiCoder = _ethers.AbiCoder.defaultAbiCoder();
65
- var decoded = abiCoder.decode(FUNC_N_ZH_TCH_ABI, restored);
66
- var permit = decoded[3];
67
- var sig = decoded[4];
50
+ var decoded = abiCoder.decode(PERMIT2_TRANSFER_FROM_EXTRA_PARAMS_ABI, suffix);
51
+ var permit = decoded[0];
52
+ var sig = decoded[1];
68
53
  (0, _assert.default)(sig.length > 0, 'empty permit signature');
69
54
  return {
70
55
  token: new _limitordersdk.Address(permit.permitted.token),
@@ -28,6 +28,7 @@ export var NetworkEnum = /*#__PURE__*/ function(NetworkEnum) {
28
28
  NetworkEnum[NetworkEnum["UNICHAIN"] = 130] = "UNICHAIN";
29
29
  return NetworkEnum;
30
30
  }({});
31
+ /** @deprecated Use ONE_INCH_LIMIT_ORDER_V4_ADDRESSES instead */ export var ONE_INCH_LIMIT_ORDER_V4 = '0x111111125421ca6dc452d289314280a0f8842a65';
31
32
  var _obj;
32
33
  export var ONE_INCH_LIMIT_ORDER_V4_ADDRESSES = (_obj = {}, _define_property(_obj, 324, '0x6fd4383cb451173d5f9304f041c7bcbf27d561ff'), _define_property(_obj, 1, '0x111111125421ca6dc452d289314280a0f8842a65'), _define_property(_obj, 137, '0x111111125421ca6dc452d289314280a0f8842a65'), _define_property(_obj, 56, '0x111111125421ca6dc452d289314280a0f8842a65'), _define_property(_obj, 42161, '0x111111125421ca6dc452d289314280a0f8842a65'), _define_property(_obj, 43114, '0x111111125421ca6dc452d289314280a0f8842a65'), _define_property(_obj, 10, '0x111111125421ca6dc452d289314280a0f8842a65'), _define_property(_obj, 250, '0x111111125421ca6dc452d289314280a0f8842a65'), _define_property(_obj, 100, '0x111111125421ca6dc452d289314280a0f8842a65'), _define_property(_obj, 8453, '0x111111125421ca6dc452d289314280a0f8842a65'), _define_property(_obj, 59144, '0x111111125421ca6dc452d289314280a0f8842a65'), _define_property(_obj, 146, '0x111111125421ca6dc452d289314280a0f8842a65'), _define_property(_obj, 130, '0x111111125421ca6dc452d289314280a0f8842a65'), _obj);
33
34
  export var UINT_160_MAX = (1n << 160n) - 1n;
@@ -1,28 +1,17 @@
1
1
  import { Address } from '@1inch/limit-order-sdk';
2
2
  import { AbiCoder } from 'ethers';
3
- import { trim0x } from '@1inch/byte-utils';
4
3
  import assert from 'assert';
5
- var FUNC_N_ZH_TCH_ABI = [
6
- 'address',
7
- 'address',
8
- 'uint256',
4
+ /**
5
+ * Permit2Proxy exposes `func_nZHTch(address,address,uint256,((address,uint256),uint256,uint256),bytes)`
6
+ * whose selector collides with `transferFrom(address,address,uint256)` (0x23b872dd).
7
+ * The LOP calls `_callTransferFromWithSuffix`, appending these extra params as raw suffix bytes.
8
+ */ var PERMIT2_TRANSFER_FROM_EXTRA_PARAMS_ABI = [
9
9
  'tuple(tuple(address token, uint256 amount) permitted, uint256 nonce, uint256 deadline)',
10
10
  'bytes'
11
11
  ];
12
- var ZERO_SLOT = '0'.repeat(64);
13
- var STRIPPED_SLOTS = 3;
14
- /**
15
- * ABI-encodes the Permit2 suffix appended to `transferFrom(from,to,amount)` calldata.
16
- *
17
- * The limit order protocol calls `_callTransferFromWithSuffix` on the Permit2Proxy,
18
- * which has `func_nZHTch(address,address,uint256,((address,uint256),uint256,uint256),bytes)`
19
- * with selector 0x23b872dd (same as transferFrom). The suffix is everything after (from,to,amount).
20
- */ export function encodeTransferFromSuffix(token, amount, nonce, deadline, signature) {
21
- var abiCoder = AbiCoder.defaultAbiCoder();
22
- var encoded = abiCoder.encode(FUNC_N_ZH_TCH_ABI, [
23
- Address.ZERO_ADDRESS.toString(),
24
- Address.ZERO_ADDRESS.toString(),
25
- 0n,
12
+ var abiCoder = AbiCoder.defaultAbiCoder();
13
+ export function encodeTransferFromSuffix(token, amount, nonce, deadline, signature) {
14
+ return abiCoder.encode(PERMIT2_TRANSFER_FROM_EXTRA_PARAMS_ABI, [
26
15
  {
27
16
  permitted: {
28
17
  token: token.toString(),
@@ -33,15 +22,11 @@ var STRIPPED_SLOTS = 3;
33
22
  },
34
23
  signature
35
24
  ]);
36
- var strippedHexChars = STRIPPED_SLOTS * 32 * 2;
37
- return '0x' + trim0x(encoded).slice(strippedHexChars);
38
25
  }
39
26
  export function decodeTransferFromSuffix(suffix) {
40
- var restored = '0x' + ZERO_SLOT.repeat(STRIPPED_SLOTS) + suffix.slice(2);
41
- var abiCoder = AbiCoder.defaultAbiCoder();
42
- var decoded = abiCoder.decode(FUNC_N_ZH_TCH_ABI, restored);
43
- var permit = decoded[3];
44
- var sig = decoded[4];
27
+ var decoded = abiCoder.decode(PERMIT2_TRANSFER_FROM_EXTRA_PARAMS_ABI, suffix);
28
+ var permit = decoded[0];
29
+ var sig = decoded[1];
45
30
  assert(sig.length > 0, 'empty permit signature');
46
31
  return {
47
32
  token: new Address(permit.permitted.token),
@@ -1 +1 @@
1
- {"name":"@1inch/fusion-sdk","version":"2.4.7-rc.2","type":"module"}
1
+ {"name":"@1inch/fusion-sdk","version":"2.4.7-rc.3","type":"module"}
@@ -14,6 +14,7 @@ export declare enum NetworkEnum {
14
14
  SONIC = 146,
15
15
  UNICHAIN = 130
16
16
  }
17
+ export declare const ONE_INCH_LIMIT_ORDER_V4 = "0x111111125421ca6dc452d289314280a0f8842a65";
17
18
  export declare const ONE_INCH_LIMIT_ORDER_V4_ADDRESSES: Record<NetworkEnum, string>;
18
19
  export declare const UINT_160_MAX: bigint;
19
20
  export declare const UINT_16_MAX: bigint;