@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.
- package/coston/StateConnector/configs/AddressValidity.json +310 -0
- package/coston/StateConnector/configs/BalanceDecreasingTransaction.json +379 -0
- package/coston/StateConnector/configs/ConfirmedBlockHeightExists.json +363 -0
- package/coston/StateConnector/configs/EVMTransaction.json +600 -0
- package/coston/StateConnector/configs/Payment.json +512 -0
- package/coston/StateConnector/configs/ReferencedPaymentNonexistence.json +431 -0
- package/coston/StateConnector/configs/TypeTemplate.json +555 -0
- package/package.json +2 -1
|
@@ -0,0 +1,512 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Payment",
|
|
3
|
+
"fullComment": " @custom:name Payment\n @custom:id 0x01\n @custom:supported BTC, DOGE, XRP, testBTC, testDOGE, testXRP\n @author Flare\n @notice The attestation type is used to prove that a native currency payment was carried out on some blockchain.\n Various blockchains support different types of native payments. For each block chain, it is specified how a payment\n transaction should be formed to be provable by this attestation type.\n The provable payments emulate usual banking payment from entity A to entity B in native currency with an optional payment reference.\n @custom:verification Based on transaction id, the transaction is fetched from the API of the blockchain node or relevant indexer.\n If the transaction cannot be fetched or the transaction is in a block that does not have sufficient [number of confirmations](/specs/attestations/configs.md#finalityconfirmation), the attestation request is rejected.\n Once the transaction is received, the [payment summary](/specs/attestations/external-chains/transactions.md#payment-summary) is computed according to the rules of the source chain.\n If summary is successfully calculated, the response is assembled from the summary.\n Otherwise, the attestation request is rejected.\n @custom:lut `blockTimestamp`",
|
|
4
|
+
"description": "The attestation type is used to prove that a native currency payment was carried out on some blockchain.\n Various blockchains support different types of native payments. For each block chain, it is specified how a payment\n transaction should be formed to be provable by this attestation type.\n The provable payments emulate usual banking payment from entity A to entity B in native currency with an optional payment reference.",
|
|
5
|
+
"supported": [
|
|
6
|
+
"BTC",
|
|
7
|
+
"DOGE",
|
|
8
|
+
"XRP",
|
|
9
|
+
"testBTC",
|
|
10
|
+
"testDOGE",
|
|
11
|
+
"testXRP"
|
|
12
|
+
],
|
|
13
|
+
"verification": "Based on transaction id, the transaction is fetched from the API of the blockchain node or relevant indexer.\n If the transaction cannot be fetched or the transaction is in a block that does not have sufficient [number of confirmations](/specs/attestations/configs.md#finalityconfirmation), the attestation request is rejected.\n Once the transaction is received, the [payment summary](/specs/attestations/external-chains/transactions.md#payment-summary) is computed according to the rules of the source chain.\n If summary is successfully calculated, the response is assembled from the summary.\n Otherwise, the attestation request is rejected.",
|
|
14
|
+
"lut": "`blockTimestamp`",
|
|
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 Payment.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 Id of the attestation type.\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": "Id of the attestation type."
|
|
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 Payment.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 Payment.RequestBody",
|
|
103
|
+
"typeSimple": "RequestBody",
|
|
104
|
+
"comment": "Extracted from the request."
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"name": "responseBody",
|
|
108
|
+
"type": "struct Payment.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 Payment attestation type",
|
|
117
|
+
"above": "",
|
|
118
|
+
"below": "",
|
|
119
|
+
"fullComment": " @notice Request body for Payment attestation type\n @param transactionId Id of the payment transaction.\n @param inUtxo For UTXO, this is the index of the transaction input with source address. Always 0 for the non-utxo chains.\n @param utxo For UTXO, this is the index of the transaction output with receiving address. Always 0 for the non-utxo chains.",
|
|
120
|
+
"params": [
|
|
121
|
+
{
|
|
122
|
+
"name": "transactionId",
|
|
123
|
+
"type": "bytes32",
|
|
124
|
+
"typeSimple": "bytes32",
|
|
125
|
+
"comment": "Id of the payment transaction."
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"name": "inUtxo",
|
|
129
|
+
"type": "uint256",
|
|
130
|
+
"typeSimple": "uint256",
|
|
131
|
+
"comment": "For UTXO, this is the index of the transaction input with source address. Always 0 for the non-utxo chains."
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
"name": "utxo",
|
|
135
|
+
"type": "uint256",
|
|
136
|
+
"typeSimple": "uint256",
|
|
137
|
+
"comment": "For UTXO, this is the index of the transaction output with receiving address. Always 0 for the non-utxo chains."
|
|
138
|
+
}
|
|
139
|
+
]
|
|
140
|
+
},
|
|
141
|
+
"responseBody": {
|
|
142
|
+
"name": "ResponseBody",
|
|
143
|
+
"description": "Response body for Payment attestation type",
|
|
144
|
+
"above": "",
|
|
145
|
+
"below": "",
|
|
146
|
+
"fullComment": " @notice Response body for Payment attestation type\n @param blockNumber Number of the block in which the transaction is included.\n @param blockTimestamp The timestamps of the block in which the transaction is included.\n @param sourceAddressHash Standard address hash of the source address.\n @param receivingAddressHash Standard address hash of the receiving address. Zero 32-byte string if there is no receivingAddress (if `status` is not success).\n @param intendedReceivingAddressHash Standard address hash of the intended receiving address. Relevant if the transaction was unsuccessful.\n @param spentAmount Amount in minimal units spent by the source address.\n @param intendedSpentAmount Amount in minimal units to be spent by the source address. Relevant if the transaction status is not success.\n @param receivedAmount Amount in minimal units received by the receiving address.\n @param intendedReceivedAmount Amount in minimal units intended to be received by the receiving address. Relevant if the transaction was unsuccessful.\n @param standardPaymentReference Identifier of the transaction as defined [here](/specs/attestations/external-chains/standardPaymentReference.md).\n @param oneToOne Indicator whether only one source and one receiver are involved in the transaction.\n @param status Status of the transaction as described [here](/specs/attestations/external-chains/transactions.md#transaction-success-status):\n 0 - success,\n 1 - failed by sender's fault,\n 2 - failed by receiver's fault.",
|
|
147
|
+
"params": [
|
|
148
|
+
{
|
|
149
|
+
"name": "blockNumber",
|
|
150
|
+
"type": "uint64",
|
|
151
|
+
"typeSimple": "uint64",
|
|
152
|
+
"comment": "Number of the block in which the transaction is included."
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
"name": "blockTimestamp",
|
|
156
|
+
"type": "uint64",
|
|
157
|
+
"typeSimple": "uint64",
|
|
158
|
+
"comment": "The timestamps of the block in which the transaction is included."
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"name": "sourceAddressHash",
|
|
162
|
+
"type": "bytes32",
|
|
163
|
+
"typeSimple": "bytes32",
|
|
164
|
+
"comment": "Standard address hash of the source address."
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
"name": "receivingAddressHash",
|
|
168
|
+
"type": "bytes32",
|
|
169
|
+
"typeSimple": "bytes32",
|
|
170
|
+
"comment": "Standard address hash of the receiving address. Zero 32-byte string if there is no receivingAddress (if `status` is not success)."
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
"name": "intendedReceivingAddressHash",
|
|
174
|
+
"type": "bytes32",
|
|
175
|
+
"typeSimple": "bytes32",
|
|
176
|
+
"comment": "Standard address hash of the intended receiving address. Relevant if the transaction was unsuccessful."
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
"name": "spentAmount",
|
|
180
|
+
"type": "int256",
|
|
181
|
+
"typeSimple": "int256",
|
|
182
|
+
"comment": "Amount in minimal units spent by the source address."
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
"name": "intendedSpentAmount",
|
|
186
|
+
"type": "int256",
|
|
187
|
+
"typeSimple": "int256",
|
|
188
|
+
"comment": "Amount in minimal units to be spent by the source address. Relevant if the transaction status is not success."
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
"name": "receivedAmount",
|
|
192
|
+
"type": "int256",
|
|
193
|
+
"typeSimple": "int256",
|
|
194
|
+
"comment": "Amount in minimal units received by the receiving address."
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
"name": "intendedReceivedAmount",
|
|
198
|
+
"type": "int256",
|
|
199
|
+
"typeSimple": "int256",
|
|
200
|
+
"comment": "Amount in minimal units intended to be received by the receiving address. Relevant if the transaction was unsuccessful."
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
"name": "standardPaymentReference",
|
|
204
|
+
"type": "bytes32",
|
|
205
|
+
"typeSimple": "bytes32",
|
|
206
|
+
"comment": "Identifier of the transaction as defined [here](/specs/attestations/external-chains/standardPaymentReference.md)."
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
"name": "oneToOne",
|
|
210
|
+
"type": "bool",
|
|
211
|
+
"typeSimple": "bool",
|
|
212
|
+
"comment": "Indicator whether only one source and one receiver are involved in the transaction."
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
"name": "status",
|
|
216
|
+
"type": "uint8",
|
|
217
|
+
"typeSimple": "uint8",
|
|
218
|
+
"comment": "Status of the transaction as described [here](/specs/attestations/external-chains/transactions.md#transaction-success-status):"
|
|
219
|
+
}
|
|
220
|
+
]
|
|
221
|
+
},
|
|
222
|
+
"requestStructs": [],
|
|
223
|
+
"responseStructs": [],
|
|
224
|
+
"requestAbi": {
|
|
225
|
+
"components": [
|
|
226
|
+
{
|
|
227
|
+
"internalType": "bytes32",
|
|
228
|
+
"name": "attestationType",
|
|
229
|
+
"type": "bytes32"
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
"internalType": "bytes32",
|
|
233
|
+
"name": "sourceId",
|
|
234
|
+
"type": "bytes32"
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
"internalType": "bytes32",
|
|
238
|
+
"name": "messageIntegrityCode",
|
|
239
|
+
"type": "bytes32"
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
"components": [
|
|
243
|
+
{
|
|
244
|
+
"internalType": "bytes32",
|
|
245
|
+
"name": "transactionId",
|
|
246
|
+
"type": "bytes32"
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
"internalType": "uint256",
|
|
250
|
+
"name": "inUtxo",
|
|
251
|
+
"type": "uint256"
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
"internalType": "uint256",
|
|
255
|
+
"name": "utxo",
|
|
256
|
+
"type": "uint256"
|
|
257
|
+
}
|
|
258
|
+
],
|
|
259
|
+
"internalType": "struct Payment.RequestBody",
|
|
260
|
+
"name": "requestBody",
|
|
261
|
+
"type": "tuple"
|
|
262
|
+
}
|
|
263
|
+
],
|
|
264
|
+
"internalType": "struct Payment.Request",
|
|
265
|
+
"name": "_request",
|
|
266
|
+
"type": "tuple"
|
|
267
|
+
},
|
|
268
|
+
"responseAbi": {
|
|
269
|
+
"components": [
|
|
270
|
+
{
|
|
271
|
+
"internalType": "bytes32",
|
|
272
|
+
"name": "attestationType",
|
|
273
|
+
"type": "bytes32"
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
"internalType": "bytes32",
|
|
277
|
+
"name": "sourceId",
|
|
278
|
+
"type": "bytes32"
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
"internalType": "uint64",
|
|
282
|
+
"name": "votingRound",
|
|
283
|
+
"type": "uint64"
|
|
284
|
+
},
|
|
285
|
+
{
|
|
286
|
+
"internalType": "uint64",
|
|
287
|
+
"name": "lowestUsedTimestamp",
|
|
288
|
+
"type": "uint64"
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
"components": [
|
|
292
|
+
{
|
|
293
|
+
"internalType": "bytes32",
|
|
294
|
+
"name": "transactionId",
|
|
295
|
+
"type": "bytes32"
|
|
296
|
+
},
|
|
297
|
+
{
|
|
298
|
+
"internalType": "uint256",
|
|
299
|
+
"name": "inUtxo",
|
|
300
|
+
"type": "uint256"
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
"internalType": "uint256",
|
|
304
|
+
"name": "utxo",
|
|
305
|
+
"type": "uint256"
|
|
306
|
+
}
|
|
307
|
+
],
|
|
308
|
+
"internalType": "struct Payment.RequestBody",
|
|
309
|
+
"name": "requestBody",
|
|
310
|
+
"type": "tuple"
|
|
311
|
+
},
|
|
312
|
+
{
|
|
313
|
+
"components": [
|
|
314
|
+
{
|
|
315
|
+
"internalType": "uint64",
|
|
316
|
+
"name": "blockNumber",
|
|
317
|
+
"type": "uint64"
|
|
318
|
+
},
|
|
319
|
+
{
|
|
320
|
+
"internalType": "uint64",
|
|
321
|
+
"name": "blockTimestamp",
|
|
322
|
+
"type": "uint64"
|
|
323
|
+
},
|
|
324
|
+
{
|
|
325
|
+
"internalType": "bytes32",
|
|
326
|
+
"name": "sourceAddressHash",
|
|
327
|
+
"type": "bytes32"
|
|
328
|
+
},
|
|
329
|
+
{
|
|
330
|
+
"internalType": "bytes32",
|
|
331
|
+
"name": "receivingAddressHash",
|
|
332
|
+
"type": "bytes32"
|
|
333
|
+
},
|
|
334
|
+
{
|
|
335
|
+
"internalType": "bytes32",
|
|
336
|
+
"name": "intendedReceivingAddressHash",
|
|
337
|
+
"type": "bytes32"
|
|
338
|
+
},
|
|
339
|
+
{
|
|
340
|
+
"internalType": "int256",
|
|
341
|
+
"name": "spentAmount",
|
|
342
|
+
"type": "int256"
|
|
343
|
+
},
|
|
344
|
+
{
|
|
345
|
+
"internalType": "int256",
|
|
346
|
+
"name": "intendedSpentAmount",
|
|
347
|
+
"type": "int256"
|
|
348
|
+
},
|
|
349
|
+
{
|
|
350
|
+
"internalType": "int256",
|
|
351
|
+
"name": "receivedAmount",
|
|
352
|
+
"type": "int256"
|
|
353
|
+
},
|
|
354
|
+
{
|
|
355
|
+
"internalType": "int256",
|
|
356
|
+
"name": "intendedReceivedAmount",
|
|
357
|
+
"type": "int256"
|
|
358
|
+
},
|
|
359
|
+
{
|
|
360
|
+
"internalType": "bytes32",
|
|
361
|
+
"name": "standardPaymentReference",
|
|
362
|
+
"type": "bytes32"
|
|
363
|
+
},
|
|
364
|
+
{
|
|
365
|
+
"internalType": "bool",
|
|
366
|
+
"name": "oneToOne",
|
|
367
|
+
"type": "bool"
|
|
368
|
+
},
|
|
369
|
+
{
|
|
370
|
+
"internalType": "uint8",
|
|
371
|
+
"name": "status",
|
|
372
|
+
"type": "uint8"
|
|
373
|
+
}
|
|
374
|
+
],
|
|
375
|
+
"internalType": "struct Payment.ResponseBody",
|
|
376
|
+
"name": "responseBody",
|
|
377
|
+
"type": "tuple"
|
|
378
|
+
}
|
|
379
|
+
],
|
|
380
|
+
"internalType": "struct Payment.Response",
|
|
381
|
+
"name": "_response",
|
|
382
|
+
"type": "tuple"
|
|
383
|
+
},
|
|
384
|
+
"proofAbi": {
|
|
385
|
+
"components": [
|
|
386
|
+
{
|
|
387
|
+
"internalType": "bytes32[]",
|
|
388
|
+
"name": "merkleProof",
|
|
389
|
+
"type": "bytes32[]"
|
|
390
|
+
},
|
|
391
|
+
{
|
|
392
|
+
"components": [
|
|
393
|
+
{
|
|
394
|
+
"internalType": "bytes32",
|
|
395
|
+
"name": "attestationType",
|
|
396
|
+
"type": "bytes32"
|
|
397
|
+
},
|
|
398
|
+
{
|
|
399
|
+
"internalType": "bytes32",
|
|
400
|
+
"name": "sourceId",
|
|
401
|
+
"type": "bytes32"
|
|
402
|
+
},
|
|
403
|
+
{
|
|
404
|
+
"internalType": "uint64",
|
|
405
|
+
"name": "votingRound",
|
|
406
|
+
"type": "uint64"
|
|
407
|
+
},
|
|
408
|
+
{
|
|
409
|
+
"internalType": "uint64",
|
|
410
|
+
"name": "lowestUsedTimestamp",
|
|
411
|
+
"type": "uint64"
|
|
412
|
+
},
|
|
413
|
+
{
|
|
414
|
+
"components": [
|
|
415
|
+
{
|
|
416
|
+
"internalType": "bytes32",
|
|
417
|
+
"name": "transactionId",
|
|
418
|
+
"type": "bytes32"
|
|
419
|
+
},
|
|
420
|
+
{
|
|
421
|
+
"internalType": "uint256",
|
|
422
|
+
"name": "inUtxo",
|
|
423
|
+
"type": "uint256"
|
|
424
|
+
},
|
|
425
|
+
{
|
|
426
|
+
"internalType": "uint256",
|
|
427
|
+
"name": "utxo",
|
|
428
|
+
"type": "uint256"
|
|
429
|
+
}
|
|
430
|
+
],
|
|
431
|
+
"internalType": "struct Payment.RequestBody",
|
|
432
|
+
"name": "requestBody",
|
|
433
|
+
"type": "tuple"
|
|
434
|
+
},
|
|
435
|
+
{
|
|
436
|
+
"components": [
|
|
437
|
+
{
|
|
438
|
+
"internalType": "uint64",
|
|
439
|
+
"name": "blockNumber",
|
|
440
|
+
"type": "uint64"
|
|
441
|
+
},
|
|
442
|
+
{
|
|
443
|
+
"internalType": "uint64",
|
|
444
|
+
"name": "blockTimestamp",
|
|
445
|
+
"type": "uint64"
|
|
446
|
+
},
|
|
447
|
+
{
|
|
448
|
+
"internalType": "bytes32",
|
|
449
|
+
"name": "sourceAddressHash",
|
|
450
|
+
"type": "bytes32"
|
|
451
|
+
},
|
|
452
|
+
{
|
|
453
|
+
"internalType": "bytes32",
|
|
454
|
+
"name": "receivingAddressHash",
|
|
455
|
+
"type": "bytes32"
|
|
456
|
+
},
|
|
457
|
+
{
|
|
458
|
+
"internalType": "bytes32",
|
|
459
|
+
"name": "intendedReceivingAddressHash",
|
|
460
|
+
"type": "bytes32"
|
|
461
|
+
},
|
|
462
|
+
{
|
|
463
|
+
"internalType": "int256",
|
|
464
|
+
"name": "spentAmount",
|
|
465
|
+
"type": "int256"
|
|
466
|
+
},
|
|
467
|
+
{
|
|
468
|
+
"internalType": "int256",
|
|
469
|
+
"name": "intendedSpentAmount",
|
|
470
|
+
"type": "int256"
|
|
471
|
+
},
|
|
472
|
+
{
|
|
473
|
+
"internalType": "int256",
|
|
474
|
+
"name": "receivedAmount",
|
|
475
|
+
"type": "int256"
|
|
476
|
+
},
|
|
477
|
+
{
|
|
478
|
+
"internalType": "int256",
|
|
479
|
+
"name": "intendedReceivedAmount",
|
|
480
|
+
"type": "int256"
|
|
481
|
+
},
|
|
482
|
+
{
|
|
483
|
+
"internalType": "bytes32",
|
|
484
|
+
"name": "standardPaymentReference",
|
|
485
|
+
"type": "bytes32"
|
|
486
|
+
},
|
|
487
|
+
{
|
|
488
|
+
"internalType": "bool",
|
|
489
|
+
"name": "oneToOne",
|
|
490
|
+
"type": "bool"
|
|
491
|
+
},
|
|
492
|
+
{
|
|
493
|
+
"internalType": "uint8",
|
|
494
|
+
"name": "status",
|
|
495
|
+
"type": "uint8"
|
|
496
|
+
}
|
|
497
|
+
],
|
|
498
|
+
"internalType": "struct Payment.ResponseBody",
|
|
499
|
+
"name": "responseBody",
|
|
500
|
+
"type": "tuple"
|
|
501
|
+
}
|
|
502
|
+
],
|
|
503
|
+
"internalType": "struct Payment.Response",
|
|
504
|
+
"name": "data",
|
|
505
|
+
"type": "tuple"
|
|
506
|
+
}
|
|
507
|
+
],
|
|
508
|
+
"internalType": "struct Payment.Proof",
|
|
509
|
+
"name": "_proof",
|
|
510
|
+
"type": "tuple"
|
|
511
|
+
}
|
|
512
|
+
}
|