@1inch/fusion-sdk 2.3.9-rc.9 → 2.4.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 +101 -0
- package/dist/cjs/api/quoter/quote/quote.js +2 -2
- package/dist/cjs/fusion-order/fusion-order.js +10 -31
- package/dist/cjs/fusion-order/fusion-order.spec.js +3 -4
- package/dist/cjs/index.js +9 -1
- package/dist/esm/api/quoter/quote/quote.js +2 -2
- package/dist/esm/fusion-order/fusion-order.js +8 -29
- package/dist/esm/fusion-order/fusion-order.spec.js +1 -2
- package/dist/esm/index.js +1 -2
- package/dist/esm/package.json +1 -1
- package/dist/types/src/api/quoter/quote/quote.d.ts +1 -2
- package/dist/types/src/fusion-order/fusion-order.d.ts +2 -3
- package/dist/types/src/index.d.ts +1 -2
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/dist/cjs/abi/NativeOrderFactory.abi.json +0 -217
- package/dist/cjs/abi/NativeOrderImpl.abi.json +0 -286
- package/dist/cjs/contracts/index.js +0 -21
- package/dist/cjs/contracts/native-order-factory.js +0 -115
- package/dist/cjs/contracts/native-order-impl.js +0 -130
- package/dist/cjs/contracts/proxy-factory.js +0 -87
- package/dist/cjs/contracts/types.js +0 -4
- package/dist/esm/abi/NativeOrderFactory.abi.json +0 -217
- package/dist/esm/abi/NativeOrderImpl.abi.json +0 -286
- package/dist/esm/contracts/index.js +0 -4
- package/dist/esm/contracts/native-order-factory.js +0 -100
- package/dist/esm/contracts/native-order-impl.js +0 -115
- package/dist/esm/contracts/proxy-factory.js +0 -72
- package/dist/esm/contracts/types.js +0 -1
- package/dist/types/src/contracts/index.d.ts +0 -4
- package/dist/types/src/contracts/native-order-factory.d.ts +0 -9
- package/dist/types/src/contracts/native-order-impl.d.ts +0 -9
- package/dist/types/src/contracts/proxy-factory.d.ts +0 -8
- package/dist/types/src/contracts/types.d.ts +0 -6
package/README.md
CHANGED
|
@@ -107,6 +107,107 @@ async function main() {
|
|
|
107
107
|
main()
|
|
108
108
|
```
|
|
109
109
|
|
|
110
|
+
## How to swap with Fusion mode from Native asset
|
|
111
|
+
```typescript
|
|
112
|
+
import {FusionSDK, NetworkEnum, OrderStatus, PrivateKeyProviderConnector, Web3Like, Address, NativeOrdersFactory} from "@1inch/fusion-sdk";
|
|
113
|
+
import {computeAddress, formatUnits, JsonRpcProvider, Wallet} from "ethers";
|
|
114
|
+
|
|
115
|
+
const PRIVATE_KEY = 'YOUR_PRIVATE_KEY'
|
|
116
|
+
const NODE_URL = 'YOUR_WEB3_NODE_URL'
|
|
117
|
+
const DEV_PORTAL_API_TOKEN = 'YOUR_DEV_PORTAL_API_TOKEN'
|
|
118
|
+
|
|
119
|
+
const ethersRpcProvider = new JsonRpcProvider(NODE_URL)
|
|
120
|
+
|
|
121
|
+
const ethersProviderConnector: Web3Like = {
|
|
122
|
+
eth: {
|
|
123
|
+
call(transactionConfig): Promise<string> {
|
|
124
|
+
return ethersRpcProvider.call(transactionConfig)
|
|
125
|
+
}
|
|
126
|
+
},
|
|
127
|
+
extend(): void {}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
const connector = new PrivateKeyProviderConnector(
|
|
131
|
+
PRIVATE_KEY,
|
|
132
|
+
ethersProviderConnector
|
|
133
|
+
)
|
|
134
|
+
|
|
135
|
+
const sdk = new FusionSDK({
|
|
136
|
+
url: 'https://api.1inch.dev/fusion',
|
|
137
|
+
network: NetworkEnum.BINANCE,
|
|
138
|
+
blockchainProvider: connector,
|
|
139
|
+
authKey: DEV_PORTAL_API_TOKEN
|
|
140
|
+
})
|
|
141
|
+
|
|
142
|
+
const wallet = new Wallet(PRIVATE_KEY, ethersRpcProvider)
|
|
143
|
+
|
|
144
|
+
async function main() {
|
|
145
|
+
const params = {
|
|
146
|
+
fromTokenAddress: '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee', // ETH
|
|
147
|
+
toTokenAddress: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48', // USDC
|
|
148
|
+
amount: '2000000000000000', // 0.002 ETH
|
|
149
|
+
walletAddress: computeAddress(PRIVATE_KEY),
|
|
150
|
+
source: 'sdk-test'
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
const quote = await sdk.getQuote(params)
|
|
154
|
+
|
|
155
|
+
const dstTokenDecimals = 6
|
|
156
|
+
console.log('Auction start amount', formatUnits(quote.presets[quote.recommendedPreset].auctionStartAmount, dstTokenDecimals))
|
|
157
|
+
console.log('Auction end amount', formatUnits(quote.presets[quote.recommendedPreset].auctionEndAmount), dstTokenDecimals)
|
|
158
|
+
|
|
159
|
+
const preparedOrder = await sdk.createOrder(params)
|
|
160
|
+
|
|
161
|
+
const info = await sdk.submitNativeOrder(preparedOrder.order, new Address(params.walletAddress), preparedOrder.quoteId)
|
|
162
|
+
|
|
163
|
+
console.log('OrderHash', info.orderHash)
|
|
164
|
+
|
|
165
|
+
const factory = NativeOrdersFactory.default(NetworkEnum.BINANCE)
|
|
166
|
+
const call = factory.create(new Address(wallet.address), preparedOrder.order)
|
|
167
|
+
|
|
168
|
+
const txRes = await wallet.sendTransaction({
|
|
169
|
+
to: call.to.toString(),
|
|
170
|
+
data: call.data,
|
|
171
|
+
value: call.value
|
|
172
|
+
})
|
|
173
|
+
|
|
174
|
+
console.log('TxHash', txRes.hash)
|
|
175
|
+
|
|
176
|
+
await wallet.provider.waitForTransaction(txRes.hash)
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
const start = Date.now()
|
|
180
|
+
|
|
181
|
+
while (true) {
|
|
182
|
+
try {
|
|
183
|
+
const data = await sdk.getOrderStatus(info.orderHash)
|
|
184
|
+
|
|
185
|
+
if (data.status === OrderStatus.Filled) {
|
|
186
|
+
console.log('fills', data.fills)
|
|
187
|
+
break
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
if (data.status === OrderStatus.Expired) {
|
|
191
|
+
console.log('Order Expired')
|
|
192
|
+
break
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
if (data.status === OrderStatus.Cancelled) {
|
|
196
|
+
console.log('Order Cancelled')
|
|
197
|
+
break
|
|
198
|
+
}
|
|
199
|
+
} catch (e) {
|
|
200
|
+
console.log(e)
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
console.log('Order executed for', (Date.now() - start) / 1000, 'sec')
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
main()
|
|
209
|
+
```
|
|
210
|
+
|
|
110
211
|
## Resolvers
|
|
111
212
|
|
|
112
213
|
`settleOrders` function usage and Resolver contract examples you can find [here](https://github.com/1inch/fusion-resolver-example)
|
|
@@ -17,7 +17,6 @@ var _preset = require("../preset.js");
|
|
|
17
17
|
var _index = require("../../../fusion-order/index.js");
|
|
18
18
|
var _constants = require("../../../fusion-order/constants.js");
|
|
19
19
|
var _index1 = require("../../../fusion-order/fees/index.js");
|
|
20
|
-
var _index2 = require("../../../index.js");
|
|
21
20
|
function _class_call_check(instance, Constructor) {
|
|
22
21
|
if (!(instance instanceof Constructor)) {
|
|
23
22
|
throw new TypeError("Cannot call a class as a function");
|
|
@@ -96,7 +95,7 @@ var Quote = /*#__PURE__*/ function() {
|
|
|
96
95
|
this.recommendedPreset = response.recommended_preset;
|
|
97
96
|
this.slippage = response.autoK;
|
|
98
97
|
this.settlementAddress = new _limitordersdk.Address(response.settlementAddress);
|
|
99
|
-
this.nativeOrderFactory = response.nativeOrderFactoryAddress && response.nativeOrderImplAddress ? new
|
|
98
|
+
this.nativeOrderFactory = response.nativeOrderFactoryAddress && response.nativeOrderImplAddress ? new _limitordersdk.ProxyFactory(new _limitordersdk.Address(response.nativeOrderFactoryAddress), new _limitordersdk.Address(response.nativeOrderImplAddress)) : undefined;
|
|
100
99
|
this.resolverFeePreset = {
|
|
101
100
|
receiver: new _limitordersdk.Address(response.fee.receiver),
|
|
102
101
|
whitelistDiscountPercent: _limitordersdk.Bps.fromPercent(response.fee.whitelistDiscountPercent),
|
|
@@ -119,6 +118,7 @@ var Quote = /*#__PURE__*/ function() {
|
|
|
119
118
|
permit: this.params.permit,
|
|
120
119
|
isPermit2: this.params.isPermit2,
|
|
121
120
|
nonce: paramsData === null || paramsData === void 0 ? void 0 : paramsData.nonce,
|
|
121
|
+
delayAuctionStartTimeBy: paramsData === null || paramsData === void 0 ? void 0 : paramsData.delayAuctionStartTimeBy,
|
|
122
122
|
network: paramsData.network
|
|
123
123
|
});
|
|
124
124
|
var preset = this.getPreset(params.preset);
|
|
@@ -13,9 +13,8 @@ var _assert = /*#__PURE__*/ _interop_require_default(require("assert"));
|
|
|
13
13
|
var _fusionextension = require("./fusion-extension.js");
|
|
14
14
|
var _sourcetrack = require("./source-track.js");
|
|
15
15
|
var _surplusparams = require("./surplus-params.js");
|
|
16
|
-
var _constants = require("./constants.js");
|
|
17
16
|
var _index = require("../amount-calculator/auction-calculator/index.js");
|
|
18
|
-
var
|
|
17
|
+
var _constants = require("../constants.js");
|
|
19
18
|
var _amounts = require("../utils/amounts.js");
|
|
20
19
|
var _time = require("../utils/time.js");
|
|
21
20
|
var _amountcalculator = require("../amount-calculator/amount-calculator.js");
|
|
@@ -452,7 +451,7 @@ var FusionOrder = /*#__PURE__*/ function() {
|
|
|
452
451
|
{
|
|
453
452
|
key: "isNative",
|
|
454
453
|
value: function isNative(chainId, ethOrderFactory, signature) {
|
|
455
|
-
return
|
|
454
|
+
return this.inner.isNative(chainId, ethOrderFactory, signature);
|
|
456
455
|
}
|
|
457
456
|
},
|
|
458
457
|
{
|
|
@@ -464,17 +463,7 @@ var FusionOrder = /*#__PURE__*/ function() {
|
|
|
464
463
|
* @see FusionOrder.isNative
|
|
465
464
|
* @see FusionOrder.fromNative
|
|
466
465
|
*/ function nativeSignature(maker) {
|
|
467
|
-
return
|
|
468
|
-
maker: maker,
|
|
469
|
-
makerAsset: this.makerAsset,
|
|
470
|
-
makingAmount: this.makingAmount,
|
|
471
|
-
takingAmount: this.takingAmount,
|
|
472
|
-
takerAsset: this.takerAsset,
|
|
473
|
-
receiver: this.receiver,
|
|
474
|
-
salt: this.salt
|
|
475
|
-
}, this.inner.makerTraits, undefined, {
|
|
476
|
-
optimizeReceiverAddress: false
|
|
477
|
-
}).toCalldata();
|
|
466
|
+
return this.inner.nativeSignature(maker);
|
|
478
467
|
}
|
|
479
468
|
}
|
|
480
469
|
], [
|
|
@@ -490,13 +479,7 @@ var FusionOrder = /*#__PURE__*/ function() {
|
|
|
490
479
|
{
|
|
491
480
|
key: "isNativeOrder",
|
|
492
481
|
value: function isNativeOrder(chainId, ethOrderFactory, order, signature) {
|
|
493
|
-
|
|
494
|
-
var orderWithRealMaker = _limitordersdk.LimitOrder.fromCalldata(signature);
|
|
495
|
-
var expectedAddress = ethOrderFactory.getProxyAddress(orderWithRealMaker.getOrderHash(chainId));
|
|
496
|
-
return expectedAddress.equal(new _limitordersdk.Address(order.maker));
|
|
497
|
-
} catch (e) {
|
|
498
|
-
return false;
|
|
499
|
-
}
|
|
482
|
+
return _limitordersdk.LimitOrder.isNativeOrder(chainId, ethOrderFactory, order, signature);
|
|
500
483
|
}
|
|
501
484
|
},
|
|
502
485
|
{
|
|
@@ -513,20 +496,16 @@ var FusionOrder = /*#__PURE__*/ function() {
|
|
|
513
496
|
* @see https://github.com/1inch/limit-order-settlement
|
|
514
497
|
*/ settlementExtension, orderInfo, details, extra) {
|
|
515
498
|
var _orderInfo = _object_spread_props(_object_spread({}, orderInfo), {
|
|
516
|
-
makerAsset:
|
|
499
|
+
makerAsset: _limitordersdk.LimitOrder.CHAIN_TO_WRAPPER[chainId],
|
|
517
500
|
receiver: orderInfo.receiver && !orderInfo.receiver.isZero() ? orderInfo.receiver : orderInfo.maker
|
|
518
501
|
});
|
|
519
|
-
// create temp order to calc order hash
|
|
520
502
|
var _order = FusionOrder.new(settlementExtension, _orderInfo, details, _object_spread_props(_object_spread({}, extra), {
|
|
521
503
|
optimizeReceiverAddress: false
|
|
522
504
|
}));
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
});
|
|
526
|
-
return
|
|
527
|
-
_object_spread_props(_object_spread({}, finalOrderInfo), {
|
|
528
|
-
salt: _order.salt >> 160n
|
|
529
|
-
}), details.auction, details.whitelist, details.surplus, extra);
|
|
505
|
+
_order.inner = _limitordersdk.LimitOrder.fromNative(chainId, ethOrdersFactory, _object_spread_props(_object_spread({}, _orderInfo), {
|
|
506
|
+
salt: _order.salt
|
|
507
|
+
}), _order.inner.makerTraits, _order.inner.extension);
|
|
508
|
+
return _order;
|
|
530
509
|
}
|
|
531
510
|
},
|
|
532
511
|
{
|
|
@@ -558,7 +537,7 @@ var FusionOrder = /*#__PURE__*/ function() {
|
|
|
558
537
|
allowPartialFills: makerTraits.isPartialFillAllowed(),
|
|
559
538
|
enablePermit2: makerTraits.isPermit2(),
|
|
560
539
|
nonce: makerTraits.nonceOrEpoch(),
|
|
561
|
-
permit: extension.makerPermit ===
|
|
540
|
+
permit: extension.makerPermit === _constants.ZX ? undefined : _limitordersdk.Interaction.decode(extension.makerPermit).data,
|
|
562
541
|
unwrapWETH: makerTraits.isNativeUnwrapEnabled(),
|
|
563
542
|
orderExpirationDelay: orderExpirationDelay,
|
|
564
543
|
fees: extra === null || extra === void 0 ? void 0 : extra.fees,
|
|
@@ -9,7 +9,6 @@ var _index = require("./auction-details/index.js");
|
|
|
9
9
|
var _index1 = require("./whitelist/index.js");
|
|
10
10
|
var _surplusparams = require("./surplus-params.js");
|
|
11
11
|
var _index2 = require("./fees/index.js");
|
|
12
|
-
var _proxyfactory = require("../contracts/proxy-factory.js");
|
|
13
12
|
var _constants = require("../constants.js");
|
|
14
13
|
var _index3 = require("../amount-calculator/index.js");
|
|
15
14
|
var _time = require("../utils/time.js");
|
|
@@ -300,7 +299,7 @@ describe('Fusion Order', function() {
|
|
|
300
299
|
});
|
|
301
300
|
describe('FusionOrder Native', function() {
|
|
302
301
|
it('should correct detect that order is from native asset', function() {
|
|
303
|
-
var ethOrderFactory = new
|
|
302
|
+
var ethOrderFactory = new _limitordersdk.ProxyFactory(_limitordersdk.Address.fromBigInt(1n), _limitordersdk.Address.fromBigInt(2n));
|
|
304
303
|
var chainId = _constants.NetworkEnum.ETHEREUM;
|
|
305
304
|
var settlementExt = _limitordersdk.Address.fromBigInt(3n);
|
|
306
305
|
var maker = new _limitordersdk.Address('0x00000000219ab540356cbb839cbe05303d7705fa');
|
|
@@ -334,7 +333,7 @@ describe('FusionOrder Native', function() {
|
|
|
334
333
|
expect(_fusionorder.FusionOrder.fromDataAndExtension(nativeOrder.build(), nativeOrder.extension).isNative(chainId, ethOrderFactory, nativeOrder.nativeSignature(maker))).toEqual(true);
|
|
335
334
|
});
|
|
336
335
|
it('should correct detect that order is from native asset (no salt)', function() {
|
|
337
|
-
var ethOrderFactory = new
|
|
336
|
+
var ethOrderFactory = new _limitordersdk.ProxyFactory(new _limitordersdk.Address('0x62c650084e97a0fba2ecf365cc6d8a7722425363'), new _limitordersdk.Address('0xe8773a43fce4eedb18d0edbaf319059e1ae786af'));
|
|
338
337
|
var chainId = _constants.NetworkEnum.ETHEREUM;
|
|
339
338
|
var settlementExt = new _limitordersdk.Address('0x2ad5004c60e16e54d5007c80ce329adde5b51ef5');
|
|
340
339
|
var maker = new _limitordersdk.Address('0x962a836519109e162754161000d65d9dc027fa0f');
|
|
@@ -367,7 +366,7 @@ describe('FusionOrder Native', function() {
|
|
|
367
366
|
expect(_fusionorder.FusionOrder.fromDataAndExtension(nativeOrder.build(), _limitordersdk.Extension.decode(nativeOrder.extension.encode())).isNative(chainId, ethOrderFactory, nativeOrder.nativeSignature(maker))).toEqual(true);
|
|
368
367
|
});
|
|
369
368
|
it('should correct detect that order is NOT from native asset', function() {
|
|
370
|
-
var ethOrderFactory = new
|
|
369
|
+
var ethOrderFactory = new _limitordersdk.ProxyFactory(_limitordersdk.Address.fromBigInt(1n), _limitordersdk.Address.fromBigInt(2n));
|
|
371
370
|
var chainId = _constants.NetworkEnum.ETHEREUM;
|
|
372
371
|
var settlementExt = _limitordersdk.Address.fromBigInt(3n);
|
|
373
372
|
var maker = new _limitordersdk.Address('0x00000000219ab540356cbb839cbe05303d7705fa');
|
package/dist/cjs/index.js
CHANGED
|
@@ -30,6 +30,12 @@ _export(exports, {
|
|
|
30
30
|
MakerTraits: function() {
|
|
31
31
|
return _limitordersdk.MakerTraits;
|
|
32
32
|
},
|
|
33
|
+
NativeOrdersFactory: function() {
|
|
34
|
+
return _limitordersdk.NativeOrdersFactory;
|
|
35
|
+
},
|
|
36
|
+
NativeOrdersImpl: function() {
|
|
37
|
+
return _limitordersdk.NativeOrdersImpl;
|
|
38
|
+
},
|
|
33
39
|
OrderStatus: function() {
|
|
34
40
|
return _index.OrderStatus;
|
|
35
41
|
},
|
|
@@ -39,6 +45,9 @@ _export(exports, {
|
|
|
39
45
|
PresetEnum: function() {
|
|
40
46
|
return _index.PresetEnum;
|
|
41
47
|
},
|
|
48
|
+
ProxyFactory: function() {
|
|
49
|
+
return _limitordersdk.ProxyFactory;
|
|
50
|
+
},
|
|
42
51
|
Quote: function() {
|
|
43
52
|
return _index.Quote;
|
|
44
53
|
},
|
|
@@ -76,7 +85,6 @@ _export_star(require("./utils/time.js"), exports);
|
|
|
76
85
|
_export_star(require("./validations.js"), exports);
|
|
77
86
|
_export_star(require("./ws-api/index.js"), exports);
|
|
78
87
|
_export_star(require("./errors.js"), exports);
|
|
79
|
-
_export_star(require("./contracts/index.js"), exports);
|
|
80
88
|
var _index = require("./api/index.js");
|
|
81
89
|
function _export_star(from, to) {
|
|
82
90
|
Object.keys(from).forEach(function(k) {
|
|
@@ -30,7 +30,7 @@ function _define_property(obj, key, value) {
|
|
|
30
30
|
}
|
|
31
31
|
return obj;
|
|
32
32
|
}
|
|
33
|
-
import { Address, Bps, randBigInt } from '@1inch/limit-order-sdk';
|
|
33
|
+
import { Address, Bps, randBigInt, ProxyFactory } from '@1inch/limit-order-sdk';
|
|
34
34
|
import { UINT_40_MAX } from '@1inch/byte-utils';
|
|
35
35
|
import assert from 'assert';
|
|
36
36
|
import { FusionOrderParams } from './order-params.js';
|
|
@@ -39,7 +39,6 @@ import { Preset } from '../preset.js';
|
|
|
39
39
|
import { FusionOrder, SurplusParams, Whitelist } from '../../../fusion-order/index.js';
|
|
40
40
|
import { CHAIN_TO_WRAPPER } from '../../../fusion-order/constants.js';
|
|
41
41
|
import { Fees, ResolverFee, IntegratorFee } from '../../../fusion-order/fees/index.js';
|
|
42
|
-
import { ProxyFactory } from '../../../index.js';
|
|
43
42
|
export var Quote = /*#__PURE__*/ function() {
|
|
44
43
|
"use strict";
|
|
45
44
|
function Quote(params, response) {
|
|
@@ -104,6 +103,7 @@ export var Quote = /*#__PURE__*/ function() {
|
|
|
104
103
|
permit: this.params.permit,
|
|
105
104
|
isPermit2: this.params.isPermit2,
|
|
106
105
|
nonce: paramsData === null || paramsData === void 0 ? void 0 : paramsData.nonce,
|
|
106
|
+
delayAuctionStartTimeBy: paramsData === null || paramsData === void 0 ? void 0 : paramsData.delayAuctionStartTimeBy,
|
|
107
107
|
network: paramsData.network
|
|
108
108
|
});
|
|
109
109
|
var preset = this.getPreset(params.preset);
|
|
@@ -74,7 +74,6 @@ import assert from 'assert';
|
|
|
74
74
|
import { FusionExtension } from './fusion-extension.js';
|
|
75
75
|
import { injectTrackCode } from './source-track.js';
|
|
76
76
|
import { SurplusParams } from './surplus-params.js';
|
|
77
|
-
import { CHAIN_TO_WRAPPER } from './constants.js';
|
|
78
77
|
import { AuctionCalculator } from '../amount-calculator/auction-calculator/index.js';
|
|
79
78
|
import { ZX } from '../constants.js';
|
|
80
79
|
import { calcTakingAmount } from '../utils/amounts.js';
|
|
@@ -437,7 +436,7 @@ export var FusionOrder = /*#__PURE__*/ function() {
|
|
|
437
436
|
{
|
|
438
437
|
key: "isNative",
|
|
439
438
|
value: function isNative(chainId, ethOrderFactory, signature) {
|
|
440
|
-
return
|
|
439
|
+
return this.inner.isNative(chainId, ethOrderFactory, signature);
|
|
441
440
|
}
|
|
442
441
|
},
|
|
443
442
|
{
|
|
@@ -449,17 +448,7 @@ export var FusionOrder = /*#__PURE__*/ function() {
|
|
|
449
448
|
* @see FusionOrder.isNative
|
|
450
449
|
* @see FusionOrder.fromNative
|
|
451
450
|
*/ function nativeSignature(maker) {
|
|
452
|
-
return
|
|
453
|
-
maker: maker,
|
|
454
|
-
makerAsset: this.makerAsset,
|
|
455
|
-
makingAmount: this.makingAmount,
|
|
456
|
-
takingAmount: this.takingAmount,
|
|
457
|
-
takerAsset: this.takerAsset,
|
|
458
|
-
receiver: this.receiver,
|
|
459
|
-
salt: this.salt
|
|
460
|
-
}, this.inner.makerTraits, undefined, {
|
|
461
|
-
optimizeReceiverAddress: false
|
|
462
|
-
}).toCalldata();
|
|
451
|
+
return this.inner.nativeSignature(maker);
|
|
463
452
|
}
|
|
464
453
|
}
|
|
465
454
|
], [
|
|
@@ -475,13 +464,7 @@ export var FusionOrder = /*#__PURE__*/ function() {
|
|
|
475
464
|
{
|
|
476
465
|
key: "isNativeOrder",
|
|
477
466
|
value: function isNativeOrder(chainId, ethOrderFactory, order, signature) {
|
|
478
|
-
|
|
479
|
-
var orderWithRealMaker = LimitOrder.fromCalldata(signature);
|
|
480
|
-
var expectedAddress = ethOrderFactory.getProxyAddress(orderWithRealMaker.getOrderHash(chainId));
|
|
481
|
-
return expectedAddress.equal(new Address(order.maker));
|
|
482
|
-
} catch (e) {
|
|
483
|
-
return false;
|
|
484
|
-
}
|
|
467
|
+
return LimitOrder.isNativeOrder(chainId, ethOrderFactory, order, signature);
|
|
485
468
|
}
|
|
486
469
|
},
|
|
487
470
|
{
|
|
@@ -498,20 +481,16 @@ export var FusionOrder = /*#__PURE__*/ function() {
|
|
|
498
481
|
* @see https://github.com/1inch/limit-order-settlement
|
|
499
482
|
*/ settlementExtension, orderInfo, details, extra) {
|
|
500
483
|
var _orderInfo = _object_spread_props(_object_spread({}, orderInfo), {
|
|
501
|
-
makerAsset: CHAIN_TO_WRAPPER[chainId],
|
|
484
|
+
makerAsset: LimitOrder.CHAIN_TO_WRAPPER[chainId],
|
|
502
485
|
receiver: orderInfo.receiver && !orderInfo.receiver.isZero() ? orderInfo.receiver : orderInfo.maker
|
|
503
486
|
});
|
|
504
|
-
// create temp order to calc order hash
|
|
505
487
|
var _order = FusionOrder.new(settlementExtension, _orderInfo, details, _object_spread_props(_object_spread({}, extra), {
|
|
506
488
|
optimizeReceiverAddress: false
|
|
507
489
|
}));
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
});
|
|
511
|
-
return
|
|
512
|
-
_object_spread_props(_object_spread({}, finalOrderInfo), {
|
|
513
|
-
salt: _order.salt >> 160n
|
|
514
|
-
}), details.auction, details.whitelist, details.surplus, extra);
|
|
490
|
+
_order.inner = LimitOrder.fromNative(chainId, ethOrdersFactory, _object_spread_props(_object_spread({}, _orderInfo), {
|
|
491
|
+
salt: _order.salt
|
|
492
|
+
}), _order.inner.makerTraits, _order.inner.extension);
|
|
493
|
+
return _order;
|
|
515
494
|
}
|
|
516
495
|
},
|
|
517
496
|
{
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { Address, Bps, MakerTraits, Extension } from '@1inch/limit-order-sdk';
|
|
1
|
+
import { Address, Bps, MakerTraits, Extension, ProxyFactory } from '@1inch/limit-order-sdk';
|
|
2
2
|
import { parseEther, parseUnits } from 'ethers';
|
|
3
3
|
import { FusionOrder } from './fusion-order.js';
|
|
4
4
|
import { AuctionDetails } from './auction-details/index.js';
|
|
5
5
|
import { Whitelist } from './whitelist/index.js';
|
|
6
6
|
import { SurplusParams } from './surplus-params.js';
|
|
7
7
|
import { Fees, IntegratorFee, ResolverFee } from './fees/index.js';
|
|
8
|
-
import { ProxyFactory } from '../contracts/proxy-factory.js';
|
|
9
8
|
import { NetworkEnum } from '../constants.js';
|
|
10
9
|
import { AuctionCalculator } from '../amount-calculator/index.js';
|
|
11
10
|
import { now } from '../utils/time.js';
|
package/dist/esm/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { Address, Extension, randBigInt, getLimitOrderContract, Interaction, TakerTraits, ExtensionBuilder, AmountMode, getLimitOrderV4Domain, LimitOrderContract, MakerTraits } from '@1inch/limit-order-sdk';
|
|
1
|
+
export { Address, Extension, randBigInt, getLimitOrderContract, Interaction, TakerTraits, ExtensionBuilder, AmountMode, getLimitOrderV4Domain, LimitOrderContract, MakerTraits, ProxyFactory, NativeOrdersFactory, NativeOrdersImpl } from '@1inch/limit-order-sdk';
|
|
2
2
|
export * from './fusion-order/index.js';
|
|
3
3
|
export * from './amount-calculator//index.js';
|
|
4
4
|
export * from './connector/index.js';
|
|
@@ -10,5 +10,4 @@ export * from './utils/time.js';
|
|
|
10
10
|
export * from './validations.js';
|
|
11
11
|
export * from './ws-api/index.js';
|
|
12
12
|
export * from './errors.js';
|
|
13
|
-
export * from './contracts/index.js';
|
|
14
13
|
export { QuoterRequest, RelayerRequest, QuoterCustomPresetRequest, PresetEnum, Preset, Quote, OrderStatus } from './api/index.js';
|
package/dist/esm/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@1inch/fusion-sdk","version":"2.
|
|
1
|
+
{"name":"@1inch/fusion-sdk","version":"2.4.0","type":"module"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { Address } from '@1inch/limit-order-sdk';
|
|
1
|
+
import { Address, ProxyFactory } from '@1inch/limit-order-sdk';
|
|
2
2
|
import { FusionOrderParamsData, IntegratorFeeParams, ResolverFeePreset } from './types.js';
|
|
3
3
|
import { Cost, PresetEnum, QuoterResponse } from '../types.js';
|
|
4
4
|
import { Preset } from '../preset.js';
|
|
5
5
|
import { FusionOrder } from '../../../fusion-order/index.js';
|
|
6
6
|
import { QuoterRequest } from '../quoter.request.js';
|
|
7
|
-
import { ProxyFactory } from '../../../index.js';
|
|
8
7
|
export declare class Quote {
|
|
9
8
|
private readonly params;
|
|
10
9
|
readonly settlementAddress: Address;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { Address, EIP712TypedData, Extension, LimitOrderV4Struct, OrderInfoData } from '@1inch/limit-order-sdk';
|
|
2
|
-
import { ProxyFactory } from 'contracts/proxy-factory.js';
|
|
1
|
+
import { Address, EIP712TypedData, Extension, LimitOrder, LimitOrderV4Struct, OrderInfoData, ProxyFactory } from '@1inch/limit-order-sdk';
|
|
3
2
|
import { FusionExtension } from './fusion-extension.js';
|
|
4
3
|
import { AuctionDetails } from './auction-details/index.js';
|
|
5
4
|
import { Whitelist } from './whitelist/whitelist.js';
|
|
@@ -12,7 +11,7 @@ export declare class FusionOrder {
|
|
|
12
11
|
readonly settlementExtensionContract: Address;
|
|
13
12
|
private static defaultExtra;
|
|
14
13
|
readonly fusionExtension: FusionExtension;
|
|
15
|
-
|
|
14
|
+
protected inner: LimitOrder;
|
|
16
15
|
protected constructor(settlementExtensionContract: Address, orderInfo: OrderInfoData, auctionDetails: AuctionDetails, whitelist: Whitelist, surplusParams?: SurplusParams, extra?: Extra, extension?: FusionExtension);
|
|
17
16
|
get extension(): Extension;
|
|
18
17
|
get maker(): Address;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { Address, type LimitOrderV4Struct, Extension, randBigInt, getLimitOrderContract, Interaction, TakerTraits, ExtensionBuilder, AmountMode, getLimitOrderV4Domain, LimitOrderContract, type OrderInfoData, type EIP712TypedData, MakerTraits } from '@1inch/limit-order-sdk';
|
|
1
|
+
export { Address, type LimitOrderV4Struct, Extension, randBigInt, getLimitOrderContract, Interaction, TakerTraits, ExtensionBuilder, AmountMode, getLimitOrderV4Domain, LimitOrderContract, type OrderInfoData, type EIP712TypedData, MakerTraits, ProxyFactory, NativeOrdersFactory, NativeOrdersImpl } from '@1inch/limit-order-sdk';
|
|
2
2
|
export * from './fusion-order/index.js';
|
|
3
3
|
export * from './amount-calculator//index.js';
|
|
4
4
|
export * from './connector/index.js';
|
|
@@ -10,5 +10,4 @@ export * from './utils/time.js';
|
|
|
10
10
|
export * from './validations.js';
|
|
11
11
|
export * from './ws-api/index.js';
|
|
12
12
|
export * from './errors.js';
|
|
13
|
-
export * from './contracts/index.js';
|
|
14
13
|
export { QuoterRequest, type QuoterResponse, RelayerRequest, QuoterCustomPresetRequest, PresetEnum, Preset, Quote, type OrderStatusResponse, OrderStatus } from './api/index.js';
|