@bronlabs/intents-sdk 1.0.6 → 1.0.8
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/abi/OracleAggregator.json +60 -1
- package/abi/OrderEngine.json +38 -64
- package/dist/orderIndexer.js +5 -2
- package/dist/orderIndexer.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,14 @@
|
|
|
1
1
|
[
|
|
2
|
+
{
|
|
3
|
+
"inputs": [],
|
|
4
|
+
"name": "OA_INVALID_CALL",
|
|
5
|
+
"type": "error"
|
|
6
|
+
},
|
|
7
|
+
{
|
|
8
|
+
"inputs": [],
|
|
9
|
+
"name": "OA_INVALID_ORDER_STATUS",
|
|
10
|
+
"type": "error"
|
|
11
|
+
},
|
|
2
12
|
{
|
|
3
13
|
"inputs": [],
|
|
4
14
|
"name": "OA_ONLY_ORACLE_OR_OWNER",
|
|
@@ -95,6 +105,24 @@
|
|
|
95
105
|
"stateMutability": "nonpayable",
|
|
96
106
|
"type": "function"
|
|
97
107
|
},
|
|
108
|
+
{
|
|
109
|
+
"inputs": [
|
|
110
|
+
{
|
|
111
|
+
"internalType": "string",
|
|
112
|
+
"name": "_orderId",
|
|
113
|
+
"type": "string"
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"internalType": "bool",
|
|
117
|
+
"name": "_isConfirmed",
|
|
118
|
+
"type": "bool"
|
|
119
|
+
}
|
|
120
|
+
],
|
|
121
|
+
"name": "oracleConfirmLiquidation",
|
|
122
|
+
"outputs": [],
|
|
123
|
+
"stateMutability": "nonpayable",
|
|
124
|
+
"type": "function"
|
|
125
|
+
},
|
|
98
126
|
{
|
|
99
127
|
"inputs": [
|
|
100
128
|
{
|
|
@@ -131,6 +159,24 @@
|
|
|
131
159
|
"stateMutability": "nonpayable",
|
|
132
160
|
"type": "function"
|
|
133
161
|
},
|
|
162
|
+
{
|
|
163
|
+
"inputs": [
|
|
164
|
+
{
|
|
165
|
+
"internalType": "string",
|
|
166
|
+
"name": "_orderId",
|
|
167
|
+
"type": "string"
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
"internalType": "uint256",
|
|
171
|
+
"name": "_liquidationPrice",
|
|
172
|
+
"type": "uint256"
|
|
173
|
+
}
|
|
174
|
+
],
|
|
175
|
+
"name": "oracleLiquidationSetPrice",
|
|
176
|
+
"outputs": [],
|
|
177
|
+
"stateMutability": "nonpayable",
|
|
178
|
+
"type": "function"
|
|
179
|
+
},
|
|
134
180
|
{
|
|
135
181
|
"inputs": [
|
|
136
182
|
{
|
|
@@ -150,6 +196,19 @@
|
|
|
150
196
|
"stateMutability": "view",
|
|
151
197
|
"type": "function"
|
|
152
198
|
},
|
|
199
|
+
{
|
|
200
|
+
"inputs": [],
|
|
201
|
+
"name": "oraclesCount",
|
|
202
|
+
"outputs": [
|
|
203
|
+
{
|
|
204
|
+
"internalType": "uint256",
|
|
205
|
+
"name": "",
|
|
206
|
+
"type": "uint256"
|
|
207
|
+
}
|
|
208
|
+
],
|
|
209
|
+
"stateMutability": "view",
|
|
210
|
+
"type": "function"
|
|
211
|
+
},
|
|
153
212
|
{
|
|
154
213
|
"inputs": [],
|
|
155
214
|
"name": "orderEngine",
|
|
@@ -216,4 +275,4 @@
|
|
|
216
275
|
"stateMutability": "nonpayable",
|
|
217
276
|
"type": "function"
|
|
218
277
|
}
|
|
219
|
-
]
|
|
278
|
+
]
|
package/abi/OrderEngine.json
CHANGED
|
@@ -102,11 +102,6 @@
|
|
|
102
102
|
"inputs": [
|
|
103
103
|
{
|
|
104
104
|
"components": [
|
|
105
|
-
{
|
|
106
|
-
"internalType": "address",
|
|
107
|
-
"name": "liquidationReceiver",
|
|
108
|
-
"type": "address"
|
|
109
|
-
},
|
|
110
105
|
{
|
|
111
106
|
"internalType": "string",
|
|
112
107
|
"name": "orderId",
|
|
@@ -134,12 +129,17 @@
|
|
|
134
129
|
},
|
|
135
130
|
{
|
|
136
131
|
"internalType": "string",
|
|
137
|
-
"name": "
|
|
132
|
+
"name": "userAddress",
|
|
138
133
|
"type": "string"
|
|
139
134
|
},
|
|
140
135
|
{
|
|
141
136
|
"internalType": "uint256",
|
|
142
|
-
"name": "
|
|
137
|
+
"name": "baseAmount",
|
|
138
|
+
"type": "uint256"
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"internalType": "uint256",
|
|
142
|
+
"name": "quoteAmount",
|
|
143
143
|
"type": "uint256"
|
|
144
144
|
},
|
|
145
145
|
{
|
|
@@ -149,16 +149,21 @@
|
|
|
149
149
|
},
|
|
150
150
|
{
|
|
151
151
|
"internalType": "uint256",
|
|
152
|
-
"name": "
|
|
152
|
+
"name": "maxPrice_e18",
|
|
153
153
|
"type": "uint256"
|
|
154
154
|
},
|
|
155
155
|
{
|
|
156
156
|
"internalType": "uint256",
|
|
157
157
|
"name": "auctionDuration",
|
|
158
158
|
"type": "uint256"
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"internalType": "address",
|
|
162
|
+
"name": "liquidationReceiver",
|
|
163
|
+
"type": "address"
|
|
159
164
|
}
|
|
160
165
|
],
|
|
161
|
-
"internalType": "struct IOrderEngine.
|
|
166
|
+
"internalType": "struct IOrderEngine.CreateOrderParams",
|
|
162
167
|
"name": "_initOrderParams",
|
|
163
168
|
"type": "tuple"
|
|
164
169
|
}
|
|
@@ -213,13 +218,13 @@
|
|
|
213
218
|
{
|
|
214
219
|
"components": [
|
|
215
220
|
{
|
|
216
|
-
"internalType": "
|
|
217
|
-
"name": "
|
|
218
|
-
"type": "
|
|
221
|
+
"internalType": "enum IOrderEngine.OrderStatus",
|
|
222
|
+
"name": "status",
|
|
223
|
+
"type": "uint8"
|
|
219
224
|
},
|
|
220
225
|
{
|
|
221
226
|
"internalType": "address",
|
|
222
|
-
"name": "
|
|
227
|
+
"name": "user",
|
|
223
228
|
"type": "address"
|
|
224
229
|
},
|
|
225
230
|
{
|
|
@@ -236,17 +241,17 @@
|
|
|
236
241
|
},
|
|
237
242
|
{
|
|
238
243
|
"internalType": "string",
|
|
239
|
-
"name": "
|
|
244
|
+
"name": "tokenAddress",
|
|
240
245
|
"type": "string"
|
|
241
246
|
},
|
|
242
247
|
{
|
|
243
248
|
"internalType": "string",
|
|
244
|
-
"name": "
|
|
249
|
+
"name": "solverAddress",
|
|
245
250
|
"type": "string"
|
|
246
251
|
},
|
|
247
252
|
{
|
|
248
253
|
"internalType": "string",
|
|
249
|
-
"name": "
|
|
254
|
+
"name": "userTxHash",
|
|
250
255
|
"type": "string"
|
|
251
256
|
}
|
|
252
257
|
],
|
|
@@ -263,17 +268,17 @@
|
|
|
263
268
|
},
|
|
264
269
|
{
|
|
265
270
|
"internalType": "string",
|
|
266
|
-
"name": "
|
|
271
|
+
"name": "tokenAddress",
|
|
267
272
|
"type": "string"
|
|
268
273
|
},
|
|
269
274
|
{
|
|
270
275
|
"internalType": "string",
|
|
271
|
-
"name": "
|
|
276
|
+
"name": "userAddress",
|
|
272
277
|
"type": "string"
|
|
273
278
|
},
|
|
274
279
|
{
|
|
275
280
|
"internalType": "string",
|
|
276
|
-
"name": "
|
|
281
|
+
"name": "solverTxHash",
|
|
277
282
|
"type": "string"
|
|
278
283
|
}
|
|
279
284
|
],
|
|
@@ -285,40 +290,38 @@
|
|
|
285
290
|
"components": [
|
|
286
291
|
{
|
|
287
292
|
"internalType": "uint256",
|
|
288
|
-
"name": "
|
|
293
|
+
"name": "baseAmount",
|
|
289
294
|
"type": "uint256"
|
|
290
295
|
},
|
|
291
296
|
{
|
|
292
297
|
"internalType": "uint256",
|
|
293
|
-
"name": "
|
|
298
|
+
"name": "quoteAmount",
|
|
294
299
|
"type": "uint256"
|
|
295
|
-
}
|
|
296
|
-
],
|
|
297
|
-
"internalType": "struct IOrderEngine.AuctionParams",
|
|
298
|
-
"name": "auctionParams",
|
|
299
|
-
"type": "tuple"
|
|
300
|
-
},
|
|
301
|
-
{
|
|
302
|
-
"components": [
|
|
300
|
+
},
|
|
303
301
|
{
|
|
304
302
|
"internalType": "uint256",
|
|
305
|
-
"name": "
|
|
303
|
+
"name": "price_e18",
|
|
306
304
|
"type": "uint256"
|
|
307
305
|
},
|
|
308
306
|
{
|
|
309
307
|
"internalType": "uint256",
|
|
310
|
-
"name": "
|
|
308
|
+
"name": "maxPrice_e18",
|
|
311
309
|
"type": "uint256"
|
|
312
310
|
},
|
|
313
311
|
{
|
|
314
312
|
"internalType": "uint256",
|
|
315
|
-
"name": "
|
|
313
|
+
"name": "auctionDuration",
|
|
316
314
|
"type": "uint256"
|
|
317
315
|
},
|
|
318
316
|
{
|
|
319
317
|
"internalType": "uint256",
|
|
320
|
-
"name": "
|
|
318
|
+
"name": "baseTokenPriceToUsd_e4",
|
|
321
319
|
"type": "uint256"
|
|
320
|
+
},
|
|
321
|
+
{
|
|
322
|
+
"internalType": "address",
|
|
323
|
+
"name": "liquidationReceiver",
|
|
324
|
+
"type": "address"
|
|
322
325
|
}
|
|
323
326
|
],
|
|
324
327
|
"internalType": "struct IOrderEngine.PricingParams",
|
|
@@ -334,11 +337,6 @@
|
|
|
334
337
|
"internalType": "uint64",
|
|
335
338
|
"name": "createdAt",
|
|
336
339
|
"type": "uint64"
|
|
337
|
-
},
|
|
338
|
-
{
|
|
339
|
-
"internalType": "enum IOrderEngine.OrderStatus",
|
|
340
|
-
"name": "status",
|
|
341
|
-
"type": "uint8"
|
|
342
340
|
}
|
|
343
341
|
],
|
|
344
342
|
"internalType": "struct IOrderEngine.Order",
|
|
@@ -349,30 +347,6 @@
|
|
|
349
347
|
"stateMutability": "view",
|
|
350
348
|
"type": "function"
|
|
351
349
|
},
|
|
352
|
-
{
|
|
353
|
-
"inputs": [
|
|
354
|
-
{
|
|
355
|
-
"internalType": "string",
|
|
356
|
-
"name": "_networkId",
|
|
357
|
-
"type": "string"
|
|
358
|
-
},
|
|
359
|
-
{
|
|
360
|
-
"internalType": "string",
|
|
361
|
-
"name": "_txHash",
|
|
362
|
-
"type": "string"
|
|
363
|
-
}
|
|
364
|
-
],
|
|
365
|
-
"name": "getUsedTxHashes",
|
|
366
|
-
"outputs": [
|
|
367
|
-
{
|
|
368
|
-
"internalType": "bool",
|
|
369
|
-
"name": "",
|
|
370
|
-
"type": "bool"
|
|
371
|
-
}
|
|
372
|
-
],
|
|
373
|
-
"stateMutability": "view",
|
|
374
|
-
"type": "function"
|
|
375
|
-
},
|
|
376
350
|
{
|
|
377
351
|
"inputs": [
|
|
378
352
|
{
|
|
@@ -491,7 +465,7 @@
|
|
|
491
465
|
"type": "string"
|
|
492
466
|
}
|
|
493
467
|
],
|
|
494
|
-
"name": "
|
|
468
|
+
"name": "setSolverTxOnQuoteNetwork",
|
|
495
469
|
"outputs": [],
|
|
496
470
|
"stateMutability": "nonpayable",
|
|
497
471
|
"type": "function"
|
|
@@ -509,7 +483,7 @@
|
|
|
509
483
|
"type": "string"
|
|
510
484
|
}
|
|
511
485
|
],
|
|
512
|
-
"name": "
|
|
486
|
+
"name": "setUserTxOnBaseNetwork",
|
|
513
487
|
"outputs": [],
|
|
514
488
|
"stateMutability": "nonpayable",
|
|
515
489
|
"type": "function"
|
package/dist/orderIndexer.js
CHANGED
|
@@ -40,6 +40,7 @@ export class OrderIndexer {
|
|
|
40
40
|
// Wait for event queue to be processed
|
|
41
41
|
while (!this.eventQueue.isEmpty()) {
|
|
42
42
|
log.info(`Waiting for ${this.eventQueue.size()} events to be processed before stopping`);
|
|
43
|
+
await this.processEventQueue();
|
|
43
44
|
await sleep(1000);
|
|
44
45
|
}
|
|
45
46
|
log.info('Indexer stopped');
|
|
@@ -76,7 +77,9 @@ export class OrderIndexer {
|
|
|
76
77
|
});
|
|
77
78
|
}
|
|
78
79
|
this.lastProcessedBlock = toBlock;
|
|
79
|
-
|
|
80
|
+
if (this.isRunning) {
|
|
81
|
+
await this.processEventQueue();
|
|
82
|
+
}
|
|
80
83
|
}
|
|
81
84
|
}
|
|
82
85
|
}
|
|
@@ -92,7 +95,7 @@ export class OrderIndexer {
|
|
|
92
95
|
if (this.eventQueue.isEmpty() || this.processors.length === 0)
|
|
93
96
|
return;
|
|
94
97
|
log.info(`Processing event queue with ${this.eventQueue.size()} events`);
|
|
95
|
-
while (!this.eventQueue.isEmpty()
|
|
98
|
+
while (!this.eventQueue.isEmpty()) {
|
|
96
99
|
const event = this.eventQueue.peek();
|
|
97
100
|
if (!event)
|
|
98
101
|
continue;
|
package/dist/orderIndexer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orderIndexer.js","sourceRoot":"","sources":["../src/orderIndexer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"orderIndexer.js","sourceRoot":"","sources":["../src/orderIndexer.ts"],"names":[],"mappings":"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"}
|