@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,4 +1,4 @@
|
|
|
1
|
-
import { Address, Bps, MakerTraits, Extension, ProxyFactory } from '@1inch/limit-order-sdk';
|
|
1
|
+
import { Address, Bps, MakerTraits, Extension, Interaction, 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';
|
|
@@ -461,104 +461,135 @@ describe('FusionOrder Native', function() {
|
|
|
461
461
|
});
|
|
462
462
|
expect(nativeOrder.build().receiver).toEqual(settlementExt.toString());
|
|
463
463
|
});
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
var
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
whitelist: Whitelist.new(1673548139n, [
|
|
464
|
+
});
|
|
465
|
+
describe('FusionOrder preInteraction', function() {
|
|
466
|
+
it('should create order with preInteraction and set PRE_INTERACTION_CALL_FLAG in makerTraits', function() {
|
|
467
|
+
var extensionContract = new Address('0x2ad5004c60e16e54d5007c80ce329adde5b51ef5');
|
|
468
|
+
var preInteraction = new Interaction(new Address('0x3a617c2fbaf8d7c58c793fbbd2d14eb4927876c1'), '0xdeadbeef01020304');
|
|
469
|
+
var order = FusionOrder.new(extensionContract, {
|
|
470
|
+
makerAsset: new Address('0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c'),
|
|
471
|
+
takerAsset: new Address('0xda7ad9dea9397cffddae2f8a052b82f1484252b3'),
|
|
472
|
+
makingAmount: 1983000000000000n,
|
|
473
|
+
takingAmount: 79052953622246027n,
|
|
474
|
+
maker: new Address('0x3a617c2fbaf8d7c58c793fbbd2d14eb4927876c1')
|
|
475
|
+
}, {
|
|
476
|
+
auction: new AuctionDetails({
|
|
477
|
+
duration: 180n,
|
|
478
|
+
startTime: 1673548149n,
|
|
479
|
+
initialRateBump: 50000,
|
|
480
|
+
points: [
|
|
482
481
|
{
|
|
483
|
-
|
|
484
|
-
|
|
482
|
+
coefficient: 20000,
|
|
483
|
+
delay: 12
|
|
485
484
|
}
|
|
486
|
-
]
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
485
|
+
]
|
|
486
|
+
}),
|
|
487
|
+
whitelist: Whitelist.new(1673548139n, [
|
|
488
|
+
{
|
|
489
|
+
address: new Address('0x00000000219ab540356cbb839cbe05303d7705fa'),
|
|
490
|
+
allowFrom: 0n
|
|
491
|
+
}
|
|
492
|
+
]),
|
|
493
|
+
surplus: SurplusParams.NO_FEE
|
|
494
|
+
}, {
|
|
495
|
+
preInteraction: preInteraction.encode()
|
|
496
|
+
});
|
|
497
|
+
var makerTraits = new MakerTraits(BigInt(order.build().makerTraits));
|
|
498
|
+
expect(makerTraits.hasPreInteraction()).toBe(true);
|
|
499
|
+
});
|
|
500
|
+
it('should not set PRE_INTERACTION_CALL_FLAG when no preInteraction', function() {
|
|
501
|
+
var extensionContract = new Address('0x2ad5004c60e16e54d5007c80ce329adde5b51ef5');
|
|
502
|
+
var order = FusionOrder.new(extensionContract, {
|
|
503
|
+
makerAsset: new Address('0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c'),
|
|
504
|
+
takerAsset: new Address('0xda7ad9dea9397cffddae2f8a052b82f1484252b3'),
|
|
505
|
+
makingAmount: 1983000000000000n,
|
|
506
|
+
takingAmount: 79052953622246027n,
|
|
507
|
+
maker: new Address('0x3a617c2fbaf8d7c58c793fbbd2d14eb4927876c1')
|
|
508
|
+
}, {
|
|
509
|
+
auction: new AuctionDetails({
|
|
510
|
+
duration: 180n,
|
|
511
|
+
startTime: 1673548149n,
|
|
512
|
+
initialRateBump: 50000,
|
|
513
|
+
points: [
|
|
509
514
|
{
|
|
510
|
-
|
|
511
|
-
|
|
515
|
+
coefficient: 20000,
|
|
516
|
+
delay: 12
|
|
512
517
|
}
|
|
513
|
-
]
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
var orderWithPermit = order.withTransferPermit(permit, fakeSignature);
|
|
523
|
-
expect(orderWithPermit.isTransferPermit()).toBe(true);
|
|
524
|
-
});
|
|
525
|
-
it('should return real token as makerAsset after withTransferPermit', function() {
|
|
526
|
-
var weth = new Address('0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2');
|
|
527
|
-
var order = baseOrder();
|
|
528
|
-
var permit = order.createTransferPermit(permit2Proxy);
|
|
529
|
-
var fakeSignature = '0x' + 'ab'.repeat(65);
|
|
530
|
-
var orderWithPermit = order.withTransferPermit(permit, fakeSignature);
|
|
531
|
-
expect(orderWithPermit.makerAsset).toEqual(weth);
|
|
532
|
-
});
|
|
533
|
-
it('should round-trip Permit2 order through fromDataAndExtension', function() {
|
|
534
|
-
var order = baseOrder();
|
|
535
|
-
var permit = order.createTransferPermit(permit2Proxy);
|
|
536
|
-
var fakeSignature = '0x' + 'ab'.repeat(65);
|
|
537
|
-
var orderWithPermit = order.withTransferPermit(permit, fakeSignature);
|
|
538
|
-
var built = orderWithPermit.build();
|
|
539
|
-
var rebuilt = FusionOrder.fromDataAndExtension(built, orderWithPermit.extension);
|
|
540
|
-
expect(rebuilt.isTransferPermit()).toBe(true);
|
|
541
|
-
expect(rebuilt.makerAsset).toEqual(orderWithPermit.makerAsset);
|
|
542
|
-
expect(rebuilt.salt).toEqual(orderWithPermit.salt);
|
|
543
|
-
expect(rebuilt.build()).toEqual(built);
|
|
518
|
+
]
|
|
519
|
+
}),
|
|
520
|
+
whitelist: Whitelist.new(1673548139n, [
|
|
521
|
+
{
|
|
522
|
+
address: new Address('0x00000000219ab540356cbb839cbe05303d7705fa'),
|
|
523
|
+
allowFrom: 0n
|
|
524
|
+
}
|
|
525
|
+
]),
|
|
526
|
+
surplus: SurplusParams.NO_FEE
|
|
544
527
|
});
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
528
|
+
var makerTraits = new MakerTraits(BigInt(order.build().makerTraits));
|
|
529
|
+
expect(makerTraits.hasPreInteraction()).toBe(false);
|
|
530
|
+
});
|
|
531
|
+
it('should round-trip order with preInteraction via fromDataAndExtension', function() {
|
|
532
|
+
var extensionContract = new Address('0x2ad5004c60e16e54d5007c80ce329adde5b51ef5');
|
|
533
|
+
var preInteractionTarget = new Address('0x3a617c2fbaf8d7c58c793fbbd2d14eb4927876c1');
|
|
534
|
+
var preInteractionCalldata = '0x0599a1fd1975848548e5b765925a935093a96ecc6f2ca216f77dcfd328b8a491';
|
|
535
|
+
var preInteraction = new Interaction(preInteractionTarget, preInteractionCalldata);
|
|
536
|
+
var order = FusionOrder.new(extensionContract, {
|
|
537
|
+
makerAsset: new Address('0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c'),
|
|
538
|
+
takerAsset: new Address('0xda7ad9dea9397cffddae2f8a052b82f1484252b3'),
|
|
539
|
+
makingAmount: 1983000000000000n,
|
|
540
|
+
takingAmount: 79052953622246027n,
|
|
541
|
+
maker: new Address('0x3a617c2fbaf8d7c58c793fbbd2d14eb4927876c1')
|
|
542
|
+
}, {
|
|
543
|
+
auction: new AuctionDetails({
|
|
544
|
+
duration: 180n,
|
|
545
|
+
startTime: 1673548149n,
|
|
546
|
+
initialRateBump: 50000,
|
|
547
|
+
points: [
|
|
548
|
+
{
|
|
549
|
+
coefficient: 20000,
|
|
550
|
+
delay: 12
|
|
551
|
+
}
|
|
552
|
+
]
|
|
553
|
+
}),
|
|
554
|
+
whitelist: Whitelist.new(1673548139n, [
|
|
555
|
+
{
|
|
556
|
+
address: new Address('0x00000000219ab540356cbb839cbe05303d7705fa'),
|
|
557
|
+
allowFrom: 0n
|
|
558
|
+
}
|
|
559
|
+
]),
|
|
560
|
+
surplus: SurplusParams.NO_FEE
|
|
561
|
+
}, {
|
|
562
|
+
preInteraction: preInteraction.encode()
|
|
562
563
|
});
|
|
564
|
+
var built = order.build();
|
|
565
|
+
var extension = order.extension;
|
|
566
|
+
var restored = FusionOrder.fromDataAndExtension({
|
|
567
|
+
salt: built.salt,
|
|
568
|
+
maker: built.maker,
|
|
569
|
+
receiver: built.receiver,
|
|
570
|
+
makerAsset: built.makerAsset,
|
|
571
|
+
takerAsset: built.takerAsset,
|
|
572
|
+
makerTraits: built.makerTraits,
|
|
573
|
+
makingAmount: built.makingAmount,
|
|
574
|
+
takingAmount: built.takingAmount
|
|
575
|
+
}, extension);
|
|
576
|
+
expect(restored.build().salt).toEqual(built.salt);
|
|
577
|
+
expect(restored.extension.encode()).toEqual(extension.encode());
|
|
578
|
+
});
|
|
579
|
+
it('should validate OKX order with preInteraction (real customer data)', function() {
|
|
580
|
+
var extensionHex = '0x000002b800000207000000d2000000d2000000d20000006900000000000000002ad5004c60e16e54d5007c80ce329adde5b51ef50000000000000069c930cb0000b403e4e400000000000064062324dfe7924cb4f3257d000000000000000000006ea9a11ae13b29f5c555d18bd45f0b94f54a968faa848f727be12534f24895770895ad27ad6b0d952ad5004c60e16e54d5007c80ce329adde5b51ef50000000000000069c930cb0000b403e4e400000000000064062324dfe7924cb4f3257d000000000000000000006ea9a11ae13b29f5c555d18bd45f0b94f54a968faa848f727be12534f24895770895ad27ad6b0d953a617c2fbaf8d7c58c793fbbd2d14eb4927876c10100000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070b872a96f0000000000000000000000000000000000000000000000000006715eae5b898683d0000000000000000000000000000000000000000000000000000000069c931e800000000000000000000000000000000000000000000000000000000000000410599a1fd1975848548e5b765925a935093a96ecc6f2ca216f77dcfd328b8a4917028648ec3e33d048184f9877d4892fb829ddc5d75a19c1c2ef064d2a38c012b1b000000000000000000000000000000000000000000000000000000000000002ad5004c60e16e54d5007c80ce329adde5b51ef500000000000000000000000000000000000000000090cbe4bdd538d6e9b379bff5fe72c3d67a521de500000000006469c930cb062324dfe7924cb4f3257d000c0000000000000000000000006ea9a11ae13b29f5c5550000d18bd45f0b94f54a968f0000aa848f727be12534f248000095770895ad27ad6b0d950000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00';
|
|
581
|
+
var extension = Extension.decode(extensionHex);
|
|
582
|
+
expect(function() {
|
|
583
|
+
FusionOrder.fromDataAndExtension({
|
|
584
|
+
maker: '0x3a617c2fbaf8d7c58c793fbbd2d14eb4927876c1',
|
|
585
|
+
makerAsset: '0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c',
|
|
586
|
+
makerTraits: '69656178681823023809491920669288819567982727296017585526061607372909138935808',
|
|
587
|
+
makingAmount: '1983000000000000',
|
|
588
|
+
receiver: '0xb698362cc878094c406115efeeb13089b544e6c8',
|
|
589
|
+
salt: '1084071965642925953405739669729447852001208220133',
|
|
590
|
+
takerAsset: '0xda7ad9dea9397cffddae2f8a052b82f1484252b3',
|
|
591
|
+
takingAmount: '79052953622246027'
|
|
592
|
+
}, extension);
|
|
593
|
+
}).not.toThrow();
|
|
563
594
|
});
|
|
564
595
|
});
|
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
* Required if `allowPartialFills` or `allowMultipleFills` is false
|
|
3
3
|
* Max size is 40bit
|
|
4
4
|
*/ /**
|
|
5
|
+
* Encoded pre-interaction: target address (20 bytes) followed by calldata.
|
|
6
|
+
* Format matches `Interaction.encode()`: `0x{target}{calldata}`.
|
|
7
|
+
* When set, the PRE_INTERACTION_CALL_FLAG is enabled in makerTraits
|
|
8
|
+
* and the LOP contract calls IPreInteraction on the target before the swap.
|
|
9
|
+
*/ /**
|
|
5
10
|
* Default is true
|
|
6
11
|
*/ /**
|
|
7
12
|
* Default is true
|
package/dist/esm/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { Address, Extension, randBigInt, getLimitOrderContract, Interaction, TakerTraits, ExtensionBuilder, AmountMode, getLimitOrderV4Domain, LimitOrderContract, MakerTraits, ProxyFactory, NativeOrdersFactory, NativeOrdersImpl } from '@1inch/limit-order-sdk';
|
|
1
|
+
export { Address, Extension, randBigInt, getLimitOrderContract, Interaction, TakerTraits, ExtensionBuilder, AmountMode, getLimitOrderV4Domain, LimitOrderContract, MakerTraits, ProxyFactory, NativeOrdersFactory, NativeOrdersImpl, Bps } 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';
|
package/dist/esm/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@1inch/fusion-sdk","version":"2.4.
|
|
1
|
+
{"name":"@1inch/fusion-sdk","version":"2.4.8-rc.0","type":"module"}
|
package/dist/esm/sdk/README.md
CHANGED
|
@@ -204,12 +204,11 @@ sdk.placeOrder({
|
|
|
204
204
|
toTokenAddress: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48', // USDC
|
|
205
205
|
amount: '50000000000000000', // 0.05 ETH
|
|
206
206
|
walletAddress: makerAddress,
|
|
207
|
-
//
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
}
|
|
212
|
-
source: 'platform-name'
|
|
207
|
+
// integratorFee is an optional field
|
|
208
|
+
integratorFee: {
|
|
209
|
+
receiver: new Address('0x0000000000000000000000000000000000000000'), // fee receiver address
|
|
210
|
+
value: new Bps(100n) // 1% as we use bps format, 1% is equal to 100bps
|
|
211
|
+
}
|
|
213
212
|
}).then(console.log)
|
|
214
213
|
```
|
|
215
214
|
|
|
@@ -224,6 +223,15 @@ type PaginationParams = {
|
|
|
224
223
|
}
|
|
225
224
|
```
|
|
226
225
|
|
|
226
|
+
### IntegratorFeeRequest
|
|
227
|
+
|
|
228
|
+
```typescript
|
|
229
|
+
type IntegratorFeeRequest = {
|
|
230
|
+
receiver: Address // fee receiver address
|
|
231
|
+
value: Bps // 100 == 1%
|
|
232
|
+
}
|
|
233
|
+
```
|
|
234
|
+
|
|
227
235
|
### QuoteParams
|
|
228
236
|
|
|
229
237
|
```typescript
|
|
@@ -231,8 +239,9 @@ type QuoteParams = {
|
|
|
231
239
|
fromTokenAddress: string
|
|
232
240
|
toTokenAddress: string
|
|
233
241
|
amount: string
|
|
242
|
+
walletAddress?: string
|
|
234
243
|
permit?: string // a permit (EIP-2612) call data, user approval sign
|
|
235
|
-
|
|
244
|
+
integratorFee?: IntegratorFeeRequest
|
|
236
245
|
}
|
|
237
246
|
```
|
|
238
247
|
|
|
@@ -253,12 +262,7 @@ type OrderParams = {
|
|
|
253
262
|
permit?: string // a permit (EIP-2612) call data, user approval sign
|
|
254
263
|
receiver?: string // address
|
|
255
264
|
preset?: PresetEnum
|
|
256
|
-
nonce?:
|
|
257
|
-
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
export type TakingFeeInfo = {
|
|
261
|
-
takingFeeBps: number // 100 == 1%
|
|
262
|
-
takingFeeReceiver: string
|
|
265
|
+
nonce?: bigint // allows to batch cancel orders
|
|
266
|
+
integratorFee?: IntegratorFeeRequest
|
|
263
267
|
}
|
|
264
268
|
```
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Address, ProxyFactory } from '@1inch/limit-order-sdk';
|
|
2
|
-
import { FusionOrderParamsData,
|
|
2
|
+
import { FusionOrderParamsData, IntegratorFeeResponse, 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';
|
|
@@ -25,10 +25,11 @@ export declare class Quote {
|
|
|
25
25
|
readonly slippage: number;
|
|
26
26
|
readonly resolverFeePreset: ResolverFeePreset;
|
|
27
27
|
readonly surplusFee?: number;
|
|
28
|
-
readonly integratorFeeParams?:
|
|
28
|
+
readonly integratorFeeParams?: IntegratorFeeResponse;
|
|
29
29
|
constructor(params: QuoterRequest, response: QuoterResponse);
|
|
30
30
|
createFusionOrder(paramsData: Omit<FusionOrderParamsData, 'permit' | 'isPermit2'>): FusionOrder;
|
|
31
31
|
getPreset(type?: PresetEnum): Preset;
|
|
32
32
|
private getWhitelist;
|
|
33
33
|
private _createOrder;
|
|
34
|
+
private parseIntegratorFee;
|
|
34
35
|
}
|
|
@@ -13,11 +13,16 @@ export type FusionOrderParamsData = {
|
|
|
13
13
|
delayAuctionStartTimeBy?: bigint;
|
|
14
14
|
orderExpirationDelay?: bigint;
|
|
15
15
|
};
|
|
16
|
-
export type
|
|
16
|
+
export type IntegratorFeeRequest = {
|
|
17
|
+
receiver: Address;
|
|
18
|
+
value: Bps;
|
|
19
|
+
};
|
|
20
|
+
export type IntegratorFeeResponse = {
|
|
17
21
|
receiver: Address;
|
|
18
22
|
value: Bps;
|
|
19
23
|
share: Bps;
|
|
20
24
|
};
|
|
25
|
+
export type IntegratorFeeParams = IntegratorFeeResponse;
|
|
21
26
|
export type ResolverFeePreset = {
|
|
22
27
|
receiver: Address;
|
|
23
28
|
bps: Bps;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Address } from '@1inch/limit-order-sdk';
|
|
2
2
|
import { QuoterRequestParams, QuoterRequestParamsRaw } from './types.js';
|
|
3
|
-
import {
|
|
3
|
+
import { IntegratorFeeRequest } from './quote/index.js';
|
|
4
4
|
export declare class QuoterRequest {
|
|
5
5
|
readonly fromTokenAddress: Address;
|
|
6
6
|
readonly toTokenAddress: Address;
|
|
@@ -8,8 +8,8 @@ export declare class QuoterRequest {
|
|
|
8
8
|
readonly walletAddress: Address;
|
|
9
9
|
readonly enableEstimate: boolean;
|
|
10
10
|
readonly permit: string | undefined;
|
|
11
|
-
readonly integratorFee?:
|
|
12
|
-
readonly source
|
|
11
|
+
readonly integratorFee?: IntegratorFeeRequest;
|
|
12
|
+
readonly source?: string;
|
|
13
13
|
readonly isPermit2: boolean;
|
|
14
14
|
readonly slippage?: number;
|
|
15
15
|
constructor(params: QuoterRequestParams);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IntegratorFeeRequest } from './quote/index.js';
|
|
2
2
|
import { NetworkEnum } from '../../constants.js';
|
|
3
3
|
export type QuoterRequestParams = {
|
|
4
4
|
fromTokenAddress: string;
|
|
@@ -7,7 +7,7 @@ export type QuoterRequestParams = {
|
|
|
7
7
|
walletAddress: string;
|
|
8
8
|
enableEstimate?: boolean;
|
|
9
9
|
permit?: string;
|
|
10
|
-
integratorFee?:
|
|
10
|
+
integratorFee?: IntegratorFeeRequest;
|
|
11
11
|
source?: string;
|
|
12
12
|
isPermit2?: boolean;
|
|
13
13
|
slippage?: number;
|
|
@@ -15,7 +15,6 @@ export declare enum NetworkEnum {
|
|
|
15
15
|
UNICHAIN = 130
|
|
16
16
|
}
|
|
17
17
|
export declare const ONE_INCH_LIMIT_ORDER_V4 = "0x111111125421ca6dc452d289314280a0f8842a65";
|
|
18
|
-
export declare const ONE_INCH_LIMIT_ORDER_V4_ADDRESSES: Record<NetworkEnum, string>;
|
|
19
18
|
export declare const UINT_160_MAX: bigint;
|
|
20
19
|
export declare const UINT_16_MAX: bigint;
|
|
21
20
|
export declare const UINT_80_MAX: bigint;
|
|
@@ -10,12 +10,14 @@ export declare class FusionExtension {
|
|
|
10
10
|
readonly surplus: SurplusParams;
|
|
11
11
|
readonly extra?: {
|
|
12
12
|
makerPermit?: Interaction;
|
|
13
|
+
preInteraction?: Interaction;
|
|
13
14
|
customReceiver?: Address;
|
|
14
15
|
fees?: Fees;
|
|
15
16
|
} | undefined;
|
|
16
17
|
private static CUSTOM_RECEIVER_FLAG_BIT;
|
|
17
18
|
constructor(address: Address, auctionDetails: AuctionDetails, whitelist: Whitelist, surplus: SurplusParams, extra?: {
|
|
18
19
|
makerPermit?: Interaction;
|
|
20
|
+
preInteraction?: Interaction;
|
|
19
21
|
customReceiver?: Address;
|
|
20
22
|
fees?: Fees;
|
|
21
23
|
} | undefined);
|
|
@@ -4,7 +4,6 @@ import { AuctionDetails } from './auction-details/index.js';
|
|
|
4
4
|
import { Whitelist } from './whitelist/whitelist.js';
|
|
5
5
|
import { SurplusParams } from './surplus-params.js';
|
|
6
6
|
import type { Details, Extra } from './types.js';
|
|
7
|
-
import { PermitTransferFrom } from './permit/permit-transfer-from.js';
|
|
8
7
|
import { AuctionCalculator } from '../amount-calculator/auction-calculator/index.js';
|
|
9
8
|
import { NetworkEnum } from '../constants.js';
|
|
10
9
|
import { AmountCalculator } from '../amount-calculator/amount-calculator.js';
|
|
@@ -34,8 +33,6 @@ export declare class FusionOrder {
|
|
|
34
33
|
static isNativeOrder(chainId: number, ethOrderFactory: ProxyFactory, order: LimitOrderV4Struct, signature: string): boolean;
|
|
35
34
|
static fromNative(chainId: NetworkEnum, ethOrdersFactory: ProxyFactory, settlementExtension: Address, orderInfo: Omit<OrderInfoData, 'makerAsset'>, details: Details, extra?: Extra): FusionOrder;
|
|
36
35
|
static fromDataAndExtension(order: LimitOrderV4Struct, extension: Extension): FusionOrder;
|
|
37
|
-
isTransferPermit(): boolean;
|
|
38
|
-
withTransferPermit(permit: PermitTransferFrom, signature: string): this;
|
|
39
36
|
build(): LimitOrderV4Struct;
|
|
40
37
|
getOrderHash(chainId: number): string;
|
|
41
38
|
getTypedData(chainId: number): EIP712TypedData;
|
|
@@ -54,7 +51,4 @@ export declare class FusionOrder {
|
|
|
54
51
|
getAmountCalculator(): AmountCalculator;
|
|
55
52
|
isNative(chainId: number, ethOrderFactory: ProxyFactory, signature: string): boolean;
|
|
56
53
|
nativeSignature(maker: Address): string;
|
|
57
|
-
createTransferPermit(chainIdOrPermit2Proxy: number | Address, permit2Proxy?: Address): PermitTransferFrom;
|
|
58
|
-
private restoreMakerAssetSuffix;
|
|
59
|
-
private decodeTransferPermitSuffix;
|
|
60
54
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
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';
|
|
1
|
+
export { Address, type LimitOrderV4Struct, Extension, randBigInt, getLimitOrderContract, Interaction, TakerTraits, ExtensionBuilder, AmountMode, getLimitOrderV4Domain, LimitOrderContract, type OrderInfoData, type EIP712TypedData, MakerTraits, ProxyFactory, NativeOrdersFactory, NativeOrdersImpl, Bps } 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,4 +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 { QuoterRequest, type QuoterResponse, RelayerRequest, QuoterCustomPresetRequest, PresetEnum, Preset, Quote, type OrderStatusResponse, OrderStatus } from './api/index.js';
|
|
13
|
+
export { QuoterRequest, type QuoterResponse, RelayerRequest, QuoterCustomPresetRequest, PresetEnum, Preset, Quote, type OrderStatusResponse, OrderStatus, type IntegratorFeeRequest, type IntegratorFeeResponse } from './api/index.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Address, LimitOrderV4Struct } from '@1inch/limit-order-sdk';
|
|
2
2
|
import { BlockchainProviderConnector, HttpProviderConnector } from '../connector/index.js';
|
|
3
3
|
import { NetworkEnum } from '../constants.js';
|
|
4
|
-
import { CustomPreset,
|
|
4
|
+
import { CustomPreset, IntegratorFeeRequest, PresetEnum } from '../api/index.js';
|
|
5
5
|
import { FusionOrder } from '../fusion-order/index.js';
|
|
6
6
|
export type FusionSDKConfigParams = {
|
|
7
7
|
url: string;
|
|
@@ -17,7 +17,7 @@ export type QuoteParams = {
|
|
|
17
17
|
walletAddress?: string;
|
|
18
18
|
enableEstimate?: boolean;
|
|
19
19
|
permit?: string;
|
|
20
|
-
integratorFee?:
|
|
20
|
+
integratorFee?: IntegratorFeeRequest;
|
|
21
21
|
source?: string;
|
|
22
22
|
isPermit2?: boolean;
|
|
23
23
|
slippage?: number;
|
|
@@ -40,7 +40,7 @@ export type OrderParams = {
|
|
|
40
40
|
orderExpirationDelay?: bigint;
|
|
41
41
|
allowPartialFills?: boolean;
|
|
42
42
|
allowMultipleFills?: boolean;
|
|
43
|
-
integratorFee?:
|
|
43
|
+
integratorFee?: IntegratorFeeRequest;
|
|
44
44
|
slippage?: number;
|
|
45
45
|
};
|
|
46
46
|
export type OrderInfo = {
|