@0xsequence/indexer 2.2.8 → 2.2.10

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,9 +1,13 @@
1
1
  /* eslint-disable */
2
- // sequence-indexer v0.4.0 cae735346d8e5c3dce48dce9f85116989b6beffd
2
+ // sequence-indexer v0.4.0 f4a1ea74365bac36bdcf14312eaa0ab86638b169
3
3
  // --
4
- // Code generated by webrpc-gen@v0.20.3 with typescript generator. DO NOT EDIT.
4
+ // Code generated by webrpc-gen@v0.21.1 with typescript generator. DO NOT EDIT.
5
5
  //
6
- // webrpc-gen -schema=indexer.ridl -target=typescript -client -out=./clients/indexer.gen.ts
6
+ // webrpc-gen -schema=indexer.ridl -service=Indexer -target=typescript -client -out=./clients/indexer.gen.ts
7
+
8
+ export const WebrpcHeader = 'Webrpc'
9
+
10
+ export const WebrpcHeaderValue = 'webrpc@v0.21.1;gen-typescript@v0.15.1;sequence-indexer@v0.4.0'
7
11
 
8
12
  // WebRPC description and code-gen version
9
13
  export const WebRPCVersion = 'v1'
@@ -12,12 +16,66 @@ export const WebRPCVersion = 'v1'
12
16
  export const WebRPCSchemaVersion = 'v0.4.0'
13
17
 
14
18
  // Schema hash generated from your RIDL schema
15
- export const WebRPCSchemaHash = 'cae735346d8e5c3dce48dce9f85116989b6beffd'
19
+ export const WebRPCSchemaHash = 'f4a1ea74365bac36bdcf14312eaa0ab86638b169'
20
+
21
+ type WebrpcGenVersions = {
22
+ webrpcGenVersion: string
23
+ codeGenName: string
24
+ codeGenVersion: string
25
+ schemaName: string
26
+ schemaVersion: string
27
+ }
28
+
29
+ export function VersionFromHeader(headers: Headers): WebrpcGenVersions {
30
+ const headerValue = headers.get(WebrpcHeader)
31
+ if (!headerValue) {
32
+ return {
33
+ webrpcGenVersion: '',
34
+ codeGenName: '',
35
+ codeGenVersion: '',
36
+ schemaName: '',
37
+ schemaVersion: ''
38
+ }
39
+ }
40
+
41
+ return parseWebrpcGenVersions(headerValue)
42
+ }
43
+
44
+ function parseWebrpcGenVersions(header: string): WebrpcGenVersions {
45
+ const versions = header.split(';')
46
+ if (versions.length < 3) {
47
+ return {
48
+ webrpcGenVersion: '',
49
+ codeGenName: '',
50
+ codeGenVersion: '',
51
+ schemaName: '',
52
+ schemaVersion: ''
53
+ }
54
+ }
55
+
56
+ const [_, webrpcGenVersion] = versions[0].split('@')
57
+ const [codeGenName, codeGenVersion] = versions[1].split('@')
58
+ const [schemaName, schemaVersion] = versions[2].split('@')
59
+
60
+ return {
61
+ webrpcGenVersion,
62
+ codeGenName,
63
+ codeGenVersion,
64
+ schemaName,
65
+ schemaVersion
66
+ }
67
+ }
16
68
 
17
69
  //
18
70
  // Types
19
71
  //
20
72
 
73
+ export enum ResourceStatus {
74
+ NOT_AVAILABLE = 'NOT_AVAILABLE',
75
+ STALE = 'STALE',
76
+ AVAILABLE = 'AVAILABLE'
77
+ }
78
+
21
79
  export interface ContractInfo {
22
80
  chainId: number
23
81
  address: string
@@ -30,12 +88,17 @@ export interface ContractInfo {
30
88
  bytecodeHash: string
31
89
  extensions: ContractInfoExtensions
32
90
  updatedAt: string
91
+ notFound: boolean
92
+ queuedAt?: string
93
+ status: ResourceStatus
33
94
  }
34
95
 
35
96
  export interface ContractInfoExtensions {
36
97
  link: string
37
98
  description: string
99
+ categories: Array<string>
38
100
  ogImage: string
101
+ ogName: string
39
102
  originChainId: number
40
103
  originAddress: string
41
104
  blacklist: boolean
@@ -60,6 +123,9 @@ export interface TokenMetadata {
60
123
  decimals?: number
61
124
  updatedAt?: string
62
125
  assets?: Array<Asset>
126
+ status: ResourceStatus
127
+ queuedAt?: string
128
+ lastFetched?: string
63
129
  }
64
130
 
65
131
  export interface Asset {
@@ -216,6 +282,7 @@ export interface EtherBalance {
216
282
  export interface NativeTokenBalance {
217
283
  accountAddress: string
218
284
  balance: string
285
+ error: string
219
286
  }
220
287
 
221
288
  export interface IndexState {
@@ -397,6 +464,11 @@ export interface TransactionLog {
397
464
  index: number
398
465
  }
399
466
 
467
+ export interface TokenIDRange {
468
+ start: string
469
+ end: string
470
+ }
471
+
400
472
  export interface Page {
401
473
  page?: number
402
474
  column?: string
@@ -442,15 +514,40 @@ export interface MetadataOptions {
442
514
 
443
515
  export interface TokenBalancesFilter {
444
516
  accountAddresses: Array<string>
445
- contractStatus: ContractVerificationStatus
446
- contractWhitelist: Array<string>
447
- contractBlacklist: Array<string>
517
+ contractStatus?: ContractVerificationStatus
518
+ contractWhitelist?: Array<string>
519
+ contractBlacklist?: Array<string>
520
+ omitNativeBalances: boolean
448
521
  }
449
522
 
450
523
  export interface TokenBalancesByContractFilter {
451
524
  contractAddresses: Array<string>
452
- accountAddresses: Array<string>
453
- contractStatus: ContractVerificationStatus
525
+ accountAddresses?: Array<string>
526
+ contractStatus?: ContractVerificationStatus
527
+ }
528
+
529
+ export interface GatewayEtherBalance {
530
+ chainId: number
531
+ error: string
532
+ result: EtherBalance
533
+ }
534
+
535
+ export interface GatewayNativeTokenBalance {
536
+ chainId: number
537
+ error: string
538
+ result: NativeTokenBalance
539
+ }
540
+
541
+ export interface GatewayNativeTokenBalances {
542
+ chainId: number
543
+ error: string
544
+ results: Array<NativeTokenBalance>
545
+ }
546
+
547
+ export interface GatewayTokenBalance {
548
+ chainId: number
549
+ error: string
550
+ results: Array<TokenBalance>
454
551
  }
455
552
 
456
553
  export interface Indexer {
@@ -482,25 +579,31 @@ export interface Indexer {
482
579
  getTokenBalances(args: GetTokenBalancesArgs, headers?: object, signal?: AbortSignal): Promise<GetTokenBalancesReturn>
483
580
  getTokenSupplies(args: GetTokenSuppliesArgs, headers?: object, signal?: AbortSignal): Promise<GetTokenSuppliesReturn>
484
581
  getTokenSuppliesMap(args: GetTokenSuppliesMapArgs, headers?: object, signal?: AbortSignal): Promise<GetTokenSuppliesMapReturn>
582
+ getTokenIDs(args: GetTokenIDsArgs, headers?: object, signal?: AbortSignal): Promise<GetTokenIDsReturn>
583
+ getTokenIDRanges(args: GetTokenIDRangesArgs, headers?: object, signal?: AbortSignal): Promise<GetTokenIDRangesReturn>
485
584
  getBalanceUpdates(args: GetBalanceUpdatesArgs, headers?: object, signal?: AbortSignal): Promise<GetBalanceUpdatesReturn>
486
585
  getTransactionHistory(
487
586
  args: GetTransactionHistoryArgs,
488
587
  headers?: object,
489
588
  signal?: AbortSignal
490
589
  ): Promise<GetTransactionHistoryReturn>
491
- syncBalance(args: SyncBalanceArgs, headers?: object, signal?: AbortSignal): Promise<SyncBalanceReturn>
492
590
  fetchTransactionReceipt(
493
591
  args: FetchTransactionReceiptArgs,
494
592
  headers?: object,
495
593
  signal?: AbortSignal
496
594
  ): Promise<FetchTransactionReceiptReturn>
497
- getOrderbookOrders(args: GetOrderbookOrdersArgs, headers?: object, signal?: AbortSignal): Promise<GetOrderbookOrdersReturn>
498
- getTopOrders(args: GetTopOrdersArgs, headers?: object, signal?: AbortSignal): Promise<GetTopOrdersReturn>
499
595
  fetchTransactionReceiptWithFilter(
500
596
  args: FetchTransactionReceiptWithFilterArgs,
501
597
  headers?: object,
502
598
  signal?: AbortSignal
503
599
  ): Promise<FetchTransactionReceiptWithFilterReturn>
600
+ subscribeReceipts(args: SubscribeReceiptsArgs, options: WebrpcStreamOptions<SubscribeReceiptsReturn>): Promise<void>
601
+ subscribeEvents(args: SubscribeEventsArgs, options: WebrpcStreamOptions<SubscribeEventsReturn>): Promise<void>
602
+ subscribeBalanceUpdates(
603
+ args: SubscribeBalanceUpdatesArgs,
604
+ options: WebrpcStreamOptions<SubscribeBalanceUpdatesReturn>
605
+ ): Promise<void>
606
+ syncBalance(args: SyncBalanceArgs, headers?: object, signal?: AbortSignal): Promise<SyncBalanceReturn>
504
607
  getAllWebhookListeners(
505
608
  args: GetAllWebhookListenersArgs,
506
609
  headers?: object,
@@ -518,6 +621,11 @@ export interface Indexer {
518
621
  headers?: object,
519
622
  signal?: AbortSignal
520
623
  ): Promise<RemoveWebhookListenerReturn>
624
+ removeAllWebhookListeners(
625
+ args: RemoveAllWebhookListenersArgs,
626
+ headers?: object,
627
+ signal?: AbortSignal
628
+ ): Promise<RemoveAllWebhookListenersReturn>
521
629
  toggleWebhookListener(
522
630
  args: ToggleWebhookListenerArgs,
523
631
  headers?: object,
@@ -533,12 +641,8 @@ export interface Indexer {
533
641
  headers?: object,
534
642
  signal?: AbortSignal
535
643
  ): Promise<ResumeAllWebhookListenersReturn>
536
- subscribeReceipts(args: SubscribeReceiptsArgs, options: WebrpcStreamOptions<SubscribeReceiptsReturn>): Promise<void>
537
- subscribeEvents(args: SubscribeEventsArgs, options: WebrpcStreamOptions<SubscribeEventsReturn>): Promise<void>
538
- subscribeBalanceUpdates(
539
- args: SubscribeBalanceUpdatesArgs,
540
- options: WebrpcStreamOptions<SubscribeBalanceUpdatesReturn>
541
- ): Promise<void>
644
+ getOrderbookOrders(args: GetOrderbookOrdersArgs, headers?: object, signal?: AbortSignal): Promise<GetOrderbookOrdersReturn>
645
+ getTopOrders(args: GetTopOrdersArgs, headers?: object, signal?: AbortSignal): Promise<GetTopOrdersReturn>
542
646
  }
543
647
 
544
648
  export interface PingArgs {}
@@ -583,6 +687,7 @@ export interface GetTokenBalancesSummaryArgs {
583
687
 
584
688
  export interface GetTokenBalancesSummaryReturn {
585
689
  page: Page
690
+ nativeBalances: Array<NativeTokenBalance>
586
691
  balances: Array<TokenBalance>
587
692
  }
588
693
  export interface GetTokenBalancesDetailsArgs {
@@ -593,6 +698,7 @@ export interface GetTokenBalancesDetailsArgs {
593
698
 
594
699
  export interface GetTokenBalancesDetailsReturn {
595
700
  page: Page
701
+ nativeBalances: Array<NativeTokenBalance>
596
702
  balances: Array<TokenBalance>
597
703
  }
598
704
  export interface GetTokenBalancesByContractArgs {
@@ -640,6 +746,25 @@ export interface GetTokenSuppliesMapArgs {
640
746
  export interface GetTokenSuppliesMapReturn {
641
747
  supplies: { [key: string]: Array<TokenSupply> }
642
748
  }
749
+ export interface GetTokenIDsArgs {
750
+ contractAddress: string
751
+ page?: Page
752
+ }
753
+
754
+ export interface GetTokenIDsReturn {
755
+ page: Page
756
+ contractType: ContractType
757
+ tokenIDs: Array<string>
758
+ }
759
+ export interface GetTokenIDRangesArgs {
760
+ contractAddress: string
761
+ }
762
+
763
+ export interface GetTokenIDRangesReturn {
764
+ contractType: ContractType
765
+ tokenIDRanges: Array<TokenIDRange>
766
+ moreRanges: boolean
767
+ }
643
768
  export interface GetBalanceUpdatesArgs {
644
769
  contractAddress: string
645
770
  lastBlockNumber: number
@@ -662,13 +787,6 @@ export interface GetTransactionHistoryReturn {
662
787
  page: Page
663
788
  transactions: Array<Transaction>
664
789
  }
665
- export interface SyncBalanceArgs {
666
- accountAddress: string
667
- contractAddress: string
668
- tokenID?: string
669
- }
670
-
671
- export interface SyncBalanceReturn {}
672
790
  export interface FetchTransactionReceiptArgs {
673
791
  txnHash: string
674
792
  maxBlockWait?: number
@@ -677,44 +795,42 @@ export interface FetchTransactionReceiptArgs {
677
795
  export interface FetchTransactionReceiptReturn {
678
796
  receipt: TransactionReceipt
679
797
  }
680
- export interface GetOrderbookOrdersArgs {
681
- page?: Page
682
- orderbookContractAddress: string
683
- collectionAddress: string
684
- currencyAddresses: Array<string>
685
- filter: OrderbookOrderFilter
686
- orderStatuses: Array<OrderStatus>
687
- filters: Array<OrderbookOrderFilter>
688
- beforeExpiryTimestamp: number
689
- blockNumberAfter: number
690
- createdAtAfter: number
798
+ export interface FetchTransactionReceiptWithFilterArgs {
799
+ filter: TransactionFilter
800
+ maxBlockWait?: number
691
801
  }
692
802
 
693
- export interface GetOrderbookOrdersReturn {
694
- page?: Page
695
- orders: Array<OrderbookOrder>
803
+ export interface FetchTransactionReceiptWithFilterReturn {
804
+ receipt: TransactionReceipt
696
805
  }
697
- export interface GetTopOrdersArgs {
698
- orderbookContractAddress: string
699
- collectionAddress: string
700
- currencyAddresses: Array<string>
701
- tokenIDs: Array<string>
702
- isListing: boolean
703
- priceSort: SortOrder
704
- excludeUser?: string
806
+ export interface SubscribeReceiptsArgs {
807
+ filter: TransactionFilter
705
808
  }
706
809
 
707
- export interface GetTopOrdersReturn {
708
- orders: Array<OrderbookOrder>
810
+ export interface SubscribeReceiptsReturn {
811
+ receipt: TransactionReceipt
709
812
  }
710
- export interface FetchTransactionReceiptWithFilterArgs {
711
- filter: TransactionFilter
712
- maxBlockWait?: number
813
+ export interface SubscribeEventsArgs {
814
+ filter: EventFilter
713
815
  }
714
816
 
715
- export interface FetchTransactionReceiptWithFilterReturn {
716
- receipt: TransactionReceipt
817
+ export interface SubscribeEventsReturn {
818
+ log: EventLog
819
+ }
820
+ export interface SubscribeBalanceUpdatesArgs {
821
+ contractAddress: string
822
+ }
823
+
824
+ export interface SubscribeBalanceUpdatesReturn {
825
+ balance: TokenBalance
826
+ }
827
+ export interface SyncBalanceArgs {
828
+ accountAddress: string
829
+ contractAddress: string
830
+ tokenID?: string
717
831
  }
832
+
833
+ export interface SyncBalanceReturn {}
718
834
  export interface GetAllWebhookListenersArgs {
719
835
  projectId?: number
720
836
  }
@@ -756,6 +872,13 @@ export interface RemoveWebhookListenerArgs {
756
872
  export interface RemoveWebhookListenerReturn {
757
873
  status: boolean
758
874
  }
875
+ export interface RemoveAllWebhookListenersArgs {
876
+ projectId?: number
877
+ }
878
+
879
+ export interface RemoveAllWebhookListenersReturn {
880
+ status: boolean
881
+ }
759
882
  export interface ToggleWebhookListenerArgs {
760
883
  id: number
761
884
  projectId?: number
@@ -778,26 +901,35 @@ export interface ResumeAllWebhookListenersArgs {
778
901
  export interface ResumeAllWebhookListenersReturn {
779
902
  status: boolean
780
903
  }
781
- export interface SubscribeReceiptsArgs {
782
- filter: TransactionFilter
783
- }
784
-
785
- export interface SubscribeReceiptsReturn {
786
- receipt: TransactionReceipt
787
- }
788
- export interface SubscribeEventsArgs {
789
- filter: EventFilter
904
+ export interface GetOrderbookOrdersArgs {
905
+ page?: Page
906
+ orderbookContractAddress: string
907
+ collectionAddress: string
908
+ currencyAddresses: Array<string>
909
+ filter: OrderbookOrderFilter
910
+ orderStatuses: Array<OrderStatus>
911
+ filters: Array<OrderbookOrderFilter>
912
+ beforeExpiryTimestamp: number
913
+ blockNumberAfter: number
914
+ createdAtAfter: number
790
915
  }
791
916
 
792
- export interface SubscribeEventsReturn {
793
- log: EventLog
917
+ export interface GetOrderbookOrdersReturn {
918
+ page?: Page
919
+ orders: Array<OrderbookOrder>
794
920
  }
795
- export interface SubscribeBalanceUpdatesArgs {
796
- contractAddress: string
921
+ export interface GetTopOrdersArgs {
922
+ orderbookContractAddress: string
923
+ collectionAddress: string
924
+ currencyAddresses: Array<string>
925
+ tokenIDs: Array<string>
926
+ isListing: boolean
927
+ priceSort: SortOrder
928
+ excludeUser?: string
797
929
  }
798
930
 
799
- export interface SubscribeBalanceUpdatesReturn {
800
- balance: TokenBalance
931
+ export interface GetTopOrdersReturn {
932
+ orders: Array<OrderbookOrder>
801
933
  }
802
934
 
803
935
  //
@@ -921,6 +1053,7 @@ export class Indexer implements Indexer {
921
1053
  return buildResponse(res).then(_data => {
922
1054
  return {
923
1055
  page: <Page>_data.page,
1056
+ nativeBalances: <Array<NativeTokenBalance>>_data.nativeBalances,
924
1057
  balances: <Array<TokenBalance>>_data.balances
925
1058
  }
926
1059
  })
@@ -941,6 +1074,7 @@ export class Indexer implements Indexer {
941
1074
  return buildResponse(res).then(_data => {
942
1075
  return {
943
1076
  page: <Page>_data.page,
1077
+ nativeBalances: <Array<NativeTokenBalance>>_data.nativeBalances,
944
1078
  balances: <Array<TokenBalance>>_data.balances
945
1079
  }
946
1080
  })
@@ -1023,13 +1157,14 @@ export class Indexer implements Indexer {
1023
1157
  )
1024
1158
  }
1025
1159
 
1026
- getBalanceUpdates = (args: GetBalanceUpdatesArgs, headers?: object, signal?: AbortSignal): Promise<GetBalanceUpdatesReturn> => {
1027
- return this.fetch(this.url('GetBalanceUpdates'), createHTTPRequest(args, headers, signal)).then(
1160
+ getTokenIDs = (args: GetTokenIDsArgs, headers?: object, signal?: AbortSignal): Promise<GetTokenIDsReturn> => {
1161
+ return this.fetch(this.url('GetTokenIDs'), createHTTPRequest(args, headers, signal)).then(
1028
1162
  res => {
1029
1163
  return buildResponse(res).then(_data => {
1030
1164
  return {
1031
1165
  page: <Page>_data.page,
1032
- balances: <Array<TokenBalance>>_data.balances
1166
+ contractType: <ContractType>_data.contractType,
1167
+ tokenIDs: <Array<string>>_data.tokenIDs
1033
1168
  }
1034
1169
  })
1035
1170
  },
@@ -1039,17 +1174,14 @@ export class Indexer implements Indexer {
1039
1174
  )
1040
1175
  }
1041
1176
 
1042
- getTransactionHistory = (
1043
- args: GetTransactionHistoryArgs,
1044
- headers?: object,
1045
- signal?: AbortSignal
1046
- ): Promise<GetTransactionHistoryReturn> => {
1047
- return this.fetch(this.url('GetTransactionHistory'), createHTTPRequest(args, headers, signal)).then(
1177
+ getTokenIDRanges = (args: GetTokenIDRangesArgs, headers?: object, signal?: AbortSignal): Promise<GetTokenIDRangesReturn> => {
1178
+ return this.fetch(this.url('GetTokenIDRanges'), createHTTPRequest(args, headers, signal)).then(
1048
1179
  res => {
1049
1180
  return buildResponse(res).then(_data => {
1050
1181
  return {
1051
- page: <Page>_data.page,
1052
- transactions: <Array<Transaction>>_data.transactions
1182
+ contractType: <ContractType>_data.contractType,
1183
+ tokenIDRanges: <Array<TokenIDRange>>_data.tokenIDRanges,
1184
+ moreRanges: <boolean>_data.moreRanges
1053
1185
  }
1054
1186
  })
1055
1187
  },
@@ -1059,11 +1191,14 @@ export class Indexer implements Indexer {
1059
1191
  )
1060
1192
  }
1061
1193
 
1062
- syncBalance = (args: SyncBalanceArgs, headers?: object, signal?: AbortSignal): Promise<SyncBalanceReturn> => {
1063
- return this.fetch(this.url('SyncBalance'), createHTTPRequest(args, headers, signal)).then(
1194
+ getBalanceUpdates = (args: GetBalanceUpdatesArgs, headers?: object, signal?: AbortSignal): Promise<GetBalanceUpdatesReturn> => {
1195
+ return this.fetch(this.url('GetBalanceUpdates'), createHTTPRequest(args, headers, signal)).then(
1064
1196
  res => {
1065
1197
  return buildResponse(res).then(_data => {
1066
- return {}
1198
+ return {
1199
+ page: <Page>_data.page,
1200
+ balances: <Array<TokenBalance>>_data.balances
1201
+ }
1067
1202
  })
1068
1203
  },
1069
1204
  error => {
@@ -1072,16 +1207,17 @@ export class Indexer implements Indexer {
1072
1207
  )
1073
1208
  }
1074
1209
 
1075
- fetchTransactionReceipt = (
1076
- args: FetchTransactionReceiptArgs,
1210
+ getTransactionHistory = (
1211
+ args: GetTransactionHistoryArgs,
1077
1212
  headers?: object,
1078
1213
  signal?: AbortSignal
1079
- ): Promise<FetchTransactionReceiptReturn> => {
1080
- return this.fetch(this.url('FetchTransactionReceipt'), createHTTPRequest(args, headers, signal)).then(
1214
+ ): Promise<GetTransactionHistoryReturn> => {
1215
+ return this.fetch(this.url('GetTransactionHistory'), createHTTPRequest(args, headers, signal)).then(
1081
1216
  res => {
1082
1217
  return buildResponse(res).then(_data => {
1083
1218
  return {
1084
- receipt: <TransactionReceipt>_data.receipt
1219
+ page: <Page>_data.page,
1220
+ transactions: <Array<Transaction>>_data.transactions
1085
1221
  }
1086
1222
  })
1087
1223
  },
@@ -1091,17 +1227,16 @@ export class Indexer implements Indexer {
1091
1227
  )
1092
1228
  }
1093
1229
 
1094
- getOrderbookOrders = (
1095
- args: GetOrderbookOrdersArgs,
1230
+ fetchTransactionReceipt = (
1231
+ args: FetchTransactionReceiptArgs,
1096
1232
  headers?: object,
1097
1233
  signal?: AbortSignal
1098
- ): Promise<GetOrderbookOrdersReturn> => {
1099
- return this.fetch(this.url('GetOrderbookOrders'), createHTTPRequest(args, headers, signal)).then(
1234
+ ): Promise<FetchTransactionReceiptReturn> => {
1235
+ return this.fetch(this.url('FetchTransactionReceipt'), createHTTPRequest(args, headers, signal)).then(
1100
1236
  res => {
1101
1237
  return buildResponse(res).then(_data => {
1102
1238
  return {
1103
- page: <Page>_data.page,
1104
- orders: <Array<OrderbookOrder>>_data.orders
1239
+ receipt: <TransactionReceipt>_data.receipt
1105
1240
  }
1106
1241
  })
1107
1242
  },
@@ -1111,12 +1246,16 @@ export class Indexer implements Indexer {
1111
1246
  )
1112
1247
  }
1113
1248
 
1114
- getTopOrders = (args: GetTopOrdersArgs, headers?: object, signal?: AbortSignal): Promise<GetTopOrdersReturn> => {
1115
- return this.fetch(this.url('GetTopOrders'), createHTTPRequest(args, headers, signal)).then(
1249
+ fetchTransactionReceiptWithFilter = (
1250
+ args: FetchTransactionReceiptWithFilterArgs,
1251
+ headers?: object,
1252
+ signal?: AbortSignal
1253
+ ): Promise<FetchTransactionReceiptWithFilterReturn> => {
1254
+ return this.fetch(this.url('FetchTransactionReceiptWithFilter'), createHTTPRequest(args, headers, signal)).then(
1116
1255
  res => {
1117
1256
  return buildResponse(res).then(_data => {
1118
1257
  return {
1119
- orders: <Array<OrderbookOrder>>_data.orders
1258
+ receipt: <TransactionReceipt>_data.receipt
1120
1259
  }
1121
1260
  })
1122
1261
  },
@@ -1126,17 +1265,50 @@ export class Indexer implements Indexer {
1126
1265
  )
1127
1266
  }
1128
1267
 
1129
- fetchTransactionReceiptWithFilter = (
1130
- args: FetchTransactionReceiptWithFilterArgs,
1131
- headers?: object,
1132
- signal?: AbortSignal
1133
- ): Promise<FetchTransactionReceiptWithFilterReturn> => {
1134
- return this.fetch(this.url('FetchTransactionReceiptWithFilter'), createHTTPRequest(args, headers, signal)).then(
1268
+ subscribeReceipts = (args: SubscribeReceiptsArgs, options: WebrpcStreamOptions<SubscribeReceiptsReturn>): Promise<void> => {
1269
+ const _fetch = () =>
1270
+ this.fetch(this.url('SubscribeReceipts'), createHTTPRequest(args, options.headers, options.signal)).then(
1271
+ async res => {
1272
+ await sseResponse(res, options, _fetch)
1273
+ },
1274
+ error => {
1275
+ options.onError(error, _fetch)
1276
+ }
1277
+ )
1278
+ return _fetch()
1279
+ }
1280
+ subscribeEvents = (args: SubscribeEventsArgs, options: WebrpcStreamOptions<SubscribeEventsReturn>): Promise<void> => {
1281
+ const _fetch = () =>
1282
+ this.fetch(this.url('SubscribeEvents'), createHTTPRequest(args, options.headers, options.signal)).then(
1283
+ async res => {
1284
+ await sseResponse(res, options, _fetch)
1285
+ },
1286
+ error => {
1287
+ options.onError(error, _fetch)
1288
+ }
1289
+ )
1290
+ return _fetch()
1291
+ }
1292
+ subscribeBalanceUpdates = (
1293
+ args: SubscribeBalanceUpdatesArgs,
1294
+ options: WebrpcStreamOptions<SubscribeBalanceUpdatesReturn>
1295
+ ): Promise<void> => {
1296
+ const _fetch = () =>
1297
+ this.fetch(this.url('SubscribeBalanceUpdates'), createHTTPRequest(args, options.headers, options.signal)).then(
1298
+ async res => {
1299
+ await sseResponse(res, options, _fetch)
1300
+ },
1301
+ error => {
1302
+ options.onError(error, _fetch)
1303
+ }
1304
+ )
1305
+ return _fetch()
1306
+ }
1307
+ syncBalance = (args: SyncBalanceArgs, headers?: object, signal?: AbortSignal): Promise<SyncBalanceReturn> => {
1308
+ return this.fetch(this.url('SyncBalance'), createHTTPRequest(args, headers, signal)).then(
1135
1309
  res => {
1136
1310
  return buildResponse(res).then(_data => {
1137
- return {
1138
- receipt: <TransactionReceipt>_data.receipt
1139
- }
1311
+ return {}
1140
1312
  })
1141
1313
  },
1142
1314
  error => {
@@ -1241,6 +1413,25 @@ export class Indexer implements Indexer {
1241
1413
  )
1242
1414
  }
1243
1415
 
1416
+ removeAllWebhookListeners = (
1417
+ args: RemoveAllWebhookListenersArgs,
1418
+ headers?: object,
1419
+ signal?: AbortSignal
1420
+ ): Promise<RemoveAllWebhookListenersReturn> => {
1421
+ return this.fetch(this.url('RemoveAllWebhookListeners'), createHTTPRequest(args, headers, signal)).then(
1422
+ res => {
1423
+ return buildResponse(res).then(_data => {
1424
+ return {
1425
+ status: <boolean>_data.status
1426
+ }
1427
+ })
1428
+ },
1429
+ error => {
1430
+ throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })
1431
+ }
1432
+ )
1433
+ }
1434
+
1244
1435
  toggleWebhookListener = (
1245
1436
  args: ToggleWebhookListenerArgs,
1246
1437
  headers?: object,
@@ -1298,44 +1489,39 @@ export class Indexer implements Indexer {
1298
1489
  )
1299
1490
  }
1300
1491
 
1301
- subscribeReceipts = (args: SubscribeReceiptsArgs, options: WebrpcStreamOptions<SubscribeReceiptsReturn>): Promise<void> => {
1302
- const _fetch = () =>
1303
- this.fetch(this.url('SubscribeReceipts'), createHTTPRequest(args, options.headers, options.signal)).then(
1304
- async res => {
1305
- await sseResponse(res, options, _fetch)
1306
- },
1307
- error => {
1308
- options.onError(error, _fetch)
1309
- }
1310
- )
1311
- return _fetch()
1312
- }
1313
- subscribeEvents = (args: SubscribeEventsArgs, options: WebrpcStreamOptions<SubscribeEventsReturn>): Promise<void> => {
1314
- const _fetch = () =>
1315
- this.fetch(this.url('SubscribeEvents'), createHTTPRequest(args, options.headers, options.signal)).then(
1316
- async res => {
1317
- await sseResponse(res, options, _fetch)
1318
- },
1319
- error => {
1320
- options.onError(error, _fetch)
1321
- }
1322
- )
1323
- return _fetch()
1492
+ getOrderbookOrders = (
1493
+ args: GetOrderbookOrdersArgs,
1494
+ headers?: object,
1495
+ signal?: AbortSignal
1496
+ ): Promise<GetOrderbookOrdersReturn> => {
1497
+ return this.fetch(this.url('GetOrderbookOrders'), createHTTPRequest(args, headers, signal)).then(
1498
+ res => {
1499
+ return buildResponse(res).then(_data => {
1500
+ return {
1501
+ page: <Page>_data.page,
1502
+ orders: <Array<OrderbookOrder>>_data.orders
1503
+ }
1504
+ })
1505
+ },
1506
+ error => {
1507
+ throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })
1508
+ }
1509
+ )
1324
1510
  }
1325
- subscribeBalanceUpdates = (
1326
- args: SubscribeBalanceUpdatesArgs,
1327
- options: WebrpcStreamOptions<SubscribeBalanceUpdatesReturn>
1328
- ): Promise<void> => {
1329
- const _fetch = () =>
1330
- this.fetch(this.url('SubscribeBalanceUpdates'), createHTTPRequest(args, options.headers, options.signal)).then(
1331
- async res => {
1332
- await sseResponse(res, options, _fetch)
1333
- },
1334
- error => {
1335
- options.onError(error, _fetch)
1336
- }
1337
- )
1338
- return _fetch()
1511
+
1512
+ getTopOrders = (args: GetTopOrdersArgs, headers?: object, signal?: AbortSignal): Promise<GetTopOrdersReturn> => {
1513
+ return this.fetch(this.url('GetTopOrders'), createHTTPRequest(args, headers, signal)).then(
1514
+ res => {
1515
+ return buildResponse(res).then(_data => {
1516
+ return {
1517
+ orders: <Array<OrderbookOrder>>_data.orders
1518
+ }
1519
+ })
1520
+ },
1521
+ error => {
1522
+ throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })
1523
+ }
1524
+ )
1339
1525
  }
1340
1526
  }
1341
1527
 
@@ -1455,9 +1641,12 @@ const sseResponse = async (res: Response, options: WebrpcStreamOptions<any>, ret
1455
1641
  }
1456
1642
 
1457
1643
  const createHTTPRequest = (body: object = {}, headers: object = {}, signal: AbortSignal | null = null): object => {
1644
+ const reqHeaders: { [key: string]: string } = { ...headers, 'Content-Type': 'application/json' }
1645
+ reqHeaders[WebrpcHeader] = WebrpcHeaderValue
1646
+
1458
1647
  return {
1459
1648
  method: 'POST',
1460
- headers: { ...headers, 'Content-Type': 'application/json' },
1649
+ headers: reqHeaders,
1461
1650
  body: JSON.stringify(body || {}),
1462
1651
  signal
1463
1652
  }
@@ -1741,10 +1930,179 @@ export class AbortedError extends WebrpcError {
1741
1930
  }
1742
1931
  }
1743
1932
 
1933
+ export class GeoblockedError extends WebrpcError {
1934
+ constructor(
1935
+ name: string = 'Geoblocked',
1936
+ code: number = 1006,
1937
+ message: string = 'Geoblocked region',
1938
+ status: number = 0,
1939
+ cause?: string
1940
+ ) {
1941
+ super(name, code, message, status, cause)
1942
+ Object.setPrototypeOf(this, GeoblockedError.prototype)
1943
+ }
1944
+ }
1945
+
1946
+ export class RateLimitedError extends WebrpcError {
1947
+ constructor(
1948
+ name: string = 'RateLimited',
1949
+ code: number = 1007,
1950
+ message: string = 'Rate-limited. Please slow down.',
1951
+ status: number = 0,
1952
+ cause?: string
1953
+ ) {
1954
+ super(name, code, message, status, cause)
1955
+ Object.setPrototypeOf(this, RateLimitedError.prototype)
1956
+ }
1957
+ }
1958
+
1959
+ export class ProjectNotFoundError extends WebrpcError {
1960
+ constructor(
1961
+ name: string = 'ProjectNotFound',
1962
+ code: number = 1100,
1963
+ message: string = 'Project not found',
1964
+ status: number = 0,
1965
+ cause?: string
1966
+ ) {
1967
+ super(name, code, message, status, cause)
1968
+ Object.setPrototypeOf(this, ProjectNotFoundError.prototype)
1969
+ }
1970
+ }
1971
+
1972
+ export class AccessKeyNotFoundError extends WebrpcError {
1973
+ constructor(
1974
+ name: string = 'AccessKeyNotFound',
1975
+ code: number = 1101,
1976
+ message: string = 'Access key not found',
1977
+ status: number = 0,
1978
+ cause?: string
1979
+ ) {
1980
+ super(name, code, message, status, cause)
1981
+ Object.setPrototypeOf(this, AccessKeyNotFoundError.prototype)
1982
+ }
1983
+ }
1984
+
1985
+ export class AccessKeyMismatchError extends WebrpcError {
1986
+ constructor(
1987
+ name: string = 'AccessKeyMismatch',
1988
+ code: number = 1102,
1989
+ message: string = 'Access key mismatch',
1990
+ status: number = 0,
1991
+ cause?: string
1992
+ ) {
1993
+ super(name, code, message, status, cause)
1994
+ Object.setPrototypeOf(this, AccessKeyMismatchError.prototype)
1995
+ }
1996
+ }
1997
+
1998
+ export class InvalidOriginError extends WebrpcError {
1999
+ constructor(
2000
+ name: string = 'InvalidOrigin',
2001
+ code: number = 1103,
2002
+ message: string = 'Invalid origin for Access Key',
2003
+ status: number = 0,
2004
+ cause?: string
2005
+ ) {
2006
+ super(name, code, message, status, cause)
2007
+ Object.setPrototypeOf(this, InvalidOriginError.prototype)
2008
+ }
2009
+ }
2010
+
2011
+ export class InvalidServiceError extends WebrpcError {
2012
+ constructor(
2013
+ name: string = 'InvalidService',
2014
+ code: number = 1104,
2015
+ message: string = 'Service not enabled for Access key',
2016
+ status: number = 0,
2017
+ cause?: string
2018
+ ) {
2019
+ super(name, code, message, status, cause)
2020
+ Object.setPrototypeOf(this, InvalidServiceError.prototype)
2021
+ }
2022
+ }
2023
+
2024
+ export class UnauthorizedUserError extends WebrpcError {
2025
+ constructor(
2026
+ name: string = 'UnauthorizedUser',
2027
+ code: number = 1105,
2028
+ message: string = 'Unauthorized user',
2029
+ status: number = 0,
2030
+ cause?: string
2031
+ ) {
2032
+ super(name, code, message, status, cause)
2033
+ Object.setPrototypeOf(this, UnauthorizedUserError.prototype)
2034
+ }
2035
+ }
2036
+
2037
+ export class QuotaExceededError extends WebrpcError {
2038
+ constructor(
2039
+ name: string = 'QuotaExceeded',
2040
+ code: number = 1200,
2041
+ message: string = 'Quota exceeded',
2042
+ status: number = 0,
2043
+ cause?: string
2044
+ ) {
2045
+ super(name, code, message, status, cause)
2046
+ Object.setPrototypeOf(this, QuotaExceededError.prototype)
2047
+ }
2048
+ }
2049
+
2050
+ export class RateLimitError extends WebrpcError {
2051
+ constructor(
2052
+ name: string = 'RateLimit',
2053
+ code: number = 1201,
2054
+ message: string = 'Rate limit exceeded',
2055
+ status: number = 0,
2056
+ cause?: string
2057
+ ) {
2058
+ super(name, code, message, status, cause)
2059
+ Object.setPrototypeOf(this, RateLimitError.prototype)
2060
+ }
2061
+ }
2062
+
2063
+ export class NoDefaultKeyError extends WebrpcError {
2064
+ constructor(
2065
+ name: string = 'NoDefaultKey',
2066
+ code: number = 1300,
2067
+ message: string = 'No default access key found',
2068
+ status: number = 0,
2069
+ cause?: string
2070
+ ) {
2071
+ super(name, code, message, status, cause)
2072
+ Object.setPrototypeOf(this, NoDefaultKeyError.prototype)
2073
+ }
2074
+ }
2075
+
2076
+ export class MaxAccessKeysError extends WebrpcError {
2077
+ constructor(
2078
+ name: string = 'MaxAccessKeys',
2079
+ code: number = 1301,
2080
+ message: string = 'Access keys limit reached',
2081
+ status: number = 0,
2082
+ cause?: string
2083
+ ) {
2084
+ super(name, code, message, status, cause)
2085
+ Object.setPrototypeOf(this, MaxAccessKeysError.prototype)
2086
+ }
2087
+ }
2088
+
2089
+ export class AtLeastOneKeyError extends WebrpcError {
2090
+ constructor(
2091
+ name: string = 'AtLeastOneKey',
2092
+ code: number = 1302,
2093
+ message: string = 'You need at least one Access Key',
2094
+ status: number = 0,
2095
+ cause?: string
2096
+ ) {
2097
+ super(name, code, message, status, cause)
2098
+ Object.setPrototypeOf(this, AtLeastOneKeyError.prototype)
2099
+ }
2100
+ }
2101
+
1744
2102
  export class TimeoutError extends WebrpcError {
1745
2103
  constructor(
1746
2104
  name: string = 'Timeout',
1747
- code: number = 2000,
2105
+ code: number = 1900,
1748
2106
  message: string = 'Request timed out',
1749
2107
  status: number = 0,
1750
2108
  cause?: string
@@ -1819,19 +2177,6 @@ export class NotFoundError extends WebrpcError {
1819
2177
  }
1820
2178
  }
1821
2179
 
1822
- export class ProjectNotFoundError extends WebrpcError {
1823
- constructor(
1824
- name: string = 'ProjectNotFound',
1825
- code: number = 3002,
1826
- message: string = 'Project not found',
1827
- status: number = 0,
1828
- cause?: string
1829
- ) {
1830
- super(name, code, message, status, cause)
1831
- Object.setPrototypeOf(this, ProjectNotFoundError.prototype)
1832
- }
1833
- }
1834
-
1835
2180
  export class MetadataCallFailedError extends WebrpcError {
1836
2181
  constructor(
1837
2182
  name: string = 'MetadataCallFailed',
@@ -1863,13 +2208,25 @@ export enum errors {
1863
2208
  MethodNotFound = 'MethodNotFound',
1864
2209
  RequestConflict = 'RequestConflict',
1865
2210
  Aborted = 'Aborted',
2211
+ Geoblocked = 'Geoblocked',
2212
+ RateLimited = 'RateLimited',
2213
+ ProjectNotFound = 'ProjectNotFound',
2214
+ AccessKeyNotFound = 'AccessKeyNotFound',
2215
+ AccessKeyMismatch = 'AccessKeyMismatch',
2216
+ InvalidOrigin = 'InvalidOrigin',
2217
+ InvalidService = 'InvalidService',
2218
+ UnauthorizedUser = 'UnauthorizedUser',
2219
+ QuotaExceeded = 'QuotaExceeded',
2220
+ RateLimit = 'RateLimit',
2221
+ NoDefaultKey = 'NoDefaultKey',
2222
+ MaxAccessKeys = 'MaxAccessKeys',
2223
+ AtLeastOneKey = 'AtLeastOneKey',
1866
2224
  Timeout = 'Timeout',
1867
2225
  InvalidArgument = 'InvalidArgument',
1868
2226
  Unavailable = 'Unavailable',
1869
2227
  QueryFailed = 'QueryFailed',
1870
2228
  ResourceExhausted = 'ResourceExhausted',
1871
2229
  NotFound = 'NotFound',
1872
- ProjectNotFound = 'ProjectNotFound',
1873
2230
  MetadataCallFailed = 'MetadataCallFailed'
1874
2231
  }
1875
2232
 
@@ -1891,13 +2248,25 @@ const webrpcErrorByCode: { [code: number]: any } = {
1891
2248
  [1003]: MethodNotFoundError,
1892
2249
  [1004]: RequestConflictError,
1893
2250
  [1005]: AbortedError,
1894
- [2000]: TimeoutError,
2251
+ [1006]: GeoblockedError,
2252
+ [1007]: RateLimitedError,
2253
+ [1100]: ProjectNotFoundError,
2254
+ [1101]: AccessKeyNotFoundError,
2255
+ [1102]: AccessKeyMismatchError,
2256
+ [1103]: InvalidOriginError,
2257
+ [1104]: InvalidServiceError,
2258
+ [1105]: UnauthorizedUserError,
2259
+ [1200]: QuotaExceededError,
2260
+ [1201]: RateLimitError,
2261
+ [1300]: NoDefaultKeyError,
2262
+ [1301]: MaxAccessKeysError,
2263
+ [1302]: AtLeastOneKeyError,
2264
+ [1900]: TimeoutError,
1895
2265
  [2001]: InvalidArgumentError,
1896
2266
  [2002]: UnavailableError,
1897
2267
  [2003]: QueryFailedError,
1898
2268
  [2004]: ResourceExhaustedError,
1899
2269
  [3000]: NotFoundError,
1900
- [3002]: ProjectNotFoundError,
1901
2270
  [3003]: MetadataCallFailedError
1902
2271
  }
1903
2272