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
Copy file name to clipboardExpand all lines: docs/fassets/developer-guides/4-fassets-settings-node.mdx
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -284,7 +284,8 @@ Timestamp: 1756977702
284
284
285
285
## Summary
286
286
287
-
Congratulations! You have built a TypeScript script that connects to the Coston2 network and retrieves the FAsset configuration settings and the price of XRP in USD.
287
+
Congratulations!
288
+
You have built a TypeScript script that connects to the Coston2 network and retrieves the FAsset configuration settings and the price of XRP in USD.
Copy file name to clipboardExpand all lines: docs/fdc/1-overview.mdx
+6-3Lines changed: 6 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -62,11 +62,13 @@ Operating a DA Layer is permissionless—anyone can run a DA Layer service by so
62
62
63
63
## Attestation Types
64
64
65
-
FDC currently supports seven attestation types, each serving specific verification needs. Below is an overview of these types, with detailed explanations available in their respective sections:
65
+
FDC currently supports seven attestation types, each serving specific verification needs.
66
+
Below is an overview of these types, with detailed explanations available in their respective sections:
66
67
67
68
-**AddressValidity**: Validates the format and checksum of addresses on specified chains.
68
69
-**EVMTransaction**: Verifies and retrieves transaction details from EVM-compatible chains (`ETH`, `FLR`, `SGB`).
69
-
-**JsonApi**: Fetches and processes any Web2 data using a JQ transformation, then returns it as ABI-encoded output. (Currently only on Coston & Coston2).
70
+
-**Web2Json**: Fetches and processes any Web2 data using a JQ transformation, then returns it as ABI-encoded output.
71
+
(Currently only on Coston & Coston2).
70
72
-**Payment**: Confirms and fetches payment transaction details from non-EVM chains (`BTC`, `DOGE`, `XRP`).
71
73
-**ConfirmedBlockHeightExists**: Verifies block existence and confirmation status.
72
74
-**BalanceDecreasingTransaction**: Validates if a transaction reduces an address's balance.
@@ -124,7 +126,8 @@ Due to the waiting period between steps **2** and **3**, where the round is fina
124
126
7.**Sign and Submit**: Collect signatures representing 50%+ weight and submit the Merkle root to the [`Relay`](/network/fsp/solidity-reference/IRelay) contract.
125
127
8.**Serve Data**: Provide attestation responses and proofs via the DA Layer.
126
128
127
-
The **Flare Data Connector (FDC)** is a critical infrastructure component for the Flare ecosystem, enabling smart contracts to access **secure, attested external data** while maintaining trustless verification through **Merkle proofs**. By integrating the FDC, developers can create more **reliable, decentralized applications** across multiple blockchains.
129
+
The **Flare Data Connector (FDC)** is a critical infrastructure component for the Flare ecosystem, enabling smart contracts to access **secure, attested external data** while maintaining trustless verification through **Merkle proofs**.
130
+
By integrating the FDC, developers can create more **reliable, decentralized applications** across multiple blockchains.
Copy file name to clipboardExpand all lines: docs/fdc/2-getting-started.mdx
+16-6Lines changed: 16 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -33,7 +33,8 @@ Learn how to [deploy your first smart contract](/network/getting-started) on Fla
33
33
34
34
:::
35
35
36
-
At its core, FDC enables any smart contract on Flare to query immutable, verifiable information from supported blockchain networks. The protocol achieves consensus through the BitVote-reveal mechanism within the Flare Systems Protocol suite, allowing dapps to validate external blockchain data using Merkle proofs.
36
+
At its core, FDC enables any smart contract on Flare to query immutable, verifiable information from supported blockchain networks.
37
+
The protocol achieves consensus through the BitVote-reveal mechanism within the Flare Systems Protocol suite, allowing dapps to validate external blockchain data using Merkle proofs.
37
38
38
39
Currently supported networks include:
39
40
@@ -100,7 +101,8 @@ The Data Connector operates in separate environments for mainnets and testnets,
100
101
## Prepare the attestation request
101
102
102
103
To attest to transaction data, we need to encode it in a format that the Flare Data Connector (FDC) can process.
103
-
This is done through a verifier service. While you can set up your own verifier, we'll use Flare's testnet verifier service available at `https://fdc-verifiers-testnet.flare.network/`.
104
+
This is done through a verifier service.
105
+
While you can set up your own verifier, we'll use Flare's testnet verifier service available at `https://fdc-verifiers-testnet.flare.network/`.
104
106
You can explore the API through their Swagger interface at `https://fdc-verifiers-testnet.flare.network/verifier/api-doc`.
105
107
106
108
### Request structure
@@ -164,7 +166,10 @@ If consensus fails, you'll need to resubmit the request.
164
166
<details>
165
167
<summary>Understanding the structure of `abiEncodedRequest`.</summary>
166
168
167
-
The structure of `abiEncodedRequest` may seem complex, but it's essentially a concatenated hex string (with the initial 0x removed) representing different parts of the request. Each part is 32 bytes long (64 characters in hex). Here's a breakdown of the string:
169
+
The structure of `abiEncodedRequest` may seem complex, but it's essentially a concatenated hex string (with the initial 0x removed) representing different parts of the request.
170
+
171
+
Each part is 32 bytes long (64 characters in hex).
@@ -187,7 +192,10 @@ If consensus fails, you'll need to resubmit the request.
187
192
188
193
-**Second line:**`toHex("testETH")`
189
194
190
-
-**Third line:** Message Integrity Code (MIC). This is a hash of the whole response salted with a string `Flare`. It ensures the integrity of the attestation and prevents tampering.
195
+
-**Third line:** Message Integrity Code (MIC).
196
+
197
+
This is a hash of the whole response salted with a string `Flare`.
198
+
It ensures the integrity of the attestation and prevents tampering.
191
199
192
200
-**Remaining lines:** ABI encoded request body (as solidity struct).
193
201
The structure of the body is defined in the accompanying attestation [type specification](https://github.com/flare-foundation/songbird-state-connector-protocol/blob/main/contracts/interface/types/EVMTransaction.sol#L68).
@@ -305,7 +313,8 @@ This data is now ready to be used in your smart contract to:
305
313
306
314
## Verify and use the data
307
315
308
-
Let's examine how to verify and utilize the data from the DA Layer API in your smart contract. We'll focus on a practical example: listening for and verifying USDC transfer events.
316
+
Let's examine how to verify and utilize the data from the DA Layer API in your smart contract.
317
+
We'll focus on a practical example: listening for and verifying USDC transfer events.
309
318
310
319
### Data structure
311
320
@@ -387,7 +396,8 @@ Don't forget to set the EVM version to `cancun` in Remix before compiling the co
387
396
388
397
1.**Proof Verification**
389
398
390
-
The contract uses the `ContractRegistry` library to access Flare's official verifiers. The verification process:
399
+
The contract uses the `ContractRegistry` library to access Flare's official verifiers.
400
+
The verification process:
391
401
- Retrieves the current verifier through the Flare governance-managed registry
392
402
- Uses `isEVMTransactionProofValid` to verify the Merkle proof and data integrity
393
403
- Requires successful verification before proceeding with any data processing
Copy file name to clipboardExpand all lines: docs/fdc/6-troubleshooting.mdx
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -150,7 +150,8 @@ If the API returns multiple fields, use `postProcessJq` to extract only the fiel
150
150
151
151
### Root Cause: Query Parameters Embedded in the URL
152
152
153
-
The [`Web2Json`](/fdc/attestation-types/web2-json) attestation type provides a dedicated `queryParams` field for query parameters. If you include query parameters directly in the `url` field (e.g., `https://api.example.com/data?key=value`), attestation providers may not process the request correctly, leading to consensus failure.
153
+
The [`Web2Json`](/fdc/attestation-types/web2-json) attestation type provides a dedicated `queryParams` field for query parameters.
154
+
If you include query parameters directly in the `url` field (e.g., `https://api.example.com/data?key=value`), attestation providers may not process the request correctly, leading to consensus failure.
Copy file name to clipboardExpand all lines: docs/fdc/attestation-types/json-api.mdx
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,8 @@ The `JsonApi` attestation type has been update to a new version, `Web2Json`.
12
12
You can find the updated version of this spec [here](/fdc/attestation-types/web2-json).
13
13
:::
14
14
15
-
Data retrieval from **Web2 JSON APIs** with JQ transformations. This attestation type allows smart contracts to access and process external JSON data in a verifiable way.
15
+
Data retrieval from **Web2 JSON APIs** with JQ transformations.
16
+
This attestation type allows smart contracts to access and process external JSON data in a verifiable way.
Copy file name to clipboardExpand all lines: docs/fdc/attestation-types/payment.mdx
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -120,7 +120,8 @@ The payment summary for Bitcoin and Dogecoin is derived using specified indices
120
120
121
121
#### Data Sources
122
122
123
-
- For Bitcoin, all transaction details are retrieved using the `getrawtransaction` endpoint (verbosity 2) and `getblock`. This requires a Bitcoin node version ≥ 25.0.
123
+
- For Bitcoin, all transaction details are retrieved using the `getrawtransaction` endpoint (verbosity 2) and `getblock`.
124
+
This requires a Bitcoin node version ≥ 25.0.
124
125
- For Dogecoin, since `getrawtransaction` with verbosity 2 is not supported, alternative methods must be used to access input transaction data.
0 commit comments