@1inch/fusion-sdk 2.4.7-rc.3 → 2.4.8-rc.0
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 +25 -174
- package/dist/cjs/api/quoter/quote/quote.js +20 -6
- package/dist/cjs/api/quoter/quoter.api.spec.js +103 -6
- package/dist/cjs/api/quoter/quoter.request.js +1 -4
- package/dist/cjs/api/quoter/quoter.request.spec.js +2 -8
- package/dist/cjs/constants.js +1 -19
- package/dist/cjs/fusion-order/fusion-extension.js +10 -3
- package/dist/cjs/fusion-order/fusion-order.js +5 -120
- package/dist/cjs/fusion-order/fusion-order.spec.js +124 -93
- package/dist/cjs/fusion-order/index.js +0 -1
- package/dist/cjs/index.js +3 -0
- package/dist/cjs/sdk/README.md +18 -14
- package/dist/esm/api/quoter/quote/quote.js +20 -6
- package/dist/esm/api/quoter/quote/types.js +15 -3
- package/dist/esm/api/quoter/quoter.api.spec.js +103 -6
- package/dist/esm/api/quoter/quoter.request.js +1 -4
- package/dist/esm/api/quoter/quoter.request.spec.js +2 -8
- package/dist/esm/constants.js +1 -16
- package/dist/esm/fusion-order/fusion-extension.js +10 -3
- package/dist/esm/fusion-order/fusion-order.js +6 -121
- package/dist/esm/fusion-order/fusion-order.spec.js +125 -94
- package/dist/esm/fusion-order/index.js +0 -1
- package/dist/esm/fusion-order/types.js +5 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/package.json +1 -1
- package/dist/esm/sdk/README.md +18 -14
- package/dist/types/src/api/quoter/quote/quote.d.ts +3 -2
- package/dist/types/src/api/quoter/quote/types.d.ts +6 -1
- package/dist/types/src/api/quoter/quoter.request.d.ts +3 -3
- package/dist/types/src/api/quoter/types.d.ts +2 -2
- package/dist/types/src/constants.d.ts +0 -1
- package/dist/types/src/fusion-order/fusion-extension.d.ts +2 -0
- package/dist/types/src/fusion-order/fusion-order.d.ts +0 -6
- package/dist/types/src/fusion-order/index.d.ts +0 -1
- package/dist/types/src/fusion-order/types.d.ts +1 -0
- package/dist/types/src/index.d.ts +2 -2
- package/dist/types/src/sdk/types.d.ts +3 -3
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/package.json +4 -4
- package/dist/cjs/fusion-order/permit/constants.js +0 -98
- package/dist/cjs/fusion-order/permit/index.js +0 -34
- package/dist/cjs/fusion-order/permit/permit-transfer-from.js +0 -115
- package/dist/cjs/fusion-order/permit/permit-transfer-from.spec.js +0 -232
- package/dist/cjs/fusion-order/permit/transfer-from-suffix.js +0 -61
- package/dist/cjs/fusion-order/permit/utils.js +0 -35
- package/dist/esm/fusion-order/permit/constants.js +0 -71
- package/dist/esm/fusion-order/permit/index.js +0 -3
- package/dist/esm/fusion-order/permit/permit-transfer-from.js +0 -105
- package/dist/esm/fusion-order/permit/permit-transfer-from.spec.js +0 -228
- package/dist/esm/fusion-order/permit/transfer-from-suffix.js +0 -38
- package/dist/esm/fusion-order/permit/utils.js +0 -12
- package/dist/types/src/fusion-order/permit/constants.d.ts +0 -7
- package/dist/types/src/fusion-order/permit/index.d.ts +0 -3
- package/dist/types/src/fusion-order/permit/permit-transfer-from.d.ts +0 -11
- package/dist/types/src/fusion-order/permit/transfer-from-suffix.d.ts +0 -10
- package/dist/types/src/fusion-order/permit/utils.d.ts +0 -3
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
function _class_call_check(instance, Constructor) {
|
|
2
|
-
if (!(instance instanceof Constructor)) {
|
|
3
|
-
throw new TypeError("Cannot call a class as a function");
|
|
4
|
-
}
|
|
5
|
-
}
|
|
6
|
-
function _defineProperties(target, props) {
|
|
7
|
-
for(var i = 0; i < props.length; i++){
|
|
8
|
-
var descriptor = props[i];
|
|
9
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
10
|
-
descriptor.configurable = true;
|
|
11
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
12
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
function _create_class(Constructor, protoProps, staticProps) {
|
|
16
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
17
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
18
|
-
return Constructor;
|
|
19
|
-
}
|
|
20
|
-
function _define_property(obj, key, value) {
|
|
21
|
-
if (key in obj) {
|
|
22
|
-
Object.defineProperty(obj, key, {
|
|
23
|
-
value: value,
|
|
24
|
-
enumerable: true,
|
|
25
|
-
configurable: true,
|
|
26
|
-
writable: true
|
|
27
|
-
});
|
|
28
|
-
} else {
|
|
29
|
-
obj[key] = value;
|
|
30
|
-
}
|
|
31
|
-
return obj;
|
|
32
|
-
}
|
|
33
|
-
function _object_spread(target) {
|
|
34
|
-
for(var i = 1; i < arguments.length; i++){
|
|
35
|
-
var source = arguments[i] != null ? arguments[i] : {};
|
|
36
|
-
var ownKeys = Object.keys(source);
|
|
37
|
-
if (typeof Object.getOwnPropertySymbols === "function") {
|
|
38
|
-
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
39
|
-
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
40
|
-
}));
|
|
41
|
-
}
|
|
42
|
-
ownKeys.forEach(function(key) {
|
|
43
|
-
_define_property(target, key, source[key]);
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
return target;
|
|
47
|
-
}
|
|
48
|
-
import { PERMIT2_DOMAIN_NAME, PERMIT_TRANSFER_FROM_TYPES } from './constants.js';
|
|
49
|
-
import { getPermit2Address } from './utils.js';
|
|
50
|
-
import { encodeTransferFromSuffix } from './transfer-from-suffix.js';
|
|
51
|
-
export var PermitTransferFrom = /*#__PURE__*/ function() {
|
|
52
|
-
"use strict";
|
|
53
|
-
function PermitTransferFrom(token, maxSpendAmount, spender, nonce, deadline) {
|
|
54
|
-
_class_call_check(this, PermitTransferFrom);
|
|
55
|
-
_define_property(this, "token", void 0);
|
|
56
|
-
_define_property(this, "maxSpendAmount", void 0);
|
|
57
|
-
_define_property(this, "spender", void 0);
|
|
58
|
-
_define_property(this, "nonce", void 0);
|
|
59
|
-
_define_property(this, "deadline", void 0);
|
|
60
|
-
this.token = token;
|
|
61
|
-
this.maxSpendAmount = maxSpendAmount;
|
|
62
|
-
this.spender = spender;
|
|
63
|
-
this.nonce = nonce;
|
|
64
|
-
this.deadline = deadline;
|
|
65
|
-
}
|
|
66
|
-
_create_class(PermitTransferFrom, [
|
|
67
|
-
{
|
|
68
|
-
key: "getTypedData",
|
|
69
|
-
value: function getTypedData(chainId) {
|
|
70
|
-
var permit2Address = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : getPermit2Address(chainId);
|
|
71
|
-
return {
|
|
72
|
-
primaryType: 'PermitTransferFrom',
|
|
73
|
-
types: _object_spread({}, PERMIT_TRANSFER_FROM_TYPES),
|
|
74
|
-
domain: {
|
|
75
|
-
name: PERMIT2_DOMAIN_NAME,
|
|
76
|
-
chainId: chainId,
|
|
77
|
-
verifyingContract: permit2Address
|
|
78
|
-
},
|
|
79
|
-
message: {
|
|
80
|
-
permitted: {
|
|
81
|
-
token: this.token.toString(),
|
|
82
|
-
amount: this.maxSpendAmount
|
|
83
|
-
},
|
|
84
|
-
spender: this.spender.toString(),
|
|
85
|
-
nonce: this.nonce,
|
|
86
|
-
deadline: this.deadline
|
|
87
|
-
}
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
},
|
|
91
|
-
{
|
|
92
|
-
key: "getTransferFromSuffix",
|
|
93
|
-
value: /**
|
|
94
|
-
* ABI-encodes the Permit2 suffix appended to `transferFrom(from,to,amount)` calldata.
|
|
95
|
-
*
|
|
96
|
-
* The limit order protocol calls `_callTransferFromWithSuffix` on the Permit2Proxy,
|
|
97
|
-
* which has `func_nZHTch(address,address,uint256,((address,uint256),uint256,uint256),bytes)`
|
|
98
|
-
* with selector 0x23b872dd (same as transferFrom). The suffix is everything after (from,to,amount).
|
|
99
|
-
*/ function getTransferFromSuffix(signature) {
|
|
100
|
-
return encodeTransferFromSuffix(this.token, this.maxSpendAmount, this.nonce, this.deadline, signature);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
]);
|
|
104
|
-
return PermitTransferFrom;
|
|
105
|
-
}();
|
|
@@ -1,228 +0,0 @@
|
|
|
1
|
-
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
2
|
-
try {
|
|
3
|
-
var info = gen[key](arg);
|
|
4
|
-
var value = info.value;
|
|
5
|
-
} catch (error) {
|
|
6
|
-
reject(error);
|
|
7
|
-
return;
|
|
8
|
-
}
|
|
9
|
-
if (info.done) {
|
|
10
|
-
resolve(value);
|
|
11
|
-
} else {
|
|
12
|
-
Promise.resolve(value).then(_next, _throw);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
function _async_to_generator(fn) {
|
|
16
|
-
return function() {
|
|
17
|
-
var self = this, args = arguments;
|
|
18
|
-
return new Promise(function(resolve, reject) {
|
|
19
|
-
var gen = fn.apply(self, args);
|
|
20
|
-
function _next(value) {
|
|
21
|
-
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
22
|
-
}
|
|
23
|
-
function _throw(err) {
|
|
24
|
-
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
25
|
-
}
|
|
26
|
-
_next(undefined);
|
|
27
|
-
});
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
function _define_property(obj, key, value) {
|
|
31
|
-
if (key in obj) {
|
|
32
|
-
Object.defineProperty(obj, key, {
|
|
33
|
-
value: value,
|
|
34
|
-
enumerable: true,
|
|
35
|
-
configurable: true,
|
|
36
|
-
writable: true
|
|
37
|
-
});
|
|
38
|
-
} else {
|
|
39
|
-
obj[key] = value;
|
|
40
|
-
}
|
|
41
|
-
return obj;
|
|
42
|
-
}
|
|
43
|
-
function _object_spread(target) {
|
|
44
|
-
for(var i = 1; i < arguments.length; i++){
|
|
45
|
-
var source = arguments[i] != null ? arguments[i] : {};
|
|
46
|
-
var ownKeys = Object.keys(source);
|
|
47
|
-
if (typeof Object.getOwnPropertySymbols === "function") {
|
|
48
|
-
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
49
|
-
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
50
|
-
}));
|
|
51
|
-
}
|
|
52
|
-
ownKeys.forEach(function(key) {
|
|
53
|
-
_define_property(target, key, source[key]);
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
return target;
|
|
57
|
-
}
|
|
58
|
-
function _ts_generator(thisArg, body) {
|
|
59
|
-
var f, y, t, g, _ = {
|
|
60
|
-
label: 0,
|
|
61
|
-
sent: function() {
|
|
62
|
-
if (t[0] & 1) throw t[1];
|
|
63
|
-
return t[1];
|
|
64
|
-
},
|
|
65
|
-
trys: [],
|
|
66
|
-
ops: []
|
|
67
|
-
};
|
|
68
|
-
return g = {
|
|
69
|
-
next: verb(0),
|
|
70
|
-
"throw": verb(1),
|
|
71
|
-
"return": verb(2)
|
|
72
|
-
}, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
|
|
73
|
-
return this;
|
|
74
|
-
}), g;
|
|
75
|
-
function verb(n) {
|
|
76
|
-
return function(v) {
|
|
77
|
-
return step([
|
|
78
|
-
n,
|
|
79
|
-
v
|
|
80
|
-
]);
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
function step(op) {
|
|
84
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
85
|
-
while(_)try {
|
|
86
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
87
|
-
if (y = 0, t) op = [
|
|
88
|
-
op[0] & 2,
|
|
89
|
-
t.value
|
|
90
|
-
];
|
|
91
|
-
switch(op[0]){
|
|
92
|
-
case 0:
|
|
93
|
-
case 1:
|
|
94
|
-
t = op;
|
|
95
|
-
break;
|
|
96
|
-
case 4:
|
|
97
|
-
_.label++;
|
|
98
|
-
return {
|
|
99
|
-
value: op[1],
|
|
100
|
-
done: false
|
|
101
|
-
};
|
|
102
|
-
case 5:
|
|
103
|
-
_.label++;
|
|
104
|
-
y = op[1];
|
|
105
|
-
op = [
|
|
106
|
-
0
|
|
107
|
-
];
|
|
108
|
-
continue;
|
|
109
|
-
case 7:
|
|
110
|
-
op = _.ops.pop();
|
|
111
|
-
_.trys.pop();
|
|
112
|
-
continue;
|
|
113
|
-
default:
|
|
114
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
|
|
115
|
-
_ = 0;
|
|
116
|
-
continue;
|
|
117
|
-
}
|
|
118
|
-
if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
|
|
119
|
-
_.label = op[1];
|
|
120
|
-
break;
|
|
121
|
-
}
|
|
122
|
-
if (op[0] === 6 && _.label < t[1]) {
|
|
123
|
-
_.label = t[1];
|
|
124
|
-
t = op;
|
|
125
|
-
break;
|
|
126
|
-
}
|
|
127
|
-
if (t && _.label < t[2]) {
|
|
128
|
-
_.label = t[2];
|
|
129
|
-
_.ops.push(op);
|
|
130
|
-
break;
|
|
131
|
-
}
|
|
132
|
-
if (t[2]) _.ops.pop();
|
|
133
|
-
_.trys.pop();
|
|
134
|
-
continue;
|
|
135
|
-
}
|
|
136
|
-
op = body.call(thisArg, _);
|
|
137
|
-
} catch (e) {
|
|
138
|
-
op = [
|
|
139
|
-
6,
|
|
140
|
-
e
|
|
141
|
-
];
|
|
142
|
-
y = 0;
|
|
143
|
-
} finally{
|
|
144
|
-
f = t = 0;
|
|
145
|
-
}
|
|
146
|
-
if (op[0] & 5) throw op[1];
|
|
147
|
-
return {
|
|
148
|
-
value: op[0] ? op[1] : void 0,
|
|
149
|
-
done: true
|
|
150
|
-
};
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
import { Address } from '@1inch/limit-order-sdk';
|
|
154
|
-
import { verifyTypedData, Wallet } from 'ethers';
|
|
155
|
-
import { PermitTransferFrom } from './permit-transfer-from.js';
|
|
156
|
-
import { PERMIT2_DOMAIN_NAME, PERMIT_TRANSFER_FROM_TYPES } from './constants.js';
|
|
157
|
-
import { getPermit2Address } from './utils.js';
|
|
158
|
-
import { NetworkEnum } from '../../constants.js';
|
|
159
|
-
describe('PermitTransferFrom', function() {
|
|
160
|
-
var token = new Address('0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2');
|
|
161
|
-
var spender = new Address('0x1111111254eeb25477b68fb85ed929f73a960582');
|
|
162
|
-
var maxSpendAmount = 1000000000000000000n;
|
|
163
|
-
var nonce = 42n;
|
|
164
|
-
var deadline = 1700000000n;
|
|
165
|
-
it('should return correct typed data for ethereum', function() {
|
|
166
|
-
var permit = new PermitTransferFrom(token, maxSpendAmount, spender, nonce, deadline);
|
|
167
|
-
var typedData = permit.getTypedData(NetworkEnum.ETHEREUM);
|
|
168
|
-
expect(typedData).toStrictEqual({
|
|
169
|
-
primaryType: 'PermitTransferFrom',
|
|
170
|
-
types: PERMIT_TRANSFER_FROM_TYPES,
|
|
171
|
-
domain: {
|
|
172
|
-
name: PERMIT2_DOMAIN_NAME,
|
|
173
|
-
chainId: NetworkEnum.ETHEREUM,
|
|
174
|
-
verifyingContract: getPermit2Address(NetworkEnum.ETHEREUM)
|
|
175
|
-
},
|
|
176
|
-
message: {
|
|
177
|
-
permitted: {
|
|
178
|
-
token: token.toString(),
|
|
179
|
-
amount: maxSpendAmount
|
|
180
|
-
},
|
|
181
|
-
spender: spender.toString(),
|
|
182
|
-
nonce: nonce,
|
|
183
|
-
deadline: deadline
|
|
184
|
-
}
|
|
185
|
-
});
|
|
186
|
-
});
|
|
187
|
-
it('should use zksync permit2 address for zksync chain', function() {
|
|
188
|
-
var permit = new PermitTransferFrom(token, maxSpendAmount, spender, nonce, deadline);
|
|
189
|
-
var typedData = permit.getTypedData(NetworkEnum.ZKSYNC);
|
|
190
|
-
expect(typedData.domain.verifyingContract).toBe(getPermit2Address(NetworkEnum.ZKSYNC));
|
|
191
|
-
});
|
|
192
|
-
it('should use custom permit2 address when provided', function() {
|
|
193
|
-
var customPermit2 = '0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa';
|
|
194
|
-
var permit = new PermitTransferFrom(token, maxSpendAmount, spender, nonce, deadline);
|
|
195
|
-
var typedData = permit.getTypedData(NetworkEnum.ETHEREUM, customPermit2);
|
|
196
|
-
expect(typedData.domain.verifyingContract).toBe(customPermit2);
|
|
197
|
-
});
|
|
198
|
-
it('should throw for unsupported chain id without custom address', function() {
|
|
199
|
-
var permit = new PermitTransferFrom(token, maxSpendAmount, spender, nonce, deadline);
|
|
200
|
-
expect(function() {
|
|
201
|
-
return permit.getTypedData(999);
|
|
202
|
-
}).toThrow('unsupported chainId');
|
|
203
|
-
});
|
|
204
|
-
it('should produce signable typed data that recovers to the signer', /*#__PURE__*/ _async_to_generator(function() {
|
|
205
|
-
var wallet, permit, typedData, types, signature, recovered;
|
|
206
|
-
return _ts_generator(this, function(_state) {
|
|
207
|
-
switch(_state.label){
|
|
208
|
-
case 0:
|
|
209
|
-
wallet = Wallet.createRandom();
|
|
210
|
-
permit = new PermitTransferFrom(token, maxSpendAmount, spender, nonce, deadline);
|
|
211
|
-
typedData = permit.getTypedData(NetworkEnum.ETHEREUM);
|
|
212
|
-
types = _object_spread({}, typedData.types);
|
|
213
|
-
delete types['EIP712Domain'];
|
|
214
|
-
return [
|
|
215
|
-
4,
|
|
216
|
-
wallet.signTypedData(typedData.domain, types, typedData.message)
|
|
217
|
-
];
|
|
218
|
-
case 1:
|
|
219
|
-
signature = _state.sent();
|
|
220
|
-
recovered = verifyTypedData(typedData.domain, types, typedData.message, signature);
|
|
221
|
-
expect(recovered).toBe(wallet.address);
|
|
222
|
-
return [
|
|
223
|
-
2
|
|
224
|
-
];
|
|
225
|
-
}
|
|
226
|
-
});
|
|
227
|
-
}));
|
|
228
|
-
});
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { Address } from '@1inch/limit-order-sdk';
|
|
2
|
-
import { AbiCoder } from 'ethers';
|
|
3
|
-
import assert from 'assert';
|
|
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
|
-
'tuple(tuple(address token, uint256 amount) permitted, uint256 nonce, uint256 deadline)',
|
|
10
|
-
'bytes'
|
|
11
|
-
];
|
|
12
|
-
var abiCoder = AbiCoder.defaultAbiCoder();
|
|
13
|
-
export function encodeTransferFromSuffix(token, amount, nonce, deadline, signature) {
|
|
14
|
-
return abiCoder.encode(PERMIT2_TRANSFER_FROM_EXTRA_PARAMS_ABI, [
|
|
15
|
-
{
|
|
16
|
-
permitted: {
|
|
17
|
-
token: token.toString(),
|
|
18
|
-
amount: amount
|
|
19
|
-
},
|
|
20
|
-
nonce: nonce,
|
|
21
|
-
deadline: deadline
|
|
22
|
-
},
|
|
23
|
-
signature
|
|
24
|
-
]);
|
|
25
|
-
}
|
|
26
|
-
export function decodeTransferFromSuffix(suffix) {
|
|
27
|
-
var decoded = abiCoder.decode(PERMIT2_TRANSFER_FROM_EXTRA_PARAMS_ABI, suffix);
|
|
28
|
-
var permit = decoded[0];
|
|
29
|
-
var sig = decoded[1];
|
|
30
|
-
assert(sig.length > 0, 'empty permit signature');
|
|
31
|
-
return {
|
|
32
|
-
token: new Address(permit.permitted.token),
|
|
33
|
-
amount: BigInt(permit.permitted.amount),
|
|
34
|
-
nonce: BigInt(permit.nonce),
|
|
35
|
-
deadline: BigInt(permit.deadline),
|
|
36
|
-
signature: sig
|
|
37
|
-
};
|
|
38
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { Address } from '@1inch/limit-order-sdk';
|
|
2
|
-
import assert from 'assert';
|
|
3
|
-
import { PERMIT2_ADDRESSES, PERMIT2_PROXY_ADDRESSES } from './constants.js';
|
|
4
|
-
import { NetworkEnum } from '../../constants.js';
|
|
5
|
-
export function getPermit2Address(chainId) {
|
|
6
|
-
assert(NetworkEnum[chainId], 'unsupported chainId');
|
|
7
|
-
return PERMIT2_ADDRESSES[chainId];
|
|
8
|
-
}
|
|
9
|
-
export function getPermit2ProxyAddress(chainId) {
|
|
10
|
-
assert(NetworkEnum[chainId], 'unsupported chainId');
|
|
11
|
-
return new Address(PERMIT2_PROXY_ADDRESSES[chainId]);
|
|
12
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { EIP712Types } from '@1inch/limit-order-sdk';
|
|
2
|
-
import { NetworkEnum } from '../../constants.js';
|
|
3
|
-
export declare const PERMIT2_ADDRESSES: Record<NetworkEnum, string>;
|
|
4
|
-
export declare const PERMIT2_PROXY_ADDRESSES: Record<NetworkEnum, string>;
|
|
5
|
-
export declare const PERMIT2_DOMAIN_NAME = "Permit2";
|
|
6
|
-
export declare const TOKEN_PERMISSIONS: EIP712Types;
|
|
7
|
-
export declare const PERMIT_TRANSFER_FROM_TYPES: EIP712Types;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { Address, EIP712TypedData } from '@1inch/limit-order-sdk';
|
|
2
|
-
export declare class PermitTransferFrom {
|
|
3
|
-
readonly token: Address;
|
|
4
|
-
readonly maxSpendAmount: bigint;
|
|
5
|
-
readonly spender: Address;
|
|
6
|
-
readonly nonce: bigint;
|
|
7
|
-
readonly deadline: bigint;
|
|
8
|
-
constructor(token: Address, maxSpendAmount: bigint, spender: Address, nonce: bigint, deadline: bigint);
|
|
9
|
-
getTypedData(chainId: number, permit2Address?: string): EIP712TypedData;
|
|
10
|
-
getTransferFromSuffix(signature: string): string;
|
|
11
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { Address } from '@1inch/limit-order-sdk';
|
|
2
|
-
export type DecodedTransferPermitSuffix = {
|
|
3
|
-
token: Address;
|
|
4
|
-
amount: bigint;
|
|
5
|
-
nonce: bigint;
|
|
6
|
-
deadline: bigint;
|
|
7
|
-
signature: string;
|
|
8
|
-
};
|
|
9
|
-
export declare function encodeTransferFromSuffix(token: Address, amount: bigint, nonce: bigint, deadline: bigint, signature: string): string;
|
|
10
|
-
export declare function decodeTransferFromSuffix(suffix: string): DecodedTransferPermitSuffix;
|