@0xsequence/indexer 2.0.14 → 2.0.16
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/0xsequence-indexer.cjs.dev.js +132 -80
- package/dist/0xsequence-indexer.cjs.prod.js +132 -80
- package/dist/0xsequence-indexer.esm.js +132 -81
- package/dist/declarations/src/indexer.gen.d.ts +76 -4
- package/package.json +1 -1
- package/src/indexer.gen.ts +249 -87
package/src/indexer.gen.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
|
-
// sequence-indexer v0.4.0
|
|
2
|
+
// sequence-indexer v0.4.0 cae735346d8e5c3dce48dce9f85116989b6beffd
|
|
3
3
|
// --
|
|
4
|
-
// Code generated by webrpc-gen@v0.
|
|
4
|
+
// Code generated by webrpc-gen@v0.20.3 with typescript generator. DO NOT EDIT.
|
|
5
5
|
//
|
|
6
6
|
// webrpc-gen -schema=indexer.ridl -target=typescript -client -out=./clients/indexer.gen.ts
|
|
7
7
|
|
|
@@ -12,7 +12,7 @@ export const WebRPCVersion = 'v1'
|
|
|
12
12
|
export const WebRPCSchemaVersion = 'v0.4.0'
|
|
13
13
|
|
|
14
14
|
// Schema hash generated from your RIDL schema
|
|
15
|
-
export const WebRPCSchemaHash = '
|
|
15
|
+
export const WebRPCSchemaHash = 'cae735346d8e5c3dce48dce9f85116989b6beffd'
|
|
16
16
|
|
|
17
17
|
//
|
|
18
18
|
// Types
|
|
@@ -130,6 +130,12 @@ export enum SortOrder {
|
|
|
130
130
|
ASC = 'ASC'
|
|
131
131
|
}
|
|
132
132
|
|
|
133
|
+
export enum ContractVerificationStatus {
|
|
134
|
+
VERIFIED = 'VERIFIED',
|
|
135
|
+
UNVERIFIED = 'UNVERIFIED',
|
|
136
|
+
ALL = 'ALL'
|
|
137
|
+
}
|
|
138
|
+
|
|
133
139
|
export interface Version {
|
|
134
140
|
webrpcVersion: string
|
|
135
141
|
schemaVersion: string
|
|
@@ -207,6 +213,11 @@ export interface EtherBalance {
|
|
|
207
213
|
balanceWei: string
|
|
208
214
|
}
|
|
209
215
|
|
|
216
|
+
export interface NativeTokenBalance {
|
|
217
|
+
accountAddress: string
|
|
218
|
+
balance: string
|
|
219
|
+
}
|
|
220
|
+
|
|
210
221
|
export interface IndexState {
|
|
211
222
|
chainId: string
|
|
212
223
|
lastBlockNum: number
|
|
@@ -260,6 +271,8 @@ export interface TokenBalance {
|
|
|
260
271
|
blockHash: string
|
|
261
272
|
blockNumber: number
|
|
262
273
|
chainId: number
|
|
274
|
+
uniqueCollectibles: string
|
|
275
|
+
isSummary: boolean
|
|
263
276
|
contractInfo?: ContractInfo
|
|
264
277
|
tokenMetadata?: TokenMetadata
|
|
265
278
|
}
|
|
@@ -276,14 +289,20 @@ export interface OrderbookOrder {
|
|
|
276
289
|
expiry: string
|
|
277
290
|
orderStatus: OrderStatus
|
|
278
291
|
createdBy: string
|
|
279
|
-
|
|
292
|
+
blockNumber: number
|
|
280
293
|
orderbookContractAddress: string
|
|
294
|
+
createdAt: number
|
|
281
295
|
}
|
|
282
296
|
|
|
283
297
|
export interface OrderbookOrderFilter {
|
|
284
298
|
isListing?: boolean
|
|
285
|
-
|
|
299
|
+
userAddresses?: Array<string>
|
|
286
300
|
tokenIds: Array<string>
|
|
301
|
+
excludeUserAddresses?: Array<string>
|
|
302
|
+
afterBlockNumber: number
|
|
303
|
+
afterCreatedAt: number
|
|
304
|
+
beforeExpiry: number
|
|
305
|
+
userAddress?: string
|
|
287
306
|
excludeUserAddress?: string
|
|
288
307
|
}
|
|
289
308
|
|
|
@@ -421,12 +440,45 @@ export interface MetadataOptions {
|
|
|
421
440
|
includeContracts?: Array<string>
|
|
422
441
|
}
|
|
423
442
|
|
|
443
|
+
export interface TokenBalancesFilter {
|
|
444
|
+
accountAddresses: Array<string>
|
|
445
|
+
contractStatus: ContractVerificationStatus
|
|
446
|
+
contractWhitelist: Array<string>
|
|
447
|
+
contractBlacklist: Array<string>
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
export interface TokenBalancesByContractFilter {
|
|
451
|
+
contractAddresses: Array<string>
|
|
452
|
+
accountAddresses: Array<string>
|
|
453
|
+
contractStatus: ContractVerificationStatus
|
|
454
|
+
}
|
|
455
|
+
|
|
424
456
|
export interface Indexer {
|
|
425
457
|
ping(headers?: object, signal?: AbortSignal): Promise<PingReturn>
|
|
426
458
|
version(headers?: object, signal?: AbortSignal): Promise<VersionReturn>
|
|
427
459
|
runtimeStatus(headers?: object, signal?: AbortSignal): Promise<RuntimeStatusReturn>
|
|
428
460
|
getChainID(headers?: object, signal?: AbortSignal): Promise<GetChainIDReturn>
|
|
429
461
|
getEtherBalance(args: GetEtherBalanceArgs, headers?: object, signal?: AbortSignal): Promise<GetEtherBalanceReturn>
|
|
462
|
+
getNativeTokenBalance(
|
|
463
|
+
args: GetNativeTokenBalanceArgs,
|
|
464
|
+
headers?: object,
|
|
465
|
+
signal?: AbortSignal
|
|
466
|
+
): Promise<GetNativeTokenBalanceReturn>
|
|
467
|
+
getTokenBalancesSummary(
|
|
468
|
+
args: GetTokenBalancesSummaryArgs,
|
|
469
|
+
headers?: object,
|
|
470
|
+
signal?: AbortSignal
|
|
471
|
+
): Promise<GetTokenBalancesSummaryReturn>
|
|
472
|
+
getTokenBalancesDetails(
|
|
473
|
+
args: GetTokenBalancesDetailsArgs,
|
|
474
|
+
headers?: object,
|
|
475
|
+
signal?: AbortSignal
|
|
476
|
+
): Promise<GetTokenBalancesDetailsReturn>
|
|
477
|
+
getTokenBalancesByContract(
|
|
478
|
+
args: GetTokenBalancesByContractArgs,
|
|
479
|
+
headers?: object,
|
|
480
|
+
signal?: AbortSignal
|
|
481
|
+
): Promise<GetTokenBalancesByContractReturn>
|
|
430
482
|
getTokenBalances(args: GetTokenBalancesArgs, headers?: object, signal?: AbortSignal): Promise<GetTokenBalancesReturn>
|
|
431
483
|
getTokenSupplies(args: GetTokenSuppliesArgs, headers?: object, signal?: AbortSignal): Promise<GetTokenSuppliesReturn>
|
|
432
484
|
getTokenSuppliesMap(args: GetTokenSuppliesMapArgs, headers?: object, signal?: AbortSignal): Promise<GetTokenSuppliesMapReturn>
|
|
@@ -516,6 +568,43 @@ export interface GetEtherBalanceArgs {
|
|
|
516
568
|
export interface GetEtherBalanceReturn {
|
|
517
569
|
balance: EtherBalance
|
|
518
570
|
}
|
|
571
|
+
export interface GetNativeTokenBalanceArgs {
|
|
572
|
+
accountAddress?: string
|
|
573
|
+
}
|
|
574
|
+
|
|
575
|
+
export interface GetNativeTokenBalanceReturn {
|
|
576
|
+
balance: NativeTokenBalance
|
|
577
|
+
}
|
|
578
|
+
export interface GetTokenBalancesSummaryArgs {
|
|
579
|
+
filter: TokenBalancesFilter
|
|
580
|
+
omitMetadata?: boolean
|
|
581
|
+
page?: Page
|
|
582
|
+
}
|
|
583
|
+
|
|
584
|
+
export interface GetTokenBalancesSummaryReturn {
|
|
585
|
+
page: Page
|
|
586
|
+
balances: Array<TokenBalance>
|
|
587
|
+
}
|
|
588
|
+
export interface GetTokenBalancesDetailsArgs {
|
|
589
|
+
filter: TokenBalancesFilter
|
|
590
|
+
omitMetadata?: boolean
|
|
591
|
+
page?: Page
|
|
592
|
+
}
|
|
593
|
+
|
|
594
|
+
export interface GetTokenBalancesDetailsReturn {
|
|
595
|
+
page: Page
|
|
596
|
+
balances: Array<TokenBalance>
|
|
597
|
+
}
|
|
598
|
+
export interface GetTokenBalancesByContractArgs {
|
|
599
|
+
filter: TokenBalancesByContractFilter
|
|
600
|
+
omitMetadata?: boolean
|
|
601
|
+
page?: Page
|
|
602
|
+
}
|
|
603
|
+
|
|
604
|
+
export interface GetTokenBalancesByContractReturn {
|
|
605
|
+
page: Page
|
|
606
|
+
balances: Array<TokenBalance>
|
|
607
|
+
}
|
|
519
608
|
export interface GetTokenBalancesArgs {
|
|
520
609
|
accountAddress?: string
|
|
521
610
|
contractAddress?: string
|
|
@@ -593,9 +682,12 @@ export interface GetOrderbookOrdersArgs {
|
|
|
593
682
|
orderbookContractAddress: string
|
|
594
683
|
collectionAddress: string
|
|
595
684
|
currencyAddresses: Array<string>
|
|
596
|
-
|
|
685
|
+
filter: OrderbookOrderFilter
|
|
597
686
|
orderStatuses: Array<OrderStatus>
|
|
687
|
+
filters: Array<OrderbookOrderFilter>
|
|
598
688
|
beforeExpiryTimestamp: number
|
|
689
|
+
blockNumberAfter: number
|
|
690
|
+
createdAtAfter: number
|
|
599
691
|
}
|
|
600
692
|
|
|
601
693
|
export interface GetOrderbookOrdersReturn {
|
|
@@ -717,7 +809,7 @@ export class Indexer implements Indexer {
|
|
|
717
809
|
protected path = '/rpc/Indexer/'
|
|
718
810
|
|
|
719
811
|
constructor(hostname: string, fetch: Fetch) {
|
|
720
|
-
this.hostname = hostname
|
|
812
|
+
this.hostname = hostname.replace(/\/*$/, '')
|
|
721
813
|
this.fetch = (input: RequestInfo, init?: RequestInit) => fetch(input, init)
|
|
722
814
|
}
|
|
723
815
|
|
|
@@ -800,6 +892,85 @@ export class Indexer implements Indexer {
|
|
|
800
892
|
)
|
|
801
893
|
}
|
|
802
894
|
|
|
895
|
+
getNativeTokenBalance = (
|
|
896
|
+
args: GetNativeTokenBalanceArgs,
|
|
897
|
+
headers?: object,
|
|
898
|
+
signal?: AbortSignal
|
|
899
|
+
): Promise<GetNativeTokenBalanceReturn> => {
|
|
900
|
+
return this.fetch(this.url('GetNativeTokenBalance'), createHTTPRequest(args, headers, signal)).then(
|
|
901
|
+
res => {
|
|
902
|
+
return buildResponse(res).then(_data => {
|
|
903
|
+
return {
|
|
904
|
+
balance: <NativeTokenBalance>_data.balance
|
|
905
|
+
}
|
|
906
|
+
})
|
|
907
|
+
},
|
|
908
|
+
error => {
|
|
909
|
+
throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })
|
|
910
|
+
}
|
|
911
|
+
)
|
|
912
|
+
}
|
|
913
|
+
|
|
914
|
+
getTokenBalancesSummary = (
|
|
915
|
+
args: GetTokenBalancesSummaryArgs,
|
|
916
|
+
headers?: object,
|
|
917
|
+
signal?: AbortSignal
|
|
918
|
+
): Promise<GetTokenBalancesSummaryReturn> => {
|
|
919
|
+
return this.fetch(this.url('GetTokenBalancesSummary'), createHTTPRequest(args, headers, signal)).then(
|
|
920
|
+
res => {
|
|
921
|
+
return buildResponse(res).then(_data => {
|
|
922
|
+
return {
|
|
923
|
+
page: <Page>_data.page,
|
|
924
|
+
balances: <Array<TokenBalance>>_data.balances
|
|
925
|
+
}
|
|
926
|
+
})
|
|
927
|
+
},
|
|
928
|
+
error => {
|
|
929
|
+
throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })
|
|
930
|
+
}
|
|
931
|
+
)
|
|
932
|
+
}
|
|
933
|
+
|
|
934
|
+
getTokenBalancesDetails = (
|
|
935
|
+
args: GetTokenBalancesDetailsArgs,
|
|
936
|
+
headers?: object,
|
|
937
|
+
signal?: AbortSignal
|
|
938
|
+
): Promise<GetTokenBalancesDetailsReturn> => {
|
|
939
|
+
return this.fetch(this.url('GetTokenBalancesDetails'), createHTTPRequest(args, headers, signal)).then(
|
|
940
|
+
res => {
|
|
941
|
+
return buildResponse(res).then(_data => {
|
|
942
|
+
return {
|
|
943
|
+
page: <Page>_data.page,
|
|
944
|
+
balances: <Array<TokenBalance>>_data.balances
|
|
945
|
+
}
|
|
946
|
+
})
|
|
947
|
+
},
|
|
948
|
+
error => {
|
|
949
|
+
throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })
|
|
950
|
+
}
|
|
951
|
+
)
|
|
952
|
+
}
|
|
953
|
+
|
|
954
|
+
getTokenBalancesByContract = (
|
|
955
|
+
args: GetTokenBalancesByContractArgs,
|
|
956
|
+
headers?: object,
|
|
957
|
+
signal?: AbortSignal
|
|
958
|
+
): Promise<GetTokenBalancesByContractReturn> => {
|
|
959
|
+
return this.fetch(this.url('GetTokenBalancesByContract'), createHTTPRequest(args, headers, signal)).then(
|
|
960
|
+
res => {
|
|
961
|
+
return buildResponse(res).then(_data => {
|
|
962
|
+
return {
|
|
963
|
+
page: <Page>_data.page,
|
|
964
|
+
balances: <Array<TokenBalance>>_data.balances
|
|
965
|
+
}
|
|
966
|
+
})
|
|
967
|
+
},
|
|
968
|
+
error => {
|
|
969
|
+
throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })
|
|
970
|
+
}
|
|
971
|
+
)
|
|
972
|
+
}
|
|
973
|
+
|
|
803
974
|
getTokenBalances = (args: GetTokenBalancesArgs, headers?: object, signal?: AbortSignal): Promise<GetTokenBalancesReturn> => {
|
|
804
975
|
return this.fetch(this.url('GetTokenBalances'), createHTTPRequest(args, headers, signal)).then(
|
|
805
976
|
res => {
|
|
@@ -1199,96 +1370,87 @@ const sseResponse = async (res: Response, options: WebrpcStreamOptions<any>, ret
|
|
|
1199
1370
|
let buffer = ''
|
|
1200
1371
|
let lastReadTime = Date.now()
|
|
1201
1372
|
const timeout = (10 + 1) * 1000
|
|
1202
|
-
let
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
while (true) {
|
|
1212
|
-
let value
|
|
1213
|
-
let done
|
|
1214
|
-
try {
|
|
1215
|
-
;({ value, done } = await reader.read())
|
|
1216
|
-
lastReadTime = Date.now()
|
|
1217
|
-
buffer += decoder.decode(value, { stream: true })
|
|
1218
|
-
} catch (error) {
|
|
1219
|
-
let message = ''
|
|
1220
|
-
if (error instanceof Error) {
|
|
1221
|
-
message = error.message
|
|
1222
|
-
}
|
|
1373
|
+
let timeoutError = false
|
|
1374
|
+
const intervalId = setInterval(() => {
|
|
1375
|
+
if (Date.now() - lastReadTime > timeout) {
|
|
1376
|
+
timeoutError = true
|
|
1377
|
+
clearInterval(intervalId)
|
|
1378
|
+
reader.releaseLock()
|
|
1379
|
+
}
|
|
1380
|
+
}, timeout)
|
|
1223
1381
|
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
WebrpcStreamLostError.new({
|
|
1237
|
-
cause: `reader.read(): ${message}`
|
|
1238
|
-
}),
|
|
1239
|
-
retryFetch
|
|
1240
|
-
)
|
|
1241
|
-
}
|
|
1242
|
-
return
|
|
1382
|
+
while (true) {
|
|
1383
|
+
let value
|
|
1384
|
+
let done
|
|
1385
|
+
try {
|
|
1386
|
+
;({ value, done } = await reader.read())
|
|
1387
|
+
if (timeoutError) throw new Error('Timeout, no data or heartbeat received')
|
|
1388
|
+
lastReadTime = Date.now()
|
|
1389
|
+
buffer += decoder.decode(value, { stream: true })
|
|
1390
|
+
} catch (error) {
|
|
1391
|
+
let message = ''
|
|
1392
|
+
if (error instanceof Error) {
|
|
1393
|
+
message = error.message
|
|
1243
1394
|
}
|
|
1244
1395
|
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
if (data.hasOwnProperty('webrpcError')) {
|
|
1254
|
-
const error = data.webrpcError
|
|
1255
|
-
const code: number = typeof error.code === 'number' ? error.code : 0
|
|
1256
|
-
onError((webrpcErrorByCode[code] || WebrpcError).new(error), retryFetch)
|
|
1257
|
-
return
|
|
1258
|
-
}
|
|
1259
|
-
} catch (error) {
|
|
1260
|
-
if (error instanceof Error && error.message === 'Abort signal cannot be used to reconnect') {
|
|
1261
|
-
throw error
|
|
1396
|
+
if (error instanceof DOMException && error.name === 'AbortError') {
|
|
1397
|
+
onError(
|
|
1398
|
+
WebrpcRequestFailedError.new({
|
|
1399
|
+
message: 'AbortError',
|
|
1400
|
+
cause: `AbortError: ${message}`
|
|
1401
|
+
}),
|
|
1402
|
+
() => {
|
|
1403
|
+
throw new Error('Abort signal cannot be used to reconnect')
|
|
1262
1404
|
}
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
}
|
|
1272
|
-
onMessage(data)
|
|
1405
|
+
)
|
|
1406
|
+
} else {
|
|
1407
|
+
onError(
|
|
1408
|
+
WebrpcStreamLostError.new({
|
|
1409
|
+
cause: `reader.read(): ${message}`
|
|
1410
|
+
}),
|
|
1411
|
+
retryFetch
|
|
1412
|
+
)
|
|
1273
1413
|
}
|
|
1414
|
+
return
|
|
1415
|
+
}
|
|
1274
1416
|
|
|
1275
|
-
|
|
1276
|
-
|
|
1417
|
+
let lines = buffer.split('\n')
|
|
1418
|
+
for (let i = 0; i < lines.length - 1; i++) {
|
|
1419
|
+
if (lines[i].length == 0) {
|
|
1277
1420
|
continue
|
|
1278
1421
|
}
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1422
|
+
let data: any
|
|
1423
|
+
try {
|
|
1424
|
+
data = JSON.parse(lines[i])
|
|
1425
|
+
if (data.hasOwnProperty('webrpcError')) {
|
|
1426
|
+
const error = data.webrpcError
|
|
1427
|
+
const code: number = typeof error.code === 'number' ? error.code : 0
|
|
1428
|
+
onError((webrpcErrorByCode[code] || WebrpcError).new(error), retryFetch)
|
|
1429
|
+
return
|
|
1430
|
+
}
|
|
1431
|
+
} catch (error) {
|
|
1432
|
+
if (error instanceof Error && error.message === 'Abort signal cannot be used to reconnect') {
|
|
1433
|
+
throw error
|
|
1434
|
+
}
|
|
1435
|
+
onError(
|
|
1436
|
+
WebrpcBadResponseError.new({
|
|
1437
|
+
status: res.status,
|
|
1438
|
+
// @ts-ignore
|
|
1439
|
+
cause: `JSON.parse(): ${error.message}`
|
|
1440
|
+
}),
|
|
1441
|
+
retryFetch
|
|
1442
|
+
)
|
|
1443
|
+
}
|
|
1444
|
+
onMessage(data)
|
|
1282
1445
|
}
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
} else {
|
|
1288
|
-
throw error
|
|
1446
|
+
|
|
1447
|
+
if (!done) {
|
|
1448
|
+
buffer = lines[lines.length - 1]
|
|
1449
|
+
continue
|
|
1289
1450
|
}
|
|
1290
|
-
|
|
1291
|
-
|
|
1451
|
+
|
|
1452
|
+
onClose && onClose()
|
|
1453
|
+
return
|
|
1292
1454
|
}
|
|
1293
1455
|
}
|
|
1294
1456
|
|