tapimo 0.5.1 → 0.5.3

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.
Files changed (120) hide show
  1. package/dist/App.d.ts +34 -18
  2. package/dist/App.d.ts.map +1 -1
  3. package/dist/apps/data/App.d.ts +3217 -3217
  4. package/dist/apps/data/FundingQuoteProviders.d.ts +32 -0
  5. package/dist/apps/data/FundingQuoteProviders.d.ts.map +1 -1
  6. package/dist/apps/data/FundingQuoteProviders.js +134 -1
  7. package/dist/apps/data/FundingQuoteProviders.js.map +1 -1
  8. package/dist/apps/data/routes/balances.d.ts +46 -46
  9. package/dist/apps/data/routes/coingecko.d.ts +169 -169
  10. package/dist/apps/data/routes/funding.d.ts +8 -2
  11. package/dist/apps/data/routes/funding.d.ts.map +1 -1
  12. package/dist/apps/data/routes/funding.js +4 -4
  13. package/dist/apps/data/routes/funding.js.map +1 -1
  14. package/dist/apps/data/routes/indexer.d.ts +34 -34
  15. package/dist/apps/data/routes/receipts.d.ts +228 -228
  16. package/dist/apps/data/routes/transfers.d.ts +8 -15
  17. package/dist/apps/data/routes/transfers.d.ts.map +1 -1
  18. package/dist/apps/data/routes/transfers.js +21 -27
  19. package/dist/apps/data/routes/transfers.js.map +1 -1
  20. package/dist/apps/data/routes/webhooks.d.ts +35 -35
  21. package/dist/apps/data/routes/webhooks.d.ts.map +1 -1
  22. package/dist/apps/data/routes/webhooks.js +176 -42
  23. package/dist/apps/data/routes/webhooks.js.map +1 -1
  24. package/dist/apps/management/App.d.ts +982 -966
  25. package/dist/apps/management/App.d.ts.map +1 -1
  26. package/dist/apps/management/Billing.d.ts.map +1 -1
  27. package/dist/apps/management/Billing.js +5 -4
  28. package/dist/apps/management/Billing.js.map +1 -1
  29. package/dist/apps/management/routes/billing.d.ts.map +1 -1
  30. package/dist/apps/management/routes/billing.js +1 -1
  31. package/dist/apps/management/routes/billing.js.map +1 -1
  32. package/dist/apps/management/routes/invitations.d.ts +121 -121
  33. package/dist/apps/management/routes/orgs.d.ts +102 -86
  34. package/dist/apps/management/routes/orgs.d.ts.map +1 -1
  35. package/dist/apps/management/routes/orgs.js +18 -1
  36. package/dist/apps/management/routes/orgs.js.map +1 -1
  37. package/dist/apps/mcp.d.ts +9 -2
  38. package/dist/apps/mcp.d.ts.map +1 -1
  39. package/dist/apps/mcp.js +9 -4
  40. package/dist/apps/mcp.js.map +1 -1
  41. package/dist/apps/relay/Sponsorships.d.ts +3 -0
  42. package/dist/apps/relay/Sponsorships.d.ts.map +1 -1
  43. package/dist/apps/relay/Sponsorships.js +15 -1
  44. package/dist/apps/relay/Sponsorships.js.map +1 -1
  45. package/dist/cli/Cli.d.ts.map +1 -1
  46. package/dist/cli/Cli.js +7 -2
  47. package/dist/cli/Cli.js.map +1 -1
  48. package/dist/db/Db.d.ts.map +1 -1
  49. package/dist/db/Db.js +4 -0
  50. package/dist/db/Db.js.map +1 -1
  51. package/dist/db/Schema.js +1 -1
  52. package/dist/db/Schema.js.map +1 -1
  53. package/dist/db/tables/organizations.d.ts +6 -0
  54. package/dist/db/tables/organizations.d.ts.map +1 -1
  55. package/dist/db/tables/organizations.js +26 -0
  56. package/dist/db/tables/organizations.js.map +1 -1
  57. package/dist/db/tables/requestUsage.d.ts +2 -11
  58. package/dist/db/tables/requestUsage.d.ts.map +1 -1
  59. package/dist/db/tables/requestUsage.js +1 -20
  60. package/dist/db/tables/requestUsage.js.map +1 -1
  61. package/dist/db/tables/sponsoredTransactions.d.ts +2 -1
  62. package/dist/db/tables/sponsoredTransactions.d.ts.map +1 -1
  63. package/dist/db/tables/sponsoredTransactions.js +46 -8
  64. package/dist/db/tables/sponsoredTransactions.js.map +1 -1
  65. package/dist/internal/Auth.d.ts +4 -0
  66. package/dist/internal/Auth.d.ts.map +1 -1
  67. package/dist/internal/Auth.js +7 -8
  68. package/dist/internal/Auth.js.map +1 -1
  69. package/dist/internal/Cache.d.ts.map +1 -1
  70. package/dist/internal/Cache.js +9 -1
  71. package/dist/internal/Cache.js.map +1 -1
  72. package/dist/internal/EdgeCache.d.ts.map +1 -1
  73. package/dist/internal/EdgeCache.js +12 -3
  74. package/dist/internal/EdgeCache.js.map +1 -1
  75. package/dist/internal/FundingQuotes.d.ts +16 -10
  76. package/dist/internal/FundingQuotes.d.ts.map +1 -1
  77. package/dist/internal/FundingQuotes.js +9 -0
  78. package/dist/internal/FundingQuotes.js.map +1 -1
  79. package/dist/internal/RateLimit.d.ts +2 -0
  80. package/dist/internal/RateLimit.d.ts.map +1 -1
  81. package/dist/internal/RateLimit.js +4 -4
  82. package/dist/internal/RateLimit.js.map +1 -1
  83. package/package.json +7 -2
  84. package/src/App.test.ts +2 -2
  85. package/src/Client.test-d.ts +28 -2
  86. package/src/apps/data/FundingQuoteProviders.test.ts +184 -0
  87. package/src/apps/data/FundingQuoteProviders.ts +185 -1
  88. package/src/apps/data/routes/funding.test.ts +7 -0
  89. package/src/apps/data/routes/funding.ts +4 -4
  90. package/src/apps/data/routes/tokens.test.ts +54 -0
  91. package/src/apps/data/routes/transfers.test.ts +73 -1
  92. package/src/apps/data/routes/transfers.ts +24 -30
  93. package/src/apps/data/routes/webhooks.test.ts +203 -0
  94. package/src/apps/data/routes/webhooks.ts +191 -54
  95. package/src/apps/management/Billing.test.ts +50 -1
  96. package/src/apps/management/Billing.ts +5 -4
  97. package/src/apps/management/routes/billing.ts +6 -1
  98. package/src/apps/management/routes/orgs.ts +19 -1
  99. package/src/apps/mcp.test.ts +13 -0
  100. package/src/apps/mcp.ts +18 -5
  101. package/src/apps/relay/Sponsorships.ts +24 -1
  102. package/src/cli/Cli.test.ts +36 -0
  103. package/src/cli/Cli.ts +7 -2
  104. package/src/db/Db.ts +4 -0
  105. package/src/db/Schema.ts +1 -1
  106. package/src/db/tables/organizations.test.ts +30 -0
  107. package/src/db/tables/organizations.ts +28 -0
  108. package/src/db/tables/requestUsage.ts +3 -23
  109. package/src/db/tables/sponsoredTransactions.test.ts +41 -0
  110. package/src/db/tables/sponsoredTransactions.ts +46 -7
  111. package/src/internal/Auth.test.ts +63 -10
  112. package/src/internal/Auth.ts +11 -9
  113. package/src/internal/Cache.test.ts +19 -0
  114. package/src/internal/Cache.ts +13 -1
  115. package/src/internal/EdgeCache.test.ts +40 -0
  116. package/src/internal/EdgeCache.ts +11 -3
  117. package/src/internal/FundingQuotes.test.ts +33 -0
  118. package/src/internal/FundingQuotes.ts +9 -0
  119. package/src/internal/RateLimit.test.ts +12 -0
  120. package/src/internal/RateLimit.ts +4 -4
@@ -509,104 +509,9 @@ export declare namespace schema {
509
509
  export declare function receipts(): import("hono/hono-base").HonoBase<App.Environment, {
510
510
  "/v1/transactions/receipts": {
511
511
  $get: {
512
- output: {
513
- data: {
514
- blockHash: `0x${string}` | null;
515
- blockNumber: number;
516
- contractAddress: `0x${string}` | null;
517
- cumulativeGasUsed: number;
518
- effectiveGasPrice: string;
519
- feeAmount: string;
520
- feePayer?: `0x${string}` | undefined;
521
- feeToken?: `0x${string}` | undefined;
522
- gasUsed: number;
523
- id: `0x${string}`;
524
- logs: {
525
- [x: string]: import("hono/utils/types").JSONValue;
526
- address: `0x${string}`;
527
- blockHash: `0x${string}` | null;
528
- blockNumber: `0x${string}` | null;
529
- blockTimestamp?: `0x${string}` | null | undefined;
530
- data: `0x${string}`;
531
- logIndex: `0x${string}` | null;
532
- removed: boolean;
533
- topics: `0x${string}`[];
534
- transactionHash: `0x${string}` | null;
535
- transactionIndex: `0x${string}` | null;
536
- }[];
537
- meta: {
538
- feeToken?: {
539
- address: `0x${string}`;
540
- admin?: `0x${string}` | undefined;
541
- currency: string;
542
- createdAt?: string | undefined;
543
- decimals: number;
544
- holderCount?: number | undefined;
545
- id: string;
546
- logoUri?: string | undefined;
547
- name: string;
548
- quoteToken?: `0x${string}` | undefined;
549
- symbol: string;
550
- totalSupply?: string | undefined;
551
- transferStats?: {
552
- count: number;
553
- firstAt: string | null;
554
- lastAt: string | null;
555
- } | undefined;
556
- verified: boolean;
557
- } | undefined;
558
- rpc: {
559
- [x: string]: import("hono/utils/types").JSONValue;
560
- blobGasPrice?: `0x${string}` | undefined;
561
- blobGasUsed?: `0x${string}` | undefined;
562
- blockHash: `0x${string}` | null;
563
- blockNumber: `0x${string}`;
564
- blockTimestamp?: `0x${string}` | null | undefined;
565
- contractAddress?: `0x${string}` | null | undefined;
566
- cumulativeGasUsed: `0x${string}`;
567
- effectiveGasPrice: `0x${string}`;
568
- feePayer?: `0x${string}` | null | undefined;
569
- feeToken?: `0x${string}` | null | undefined;
570
- from: `0x${string}`;
571
- gasUsed: `0x${string}`;
572
- logs: {
573
- [x: string]: import("hono/utils/types").JSONValue;
574
- address: `0x${string}`;
575
- blockHash: `0x${string}` | null;
576
- blockNumber: `0x${string}` | null;
577
- blockTimestamp?: `0x${string}` | null | undefined;
578
- data: `0x${string}`;
579
- logIndex: `0x${string}` | null;
580
- removed: boolean;
581
- topics: `0x${string}`[];
582
- transactionHash: `0x${string}` | null;
583
- transactionIndex: `0x${string}` | null;
584
- }[];
585
- logsBloom?: `0x${string}` | undefined;
586
- root?: `0x${string}` | undefined;
587
- status: `0x${string}`;
588
- to: `0x${string}` | null;
589
- transactionHash: `0x${string}`;
590
- transactionIndex: `0x${string}`;
591
- type: `0x${string}`;
592
- };
593
- };
594
- recipient: `0x${string}` | null;
595
- sender: `0x${string}`;
596
- status: "reverted" | "success";
597
- timestamp: string | null;
598
- transactionHash: `0x${string}`;
599
- transactionIndex: number;
600
- type: "eip1559" | "eip2930" | "eip4844" | "eip7702" | "legacy" | "tempo" | "unknown";
601
- }[];
602
- meta?: {
603
- totalCountCapped: boolean;
604
- totalCount: number;
605
- } | undefined;
606
- nextCursor: string | null;
607
- };
608
- outputFormat: "json";
609
- status: 200;
512
+ output: null;
513
+ outputFormat: "body";
514
+ status: 402;
610
515
  input: {
611
516
  query?: {
612
517
  address?: string | string[];
@@ -630,14 +535,14 @@ export declare function receipts(): import("hono/hono-base").HonoBase<App.Enviro
630
535
  } | {
631
536
  output: {
632
537
  error: {
633
- code: "api_key_malformed";
538
+ code: "upstream_error";
634
539
  details?: readonly Response.error.Detail[] | undefined;
635
540
  message: string;
636
541
  };
637
542
  requestId: string;
638
543
  };
639
544
  outputFormat: "json";
640
- status: 400;
545
+ status: 502;
641
546
  input: {
642
547
  query?: {
643
548
  address?: string | string[];
@@ -661,7 +566,7 @@ export declare function receipts(): import("hono/hono-base").HonoBase<App.Enviro
661
566
  } | {
662
567
  output: {
663
568
  error: {
664
- code: "query_invalid";
569
+ code: "api_key_malformed";
665
570
  details?: readonly Response.error.Detail[] | undefined;
666
571
  message: string;
667
572
  };
@@ -721,9 +626,16 @@ export declare function receipts(): import("hono/hono-base").HonoBase<App.Enviro
721
626
  } | undefined;
722
627
  };
723
628
  } | {
724
- output: null;
725
- outputFormat: "body";
726
- status: 402;
629
+ output: {
630
+ error: {
631
+ code: "api_key_forbidden";
632
+ details?: readonly Response.error.Detail[] | undefined;
633
+ message: string;
634
+ };
635
+ requestId: string;
636
+ };
637
+ outputFormat: "json";
638
+ status: 403;
727
639
  input: {
728
640
  query?: {
729
641
  address?: string | string[];
@@ -747,14 +659,14 @@ export declare function receipts(): import("hono/hono-base").HonoBase<App.Enviro
747
659
  } | {
748
660
  output: {
749
661
  error: {
750
- code: "api_key_forbidden";
662
+ code: "payment_required" | "rate_limit_exceeded";
751
663
  details?: readonly Response.error.Detail[] | undefined;
752
664
  message: string;
753
665
  };
754
666
  requestId: string;
755
667
  };
756
668
  outputFormat: "json";
757
- status: 403;
669
+ status: 429;
758
670
  input: {
759
671
  query?: {
760
672
  address?: string | string[];
@@ -778,14 +690,14 @@ export declare function receipts(): import("hono/hono-base").HonoBase<App.Enviro
778
690
  } | {
779
691
  output: {
780
692
  error: {
781
- code: "payment_required" | "rate_limit_exceeded";
693
+ code: "query_invalid";
782
694
  details?: readonly Response.error.Detail[] | undefined;
783
695
  message: string;
784
696
  };
785
697
  requestId: string;
786
698
  };
787
699
  outputFormat: "json";
788
- status: 429;
700
+ status: 400;
789
701
  input: {
790
702
  query?: {
791
703
  address?: string | string[];
@@ -808,15 +720,103 @@ export declare function receipts(): import("hono/hono-base").HonoBase<App.Enviro
808
720
  };
809
721
  } | {
810
722
  output: {
811
- error: {
812
- code: "upstream_error";
813
- details?: readonly Response.error.Detail[] | undefined;
814
- message: string;
815
- };
816
- requestId: string;
723
+ data: {
724
+ blockHash: `0x${string}` | null;
725
+ blockNumber: number;
726
+ contractAddress: `0x${string}` | null;
727
+ cumulativeGasUsed: number;
728
+ effectiveGasPrice: string;
729
+ feeAmount: string;
730
+ feePayer?: `0x${string}` | undefined;
731
+ feeToken?: `0x${string}` | undefined;
732
+ gasUsed: number;
733
+ id: `0x${string}`;
734
+ logs: {
735
+ [x: string]: import("hono/utils/types").JSONValue;
736
+ address: `0x${string}`;
737
+ blockHash: `0x${string}` | null;
738
+ blockNumber: `0x${string}` | null;
739
+ blockTimestamp?: `0x${string}` | null | undefined;
740
+ data: `0x${string}`;
741
+ logIndex: `0x${string}` | null;
742
+ removed: boolean;
743
+ topics: `0x${string}`[];
744
+ transactionHash: `0x${string}` | null;
745
+ transactionIndex: `0x${string}` | null;
746
+ }[];
747
+ meta: {
748
+ feeToken?: {
749
+ address: `0x${string}`;
750
+ admin?: `0x${string}` | undefined;
751
+ currency: string;
752
+ createdAt?: string | undefined;
753
+ decimals: number;
754
+ holderCount?: number | undefined;
755
+ id: string;
756
+ logoUri?: string | undefined;
757
+ name: string;
758
+ quoteToken?: `0x${string}` | undefined;
759
+ symbol: string;
760
+ totalSupply?: string | undefined;
761
+ transferStats?: {
762
+ count: number;
763
+ firstAt: string | null;
764
+ lastAt: string | null;
765
+ } | undefined;
766
+ verified: boolean;
767
+ } | undefined;
768
+ rpc: {
769
+ [x: string]: import("hono/utils/types").JSONValue;
770
+ blobGasPrice?: `0x${string}` | undefined;
771
+ blobGasUsed?: `0x${string}` | undefined;
772
+ blockHash: `0x${string}` | null;
773
+ blockNumber: `0x${string}`;
774
+ blockTimestamp?: `0x${string}` | null | undefined;
775
+ contractAddress?: `0x${string}` | null | undefined;
776
+ cumulativeGasUsed: `0x${string}`;
777
+ effectiveGasPrice: `0x${string}`;
778
+ feePayer?: `0x${string}` | null | undefined;
779
+ feeToken?: `0x${string}` | null | undefined;
780
+ from: `0x${string}`;
781
+ gasUsed: `0x${string}`;
782
+ logs: {
783
+ [x: string]: import("hono/utils/types").JSONValue;
784
+ address: `0x${string}`;
785
+ blockHash: `0x${string}` | null;
786
+ blockNumber: `0x${string}` | null;
787
+ blockTimestamp?: `0x${string}` | null | undefined;
788
+ data: `0x${string}`;
789
+ logIndex: `0x${string}` | null;
790
+ removed: boolean;
791
+ topics: `0x${string}`[];
792
+ transactionHash: `0x${string}` | null;
793
+ transactionIndex: `0x${string}` | null;
794
+ }[];
795
+ logsBloom?: `0x${string}` | undefined;
796
+ root?: `0x${string}` | undefined;
797
+ status: `0x${string}`;
798
+ to: `0x${string}` | null;
799
+ transactionHash: `0x${string}`;
800
+ transactionIndex: `0x${string}`;
801
+ type: `0x${string}`;
802
+ };
803
+ };
804
+ recipient: `0x${string}` | null;
805
+ sender: `0x${string}`;
806
+ status: "reverted" | "success";
807
+ timestamp: string | null;
808
+ transactionHash: `0x${string}`;
809
+ transactionIndex: number;
810
+ type: "eip1559" | "eip2930" | "eip4844" | "eip7702" | "legacy" | "tempo" | "unknown";
811
+ }[];
812
+ meta?: {
813
+ totalCountCapped: boolean;
814
+ totalCount: number;
815
+ } | undefined;
816
+ nextCursor: string | null;
817
817
  };
818
818
  outputFormat: "json";
819
- status: 502;
819
+ status: 200;
820
820
  input: {
821
821
  query?: {
822
822
  address?: string | string[];
@@ -842,97 +842,9 @@ export declare function receipts(): import("hono/hono-base").HonoBase<App.Enviro
842
842
  } & {
843
843
  "/v1/transactions/:transactionHash/receipt": {
844
844
  $get: {
845
- output: {
846
- blockHash: `0x${string}` | null;
847
- blockNumber: number;
848
- contractAddress: `0x${string}` | null;
849
- cumulativeGasUsed: number;
850
- effectiveGasPrice: string;
851
- feeAmount: string;
852
- feePayer?: `0x${string}` | undefined;
853
- feeToken?: `0x${string}` | undefined;
854
- gasUsed: number;
855
- id: `0x${string}`;
856
- logs: {
857
- [x: string]: import("hono/utils/types").JSONValue;
858
- address: `0x${string}`;
859
- blockHash: `0x${string}` | null;
860
- blockNumber: `0x${string}` | null;
861
- blockTimestamp?: `0x${string}` | null | undefined;
862
- data: `0x${string}`;
863
- logIndex: `0x${string}` | null;
864
- removed: boolean;
865
- topics: `0x${string}`[];
866
- transactionHash: `0x${string}` | null;
867
- transactionIndex: `0x${string}` | null;
868
- }[];
869
- meta: {
870
- feeToken?: {
871
- address: `0x${string}`;
872
- admin?: `0x${string}` | undefined;
873
- currency: string;
874
- createdAt?: string | undefined;
875
- decimals: number;
876
- holderCount?: number | undefined;
877
- id: string;
878
- logoUri?: string | undefined;
879
- name: string;
880
- quoteToken?: `0x${string}` | undefined;
881
- symbol: string;
882
- totalSupply?: string | undefined;
883
- transferStats?: {
884
- count: number;
885
- firstAt: string | null;
886
- lastAt: string | null;
887
- } | undefined;
888
- verified: boolean;
889
- } | undefined;
890
- rpc: {
891
- [x: string]: import("hono/utils/types").JSONValue;
892
- blobGasPrice?: `0x${string}` | undefined;
893
- blobGasUsed?: `0x${string}` | undefined;
894
- blockHash: `0x${string}` | null;
895
- blockNumber: `0x${string}`;
896
- blockTimestamp?: `0x${string}` | null | undefined;
897
- contractAddress?: `0x${string}` | null | undefined;
898
- cumulativeGasUsed: `0x${string}`;
899
- effectiveGasPrice: `0x${string}`;
900
- feePayer?: `0x${string}` | null | undefined;
901
- feeToken?: `0x${string}` | null | undefined;
902
- from: `0x${string}`;
903
- gasUsed: `0x${string}`;
904
- logs: {
905
- [x: string]: import("hono/utils/types").JSONValue;
906
- address: `0x${string}`;
907
- blockHash: `0x${string}` | null;
908
- blockNumber: `0x${string}` | null;
909
- blockTimestamp?: `0x${string}` | null | undefined;
910
- data: `0x${string}`;
911
- logIndex: `0x${string}` | null;
912
- removed: boolean;
913
- topics: `0x${string}`[];
914
- transactionHash: `0x${string}` | null;
915
- transactionIndex: `0x${string}` | null;
916
- }[];
917
- logsBloom?: `0x${string}` | undefined;
918
- root?: `0x${string}` | undefined;
919
- status: `0x${string}`;
920
- to: `0x${string}` | null;
921
- transactionHash: `0x${string}`;
922
- transactionIndex: `0x${string}`;
923
- type: `0x${string}`;
924
- };
925
- };
926
- recipient: `0x${string}` | null;
927
- sender: `0x${string}`;
928
- status: "reverted" | "success";
929
- timestamp: string | null;
930
- transactionHash: `0x${string}`;
931
- transactionIndex: number;
932
- type: "eip1559" | "eip2930" | "eip4844" | "eip7702" | "legacy" | "tempo" | "unknown";
933
- };
934
- outputFormat: "json";
935
- status: 200;
845
+ output: null;
846
+ outputFormat: "body";
847
+ status: 402;
936
848
  input: {
937
849
  param: {
938
850
  transactionHash: `0x${string}`;
@@ -946,14 +858,14 @@ export declare function receipts(): import("hono/hono-base").HonoBase<App.Enviro
946
858
  } | {
947
859
  output: {
948
860
  error: {
949
- code: "api_key_malformed";
861
+ code: "upstream_error";
950
862
  details?: readonly Response.error.Detail[] | undefined;
951
863
  message: string;
952
864
  };
953
865
  requestId: string;
954
866
  };
955
867
  outputFormat: "json";
956
- status: 400;
868
+ status: 502;
957
869
  input: {
958
870
  param: {
959
871
  transactionHash: `0x${string}`;
@@ -967,7 +879,7 @@ export declare function receipts(): import("hono/hono-base").HonoBase<App.Enviro
967
879
  } | {
968
880
  output: {
969
881
  error: {
970
- code: "query_invalid";
882
+ code: "api_key_malformed";
971
883
  details?: readonly Response.error.Detail[] | undefined;
972
884
  message: string;
973
885
  };
@@ -988,14 +900,14 @@ export declare function receipts(): import("hono/hono-base").HonoBase<App.Enviro
988
900
  } | {
989
901
  output: {
990
902
  error: {
991
- code: "transaction_invalid";
903
+ code: "api_key_invalid" | "api_key_missing";
992
904
  details?: readonly Response.error.Detail[] | undefined;
993
905
  message: string;
994
906
  };
995
907
  requestId: string;
996
908
  };
997
909
  outputFormat: "json";
998
- status: 400;
910
+ status: 401;
999
911
  input: {
1000
912
  param: {
1001
913
  transactionHash: `0x${string}`;
@@ -1009,14 +921,14 @@ export declare function receipts(): import("hono/hono-base").HonoBase<App.Enviro
1009
921
  } | {
1010
922
  output: {
1011
923
  error: {
1012
- code: "api_key_invalid" | "api_key_missing";
924
+ code: "api_key_forbidden";
1013
925
  details?: readonly Response.error.Detail[] | undefined;
1014
926
  message: string;
1015
927
  };
1016
928
  requestId: string;
1017
929
  };
1018
930
  outputFormat: "json";
1019
- status: 401;
931
+ status: 403;
1020
932
  input: {
1021
933
  param: {
1022
934
  transactionHash: `0x${string}`;
@@ -1028,9 +940,16 @@ export declare function receipts(): import("hono/hono-base").HonoBase<App.Enviro
1028
940
  } | undefined;
1029
941
  };
1030
942
  } | {
1031
- output: null;
1032
- outputFormat: "body";
1033
- status: 402;
943
+ output: {
944
+ error: {
945
+ code: "payment_required" | "rate_limit_exceeded";
946
+ details?: readonly Response.error.Detail[] | undefined;
947
+ message: string;
948
+ };
949
+ requestId: string;
950
+ };
951
+ outputFormat: "json";
952
+ status: 429;
1034
953
  input: {
1035
954
  param: {
1036
955
  transactionHash: `0x${string}`;
@@ -1044,14 +963,14 @@ export declare function receipts(): import("hono/hono-base").HonoBase<App.Enviro
1044
963
  } | {
1045
964
  output: {
1046
965
  error: {
1047
- code: "api_key_forbidden";
966
+ code: "query_invalid";
1048
967
  details?: readonly Response.error.Detail[] | undefined;
1049
968
  message: string;
1050
969
  };
1051
970
  requestId: string;
1052
971
  };
1053
972
  outputFormat: "json";
1054
- status: 403;
973
+ status: 400;
1055
974
  input: {
1056
975
  param: {
1057
976
  transactionHash: `0x${string}`;
@@ -1065,14 +984,14 @@ export declare function receipts(): import("hono/hono-base").HonoBase<App.Enviro
1065
984
  } | {
1066
985
  output: {
1067
986
  error: {
1068
- code: "receipt_not_found";
987
+ code: "transaction_invalid";
1069
988
  details?: readonly Response.error.Detail[] | undefined;
1070
989
  message: string;
1071
990
  };
1072
991
  requestId: string;
1073
992
  };
1074
993
  outputFormat: "json";
1075
- status: 404;
994
+ status: 400;
1076
995
  input: {
1077
996
  param: {
1078
997
  transactionHash: `0x${string}`;
@@ -1086,14 +1005,14 @@ export declare function receipts(): import("hono/hono-base").HonoBase<App.Enviro
1086
1005
  } | {
1087
1006
  output: {
1088
1007
  error: {
1089
- code: "payment_required" | "rate_limit_exceeded";
1008
+ code: "receipt_not_found";
1090
1009
  details?: readonly Response.error.Detail[] | undefined;
1091
1010
  message: string;
1092
1011
  };
1093
1012
  requestId: string;
1094
1013
  };
1095
1014
  outputFormat: "json";
1096
- status: 429;
1015
+ status: 404;
1097
1016
  input: {
1098
1017
  param: {
1099
1018
  transactionHash: `0x${string}`;
@@ -1106,15 +1025,96 @@ export declare function receipts(): import("hono/hono-base").HonoBase<App.Enviro
1106
1025
  };
1107
1026
  } | {
1108
1027
  output: {
1109
- error: {
1110
- code: "upstream_error";
1111
- details?: readonly Response.error.Detail[] | undefined;
1112
- message: string;
1028
+ blockHash: `0x${string}` | null;
1029
+ blockNumber: number;
1030
+ contractAddress: `0x${string}` | null;
1031
+ cumulativeGasUsed: number;
1032
+ effectiveGasPrice: string;
1033
+ feeAmount: string;
1034
+ feePayer?: `0x${string}` | undefined;
1035
+ feeToken?: `0x${string}` | undefined;
1036
+ gasUsed: number;
1037
+ id: `0x${string}`;
1038
+ logs: {
1039
+ [x: string]: import("hono/utils/types").JSONValue;
1040
+ address: `0x${string}`;
1041
+ blockHash: `0x${string}` | null;
1042
+ blockNumber: `0x${string}` | null;
1043
+ blockTimestamp?: `0x${string}` | null | undefined;
1044
+ data: `0x${string}`;
1045
+ logIndex: `0x${string}` | null;
1046
+ removed: boolean;
1047
+ topics: `0x${string}`[];
1048
+ transactionHash: `0x${string}` | null;
1049
+ transactionIndex: `0x${string}` | null;
1050
+ }[];
1051
+ meta: {
1052
+ feeToken?: {
1053
+ address: `0x${string}`;
1054
+ admin?: `0x${string}` | undefined;
1055
+ currency: string;
1056
+ createdAt?: string | undefined;
1057
+ decimals: number;
1058
+ holderCount?: number | undefined;
1059
+ id: string;
1060
+ logoUri?: string | undefined;
1061
+ name: string;
1062
+ quoteToken?: `0x${string}` | undefined;
1063
+ symbol: string;
1064
+ totalSupply?: string | undefined;
1065
+ transferStats?: {
1066
+ count: number;
1067
+ firstAt: string | null;
1068
+ lastAt: string | null;
1069
+ } | undefined;
1070
+ verified: boolean;
1071
+ } | undefined;
1072
+ rpc: {
1073
+ [x: string]: import("hono/utils/types").JSONValue;
1074
+ blobGasPrice?: `0x${string}` | undefined;
1075
+ blobGasUsed?: `0x${string}` | undefined;
1076
+ blockHash: `0x${string}` | null;
1077
+ blockNumber: `0x${string}`;
1078
+ blockTimestamp?: `0x${string}` | null | undefined;
1079
+ contractAddress?: `0x${string}` | null | undefined;
1080
+ cumulativeGasUsed: `0x${string}`;
1081
+ effectiveGasPrice: `0x${string}`;
1082
+ feePayer?: `0x${string}` | null | undefined;
1083
+ feeToken?: `0x${string}` | null | undefined;
1084
+ from: `0x${string}`;
1085
+ gasUsed: `0x${string}`;
1086
+ logs: {
1087
+ [x: string]: import("hono/utils/types").JSONValue;
1088
+ address: `0x${string}`;
1089
+ blockHash: `0x${string}` | null;
1090
+ blockNumber: `0x${string}` | null;
1091
+ blockTimestamp?: `0x${string}` | null | undefined;
1092
+ data: `0x${string}`;
1093
+ logIndex: `0x${string}` | null;
1094
+ removed: boolean;
1095
+ topics: `0x${string}`[];
1096
+ transactionHash: `0x${string}` | null;
1097
+ transactionIndex: `0x${string}` | null;
1098
+ }[];
1099
+ logsBloom?: `0x${string}` | undefined;
1100
+ root?: `0x${string}` | undefined;
1101
+ status: `0x${string}`;
1102
+ to: `0x${string}` | null;
1103
+ transactionHash: `0x${string}`;
1104
+ transactionIndex: `0x${string}`;
1105
+ type: `0x${string}`;
1106
+ };
1113
1107
  };
1114
- requestId: string;
1108
+ recipient: `0x${string}` | null;
1109
+ sender: `0x${string}`;
1110
+ status: "reverted" | "success";
1111
+ timestamp: string | null;
1112
+ transactionHash: `0x${string}`;
1113
+ transactionIndex: number;
1114
+ type: "eip1559" | "eip2930" | "eip4844" | "eip7702" | "legacy" | "tempo" | "unknown";
1115
1115
  };
1116
1116
  outputFormat: "json";
1117
- status: 502;
1117
+ status: 200;
1118
1118
  input: {
1119
1119
  param: {
1120
1120
  transactionHash: `0x${string}`;
@@ -502,10 +502,9 @@ export declare namespace query {
502
502
  };
503
503
  }
504
504
  /**
505
- * Context-free core of {@link query}: builds the signature-decoded `Transfer`
506
- * CTE query, applies keyset pagination on `(block_num, log_idx)`, and decodes
507
- * rows. Used by the Hono routes (via {@link query}, which adds Server-Timing +
508
- * memoization) and by the webhook poller (uncached, ascending, per-row cursors).
505
+ * Context-free core of {@link query}: reads token-scoped rows from
506
+ * `token_transfers`, otherwise the decoded `Transfer` CTE, then paginates and
507
+ * decodes them. Also used by the webhook poller.
509
508
  */
510
509
  export declare function scan(deps: scan.Deps, options: scan.Options): Promise<scan.Page>;
511
510
  export declare namespace scan {
@@ -532,11 +531,8 @@ export declare namespace scan {
532
531
  };
533
532
  }
534
533
  /**
535
- * Builds the shared `WHERE` filter clauses for the `Transfer` feed: contract /
536
- * subject / sender / recipient / block / timestamp predicates. Shared verbatim
537
- * by the page query ({@link scan}) and the capped count ({@link countScan}) so a
538
- * `totalCount` always matches the page it annotates; the keyset cursor clause is
539
- * page-only and added by {@link scan} on top of these.
534
+ * Builds shared transfer filters. A token predicate targets `token_transfers`'s
535
+ * physical `token` column; unscoped queries omit it and use the `Transfer` CTE.
540
536
  */
541
537
  declare function filterClauses(options: filterClauses.Options): string[];
542
538
  declare namespace filterClauses {
@@ -563,12 +559,9 @@ export declare namespace count {
563
559
  };
564
560
  }
565
561
  /**
566
- * Context-free core of {@link count}: runs a capped `count(*)` over the
567
- * signature-decoded `Transfer` CTE under the shared {@link filterClauses}. The
568
- * inner `LIMIT Schema.countCap` bounds the scan so the aggregate can't exceed
569
- * the indexer's execution budget on the 10⁹-plus row table (an unbounded count
570
- * there blows the 5s `max_execution_time`); a result equal to the cap is a
571
- * lower bound, surfaced as `totalCountCapped: true`.
562
+ * Context-free core of {@link count}: counts token-scoped rows from
563
+ * `token_transfers`, otherwise the decoded `Transfer` CTE. The capped inner
564
+ * scan bounds work; the SQL aggregate runs on ClickHouse.
572
565
  */
573
566
  export declare function countScan(deps: scan.Deps, options: countScan.Options): Promise<count.Result>;
574
567
  export declare namespace countScan {