@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.
@@ -1,7 +1,7 @@
1
1
  /* eslint-disable */
2
- // sequence-indexer v0.4.0 9accea267e7db3d66f40d5e0f27db92eb5a29e2f
2
+ // sequence-indexer v0.4.0 cae735346d8e5c3dce48dce9f85116989b6beffd
3
3
  // --
4
- // Code generated by webrpc-gen@v0.18.6 with typescript generator. DO NOT EDIT.
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 = '9accea267e7db3d66f40d5e0f27db92eb5a29e2f'
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
- createdAt: number
292
+ blockNumber: number
280
293
  orderbookContractAddress: string
294
+ createdAt: number
281
295
  }
282
296
 
283
297
  export interface OrderbookOrderFilter {
284
298
  isListing?: boolean
285
- userAddress?: string
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
- filters: Array<OrderbookOrderFilter>
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 intervalId: any
1203
-
1204
- try {
1205
- intervalId = setInterval(() => {
1206
- if (Date.now() - lastReadTime > timeout) {
1207
- throw WebrpcStreamLostError.new({ cause: 'Stream timed out' })
1208
- }
1209
- }, timeout)
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
- if (error instanceof DOMException && error.name === 'AbortError') {
1225
- onError(
1226
- WebrpcRequestFailedError.new({
1227
- message: 'AbortError',
1228
- cause: `AbortError: ${message}`
1229
- }),
1230
- () => {
1231
- throw new Error('Abort signal cannot be used to reconnect')
1232
- }
1233
- )
1234
- } else {
1235
- onError(
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
- let lines = buffer.split('\n')
1246
- for (let i = 0; i < lines.length - 1; i++) {
1247
- if (lines[i].length == 0) {
1248
- continue
1249
- }
1250
- let data: any
1251
- try {
1252
- data = JSON.parse(lines[i])
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
- onError(
1264
- WebrpcBadResponseError.new({
1265
- status: res.status,
1266
- // @ts-ignore
1267
- cause: `JSON.parse(): ${error.message}`
1268
- }),
1269
- retryFetch
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
- if (!done) {
1276
- buffer = lines[lines.length - 1]
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
- onClose && onClose()
1281
- return
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
- } catch (error) {
1284
- // @ts-ignore
1285
- if (error instanceof WebrpcStreamLostError) {
1286
- onError(error, retryFetch)
1287
- } else {
1288
- throw error
1446
+
1447
+ if (!done) {
1448
+ buffer = lines[lines.length - 1]
1449
+ continue
1289
1450
  }
1290
- } finally {
1291
- clearInterval(intervalId)
1451
+
1452
+ onClose && onClose()
1453
+ return
1292
1454
  }
1293
1455
  }
1294
1456