tapimo 0.12.0 → 0.13.0

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 (257) hide show
  1. package/dist/App.d.ts +5561 -5026
  2. package/dist/App.d.ts.map +1 -1
  3. package/dist/App.js +38 -3
  4. package/dist/App.js.map +1 -1
  5. package/dist/Scope.d.ts +2 -0
  6. package/dist/Scope.d.ts.map +1 -1
  7. package/dist/Scope.js +17 -0
  8. package/dist/Scope.js.map +1 -1
  9. package/dist/admin/App.d.ts +123 -74
  10. package/dist/admin/App.d.ts.map +1 -1
  11. package/dist/admin/apps/api-keys.d.ts +80 -0
  12. package/dist/admin/apps/api-keys.d.ts.map +1 -1
  13. package/dist/admin/apps/api-keys.js +54 -0
  14. package/dist/admin/apps/api-keys.js.map +1 -1
  15. package/dist/admin/apps/earn-vaults.d.ts +15 -15
  16. package/dist/admin/apps/earn-vaults.js +1 -1
  17. package/dist/admin/apps/verified-tokens.d.ts +81 -81
  18. package/dist/admin/ui.generated.d.ts +1 -1
  19. package/dist/admin/ui.generated.d.ts.map +1 -1
  20. package/dist/admin/ui.generated.js +151 -151
  21. package/dist/admin/ui.generated.js.map +1 -1
  22. package/dist/apps/Zones.d.ts +16 -16
  23. package/dist/apps/Zones.js +4 -4
  24. package/dist/apps/data/App.js +18 -18
  25. package/dist/apps/data/App.js.map +1 -1
  26. package/dist/apps/data/ZoneSelection.d.ts +8 -8
  27. package/dist/apps/data/ZoneSelection.d.ts.map +1 -1
  28. package/dist/apps/data/ZoneSelection.js +1 -1
  29. package/dist/apps/data/ZoneSelection.js.map +1 -1
  30. package/dist/apps/data/routes/activities.d.ts +588 -584
  31. package/dist/apps/data/routes/activities.d.ts.map +1 -1
  32. package/dist/apps/data/routes/activities.js +1561 -1239
  33. package/dist/apps/data/routes/activities.js.map +1 -1
  34. package/dist/apps/data/routes/balances.d.ts +26 -26
  35. package/dist/apps/data/routes/balances.d.ts.map +1 -1
  36. package/dist/apps/data/routes/balances.js +43 -16
  37. package/dist/apps/data/routes/balances.js.map +1 -1
  38. package/dist/apps/data/routes/blocks.d.ts +44 -44
  39. package/dist/apps/data/routes/blocks.d.ts.map +1 -1
  40. package/dist/apps/data/routes/blocks.js +21 -11
  41. package/dist/apps/data/routes/blocks.js.map +1 -1
  42. package/dist/apps/data/routes/coingecko.d.ts +3 -3
  43. package/dist/apps/data/routes/earn.d.ts +18 -18
  44. package/dist/apps/data/routes/earn.js +13 -13
  45. package/dist/apps/data/routes/exchanges.d.ts +145 -145
  46. package/dist/apps/data/routes/fee-amm.d.ts +2 -2
  47. package/dist/apps/data/routes/receipts.d.ts +155 -55
  48. package/dist/apps/data/routes/receipts.d.ts.map +1 -1
  49. package/dist/apps/data/routes/receipts.js +28 -10
  50. package/dist/apps/data/routes/receipts.js.map +1 -1
  51. package/dist/apps/data/routes/tokenlist.d.ts +13 -13
  52. package/dist/apps/data/routes/tokens.d.ts +98 -98
  53. package/dist/apps/data/routes/tokens.d.ts.map +1 -1
  54. package/dist/apps/data/routes/tokens.js +51 -20
  55. package/dist/apps/data/routes/tokens.js.map +1 -1
  56. package/dist/apps/data/routes/transactions.d.ts +7 -2
  57. package/dist/apps/data/routes/transactions.d.ts.map +1 -1
  58. package/dist/apps/data/routes/transactions.js +37 -17
  59. package/dist/apps/data/routes/transactions.js.map +1 -1
  60. package/dist/apps/data/routes/transfers.d.ts +1 -1
  61. package/dist/apps/data/routes/transfers.d.ts.map +1 -1
  62. package/dist/apps/data/routes/transfers.js +18 -12
  63. package/dist/apps/data/routes/transfers.js.map +1 -1
  64. package/dist/apps/data/routes/valuation.d.ts +1 -1
  65. package/dist/apps/data/routes/valuation.d.ts.map +1 -1
  66. package/dist/apps/data/routes/valuation.js +12 -7
  67. package/dist/apps/data/routes/valuation.js.map +1 -1
  68. package/dist/apps/data/routes/verified-tokens.d.ts +3 -3
  69. package/dist/apps/data/routes/webhooks.d.ts +11 -11
  70. package/dist/apps/data/routes/zones.d.ts +14 -14
  71. package/dist/apps/data/routes/zones.js +1 -1
  72. package/dist/apps/funding/App.d.ts +11 -0
  73. package/dist/apps/funding/App.d.ts.map +1 -1
  74. package/dist/apps/funding/routes/deposit-addresses.d.ts.map +1 -1
  75. package/dist/apps/funding/routes/deposit-addresses.js +16 -11
  76. package/dist/apps/funding/routes/deposit-addresses.js.map +1 -1
  77. package/dist/apps/funding/routes/transfers.d.ts +60 -48
  78. package/dist/apps/funding/routes/transfers.d.ts.map +1 -1
  79. package/dist/apps/funding/routes/transfers.js +27 -19
  80. package/dist/apps/funding/routes/transfers.js.map +1 -1
  81. package/dist/apps/management/App.d.ts +4487 -3963
  82. package/dist/apps/management/App.d.ts.map +1 -1
  83. package/dist/apps/management/routes/api-keys.d.ts +710 -159
  84. package/dist/apps/management/routes/api-keys.d.ts.map +1 -1
  85. package/dist/apps/management/routes/api-keys.js +236 -4
  86. package/dist/apps/management/routes/api-keys.js.map +1 -1
  87. package/dist/apps/management/routes/faucet.d.ts +6 -6
  88. package/dist/apps/management/routes/invite-links.d.ts +42 -42
  89. package/dist/apps/management/routes/members.d.ts +30 -30
  90. package/dist/apps/management/routes/projects.d.ts +40 -40
  91. package/dist/apps/management/routes/usage.d.ts +24 -24
  92. package/dist/apps/management/routes/verified-token-requests.d.ts +1 -1
  93. package/dist/apps/management/routes/webhooks.d.ts +55 -55
  94. package/dist/db/Db.d.ts.map +1 -1
  95. package/dist/db/Db.js +12 -1
  96. package/dist/db/Db.js.map +1 -1
  97. package/dist/db/Schema.d.ts +3 -2
  98. package/dist/db/Schema.d.ts.map +1 -1
  99. package/dist/db/Schema.js +5 -2
  100. package/dist/db/Schema.js.map +1 -1
  101. package/dist/db/tables/fundingCatalog.d.ts +4 -2
  102. package/dist/db/tables/fundingCatalog.d.ts.map +1 -1
  103. package/dist/db/tables/fundingCatalog.js +5 -1
  104. package/dist/db/tables/fundingCatalog.js.map +1 -1
  105. package/dist/handlers/internal/utils.d.ts.map +1 -1
  106. package/dist/handlers/internal/utils.js +9 -0
  107. package/dist/handlers/internal/utils.js.map +1 -1
  108. package/dist/internal/Auth.d.ts +3 -1
  109. package/dist/internal/Auth.d.ts.map +1 -1
  110. package/dist/internal/Auth.js +6 -3
  111. package/dist/internal/Auth.js.map +1 -1
  112. package/dist/internal/EarnVaults.d.ts +3 -3
  113. package/dist/internal/EarnVaults.js +3 -3
  114. package/dist/internal/Fetch.d.ts +23 -0
  115. package/dist/internal/Fetch.d.ts.map +1 -0
  116. package/dist/internal/Fetch.js +26 -0
  117. package/dist/internal/Fetch.js.map +1 -0
  118. package/dist/internal/Log.d.ts +3 -1
  119. package/dist/internal/Log.d.ts.map +1 -1
  120. package/dist/internal/Log.js +16 -3
  121. package/dist/internal/Log.js.map +1 -1
  122. package/dist/internal/OpenApi.d.ts +5 -3
  123. package/dist/internal/OpenApi.d.ts.map +1 -1
  124. package/dist/internal/OpenApi.js +13 -3
  125. package/dist/internal/OpenApi.js.map +1 -1
  126. package/dist/internal/Response.d.ts +1 -1
  127. package/dist/internal/Response.d.ts.map +1 -1
  128. package/dist/internal/Schema.d.ts +6 -3
  129. package/dist/internal/Schema.d.ts.map +1 -1
  130. package/dist/internal/Schema.js +8 -2
  131. package/dist/internal/Schema.js.map +1 -1
  132. package/dist/internal/Store.d.ts +16 -3
  133. package/dist/internal/Store.d.ts.map +1 -1
  134. package/dist/internal/Store.js +82 -16
  135. package/dist/internal/Store.js.map +1 -1
  136. package/dist/internal/Tidx.d.ts.map +1 -1
  137. package/dist/internal/Tidx.js +7 -2
  138. package/dist/internal/Tidx.js.map +1 -1
  139. package/dist/internal/Timeout.d.ts +36 -0
  140. package/dist/internal/Timeout.d.ts.map +1 -0
  141. package/dist/internal/Timeout.js +37 -0
  142. package/dist/internal/Timeout.js.map +1 -0
  143. package/dist/internal/Timing.d.ts +9 -0
  144. package/dist/internal/Timing.d.ts.map +1 -1
  145. package/dist/internal/Timing.js +7 -0
  146. package/dist/internal/Timing.js.map +1 -1
  147. package/dist/internal/WebhookDestination.d.ts.map +1 -1
  148. package/dist/internal/WebhookDestination.js +3 -0
  149. package/dist/internal/WebhookDestination.js.map +1 -1
  150. package/dist/internal/funding/Action.d.ts +9 -0
  151. package/dist/internal/funding/Action.d.ts.map +1 -1
  152. package/dist/internal/funding/Action.js +16 -8
  153. package/dist/internal/funding/Action.js.map +1 -1
  154. package/dist/internal/funding/Catalog.d.ts +9 -2
  155. package/dist/internal/funding/Catalog.d.ts.map +1 -1
  156. package/dist/internal/funding/Catalog.js +19 -8
  157. package/dist/internal/funding/Catalog.js.map +1 -1
  158. package/dist/internal/funding/Provider.d.ts +68 -13
  159. package/dist/internal/funding/Provider.d.ts.map +1 -1
  160. package/dist/internal/funding/Provider.js +29 -8
  161. package/dist/internal/funding/Provider.js.map +1 -1
  162. package/dist/internal/funding/Transfer.d.ts +13 -12
  163. package/dist/internal/funding/Transfer.d.ts.map +1 -1
  164. package/dist/internal/funding/Transfer.js +23 -21
  165. package/dist/internal/funding/Transfer.js.map +1 -1
  166. package/dist/internal/funding/providers/stargate.d.ts +28 -9
  167. package/dist/internal/funding/providers/stargate.d.ts.map +1 -1
  168. package/dist/internal/funding/providers/stargate.js +251 -117
  169. package/dist/internal/funding/providers/stargate.js.map +1 -1
  170. package/dist/internal/index.d.ts +1 -0
  171. package/dist/internal/index.d.ts.map +1 -1
  172. package/dist/internal/index.js +1 -0
  173. package/dist/internal/index.js.map +1 -1
  174. package/package.json +2 -2
  175. package/src/App.test.ts +100 -0
  176. package/src/App.ts +42 -3
  177. package/src/Client.test-d.ts +46 -0
  178. package/src/Scope.test.ts +20 -0
  179. package/src/Scope.ts +16 -0
  180. package/src/admin/apps/api-keys.test.ts +75 -0
  181. package/src/admin/apps/api-keys.ts +64 -0
  182. package/src/admin/apps/earn-vaults.test.ts +1 -1
  183. package/src/admin/apps/earn-vaults.ts +1 -1
  184. package/src/admin/ui/src/lib/api-keys.ts +19 -0
  185. package/src/admin/ui/src/routes/api-keys.tsx +89 -2
  186. package/src/admin/ui.generated.ts +189 -151
  187. package/src/apps/Zones.test.ts +4 -4
  188. package/src/apps/Zones.ts +4 -4
  189. package/src/apps/composition.test.ts +1 -1
  190. package/src/apps/data/App.test.ts +41 -0
  191. package/src/apps/data/App.ts +18 -18
  192. package/src/apps/data/ZoneSelection.test.ts +2 -2
  193. package/src/apps/data/ZoneSelection.ts +8 -8
  194. package/src/apps/data/routes/activities.test.ts +1526 -12
  195. package/src/apps/data/routes/activities.ts +1774 -1356
  196. package/src/apps/data/routes/balances.ts +133 -97
  197. package/src/apps/data/routes/blocks.test.ts +533 -0
  198. package/src/apps/data/routes/blocks.ts +35 -16
  199. package/src/apps/data/routes/earn.test.ts +4 -2
  200. package/src/apps/data/routes/earn.ts +13 -13
  201. package/src/apps/data/routes/earn.zone-access.test.ts +6 -6
  202. package/src/apps/data/routes/receipts.ts +47 -16
  203. package/src/apps/data/routes/tokens.test.ts +578 -0
  204. package/src/apps/data/routes/tokens.ts +283 -225
  205. package/src/apps/data/routes/transactions.ts +68 -29
  206. package/src/apps/data/routes/transfers.test.ts +421 -0
  207. package/src/apps/data/routes/transfers.ts +45 -27
  208. package/src/apps/data/routes/valuation.ts +94 -78
  209. package/src/apps/data/routes/zones.test.ts +2 -2
  210. package/src/apps/data/routes/zones.ts +1 -1
  211. package/src/apps/funding/routes/deposit-addresses.test.ts +25 -3
  212. package/src/apps/funding/routes/deposit-addresses.ts +17 -12
  213. package/src/apps/funding/routes/quotes.test.ts +5 -9
  214. package/src/apps/funding/routes/transfers.test.ts +395 -8
  215. package/src/apps/funding/routes/transfers.ts +76 -59
  216. package/src/apps/management/routes/api-keys.test.ts +220 -0
  217. package/src/apps/management/routes/api-keys.ts +280 -3
  218. package/src/db/Db.ts +13 -1
  219. package/src/db/Schema.ts +5 -2
  220. package/src/db/tables/earnVaults.test.ts +9 -9
  221. package/src/db/tables/fundingCatalog.test.ts +16 -2
  222. package/src/db/tables/fundingCatalog.ts +9 -3
  223. package/src/handlers/internal/utils.test.ts +53 -0
  224. package/src/handlers/internal/utils.ts +15 -0
  225. package/src/internal/Auth.ts +12 -4
  226. package/src/internal/EarnVaults.capabilities.test.ts +2 -2
  227. package/src/internal/EarnVaults.test.ts +1 -1
  228. package/src/internal/EarnVaults.ts +3 -3
  229. package/src/internal/Fetch.test.ts +46 -0
  230. package/src/internal/Fetch.ts +56 -0
  231. package/src/internal/Log.test.ts +21 -0
  232. package/src/internal/Log.ts +20 -5
  233. package/src/internal/OpenApi.ts +14 -4
  234. package/src/internal/Response.ts +1 -1
  235. package/src/internal/Schema.test.ts +2 -0
  236. package/src/internal/Schema.ts +12 -2
  237. package/src/internal/Store.test.ts +178 -0
  238. package/src/internal/Store.ts +104 -18
  239. package/src/internal/Tidx.test.ts +2 -1
  240. package/src/internal/Tidx.ts +7 -2
  241. package/src/internal/Timeout.test.ts +35 -0
  242. package/src/internal/Timeout.ts +73 -0
  243. package/src/internal/Timing.ts +16 -0
  244. package/src/internal/WebhookDestination.ts +3 -0
  245. package/src/internal/funding/Action.test.ts +41 -1
  246. package/src/internal/funding/Action.ts +69 -41
  247. package/src/internal/funding/Catalog.test.ts +34 -0
  248. package/src/internal/funding/Catalog.ts +28 -11
  249. package/src/internal/funding/Provider.test.ts +73 -0
  250. package/src/internal/funding/Provider.ts +82 -28
  251. package/src/internal/funding/Transfer.ts +133 -110
  252. package/src/internal/funding/providers/index.test.ts +4 -167
  253. package/src/internal/funding/providers/relay.test.ts +2 -2
  254. package/src/internal/funding/providers/stargate.test.ts +163 -0
  255. package/src/internal/funding/providers/stargate.ts +359 -134
  256. package/src/internal/index.test.ts +1 -0
  257. package/src/internal/index.ts +1 -0
@@ -171,13 +171,13 @@ export namespace schema {
171
171
  .strictObject({
172
172
  chainId: Schema.ChainId.check(
173
173
  z.describe('Private Zone chain id.'),
174
- z.meta({ examples: [1424310001] }),
174
+ z.meta({ examples: [1424310003] }),
175
175
  ),
176
176
  inputTokens: z
177
177
  .array(Schema.Address)
178
178
  .check(
179
179
  z.describe('Tokens accepted by private deposits.'),
180
- z.meta({ examples: [['0x20c000000000000000000000ff04042ee92fd449']] }),
180
+ z.meta({ examples: [['0x20c0000000000000000000002139993d5f625d59']] }),
181
181
  ),
182
182
  name: z
183
183
  .string()
@@ -186,7 +186,7 @@ export namespace schema {
186
186
  .array(Schema.Address)
187
187
  .check(
188
188
  z.describe('Tokens supported by private redemptions.'),
189
- z.meta({ examples: [['0x20c000000000000000000000ff04042ee92fd449']] }),
189
+ z.meta({ examples: [['0x20c0000000000000000000002139993d5f625d59']] }),
190
190
  ),
191
191
  })
192
192
  .check(z.describe('Private Zone route configured for a verified vault.'))
@@ -195,7 +195,7 @@ export namespace schema {
195
195
  .strictObject({
196
196
  chainId: Schema.ChainId.check(
197
197
  z.describe('Private Zone chain id.'),
198
- z.meta({ examples: [1424310001] }),
198
+ z.meta({ examples: [1424310003] }),
199
199
  ),
200
200
  deploymentBlock: z
201
201
  .number()
@@ -203,17 +203,17 @@ export namespace schema {
203
203
  z.int(),
204
204
  z.nonnegative(),
205
205
  z.describe('Parent-chain block that deployed the Earn router.'),
206
- z.meta({ examples: [31039238] }),
206
+ z.meta({ examples: [31730087] }),
207
207
  ),
208
208
  earnRouter: Schema.Address.check(
209
209
  z.describe('Parent-chain router for this Zone and Earn vault.'),
210
- z.meta({ examples: ['0x9144086a79dea966d8bf1b52125ebed8919fc45c'] }),
210
+ z.meta({ examples: ['0xebedc74ffeead186acc6cac05eb82fb9e093a7c7'] }),
211
211
  ),
212
212
  inputTokens: z
213
213
  .array(Schema.Address)
214
214
  .check(
215
215
  z.describe('Tokens accepted by private deposits.'),
216
- z.meta({ examples: [['0x20c000000000000000000000ff04042ee92fd449']] }),
216
+ z.meta({ examples: [['0x20c0000000000000000000002139993d5f625d59']] }),
217
217
  ),
218
218
  name: z
219
219
  .string()
@@ -222,7 +222,7 @@ export namespace schema {
222
222
  .array(Schema.Address)
223
223
  .check(
224
224
  z.describe('Tokens returned by private redemptions.'),
225
- z.meta({ examples: [['0x20c000000000000000000000ff04042ee92fd449']] }),
225
+ z.meta({ examples: [['0x20c0000000000000000000002139993d5f625d59']] }),
226
226
  ),
227
227
  })
228
228
  .check(z.describe('Verified Earn route through one private Zone.'))
@@ -327,12 +327,12 @@ export namespace schema {
327
327
  examples: [
328
328
  [
329
329
  {
330
- chainId: 1424310001,
331
- deploymentBlock: 31039238,
332
- earnRouter: '0x9144086a79dea966d8bf1b52125ebed8919fc45c',
333
- inputTokens: ['0x20c000000000000000000000ff04042ee92fd449'],
330
+ chainId: 1424310003,
331
+ deploymentBlock: 31730087,
332
+ earnRouter: '0xebedc74ffeead186acc6cac05eb82fb9e093a7c7',
333
+ inputTokens: ['0x20c0000000000000000000002139993d5f625d59'],
334
334
  name: 'zone-moderato-internal',
335
- outputTokens: ['0x20c000000000000000000000ff04042ee92fd449'],
335
+ outputTokens: ['0x20c0000000000000000000002139993d5f625d59'],
336
336
  },
337
337
  ],
338
338
  ],
@@ -4,15 +4,15 @@ import * as Earn from './earn.js'
4
4
 
5
5
  describe('hasZoneAccess', () => {
6
6
  test('matches every Zone granted by read or wildcard scopes', () => {
7
- const scopes = ['data:read', 'zone:1424310001:read', 'zone:1424310003:write']
8
- const visible = [1424310001, 1424310002, 1424310003].filter((chainId) =>
7
+ const scopes = ['data:read', 'zone:1424310003:read', 'zone:1424310005:write']
8
+ const visible = [1424310003, 1424310004, 1424310005].filter((chainId) =>
9
9
  Earn.hasZoneAccess({ chainId, scopes }),
10
10
  )
11
11
 
12
- expect(visible).toStrictEqual([1424310001])
13
- expect(Earn.hasZoneAccess({ chainId: 1424310002, scopes: ['*'] })).toBe(true)
14
- expect(Earn.hasZoneAccess({ chainId: 1424310003, scopes })).toBe(false)
15
- expect(Earn.hasZoneAccess({ chainId: 1424310001 })).toBe(false)
12
+ expect(visible).toStrictEqual([1424310003])
13
+ expect(Earn.hasZoneAccess({ chainId: 1424310004, scopes: ['*'] })).toBe(true)
14
+ expect(Earn.hasZoneAccess({ chainId: 1424310005, scopes })).toBe(false)
15
+ expect(Earn.hasZoneAccess({ chainId: 1424310003 })).toBe(false)
16
16
  })
17
17
  })
18
18
 
@@ -85,6 +85,8 @@ export namespace schema {
85
85
  })
86
86
  .check(z.describe('One event log emitted by a contract during transaction execution.'))
87
87
 
88
+ const rpcLog = OpenApi.component(Log, 'RpcTransactionLog')
89
+
88
90
  /** The verbatim JSON-RPC payloads, surfaced under each resource's `rpc` field. */
89
91
  export namespace Rpc {
90
92
  // TODO(ox/zod): replace with the zod schema for `ox/tempo`'s
@@ -145,7 +147,7 @@ export namespace schema {
145
147
  ),
146
148
  gasUsed: Schema.Quantity.check(z.describe('Gas actually used to execute the transaction.')),
147
149
  logs: z
148
- .array(Log)
150
+ .array(rpcLog)
149
151
  .check(z.describe('Event logs emitted by contracts while this transaction executed.')),
150
152
  logsBloom: z
151
153
  .optional(Schema.Hex)
@@ -186,6 +188,8 @@ export namespace schema {
186
188
  .check(z.describe('The transaction receipt exactly as returned by JSON-RPC.'))
187
189
  }
188
190
 
191
+ const rpcReceipt = OpenApi.component(Rpc.Receipt, 'RpcTransactionReceipt')
192
+
189
193
  /** Receipt metadata containing valuation provenance and the verbatim JSON-RPC receipt. */
190
194
  export const ReceiptMeta = z
191
195
  .object({
@@ -196,10 +200,12 @@ export namespace schema {
196
200
  'Rate provenance for the fee valuation. Present when conversion rates were consulted.',
197
201
  ),
198
202
  ),
199
- rpc: Rpc.Receipt.check(z.describe('The original JSON-RPC receipt payload.')),
203
+ rpc: rpcReceipt.check(z.describe('The original JSON-RPC receipt payload.')),
200
204
  })
201
205
  .check(z.describe('Metadata for this receipt, including valuation and the JSON-RPC payload.'))
202
206
 
207
+ const receiptMeta = OpenApi.component(ReceiptMeta, 'TransactionReceiptMeta')
208
+
203
209
  /** The fee charged to the fee payer, carrying its value in the requested denomination. */
204
210
  export const FeeAmount = z
205
211
  .extend(Schema.TokenAmount, {
@@ -215,6 +221,8 @@ export namespace schema {
215
221
  z.describe('The fee charged to the fee payer, with its value in the requested denomination.'),
216
222
  )
217
223
 
224
+ const receiptFeeAmount = OpenApi.component(FeeAmount, 'TransactionReceiptFeeAmount')
225
+
218
226
  /**
219
227
  * A humanized transaction receipt: decoded `status`/`type`, plain-number gas
220
228
  * and block fields, a structured fee amount, and a decimal-string gas price.
@@ -255,7 +263,9 @@ export namespace schema {
255
263
  effectiveGasPrice: Schema.DecimalString.check(
256
264
  z.describe('Effective gas price paid for this transaction, in attodollars per gas.'),
257
265
  ),
258
- feeAmount: FeeAmount.check(z.describe('Fee charged to the fee payer, denominated in USD.')),
266
+ feeAmount: receiptFeeAmount.check(
267
+ z.describe('Fee charged to the fee payer, denominated in USD.'),
268
+ ),
259
269
  feePayer: z
260
270
  .optional(Schema.Address)
261
271
  .check(z.describe('The address that paid the transaction fee.')),
@@ -278,11 +288,11 @@ export namespace schema {
278
288
  z.describe('Stable resource ID for this API response; it is the transaction hash.'),
279
289
  ),
280
290
  logs: z
281
- .array(Log)
291
+ .array(rpcLog)
282
292
  .check(
283
293
  z.describe('Event logs emitted by this transaction, returned in JSON-RPC log format.'),
284
294
  ),
285
- meta: ReceiptMeta.check(
295
+ meta: receiptMeta.check(
286
296
  z.describe(
287
297
  'Receipt metadata containing valuation rate provenance and the JSON-RPC payload.',
288
298
  ),
@@ -330,6 +340,9 @@ export namespace schema {
330
340
  ),
331
341
  )
332
342
 
343
+ /** Humanized transaction receipt shared by detail, list, and transaction includes. */
344
+ export const TransactionReceipt = OpenApi.component(Receipt, 'TransactionReceipt')
345
+
333
346
  /** Schemas for the getReceipt operation. */
334
347
  export namespace getReceipt {
335
348
  /** Path parameters for receipt requests. */
@@ -368,7 +381,7 @@ export namespace schema {
368
381
  .check(z.describe('Query parameters for looking up a receipt.'))
369
382
 
370
383
  /** A humanized receipt, with the verbatim JSON-RPC payload under `meta.rpc`. */
371
- export const Response = Receipt
384
+ export const Response = TransactionReceipt
372
385
  }
373
386
 
374
387
  /** Schemas for the getReceipts (list) operation. */
@@ -453,15 +466,22 @@ export namespace schema {
453
466
  })
454
467
  .check(z.describe('Page-level resources attached to this response.'))
455
468
 
456
- export const Response = z
457
- .object({
458
- data: z.array(getReceipt.Response).check(z.describe('Receipts on this page.')),
459
- meta: z
460
- .optional(Meta)
461
- .check(z.describe('Page-level resources: opt-in counts and valuation rate provenance.')),
462
- nextCursor: Schema.NextCursor,
463
- })
464
- .check(z.describe('A page of receipts ordered by block number and transaction position.'))
469
+ const meta = OpenApi.component(Meta, 'TransactionReceiptListMeta')
470
+
471
+ export const Response = OpenApi.component(
472
+ z
473
+ .object({
474
+ data: z.array(getReceipt.Response).check(z.describe('Receipts on this page.')),
475
+ meta: z
476
+ .optional(meta)
477
+ .check(
478
+ z.describe('Page-level resources: opt-in counts and valuation rate provenance.'),
479
+ ),
480
+ nextCursor: Schema.NextCursor,
481
+ })
482
+ .check(z.describe('A page of receipts ordered by block number and transaction position.')),
483
+ 'TransactionReceiptList',
484
+ )
465
485
  }
466
486
  }
467
487
 
@@ -481,7 +501,10 @@ export function receipts(options: receipts.Options = {}) {
481
501
  'List transaction receipts across Tempo, with filters for addresses, blocks, timestamps, fees, and status.',
482
502
  operationId: 'getReceipts',
483
503
  responses: OpenApi.responses({
484
- errors: { 502: 'Could not read receipt or token data from an upstream service.' },
504
+ errors: {
505
+ 400: { codes: ['chain_id_invalid', 'chain_id_unsupported', 'query_invalid'] },
506
+ 502: 'Could not read receipt or token data from an upstream service.',
507
+ },
485
508
  success: {
486
509
  description: 'A page of transaction receipts.',
487
510
  schema: schema.getReceipts.Response,
@@ -614,6 +637,14 @@ export function receipts(options: receipts.Options = {}) {
614
637
  operationId: 'getReceipt',
615
638
  responses: OpenApi.responses({
616
639
  errors: {
640
+ 400: {
641
+ codes: [
642
+ 'chain_id_invalid',
643
+ 'chain_id_unsupported',
644
+ 'query_invalid',
645
+ 'transaction_invalid',
646
+ ],
647
+ },
617
648
  404: {
618
649
  description: 'No receipt was found for that transaction hash.',
619
650
  codes: ['receipt_not_found'],