@velora-dex/sdk 9.4.0 → 9.4.1-dev.1
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/dist/index.d.ts +11 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/methods/delta/buildTWAPDeltaOrder.d.ts +65 -0
- package/dist/methods/delta/buildTWAPDeltaOrder.d.ts.map +1 -0
- package/dist/methods/delta/helpers/buildTWAPOrderData.d.ts +74 -0
- package/dist/methods/delta/helpers/buildTWAPOrderData.d.ts.map +1 -0
- package/dist/methods/delta/helpers/misc.d.ts +8 -0
- package/dist/methods/delta/helpers/misc.d.ts.map +1 -1
- package/dist/methods/delta/helpers/types.d.ts +43 -2
- package/dist/methods/delta/helpers/types.d.ts.map +1 -1
- package/dist/methods/delta/index.d.ts +16 -1
- package/dist/methods/delta/index.d.ts.map +1 -1
- package/dist/methods/delta/postTWAPDeltaOrder.d.ts +16 -0
- package/dist/methods/delta/postTWAPDeltaOrder.d.ts.map +1 -0
- package/dist/methods/delta/preSignTWAPDeltaOrder.d.ts +20 -0
- package/dist/methods/delta/preSignTWAPDeltaOrder.d.ts.map +1 -0
- package/dist/methods/delta/signTWAPDeltaOrder.d.ts +9 -0
- package/dist/methods/delta/signTWAPDeltaOrder.d.ts.map +1 -0
- package/dist/sdk/partial.d.ts +3 -1
- package/dist/sdk/partial.d.ts.map +1 -1
- package/dist/sdk.cjs.development.js +610 -25
- package/dist/sdk.cjs.development.js.map +1 -1
- package/dist/sdk.cjs.production.min.js +1 -1
- package/dist/sdk.cjs.production.min.js.map +1 -1
- package/dist/sdk.esm.js +606 -26
- package/dist/sdk.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/constants.js +1 -6
- package/src/index.js +68 -125
- package/src/index.ts +63 -0
- package/src/methods/delta/buildTWAPDeltaOrder.ts +181 -0
- package/src/methods/delta/helpers/buildTWAPOrderData.ts +227 -0
- package/src/methods/delta/helpers/misc.ts +35 -1
- package/src/methods/delta/helpers/types.ts +52 -2
- package/src/methods/delta/index.ts +78 -1
- package/src/methods/delta/postTWAPDeltaOrder.ts +57 -0
- package/src/methods/delta/preSignTWAPDeltaOrder.ts +168 -0
- package/src/methods/delta/signTWAPDeltaOrder.ts +32 -0
- package/src/sdk/partial.ts +3 -1
package/package.json
CHANGED
package/src/constants.js
CHANGED
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
export {
|
|
2
|
-
SwapSide,
|
|
3
|
-
ContractMethod,
|
|
4
|
-
ContractMethodV5,
|
|
5
|
-
ContractMethodV6,
|
|
6
|
-
} from '@paraswap/core';
|
|
1
|
+
export { SwapSide, ContractMethod, ContractMethodV5, ContractMethodV6, } from '@paraswap/core';
|
|
7
2
|
export const API_URL = 'https://api.paraswap.io';
|
|
8
3
|
export const DEFAULT_VERSION = '6.2';
|
package/src/index.js
CHANGED
|
@@ -1,138 +1,81 @@
|
|
|
1
|
-
import { constructApproveToken } from './methods/swap/approve';
|
|
2
|
-
import { constructGetBalances, isAllowance } from './methods/swap/balance';
|
|
3
|
-
import { constructGetSpender } from './methods/swap/spender';
|
|
4
|
-
import { constructGetAdapters } from './methods/swap/adapters';
|
|
5
|
-
import { constructGetRate } from './methods/swap/rates';
|
|
1
|
+
import { constructApproveToken, } from './methods/swap/approve';
|
|
2
|
+
import { constructGetBalances, isAllowance, } from './methods/swap/balance';
|
|
3
|
+
import { constructGetSpender, } from './methods/swap/spender';
|
|
4
|
+
import { constructGetAdapters, } from './methods/swap/adapters';
|
|
5
|
+
import { constructGetRate, } from './methods/swap/rates';
|
|
6
6
|
import { constructSwapTx } from './methods/swap/swapTx';
|
|
7
7
|
import { constructGetTokens } from './methods/swap/token';
|
|
8
8
|
import { constructBuildTx } from './methods/swap/transaction';
|
|
9
|
-
import { constructBuildLimitOrder } from './methods/limitOrders/buildOrder';
|
|
10
|
-
import { constructSignLimitOrder } from './methods/limitOrders/signOrder';
|
|
11
|
-
import { constructCancelLimitOrder } from './methods/limitOrders/cancelOrder';
|
|
12
|
-
import { constructFillOrderDirectly } from './methods/limitOrders/fillOrderDirectly';
|
|
13
|
-
import { constructGetLimitOrders } from './methods/limitOrders/getOrders';
|
|
14
|
-
import { constructPostLimitOrder } from './methods/limitOrders/postOrder';
|
|
15
|
-
import { constructApproveTokenForLimitOrder } from './methods/limitOrders/approveForOrder';
|
|
16
|
-
import { constructGetLimitOrdersContract } from './methods/limitOrders/getOrdersContract';
|
|
17
|
-
import { constructBuildLimitOrderTx } from './methods/limitOrders/transaction';
|
|
18
|
-
import { constructBuildNFTOrder } from './methods/nftOrders/buildOrder';
|
|
19
|
-
import { constructSignNFTOrder } from './methods/nftOrders/signOrder';
|
|
20
|
-
import { constructCancelNFTOrder } from './methods/nftOrders/cancelOrder';
|
|
21
|
-
import { constructGetNFTOrders } from './methods/nftOrders/getOrders';
|
|
22
|
-
import { constructPostNFTOrder } from './methods/nftOrders/postOrder';
|
|
23
|
-
import { constructApproveTokenForNFTOrder } from './methods/nftOrders/approveForOrder';
|
|
24
|
-
import { constructGetNFTOrdersContract } from './methods/nftOrders/getOrdersContract';
|
|
25
|
-
import { constructBuildNFTOrderTx } from './methods/nftOrders/transaction';
|
|
26
|
-
import {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
} from './
|
|
38
|
-
import {
|
|
39
|
-
import {
|
|
40
|
-
import {
|
|
41
|
-
import {
|
|
42
|
-
import {
|
|
43
|
-
import {
|
|
44
|
-
import {
|
|
45
|
-
import {
|
|
46
|
-
import {
|
|
47
|
-
import {
|
|
48
|
-
import {
|
|
49
|
-
import { constructBuildExternalDeltaOrder } from './methods/delta/buildExternalDeltaOrder';
|
|
50
|
-
import { constructSignExternalDeltaOrder } from './methods/delta/signExternalDeltaOrder';
|
|
51
|
-
import { constructPostExternalDeltaOrder } from './methods/delta/postExternalDeltaOrder';
|
|
52
|
-
import { constructPreSignExternalDeltaOrder } from './methods/delta/preSignExternalDeltaOrder';
|
|
53
|
-
import { constructGetQuote } from './methods/quote/getQuote';
|
|
54
|
-
import { constructCancelDeltaOrder } from './methods/delta/cancelDeltaOrder';
|
|
55
|
-
import { constructDeltaTokenModule } from './methods/delta/deltaTokenModule';
|
|
9
|
+
import { constructBuildLimitOrder, } from './methods/limitOrders/buildOrder';
|
|
10
|
+
import { constructSignLimitOrder, } from './methods/limitOrders/signOrder';
|
|
11
|
+
import { constructCancelLimitOrder, } from './methods/limitOrders/cancelOrder';
|
|
12
|
+
import { constructFillOrderDirectly, } from './methods/limitOrders/fillOrderDirectly';
|
|
13
|
+
import { constructGetLimitOrders, } from './methods/limitOrders/getOrders';
|
|
14
|
+
import { constructPostLimitOrder, } from './methods/limitOrders/postOrder';
|
|
15
|
+
import { constructApproveTokenForLimitOrder, } from './methods/limitOrders/approveForOrder';
|
|
16
|
+
import { constructGetLimitOrdersContract, } from './methods/limitOrders/getOrdersContract';
|
|
17
|
+
import { constructBuildLimitOrderTx, } from './methods/limitOrders/transaction';
|
|
18
|
+
import { constructBuildNFTOrder, } from './methods/nftOrders/buildOrder';
|
|
19
|
+
import { constructSignNFTOrder, } from './methods/nftOrders/signOrder';
|
|
20
|
+
import { constructCancelNFTOrder, } from './methods/nftOrders/cancelOrder';
|
|
21
|
+
import { constructGetNFTOrders, } from './methods/nftOrders/getOrders';
|
|
22
|
+
import { constructPostNFTOrder, } from './methods/nftOrders/postOrder';
|
|
23
|
+
import { constructApproveTokenForNFTOrder, } from './methods/nftOrders/approveForOrder';
|
|
24
|
+
import { constructGetNFTOrdersContract, } from './methods/nftOrders/getOrdersContract';
|
|
25
|
+
import { constructBuildNFTOrderTx, } from './methods/nftOrders/transaction';
|
|
26
|
+
import { constructEthersContractCaller, constructEthersV5ContractCaller, constructEthersV6ContractCaller, constructWeb3ContractCaller, constructViemContractCaller, txParamsToViemTxParams, constructAxiosFetcher, constructFetchFetcher, isFetcherError, constructToken, } from './helpers';
|
|
27
|
+
import { constructBuildDeltaOrder, } from './methods/delta/buildDeltaOrder';
|
|
28
|
+
import { constructPostDeltaOrder, } from './methods/delta/postDeltaOrder';
|
|
29
|
+
import { constructSignDeltaOrder, } from './methods/delta/signDeltaOrder';
|
|
30
|
+
import { constructPreSignDeltaOrder, } from './methods/delta/preSignDeltaOrder';
|
|
31
|
+
import { constructGetDeltaContract, } from './methods/delta/getDeltaContract';
|
|
32
|
+
import { constructGetDeltaPrice, } from './methods/delta/getDeltaPrice';
|
|
33
|
+
import { constructGetDeltaOrders, } from './methods/delta/getDeltaOrders';
|
|
34
|
+
import { constructApproveTokenForDelta, } from './methods/delta/approveForDelta';
|
|
35
|
+
import { constructGetPartnerFee, } from './methods/delta/getPartnerFee';
|
|
36
|
+
import { constructGetBridgeInfo, } from './methods/delta/getBridgeInfo';
|
|
37
|
+
import { constructIsTokenSupportedInDelta, } from './methods/delta/isTokenSupportedInDelta';
|
|
38
|
+
import { constructBuildExternalDeltaOrder, } from './methods/delta/buildExternalDeltaOrder';
|
|
39
|
+
import { constructSignExternalDeltaOrder, } from './methods/delta/signExternalDeltaOrder';
|
|
40
|
+
import { constructPostExternalDeltaOrder, } from './methods/delta/postExternalDeltaOrder';
|
|
41
|
+
import { constructPreSignExternalDeltaOrder, } from './methods/delta/preSignExternalDeltaOrder';
|
|
42
|
+
import { constructBuildTWAPDeltaOrder, } from './methods/delta/buildTWAPDeltaOrder';
|
|
43
|
+
import { constructSignTWAPDeltaOrder, } from './methods/delta/signTWAPDeltaOrder';
|
|
44
|
+
import { constructPostTWAPDeltaOrder, } from './methods/delta/postTWAPDeltaOrder';
|
|
45
|
+
import { constructPreSignTWAPDeltaOrder, } from './methods/delta/preSignTWAPDeltaOrder';
|
|
46
|
+
import { constructGetQuote, } from './methods/quote/getQuote';
|
|
47
|
+
import { constructCancelDeltaOrder, } from './methods/delta/cancelDeltaOrder';
|
|
48
|
+
import { constructDeltaTokenModule, } from './methods/delta/deltaTokenModule';
|
|
56
49
|
export { constructSwapSDK } from './methods/swap';
|
|
57
|
-
export {
|
|
58
|
-
|
|
59
|
-
constructSubmitLimitOrder,
|
|
60
|
-
} from './methods/limitOrders';
|
|
61
|
-
export {
|
|
62
|
-
constructAllDeltaOrdersHandlers,
|
|
63
|
-
constructSubmitDeltaOrder,
|
|
64
|
-
constructSubmitExternalDeltaOrder,
|
|
65
|
-
} from './methods/delta';
|
|
50
|
+
export { constructAllLimitOrdersHandlers, constructSubmitLimitOrder, } from './methods/limitOrders';
|
|
51
|
+
export { constructAllDeltaOrdersHandlers, constructSubmitDeltaOrder, constructSubmitExternalDeltaOrder, constructSubmitTWAPDeltaOrder, } from './methods/delta';
|
|
66
52
|
export * from './constants';
|
|
67
53
|
// can import these individually
|
|
68
54
|
// and use in constructPartialSDK only what you need
|
|
69
55
|
// unused should tree-shake
|
|
70
|
-
export {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
// nftOrders methods
|
|
91
|
-
constructBuildNFTOrder,
|
|
92
|
-
constructSignNFTOrder,
|
|
93
|
-
constructCancelNFTOrder,
|
|
94
|
-
constructGetNFTOrders,
|
|
95
|
-
constructPostNFTOrder,
|
|
96
|
-
constructApproveTokenForNFTOrder,
|
|
97
|
-
constructGetNFTOrdersContract,
|
|
98
|
-
constructBuildNFTOrderTx,
|
|
99
|
-
// Delta methods
|
|
100
|
-
constructBuildDeltaOrder,
|
|
101
|
-
constructPostDeltaOrder,
|
|
102
|
-
constructSignDeltaOrder,
|
|
103
|
-
constructPreSignDeltaOrder,
|
|
104
|
-
constructGetDeltaContract,
|
|
105
|
-
constructGetDeltaPrice,
|
|
106
|
-
constructGetDeltaOrders,
|
|
107
|
-
constructCancelDeltaOrder,
|
|
108
|
-
constructDeltaTokenModule,
|
|
109
|
-
constructApproveTokenForDelta,
|
|
110
|
-
// External Delta methods
|
|
111
|
-
constructBuildExternalDeltaOrder,
|
|
112
|
-
constructSignExternalDeltaOrder,
|
|
113
|
-
constructPostExternalDeltaOrder,
|
|
114
|
-
constructPreSignExternalDeltaOrder,
|
|
115
|
-
// Quote methods
|
|
116
|
-
constructGetQuote,
|
|
117
|
-
// different helpers
|
|
118
|
-
constructGetPartnerFee,
|
|
119
|
-
constructGetBridgeInfo,
|
|
120
|
-
constructIsTokenSupportedInDelta,
|
|
121
|
-
constructEthersContractCaller, // same as constructEthersV5ContractCaller for backwards compatibility
|
|
122
|
-
constructEthersV5ContractCaller,
|
|
123
|
-
constructEthersV6ContractCaller,
|
|
124
|
-
constructWeb3ContractCaller,
|
|
125
|
-
constructViemContractCaller,
|
|
126
|
-
txParamsToViemTxParams,
|
|
127
|
-
constructAxiosFetcher,
|
|
128
|
-
constructFetchFetcher,
|
|
129
|
-
isFetcherError,
|
|
130
|
-
isAllowance,
|
|
131
|
-
constructToken,
|
|
132
|
-
};
|
|
56
|
+
export {
|
|
57
|
+
// swap methods:
|
|
58
|
+
constructApproveToken, constructGetBalances, // getAllowances is inside
|
|
59
|
+
constructGetSpender, // this was getTokenTransferProxy
|
|
60
|
+
constructGetTokens, constructBuildTx, constructGetAdapters, constructGetRate, constructSwapTx,
|
|
61
|
+
// limitOrders methods:
|
|
62
|
+
constructBuildLimitOrder, constructSignLimitOrder, constructCancelLimitOrder, constructFillOrderDirectly, constructGetLimitOrders, constructPostLimitOrder, constructApproveTokenForLimitOrder, constructGetLimitOrdersContract, constructBuildLimitOrderTx,
|
|
63
|
+
// nftOrders methods
|
|
64
|
+
constructBuildNFTOrder, constructSignNFTOrder, constructCancelNFTOrder, constructGetNFTOrders, constructPostNFTOrder, constructApproveTokenForNFTOrder, constructGetNFTOrdersContract, constructBuildNFTOrderTx,
|
|
65
|
+
// Delta methods
|
|
66
|
+
constructBuildDeltaOrder, constructPostDeltaOrder, constructSignDeltaOrder, constructPreSignDeltaOrder, constructGetDeltaContract, constructGetDeltaPrice, constructGetDeltaOrders, constructCancelDeltaOrder, constructDeltaTokenModule, constructApproveTokenForDelta,
|
|
67
|
+
// External Delta methods
|
|
68
|
+
constructBuildExternalDeltaOrder, constructSignExternalDeltaOrder, constructPostExternalDeltaOrder, constructPreSignExternalDeltaOrder,
|
|
69
|
+
// TWAP Delta methods
|
|
70
|
+
constructBuildTWAPDeltaOrder, constructSignTWAPDeltaOrder, constructPostTWAPDeltaOrder, constructPreSignTWAPDeltaOrder,
|
|
71
|
+
// Quote methods
|
|
72
|
+
constructGetQuote,
|
|
73
|
+
// different helpers
|
|
74
|
+
constructGetPartnerFee, constructGetBridgeInfo, constructIsTokenSupportedInDelta, constructEthersContractCaller, // same as constructEthersV5ContractCaller for backwards compatibility
|
|
75
|
+
constructEthersV5ContractCaller, constructEthersV6ContractCaller, constructWeb3ContractCaller, constructViemContractCaller, txParamsToViemTxParams, constructAxiosFetcher, constructFetchFetcher, isFetcherError, isAllowance, constructToken, };
|
|
133
76
|
export { constructPartialSDK } from './sdk/partial';
|
|
134
77
|
export { constructFullSDK } from './sdk/full';
|
|
135
|
-
export { constructSimpleSDK } from './sdk/simple';
|
|
78
|
+
export { constructSimpleSDK, } from './sdk/simple';
|
|
136
79
|
// bundled methods for limitOrders
|
|
137
80
|
export * from './methods/limitOrders';
|
|
138
81
|
export * from './methods/limitOrders/helpers/types';
|
package/src/index.ts
CHANGED
|
@@ -141,12 +141,20 @@ import type {
|
|
|
141
141
|
DeltaAuctionOrder,
|
|
142
142
|
DeltaAuction,
|
|
143
143
|
DeltaAuctionStatus,
|
|
144
|
+
DeltaAuctionTransaction,
|
|
144
145
|
BridgeMetadata,
|
|
145
146
|
BridgeStatus,
|
|
146
147
|
Bridge,
|
|
147
148
|
ExternalDeltaOrder,
|
|
149
|
+
TWAPDeltaOrder,
|
|
150
|
+
TWAPBuyDeltaOrder,
|
|
151
|
+
TWAPOnChainOrderType,
|
|
148
152
|
OnChainOrderType,
|
|
149
153
|
SwapSideUnion,
|
|
154
|
+
AmountsWithSlippage,
|
|
155
|
+
AmountsSellSlippage,
|
|
156
|
+
AmountsBuySlippage,
|
|
157
|
+
AmountsExplicit,
|
|
150
158
|
} from './methods/delta/helpers/types';
|
|
151
159
|
import {
|
|
152
160
|
BuildDeltaOrderDataParams,
|
|
@@ -156,6 +164,7 @@ import {
|
|
|
156
164
|
} from './methods/delta/buildDeltaOrder';
|
|
157
165
|
import {
|
|
158
166
|
constructPostDeltaOrder,
|
|
167
|
+
DeltaOrderToPost,
|
|
159
168
|
PostDeltaOrderFunctions,
|
|
160
169
|
PostDeltaOrderParams,
|
|
161
170
|
} from './methods/delta/postDeltaOrder';
|
|
@@ -224,6 +233,28 @@ import {
|
|
|
224
233
|
PreSignExternalDeltaOrderFunctions,
|
|
225
234
|
} from './methods/delta/preSignExternalDeltaOrder';
|
|
226
235
|
|
|
236
|
+
import {
|
|
237
|
+
BuildTWAPDeltaOrderParams,
|
|
238
|
+
BuildTWAPSellOrderParams,
|
|
239
|
+
BuildTWAPBuyOrderParams,
|
|
240
|
+
BuildTWAPDeltaOrderFunctions,
|
|
241
|
+
constructBuildTWAPDeltaOrder,
|
|
242
|
+
} from './methods/delta/buildTWAPDeltaOrder';
|
|
243
|
+
import type { SignableTWAPOrderData } from './methods/delta/helpers/buildTWAPOrderData';
|
|
244
|
+
import {
|
|
245
|
+
constructSignTWAPDeltaOrder,
|
|
246
|
+
SignTWAPDeltaOrderFunctions,
|
|
247
|
+
} from './methods/delta/signTWAPDeltaOrder';
|
|
248
|
+
import {
|
|
249
|
+
constructPostTWAPDeltaOrder,
|
|
250
|
+
PostTWAPDeltaOrderFunctions,
|
|
251
|
+
PostTWAPDeltaOrderParams,
|
|
252
|
+
} from './methods/delta/postTWAPDeltaOrder';
|
|
253
|
+
import {
|
|
254
|
+
constructPreSignTWAPDeltaOrder,
|
|
255
|
+
PreSignTWAPDeltaOrderFunctions,
|
|
256
|
+
} from './methods/delta/preSignTWAPDeltaOrder';
|
|
257
|
+
|
|
227
258
|
import {
|
|
228
259
|
constructGetQuote,
|
|
229
260
|
GetQuoteFunctions,
|
|
@@ -244,6 +275,10 @@ import {
|
|
|
244
275
|
DepositNativeAndPreSignParams,
|
|
245
276
|
DepositNativeAndPreSignDeltaOrderParams,
|
|
246
277
|
} from './methods/delta/deltaTokenModule';
|
|
278
|
+
import {
|
|
279
|
+
CancelDeltaOrderData,
|
|
280
|
+
SignableCancelDeltaOrderData,
|
|
281
|
+
} from './methods/delta/helpers/buildCancelDeltaOrderData';
|
|
247
282
|
|
|
248
283
|
export { constructSwapSDK, SwapSDKMethods } from './methods/swap';
|
|
249
284
|
|
|
@@ -257,9 +292,11 @@ export {
|
|
|
257
292
|
constructAllDeltaOrdersHandlers,
|
|
258
293
|
constructSubmitDeltaOrder,
|
|
259
294
|
constructSubmitExternalDeltaOrder,
|
|
295
|
+
constructSubmitTWAPDeltaOrder,
|
|
260
296
|
DeltaOrderHandlers,
|
|
261
297
|
SubmitDeltaOrderParams,
|
|
262
298
|
SubmitExternalDeltaOrderParams,
|
|
299
|
+
SubmitTWAPDeltaOrderParams,
|
|
263
300
|
} from './methods/delta';
|
|
264
301
|
|
|
265
302
|
export type {
|
|
@@ -337,6 +374,11 @@ export {
|
|
|
337
374
|
constructSignExternalDeltaOrder,
|
|
338
375
|
constructPostExternalDeltaOrder,
|
|
339
376
|
constructPreSignExternalDeltaOrder,
|
|
377
|
+
// TWAP Delta methods
|
|
378
|
+
constructBuildTWAPDeltaOrder,
|
|
379
|
+
constructSignTWAPDeltaOrder,
|
|
380
|
+
constructPostTWAPDeltaOrder,
|
|
381
|
+
constructPreSignTWAPDeltaOrder,
|
|
340
382
|
// Quote methods
|
|
341
383
|
constructGetQuote,
|
|
342
384
|
// different helpers
|
|
@@ -409,8 +451,11 @@ export type {
|
|
|
409
451
|
DeltaAuctionOrder,
|
|
410
452
|
DeltaAuction,
|
|
411
453
|
DeltaAuctionStatus,
|
|
454
|
+
DeltaAuctionTransaction,
|
|
412
455
|
DeltaOrderFilterByStatus,
|
|
413
456
|
DeltaOrderFromAPI,
|
|
457
|
+
CancelDeltaOrderData,
|
|
458
|
+
SignableCancelDeltaOrderData,
|
|
414
459
|
// bridge part of DeltaOrder
|
|
415
460
|
BridgeMetadata,
|
|
416
461
|
BridgeStatus,
|
|
@@ -421,6 +466,7 @@ export type {
|
|
|
421
466
|
BuildDeltaOrderDataParams,
|
|
422
467
|
BuildDeltaOrderFunctions,
|
|
423
468
|
SignableDeltaOrderData,
|
|
469
|
+
DeltaOrderToPost,
|
|
424
470
|
PostDeltaOrderFunctions,
|
|
425
471
|
PostDeltaOrderParams,
|
|
426
472
|
SignDeltaOrderFunctions,
|
|
@@ -436,7 +482,14 @@ export type {
|
|
|
436
482
|
DepositNativeAndPreSignDeltaOrderParams,
|
|
437
483
|
// External Delta types
|
|
438
484
|
ExternalDeltaOrder,
|
|
485
|
+
TWAPDeltaOrder,
|
|
486
|
+
TWAPBuyDeltaOrder,
|
|
487
|
+
TWAPOnChainOrderType,
|
|
439
488
|
OnChainOrderType,
|
|
489
|
+
AmountsWithSlippage,
|
|
490
|
+
AmountsSellSlippage,
|
|
491
|
+
AmountsBuySlippage,
|
|
492
|
+
AmountsExplicit,
|
|
440
493
|
SignableExternalOrderData,
|
|
441
494
|
BuildExternalDeltaOrderParams,
|
|
442
495
|
BuildExternalDeltaOrderFunctions,
|
|
@@ -444,6 +497,16 @@ export type {
|
|
|
444
497
|
PostExternalDeltaOrderFunctions,
|
|
445
498
|
PostExternalDeltaOrderParams,
|
|
446
499
|
PreSignExternalDeltaOrderFunctions,
|
|
500
|
+
// TWAP Delta types
|
|
501
|
+
BuildTWAPDeltaOrderParams,
|
|
502
|
+
BuildTWAPSellOrderParams,
|
|
503
|
+
BuildTWAPBuyOrderParams,
|
|
504
|
+
BuildTWAPDeltaOrderFunctions,
|
|
505
|
+
SignableTWAPOrderData,
|
|
506
|
+
SignTWAPDeltaOrderFunctions,
|
|
507
|
+
PostTWAPDeltaOrderFunctions,
|
|
508
|
+
PostTWAPDeltaOrderParams,
|
|
509
|
+
PreSignTWAPDeltaOrderFunctions,
|
|
447
510
|
// types for Quote methods
|
|
448
511
|
GetQuoteFunctions,
|
|
449
512
|
QuoteParams,
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import type { ConstructFetchInput, RequestParameters } from '../../types';
|
|
2
|
+
import { constructGetDeltaContract } from './getDeltaContract';
|
|
3
|
+
import type { BridgePrice } from './getDeltaPrice';
|
|
4
|
+
import { constructGetPartnerFee } from './getPartnerFee';
|
|
5
|
+
import {
|
|
6
|
+
buildTWAPSignableOrderData,
|
|
7
|
+
type BuildTWAPOrderDataInput,
|
|
8
|
+
type SignableTWAPOrderData,
|
|
9
|
+
} from './helpers/buildTWAPOrderData';
|
|
10
|
+
import { applySlippage, resolvePartnerFee } from './helpers/misc';
|
|
11
|
+
import type { MarkOptional } from 'ts-essentials';
|
|
12
|
+
export type { SignableTWAPOrderData } from './helpers/buildTWAPOrderData';
|
|
13
|
+
|
|
14
|
+
type BuildTWAPDeltaOrderParamsBase = {
|
|
15
|
+
/** @description The address of the order owner */
|
|
16
|
+
owner: string;
|
|
17
|
+
/** @description The address of the order beneficiary */
|
|
18
|
+
beneficiary?: string;
|
|
19
|
+
/** @description The address of the src token */
|
|
20
|
+
srcToken: string;
|
|
21
|
+
/** @description The address of the dest token. For Crosschain Order - destination token on the destination chain */
|
|
22
|
+
destToken: string;
|
|
23
|
+
/** @description The deadline for the order */
|
|
24
|
+
deadline?: number;
|
|
25
|
+
/** @description The nonce of the order */
|
|
26
|
+
nonce?: number | string;
|
|
27
|
+
/** @description Optional permit signature for the src token */
|
|
28
|
+
permit?: string;
|
|
29
|
+
/** @description Partner string */
|
|
30
|
+
partner?: string;
|
|
31
|
+
/** @description Destination Chain ID for Crosschain Orders */
|
|
32
|
+
destChainId?: number;
|
|
33
|
+
/** @description Seconds between slice executions (min 60) */
|
|
34
|
+
interval: number;
|
|
35
|
+
/** @description Number of slices (min 2) */
|
|
36
|
+
numSlices: number;
|
|
37
|
+
/** @description Slippage in basis points (bps). 10000 = 100%, 50 = 0.5% */
|
|
38
|
+
slippage?: number;
|
|
39
|
+
|
|
40
|
+
/** @description price response received from /delta/prices (getDeltaPrice method) for a single slice */
|
|
41
|
+
deltaPrice: MarkOptional<
|
|
42
|
+
Pick<
|
|
43
|
+
BridgePrice,
|
|
44
|
+
| 'destAmount'
|
|
45
|
+
| 'partner'
|
|
46
|
+
| 'partnerFee'
|
|
47
|
+
| 'destToken'
|
|
48
|
+
| 'srcAmount'
|
|
49
|
+
| 'bridge'
|
|
50
|
+
>,
|
|
51
|
+
'partner' | 'partnerFee'
|
|
52
|
+
>;
|
|
53
|
+
|
|
54
|
+
/** @description partner fee in basis points (bps), 50bps=0.5% */
|
|
55
|
+
partnerFeeBps?: number;
|
|
56
|
+
/** @description partner address */
|
|
57
|
+
partnerAddress?: string;
|
|
58
|
+
/** @description take surplus */
|
|
59
|
+
partnerTakesSurplus?: boolean;
|
|
60
|
+
/** @description A boolean indicating whether the surplus should be capped. True by default */
|
|
61
|
+
capSurplus?: boolean;
|
|
62
|
+
/** @description Metadata for the order, hex string */
|
|
63
|
+
metadata?: string;
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
export type BuildTWAPSellOrderParams = BuildTWAPDeltaOrderParamsBase & {
|
|
67
|
+
/** @description Must be "TWAPOrder" for sell orders */
|
|
68
|
+
onChainOrderType: 'TWAPOrder';
|
|
69
|
+
/** @description Total source token amount across all slices */
|
|
70
|
+
totalSrcAmount: string;
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
export type BuildTWAPBuyOrderParams = BuildTWAPDeltaOrderParamsBase & {
|
|
74
|
+
/** @description Must be "TWAPBuyOrder" for buy orders */
|
|
75
|
+
onChainOrderType: 'TWAPBuyOrder';
|
|
76
|
+
/** @description Total destination token amount to buy across all slices */
|
|
77
|
+
totalDestAmount: string;
|
|
78
|
+
/** @description Maximum source token amount willing to spend */
|
|
79
|
+
maxSrcAmount: string;
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
export type BuildTWAPDeltaOrderParams =
|
|
83
|
+
| BuildTWAPSellOrderParams
|
|
84
|
+
| BuildTWAPBuyOrderParams;
|
|
85
|
+
|
|
86
|
+
type BuildTWAPDeltaOrder = (
|
|
87
|
+
buildOrderParams: BuildTWAPDeltaOrderParams,
|
|
88
|
+
requestParams?: RequestParameters
|
|
89
|
+
) => Promise<SignableTWAPOrderData>;
|
|
90
|
+
|
|
91
|
+
export type BuildTWAPDeltaOrderFunctions = {
|
|
92
|
+
/** @description Build TWAP Orders (sell or buy) to be posted to Delta API for execution */
|
|
93
|
+
buildTWAPDeltaOrder: BuildTWAPDeltaOrder;
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
export const constructBuildTWAPDeltaOrder = (
|
|
97
|
+
options: ConstructFetchInput
|
|
98
|
+
): BuildTWAPDeltaOrderFunctions => {
|
|
99
|
+
const { chainId } = options;
|
|
100
|
+
|
|
101
|
+
const { getDeltaContract } = constructGetDeltaContract(options);
|
|
102
|
+
const { getPartnerFee } = constructGetPartnerFee(options);
|
|
103
|
+
|
|
104
|
+
const buildTWAPDeltaOrder: BuildTWAPDeltaOrder = async (
|
|
105
|
+
params,
|
|
106
|
+
requestParams
|
|
107
|
+
) => {
|
|
108
|
+
const ParaswapDelta = await getDeltaContract(requestParams);
|
|
109
|
+
if (!ParaswapDelta) {
|
|
110
|
+
throw new Error(`Delta is not available on chain ${chainId}`);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
const { partnerAddress, partnerFeeBps, partnerTakesSurplus } =
|
|
114
|
+
await resolvePartnerFee(params, getPartnerFee, requestParams);
|
|
115
|
+
|
|
116
|
+
const commonInput = {
|
|
117
|
+
owner: params.owner,
|
|
118
|
+
beneficiary: params.beneficiary,
|
|
119
|
+
srcToken: params.srcToken,
|
|
120
|
+
destToken: params.deltaPrice.destToken,
|
|
121
|
+
deadline: params.deadline,
|
|
122
|
+
nonce: params.nonce?.toString(10),
|
|
123
|
+
permit: params.permit,
|
|
124
|
+
metadata: params.metadata,
|
|
125
|
+
interval: params.interval,
|
|
126
|
+
numSlices: params.numSlices,
|
|
127
|
+
bridge: params.deltaPrice.bridge,
|
|
128
|
+
|
|
129
|
+
chainId,
|
|
130
|
+
paraswapDeltaAddress: ParaswapDelta,
|
|
131
|
+
partnerAddress,
|
|
132
|
+
partnerTakesSurplus,
|
|
133
|
+
partnerFeeBps,
|
|
134
|
+
capSurplus: params.capSurplus,
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
let input: BuildTWAPOrderDataInput;
|
|
138
|
+
|
|
139
|
+
if (params.onChainOrderType === 'TWAPOrder') {
|
|
140
|
+
const slippage = params.slippage ?? 0;
|
|
141
|
+
const destAmountPerSlice =
|
|
142
|
+
slippage > 0
|
|
143
|
+
? applySlippage({
|
|
144
|
+
amount: params.deltaPrice.destAmount,
|
|
145
|
+
slippageBps: slippage,
|
|
146
|
+
increase: false,
|
|
147
|
+
})
|
|
148
|
+
: params.deltaPrice.destAmount;
|
|
149
|
+
|
|
150
|
+
input = {
|
|
151
|
+
...commonInput,
|
|
152
|
+
onChainOrderType: 'TWAPOrder',
|
|
153
|
+
destAmountPerSlice,
|
|
154
|
+
totalSrcAmount: params.totalSrcAmount,
|
|
155
|
+
};
|
|
156
|
+
} else {
|
|
157
|
+
const slippage = params.slippage ?? 0;
|
|
158
|
+
const maxSrcAmount =
|
|
159
|
+
slippage > 0
|
|
160
|
+
? applySlippage({
|
|
161
|
+
amount: params.maxSrcAmount,
|
|
162
|
+
slippageBps: slippage,
|
|
163
|
+
increase: true,
|
|
164
|
+
})
|
|
165
|
+
: params.maxSrcAmount;
|
|
166
|
+
|
|
167
|
+
input = {
|
|
168
|
+
...commonInput,
|
|
169
|
+
onChainOrderType: 'TWAPBuyOrder',
|
|
170
|
+
totalDestAmount: params.totalDestAmount,
|
|
171
|
+
maxSrcAmount,
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
return buildTWAPSignableOrderData(input);
|
|
176
|
+
};
|
|
177
|
+
|
|
178
|
+
return {
|
|
179
|
+
buildTWAPDeltaOrder,
|
|
180
|
+
};
|
|
181
|
+
};
|