Skip to content

Commit 5055226

Browse files
authored
feat(fdc): add web2json url request form (#995)
2 parents 0546bc7 + a2ad693 commit 5055226

File tree

2 files changed

+112
-4
lines changed

2 files changed

+112
-4
lines changed

.github/ISSUE_TEMPLATE/feed_request.yml

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,36 @@ body:
1313
validations:
1414
required: true
1515

16+
- type: dropdown
17+
id: asset_class
18+
attributes:
19+
label: Asset Class
20+
description: >
21+
Indicate the category of the asset.
22+
See https://dev.flare.network/ftso/feeds for more details.
23+
options:
24+
- Crypto
25+
- Forex
26+
- Commodity
27+
- Stock
28+
- Custom Feeds
29+
validations:
30+
required: true
31+
1632
- type: textarea
33+
id: justification
1734
attributes:
1835
label: Justification
1936
description: Clear and concise explanation of why you are requesting this feed
37+
placeholder: "Explain the use case, consumers, and impact."
2038
validations:
2139
required: true
2240

2341
- type: textarea
2442
id: venues
2543
attributes:
2644
label: Trading Venues (CeX/DeX/Aggregators)
27-
description: Include tickers/symbols per venue
45+
description: Include tickers/symbols per venue. Prefer the most liquid pairs.
2846
value: |
2947
- Coinbase: FLR/USD
3048
- Bybit: FLR/USDT
@@ -34,16 +52,17 @@ body:
3452
required: true
3553

3654
- type: dropdown
37-
id: liquidity
55+
id: volume
3856
attributes:
39-
label: Liquidity & Volume (avg daily)
57+
label: Daily Volume
4058
options: ["<$1M", "$1-10M", "$10-100M", ">$100M"]
4159
validations:
4260
required: true
4361

4462
- type: input
4563
id: contact
4664
attributes:
47-
label: Contact (Email or Discord/Telegram)
65+
label: Contact (Email or Telegram)
66+
placeholder: "name@company.com or @handle"
4867
validations:
4968
required: true
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
name: New URL Request
2+
description: Request a new Web2Json URL to be added to FDC
3+
title: "[req]: <METHOD>: <Hostname>"
4+
labels: ["enhancement", "fdc"]
5+
assignees:
6+
- emysore-flare
7+
body:
8+
- type: input
9+
id: hostname
10+
attributes:
11+
label: Hostname
12+
placeholder: "https://flare.network"
13+
validations:
14+
required: true
15+
16+
- type: single_select
17+
id: http_method
18+
attributes:
19+
label: HTTP method
20+
options:
21+
- GET
22+
- POST
23+
- PUT
24+
- PATCH
25+
- DELETE
26+
validations:
27+
required: true
28+
29+
- type: input
30+
id: docs_url
31+
attributes:
32+
label: Documentation URL
33+
description: Link to the API docs for this endpoint (if available).
34+
placeholder: "https://example.com/docs#endpoint"
35+
validations:
36+
required: false
37+
38+
- type: textarea
39+
id: justification
40+
attributes:
41+
label: Justification
42+
description: Clear and concise explanation of why you are requesting this URL
43+
placeholder: "Explain how this data will be used and why it's needed."
44+
validations:
45+
required: true
46+
47+
- type: textarea
48+
id: example_endpoint_response
49+
attributes:
50+
label: Example Endpoint Response
51+
description: Provide a representative sample of the JSON response.
52+
render: json
53+
placeholder: |
54+
{
55+
"status": "ok",
56+
"timestamp": 1720000000,
57+
"data": { "price": 1.23 }
58+
}
59+
validations:
60+
required: true
61+
62+
- type: textarea
63+
id: example_web2json_request
64+
attributes:
65+
label: Example Web2Json Request
66+
description: >
67+
Provide the exact JSON payload that FDC will receive. All fields are strings.
68+
See https://dev.flare.network/fdc/attestation-types/web2-json for more details.
69+
render: json
70+
placeholder: |
71+
{
72+
"url": "https://api.example.com/v1/price",
73+
"httpMethod": "GET",
74+
"headers": "{}",
75+
"queryParams": "{\"symbol\":\"BTC\",\"convert\":\"USD\"}",
76+
"body": "{}",
77+
"postProcessJq": ".data | {price: .price, timestamp: .ts}",
78+
"abiSignature": "(uint256 price,uint256 timestamp)"
79+
}
80+
validations:
81+
required: true
82+
83+
- type: input
84+
id: contact
85+
attributes:
86+
label: Contact (Email or Telegram)
87+
placeholder: "name@company.com or @handle"
88+
validations:
89+
required: true

0 commit comments

Comments
 (0)