@flarenetwork/flare-periphery-contract-artifacts 0.1.2 → 0.1.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.
@@ -0,0 +1,310 @@
1
+ {
2
+ "name": "AddressValidity",
3
+ "fullComment": " @custom:name AddressValidity\n @custom:id 0x05\n @custom:supported BTC, DOGE, XRP, testBTC, testDOGE, testXRP\n @author Flare\n @notice The purpose of this type is to assert that the string represents a valid address on an external chain.\n @custom:verification The address is checked against all validity criteria of the chain with `sourceId`.\n Validity criteria for each supported chain:\n - [BTC](/specs/attestations/external-chains/address-validity/BTC.md)\n - [DOGE](/specs/attestations/external-chains/address-validity/DOGE.md)\n - [XRPL](/specs/attestations/external-chains/address-validity/XRPL.md)\n - [Ethereum](/specs/attestations/external-chains/address-validity/ETH.md)\n @custom:lut 0xffffffffffffffff $(2^{64}-1$ in hex$",
4
+ "description": "The purpose of this type is to assert that the string represents a valid address on an external chain.",
5
+ "supported": [
6
+ "BTC",
7
+ "DOGE",
8
+ "XRP",
9
+ "testBTC",
10
+ "testDOGE",
11
+ "testXRP"
12
+ ],
13
+ "verification": "The address is checked against all validity criteria of the chain with `sourceId`.\n Validity criteria for each supported chain:\n - [BTC](/specs/attestations/external-chains/address-validity/BTC.md)\n - [DOGE](/specs/attestations/external-chains/address-validity/DOGE.md)\n - [XRPL](/specs/attestations/external-chains/address-validity/XRPL.md)\n - [Ethereum](/specs/attestations/external-chains/address-validity/ETH.md)",
14
+ "lut": "0xffffffffffffffff $(2^{64}-1$ in hex$",
15
+ "proof": {
16
+ "name": "Proof",
17
+ "description": "Toplevel proof",
18
+ "above": "",
19
+ "below": "",
20
+ "fullComment": " @notice Toplevel proof\n @param merkleProof Merkle proof corresponding to the attestation response.\n @param data Attestation response.",
21
+ "params": [
22
+ {
23
+ "name": "merkleProof",
24
+ "type": "bytes32[]",
25
+ "typeSimple": "bytes32[]",
26
+ "comment": "Merkle proof corresponding to the attestation response."
27
+ },
28
+ {
29
+ "name": "data",
30
+ "type": "struct AddressValidity.Response",
31
+ "typeSimple": "Response",
32
+ "comment": "Attestation response."
33
+ }
34
+ ]
35
+ },
36
+ "request": {
37
+ "name": "Request",
38
+ "description": "Toplevel request",
39
+ "above": "",
40
+ "below": "",
41
+ "fullComment": " @notice Toplevel request\n @param attestationType Attestation type id as defined for each attestation type on [this repo](https://gitlab.com/flarenetwork/state-connector-protocol/)\n @param sourceId Id of the data source.\n @param messageIntegrityCode `MessageIntegrityCode` that is derived from the expected response as defined [here](/specs/attestations/hash-MIC.md#message-integrity-code).\n @param requestBody Data defining the request. Type (struct) and interpretation is determined by the `attestationType`.",
42
+ "params": [
43
+ {
44
+ "name": "attestationType",
45
+ "type": "bytes32",
46
+ "typeSimple": "bytes32",
47
+ "comment": "Attestation type id as defined for each attestation type on [this repo](https://gitlab.com/flarenetwork/state-connector-protocol/)"
48
+ },
49
+ {
50
+ "name": "sourceId",
51
+ "type": "bytes32",
52
+ "typeSimple": "bytes32",
53
+ "comment": "Id of the data source."
54
+ },
55
+ {
56
+ "name": "messageIntegrityCode",
57
+ "type": "bytes32",
58
+ "typeSimple": "bytes32",
59
+ "comment": "`MessageIntegrityCode` that is derived from the expected response as defined [here](/specs/attestations/hash-MIC.md#message-integrity-code)."
60
+ },
61
+ {
62
+ "name": "requestBody",
63
+ "type": "struct AddressValidity.RequestBody",
64
+ "typeSimple": "RequestBody",
65
+ "comment": "Data defining the request. Type (struct) and interpretation is determined by the `attestationType`."
66
+ }
67
+ ]
68
+ },
69
+ "response": {
70
+ "name": "Response",
71
+ "description": "Toplevel response",
72
+ "above": "",
73
+ "below": "",
74
+ "fullComment": " @notice Toplevel response\n @param attestationType Extracted from the request.\n @param sourceId Extracted from the request.\n @param votingRound The id of the state connector round in which the request was considered.\n @param lowestUsedTimestamp The lowest timestamp used to generate the response.\n @param requestBody Extracted from the request.\n @param responseBody Data defining the response. The verification rules for the construction of the response body and the type are defined per specific `attestationType`.",
75
+ "params": [
76
+ {
77
+ "name": "attestationType",
78
+ "type": "bytes32",
79
+ "typeSimple": "bytes32",
80
+ "comment": "Extracted from the request."
81
+ },
82
+ {
83
+ "name": "sourceId",
84
+ "type": "bytes32",
85
+ "typeSimple": "bytes32",
86
+ "comment": "Extracted from the request."
87
+ },
88
+ {
89
+ "name": "votingRound",
90
+ "type": "uint64",
91
+ "typeSimple": "uint64",
92
+ "comment": "The id of the state connector round in which the request was considered."
93
+ },
94
+ {
95
+ "name": "lowestUsedTimestamp",
96
+ "type": "uint64",
97
+ "typeSimple": "uint64",
98
+ "comment": "The lowest timestamp used to generate the response."
99
+ },
100
+ {
101
+ "name": "requestBody",
102
+ "type": "struct AddressValidity.RequestBody",
103
+ "typeSimple": "RequestBody",
104
+ "comment": "Extracted from the request."
105
+ },
106
+ {
107
+ "name": "responseBody",
108
+ "type": "struct AddressValidity.ResponseBody",
109
+ "typeSimple": "ResponseBody",
110
+ "comment": "Data defining the response. The verification rules for the construction of the response body and the type are defined per specific `attestationType`."
111
+ }
112
+ ]
113
+ },
114
+ "requestBody": {
115
+ "name": "RequestBody",
116
+ "description": "Request body for AddressValidity attestation type",
117
+ "above": "",
118
+ "below": "",
119
+ "fullComment": " @notice Request body for AddressValidity attestation type\n @param addressStr Address to be verified.",
120
+ "params": [
121
+ {
122
+ "name": "addressStr",
123
+ "type": "string",
124
+ "typeSimple": "string",
125
+ "comment": "Address to be verified."
126
+ }
127
+ ]
128
+ },
129
+ "responseBody": {
130
+ "name": "ResponseBody",
131
+ "description": "Response body for AddressValidity attestation type",
132
+ "above": "",
133
+ "below": "",
134
+ "fullComment": " @notice Response body for AddressValidity attestation type\n @param standardAddress Standard form of the validated address.\n @param standardAddressHash Standard address hash of the validated address.",
135
+ "params": [
136
+ {
137
+ "name": "standardAddress",
138
+ "type": "string",
139
+ "typeSimple": "string",
140
+ "comment": "Standard form of the validated address."
141
+ },
142
+ {
143
+ "name": "standardAddressHash",
144
+ "type": "bytes32",
145
+ "typeSimple": "bytes32",
146
+ "comment": "Standard address hash of the validated address."
147
+ }
148
+ ]
149
+ },
150
+ "requestStructs": [],
151
+ "responseStructs": [],
152
+ "requestAbi": {
153
+ "components": [
154
+ {
155
+ "internalType": "bytes32",
156
+ "name": "attestationType",
157
+ "type": "bytes32"
158
+ },
159
+ {
160
+ "internalType": "bytes32",
161
+ "name": "sourceId",
162
+ "type": "bytes32"
163
+ },
164
+ {
165
+ "internalType": "bytes32",
166
+ "name": "messageIntegrityCode",
167
+ "type": "bytes32"
168
+ },
169
+ {
170
+ "components": [
171
+ {
172
+ "internalType": "string",
173
+ "name": "addressStr",
174
+ "type": "string"
175
+ }
176
+ ],
177
+ "internalType": "struct AddressValidity.RequestBody",
178
+ "name": "requestBody",
179
+ "type": "tuple"
180
+ }
181
+ ],
182
+ "internalType": "struct AddressValidity.Request",
183
+ "name": "_request",
184
+ "type": "tuple"
185
+ },
186
+ "responseAbi": {
187
+ "components": [
188
+ {
189
+ "internalType": "bytes32",
190
+ "name": "attestationType",
191
+ "type": "bytes32"
192
+ },
193
+ {
194
+ "internalType": "bytes32",
195
+ "name": "sourceId",
196
+ "type": "bytes32"
197
+ },
198
+ {
199
+ "internalType": "uint64",
200
+ "name": "votingRound",
201
+ "type": "uint64"
202
+ },
203
+ {
204
+ "internalType": "uint64",
205
+ "name": "lowestUsedTimestamp",
206
+ "type": "uint64"
207
+ },
208
+ {
209
+ "components": [
210
+ {
211
+ "internalType": "string",
212
+ "name": "addressStr",
213
+ "type": "string"
214
+ }
215
+ ],
216
+ "internalType": "struct AddressValidity.RequestBody",
217
+ "name": "requestBody",
218
+ "type": "tuple"
219
+ },
220
+ {
221
+ "components": [
222
+ {
223
+ "internalType": "string",
224
+ "name": "standardAddress",
225
+ "type": "string"
226
+ },
227
+ {
228
+ "internalType": "bytes32",
229
+ "name": "standardAddressHash",
230
+ "type": "bytes32"
231
+ }
232
+ ],
233
+ "internalType": "struct AddressValidity.ResponseBody",
234
+ "name": "responseBody",
235
+ "type": "tuple"
236
+ }
237
+ ],
238
+ "internalType": "struct AddressValidity.Response",
239
+ "name": "_response",
240
+ "type": "tuple"
241
+ },
242
+ "proofAbi": {
243
+ "components": [
244
+ {
245
+ "internalType": "bytes32[]",
246
+ "name": "merkleProof",
247
+ "type": "bytes32[]"
248
+ },
249
+ {
250
+ "components": [
251
+ {
252
+ "internalType": "bytes32",
253
+ "name": "attestationType",
254
+ "type": "bytes32"
255
+ },
256
+ {
257
+ "internalType": "bytes32",
258
+ "name": "sourceId",
259
+ "type": "bytes32"
260
+ },
261
+ {
262
+ "internalType": "uint64",
263
+ "name": "votingRound",
264
+ "type": "uint64"
265
+ },
266
+ {
267
+ "internalType": "uint64",
268
+ "name": "lowestUsedTimestamp",
269
+ "type": "uint64"
270
+ },
271
+ {
272
+ "components": [
273
+ {
274
+ "internalType": "string",
275
+ "name": "addressStr",
276
+ "type": "string"
277
+ }
278
+ ],
279
+ "internalType": "struct AddressValidity.RequestBody",
280
+ "name": "requestBody",
281
+ "type": "tuple"
282
+ },
283
+ {
284
+ "components": [
285
+ {
286
+ "internalType": "string",
287
+ "name": "standardAddress",
288
+ "type": "string"
289
+ },
290
+ {
291
+ "internalType": "bytes32",
292
+ "name": "standardAddressHash",
293
+ "type": "bytes32"
294
+ }
295
+ ],
296
+ "internalType": "struct AddressValidity.ResponseBody",
297
+ "name": "responseBody",
298
+ "type": "tuple"
299
+ }
300
+ ],
301
+ "internalType": "struct AddressValidity.Response",
302
+ "name": "data",
303
+ "type": "tuple"
304
+ }
305
+ ],
306
+ "internalType": "struct AddressValidity.Proof",
307
+ "name": "_proof",
308
+ "type": "tuple"
309
+ }
310
+ }