You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
**📖 For complete documentation including signature verification, payload structure, result decoding, and EVM integration examples, see the [Attestation Payload Parsing](./docs/api-reference.md#attestation-payload-parsing) section in the API Reference.**
309
+
277
310
#### Attestation Payload Structure
278
311
279
312
The signed attestation payload is a binary blob containing:
@@ -284,7 +317,7 @@ The signed attestation payload is a binary blob containing:
284
317
5. Stream ID (32 bytes, length-prefixed)
285
318
6. Action ID (2 bytes)
286
319
7. Arguments (variable, length-prefixed)
287
-
8. Result (variable, length-prefixed)
320
+
8. Result (variable, ABI-encoded, length-prefixed)
288
321
9. Signature (65 bytes, secp256k1)
289
322
290
323
This payload can be passed to EVM smart contracts for on-chain verification using `ecrecover`.
@@ -450,6 +483,7 @@ For other bundlers or serverless platforms, consult their documentation on modul
450
483
| Get stream taxonomy |`composedAction.getTaxonomiesForStreams({streams, latestOnly})`|
**Note**: When used in attestation results (via `parseAttestationPayload`), each `DecodedRow` contains exactly two values: a Unix timestamp and a decimal value string.
840
+
841
+
### Attestation Result Format
842
+
843
+
Query results in attestations are ABI-encoded as:
844
+
```solidity
845
+
abi.encode(uint256[] timestamps, int256[] values)
846
+
```
847
+
848
+
Where:
849
+
-**timestamps**: Array of Unix timestamps (uint256)
850
+
-**values**: Array of 18-decimal fixed-point integers (int256)
0 commit comments