LINK / USD AccessControlledOffchainAggregator contract address: 0xDfd03BfC3465107Ce570a0397b247F546a42D0fA
The Access Controlled Offchain Aggregator is the Aggregator contract that each Chainlink Node sends its observations/transmissions to.
This contract is read by the EACAggregatorProxy
This page contains all of the read calls you can make to the AccessControlledOffchainAggregator
contracts.
If you'd like to check out the write calls, please check the AccessControlledOffchainAggregator_Writes page.
The LINK query will provide you with the contract address of the Chainlink token that the contract compensates the nodes in
curl -s -H "Content-Type: application/json" https://$YOUR_RPC_ENDPOINT -d '{"jsonrpc": "2.0", "id": 123, "method": "eth_call", "params":[{"from":null,"to":"0xDfd03BfC3465107Ce570a0397b247F546a42D0fA","data":"0x1b6b6d23"}, "latest"]}' | jq -r .result
0x000000000000000000000000514910771af9ca656af840dff83e8264ecf986ca
0
's)0x514910771af9ca656af840dff83e8264ecf986ca
The billingAccessController
is the address that has the permissions to modify the billing variables for the contract. More details regarding the billing variables are available below in the getBilling
call
curl -s -H "Content-Type: application/json" https://$YOUR_RPC_ENDPOINT -d '{"jsonrpc": "2.0", "id": 123, "method": "eth_call", "params":[{"from":null,"to":"0xDfd03BfC3465107Ce570a0397b247F546a42D0fA","data":"0x996e8298"}, "latest"]}' | jq -r .result
0x0000000000000000000000009db83cef9f68b63989e4e82d65d549e7ff2acda9
0
's)0x9db83cef9f68b63989e4e82d65d549e7ff2acda9
The checkEnabled
call will return a boolean. If true, then the read access of the aggregator contract is limited by the AccessController
contract.
curl -s -H "Content-Type: application/json" https://$YOUR_RPC_ENDPOINT -d '{"jsonrpc": "2.0", "id": 123, "method": "eth_call", "params":[{"from":null,"to":"0xDfd03BfC3465107Ce570a0397b247F546a42D0fA","data":"0xdc7f0124"}, "latest"]}' | jq -r .result
0x0000000000000000000000000000000000000000000000000000000000000001
0x0...1
is true
and 0x0...0
is false
true
The decimals
value tells the reader of the contract how many decimal places they need to adjust to get the proper value.
For example, if the LINK / USD
price feed has a decimlas value of 8
, and the latest round shows a response of 726792272
, then we would shift the decimal 8 places to end with a value of 7.26792272
.
DECIMALS=$(curl -s -H "Content-Type: application/json" https://$YOUR_RPC_ENDPOINT -d '{"jsonrpc": "2.0", "id": 123, "method": "eth_call", "params":[{"from":null,"to":"0xDfd03BfC3465107Ce570a0397b247F546a42D0fA","data":"0x313ce567"}, "latest"]}' | jq -r .result) && echo "$((DECIMALS))"
8
8
The desctiption
of the Proxy is just a friendly name, in this case displaying LINK / USD*Example Query:
DESCRIPTION=$(curl -s -H "Content-Type: application/json" https://$YOUR_RPC_ENDPOINT -d '{"jsonrpc": "2.0", "id": 123, "method": "eth_call", "params":[{"from":null,"to":"0xDfd03BfC3465107Ce570a0397b247F546a42D0fA","data":"0x7284e416"}, "latest"]}' | jq -r .result) && echo $DESCRIPTION | xxd -r -p
LINK / USD
LINK / USD
This call will provide you with the data for the round you have specified.
GET_ANSWER=$(curl -s -H "Content-Type: application/json" https://$YOUR_RPC_ENDPOINT -d '{"jsonrpc": "2.0", "id": 123, "method": "eth_call", "params":[{"from":null,"to":"0xDfd03BfC3465107Ce570a0397b247F546a42D0fA","data":"0xb5ab58dc000000000000000000000000000000000000000000000005000000000000347a"}, "latest"]}' | jq -r .result) && echo "$((GET_ANSWER))"
726792272
726792272
or, after adjusting decimals, 7.26792272
The getBilling
call will return a few values. These values are intended to be updated semi regularly via the setBilling
write call. The values and a brief description are below
curl -s -H "Content-Type: application/json" https://$YOUR_RPC_ENDPOINT -d '{"jsonrpc": "2.0", "id": 123, "method": "eth_call", "params":[{"from":null,"to":"0xDfd03BfC3465107Ce570a0397b247F546a42D0fA","data":"0x29937268"}, "latest"]}' | jq -r .result
0x0000000000000000000000000000000000000000000000000000000000000bb80000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000001082af400000000000000000000000000000000000000000000000000000000005b3f1e10000000000000000000000000000000000000000000000000000000022379f81
uint32
0000000000000000000000000000000000000000000000000000000000000bb8
3000
uint32
0000000000000000000000000000000000000000000000000000000000000064
100
uint256
000000000000000000000000000000000000000000000000000000001082af40
277000000
uint32
0000000000000000000000000000000000000000000000000000000005b3f1e1
95678945
uint32
0000000000000000000000000000000000000000000000000000000022379f81
574070657
Similar to the getAnswer
call, this call will get additional information from the round you have specified.
curl -s -H "Content-Type: application/json" https://$YOUR_RPC_ENDPOINT -d '{"jsonrpc": "2.0", "id": 123, "method": "eth_call", "params":[{"from":null,"to":"0xDfd03BfC3465107Ce570a0397b247F546a42D0fA","data":"0x9a6fc8f50000000000000000000000000000000000000000000000050000000000003493"}, "latest"]}' | jq -r .result
0x000000000000000000000000000000000000000000000005000000000000349300000000000000000000000000000000000000000000000000000000287aa86900000000000000000000000000000000000000000000000000000000628ce73900000000000000000000000000000000000000000000000000000000628ce7390000000000000000000000000000000000000000000000050000000000003493
uint80
0000000000000000000000000000000000000000000000050000000000003493
92233720368547771539
int256
00000000000000000000000000000000000000000000000000000000287aa869
679127145
uint256
00000000000000000000000000000000000000000000000000000000628ce739
1653401401
uint256
00000000000000000000000000000000000000000000000000000000628ce739
1653401401
uint80
0000000000000000000000000000000000000000000000050000000000003493
92233720368547771539
This getTimestamp
call will provide you with the timestamp of the block containing the data from the round you have specified.
GET_TIMESTAMP=$(curl -s -H "Content-Type: application/json" https://$YOUR_RPC_ENDPOINT -d '{"jsonrpc": "2.0", "id": 123, "method": "eth_call", "params":[{"from":null,"to":"0xDfd03BfC3465107Ce570a0397b247F546a42D0fA","data":"0xb633620c000000000000000000000000000000000000000000000005000000000000347a"}, "latest"]}' | jq -r .result) && LOCALTIME=$((GET_TIMESTAMP)) && date -d @$LOCALTIME
Mon 23 May 2022 03:47:51 PM CDT
This call will let you know if the provided address has access to the specified call function. For example, does Address A have permissions to request a new round? The response is a bool.
0x21f73D42Eb58Ba49dDB685dc29D3bF5c0f0373CA
)has permissions to request a new round (98e5b12a
).curl -s -H "Content-Type: application/json" https://$YOUR_RPC_ENDPOINT -d '{"jsonrpc": "2.0", "id": 123, "method": "eth_call", "params":[{"from":null,"to":"0xDfd03BfC3465107Ce570a0397b247F546a42D0fA","data":"0x6b14daf800000000000000000000000021f73d42eb58ba49ddb685dc29d3bf5c0f0373ca0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000498e5b12a00000000000000000000000000000000000000000000000000000000"}, "latest"]}' | jq -r .result
0x0000000000000000000000000000000000000000000000000000000000000000
0x0...1
is true
and 0x0...0
is false
false
The latestAnswer
call provides you with the value that was written to chain during the most recent completed round
LATEST_ANSWER=$(curl -s -H "Content-Type: application/json" https://$YOUR_RPC_ENDPOINT -d '{"jsonrpc": "2.0", "id": 123, "method": "eth_call", "params":[{"from":null,"to":"0xDfd03BfC3465107Ce570a0397b247F546a42D0fA","data":"0x50d25bcd"}, "latest"]}' | jq -r .result) && echo "$((LATEST_ANSWER))"
701697722
701697722
or, after adjusting decimals, 7.01697722
This call will provide you with the aggregator contract's
curl -s -H "Content-Type: application/json" https://$YOUR_RPC_ENDPOINT -d '{"jsonrpc": "2.0", "id": 123, "method": "eth_call", "params":[{"from":null,"to":"0xDfd03BfC3465107Ce570a0397b247F546a42D0fA","data":"0x81ff7048"}, "latest"]}' | jq -r .result
0x00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000be394f5fe8b4285e42eec4b0f9ab7add44b00e00000000000000000000000000000000
uint32
0000000000000000000000000000000000000000000000000000000000000002
2
uint32
0000000000000000000000000000000000000000000000000000000000be394f
12466511
bytes16
5fe8b4285e42eec4b0f9ab7add44b00e00000000000000000000000000000000
0x5fe8b4285e42eec4b0f9ab7add44b00e
This call will provide you with the most recent completed round number.
LATEST_ROUND=$(curl -s -H "Content-Type: application/json" https://$YOUR_RPC_ENDPOINT -d '{"jsonrpc": "2.0", "id": 123, "method": "eth_call", "params":[{"from":null,"to":"0xDfd03BfC3465107Ce570a0397b247F546a42D0fA","data":"0x668a0f02"}, "latest"]}' | jq -r .result) && echo "$((LATEST_ROUND))"
13462
13462
This call is similar to getRoundData
, but it will automatically get the round data for the most recently completed round.
curl -s -H "Content-Type: application/json" https://$YOUR_RPC_ENDPOINT -d '{"jsonrpc": "2.0", "id": 123, "method": "eth_call", "params":[{"from":null,"to":"0x2c1d072e956AFFC0D435Cb7AC38EF18d24d9127c","data":"0xfeaf968c"}, "latest"]}' | jq -r .result
0x00000000000000000000000000000000000000000000000500000000000034960000000000000000000000000000000000000000000000000000000029d30eba00000000000000000000000000000000000000000000000000000000628cfe6400000000000000000000000000000000000000000000000000000000628cfe640000000000000000000000000000000000000000000000050000000000003496
uint80
0000000000000000000000000000000000000000000000050000000000003496
92233720368547771542
int256
0000000000000000000000000000000000000000000000000000000029d30eba
701697722
uint256
00000000000000000000000000000000000000000000000000000000628cfe64
1653407332
uint256
00000000000000000000000000000000000000000000000000000000628cfe64
1653407332
uint80
0000000000000000000000000000000000000000000000050000000000003496
92233720368547771542
This call will provide you with the most timestamp (unix epoch format) of the most recently completed round.
LATEST_TIMESTAMP=$(curl -s -H "Content-Type: application/json" https://$YOUR_RPC_ENDPOINT -d '{"jsonrpc": "2.0", "id": 123, "method": "eth_call", "params":[{"from":null,"to":"0xDfd03BfC3465107Ce570a0397b247F546a42D0fA","data":"8205bf6a"}, "latest"]}' | jq -r .result) && LOCALTIME=$((LATEST_TIMESTAMP)) && date -d @$LOCALTIME
Wed 31 Dec 1969 06:00:00 PM CST
This call will provide you with some detailed information regarding the most recently completed round.
curl -s -H "Content-Type: application/json" https://$YOUR_RPC_ENDPOINT -d '{"jsonrpc": "2.0", "id": 123, "method": "eth_call", "params":[{"from":null,"to":"0xDfd03BfC3465107Ce570a0397b247F546a42D0fA","data":"0xe5fe4577"}, "latest"]}' | jq -r .result
0x5fe8b4285e42eec4b0f9ab7add44b00e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c2d200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000029e4922600000000000000000000000000000000000000000000000000000000628e9818
bytes16
5fe8b4285e42eec4b0f9ab7add44b00e00000000000000000000000000000000
0x5fe8b4285e42eec4b0f9ab7add44b00e
uint32
000000000000000000000000000000000000000000000000000000000002c2d2
180926
uint8
0000000000000000000000000000000000000000000000000000000000000006
6
int192
0000000000000000000000000000000000000000000000000000000029e49226
702845478
uint64
00000000000000000000000000000000000000000000000000000000628e9818
1653512216
This will respond with the amount of LINK that is available in the contract to pay the node operators. The value is in gwei
curl -s -H "Content-Type: application/json" https://$YOUR_RPC_ENDPOINT -d '{"jsonrpc": "2.0", "id": 123, "method": "eth_call", "params":[{"from":null,"to":"0xDfd03BfC3465107Ce570a0397b247F546a42D0fA","data":"0xd09dc339"}, "latest"]}' | jq -r .result
0x00000000000000000000000000000000000000000000013fdaf35c23ebc34a40
int256
00000000000000000000000000000000000000000000013fdaf35c23ebc34a40
5900288414742305000000
5900.288414742305000000
The maxAnswer
is the largest value that the aggregator contract will accept as valid.
curl -s -H "Content-Type: application/json" https://$YOUR_RPC_ENDPOINT -d '{"jsonrpc": "2.0", "id": 123, "method": "eth_call", "params":[{"from":null,"to":"0xDfd03BfC3465107Ce570a0397b247F546a42D0fA","data":"0x70da2f67"}, "latest"]}' | jq -r .result
0x000000000000000000000000000000000000000000000000000000174876e800
int192
0x00000000000000000000000000000000000000000000000000000000000f4240
100000000000
1000.00000000
The minAnswer
is the smallest value that the aggregator contract will accept as valid.
curl -s -H "Content-Type: application/json" https://$YOUR_RPC_ENDPOINT -d '{"jsonrpc": "2.0", "id": 123, "method": "eth_call", "params":[{"from":null,"to":"0xDfd03BfC3465107Ce570a0397b247F546a42D0fA","data":"0x22adbc78"}, "latest"]}' | jq -r .result
0x00000000000000000000000000000000000000000000000000000000000f4240
int192
0x00000000000000000000000000000000000000000000000000000000000f4240
1000000
0.01000000
The response will provide you with the number of observations the specified Chainlink Node has made
0xcC29be4Ca92D4Ecc43C8451fBA94C200B83991f6
)has madeOBSERV_COUNT=$(curl -s -H "Content-Type: application/json" https://$YOUR_RPC_ENDPOINT -d '{"jsonrpc": "2.0", "id": 123, "method": "eth_call", "params":[{"from":null,"to":"0xDfd03BfC3465107Ce570a0397b247F546a42D0fA","data":"0xe4902f82000000000000000000000000cc29be4ca92d4ecc43c8451fba94c200b83991f6"}, "latest"]}' | jq -r .result) && echo "$((OBSERV_COUNT))"
9
9
Querying this will provide you with the amount of LINK (in gwei) that is owed to the specified Chianlink Node
curl -s -H "Content-Type: application/json" https://$YOUR_RPC_ENDPOINT -d '{"jsonrpc": "2.0", "id": 123, "method": "eth_call", "params":[{"from":null,"to":"0xDfd03BfC3465107Ce570a0397b247F546a42D0fA","data":"0x0eafb25b000000000000000000000000218B5a7861dBf368D09A84E0dBfF6C6DDbf99DB8"}, "latest"]}' | jq -r .result
0x0000000000000000000000000000000000000000000000000bf3477122e1da00
uint256
0000000000000000000000000000000000000000000000000bf3477122e1da00
861110505000000000
0.861110505000000000
This query will provide you with the address of the owner of the aggregator contract
curl -s -H "Content-Type: application/json" https://$YOUR_RPC_ENDPOINT -d '{"jsonrpc": "2.0", "id": 123, "method": "eth_call", "params":[{"from":null,"to":"0xDfd03BfC3465107Ce570a0397b247F546a42D0fA","data":"0x8da5cb5b"}, "latest"]}' | jq -r .result
0x00000000000000000000000021f73d42eb58ba49ddb685dc29d3bf5c0f0373ca
0
's0x21f73d42eb58ba49ddb685dc29d3bf5c0f0373ca
This call will provide you with the address of the AccessController contract
curl -s -H "Content-Type: application/json" https://$YOUR_RPC_ENDPOINT -d '{"jsonrpc": "2.0", "id": 123, "method": "eth_call", "params":[{"from":null,"to":"0xDfd03BfC3465107Ce570a0397b247F546a42D0fA","data":"0x70efdf2d"}, "latest"]}' | jq -r .result
0x000000000000000000000000641b698ad1c6e503470520b0eecb472c0589dfe6
0
's)0x641B698aD1C6E503470520B0EeCb472c0589dfE6
This will provide you with the Chainlink Node accound addresses of each Chainlink Node Operator participating in the specified price feed
curl -s -H "Content-Type: application/json" https://$YOUR_RPC_ENDPOINT -d '{"jsonrpc": "2.0", "id": 123, "method": "eth_call", "params":[{"from":null,"to":"0xDfd03BfC3465107Ce570a0397b247F546a42D0fA","data":"0x81411834"}, "latest"]}' | jq -r .result
0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001f000000000000000000000000e3e0596ac55ae6044b757bab27426f7dc9e018d4000000000000000000000000cf4be57aa078dc7568c631be7a73adc1cda992f800000000000000000000000057cd4848b12469618b689163f507817940acca020000000000000000000000007663c5790e1ebf04197245d541279d13f3c2f362000000000000000000000000bbf078a8849d74623e36e6dbbdc8e0a35e657c26000000000000000000000000c74ce67bfc623c803d48afc74a09a6ff6b599003000000000000000000000000b976d01275b809333e3efd76d1d31fe9264466d00000000000000000000000005565b5362ff9f468ba2f144f38b87187c9a010a8000000000000000000000000218b5a7861dbf368d09a84e0dbff6c6ddbf99db8000000000000000000000000edbed9f5dea03dd0ec484577c41502af68b7c46a0000000000000000000000002a4a7afa40a9d03b425752fb4cfd5f0ff5b3964c000000000000000000000000dbfea8d5822141c13f92caa06eb94d0f3d67c243000000000000000000000000f16e77a989529aa4c58318acee8a1548df3fccc10000000000000000000000003c4ad65f5b4884397e1f09596c7ac7f8f95b3ff3000000000000000000000000cc29be4ca92d4ecc43c8451fba94c200b83991f60000000000000000000000009cfab1513ffa293e7023159b3c7a4c984b6a3480000000000000000000000000f07131f578a5f708ae2ccb9faf98458099e0ffb40000000000000000000000008b1d49a93a84b5da0917a1ed42d8a3e191c28524000000000000000000000000f34ac04a28f7cb5324a167c96b24ade9c742b44f00000000000000000000000061317c73d0225b2e37140fb9664d607b450613c600000000000000000000000043793ee58e0a3d920e3e4a115a9fa07dc4b09715000000000000000000000000f42336e35d5c1d1d0db3140e174bcfc3945f6822000000000000000000000000ddeb598fe902a13cc523aaff5240e9988edce1700000000000000000000000007bfb89db2d7217c57c3ad3d4b55826efd17dc2e90000000000000000000000008f3ab0e87b70a57bd4980111a99a1b2c4b8334f40000000000000000000000000312ea121df0a323ff535b753172736cc9d53d13000000000000000000000000a938d77590af1d98bab7dc4a0bde594fc3f9c40300000000000000000000000064c735d72eab90c04da523b6b9895773acb60f5d0000000000000000000000005a8216a9c47ee2e8df1c874252fdee467215c25b000000000000000000000000dde59ceec7a2cc8b2bd78199877ba22018966813000000000000000000000000c4b732fd121f2f3783a9ac2a6c62fd535fd13fda
addresses []
(an array of addresses)0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001f000000000000000000000000e3e0596ac55ae6044b757bab27426f7dc9e018d4000000000000000000000000cf4be57aa078dc7568c631be7a73adc1cda992f800000000000000000000000057cd4848b12469618b689163f507817940acca020000000000000000000000007663c5790e1ebf04197245d541279d13f3c2f362000000000000000000000000bbf078a8849d74623e36e6dbbdc8e0a35e657c26000000000000000000000000c74ce67bfc623c803d48afc74a09a6ff6b599003000000000000000000000000b976d01275b809333e3efd76d1d31fe9264466d00000000000000000000000005565b5362ff9f468ba2f144f38b87187c9a010a8000000000000000000000000218b5a7861dbf368d09a84e0dbff6c6ddbf99db8000000000000000000000000edbed9f5dea03dd0ec484577c41502af68b7c46a0000000000000000000000002a4a7afa40a9d03b425752fb4cfd5f0ff5b3964c000000000000000000000000dbfea8d5822141c13f92caa06eb94d0f3d67c243000000000000000000000000f16e77a989529aa4c58318acee8a1548df3fccc10000000000000000000000003c4ad65f5b4884397e1f09596c7ac7f8f95b3ff3000000000000000000000000cc29be4ca92d4ecc43c8451fba94c200b83991f60000000000000000000000009cfab1513ffa293e7023159b3c7a4c984b6a3480000000000000000000000000f07131f578a5f708ae2ccb9faf98458099e0ffb40000000000000000000000008b1d49a93a84b5da0917a1ed42d8a3e191c28524000000000000000000000000f34ac04a28f7cb5324a167c96b24ade9c742b44f00000000000000000000000061317c73d0225b2e37140fb9664d607b450613c600000000000000000000000043793ee58e0a3d920e3e4a115a9fa07dc4b09715000000000000000000000000f42336e35d5c1d1d0db3140e174bcfc3945f6822000000000000000000000000ddeb598fe902a13cc523aaff5240e9988edce1700000000000000000000000007bfb89db2d7217c57c3ad3d4b55826efd17dc2e90000000000000000000000008f3ab0e87b70a57bd4980111a99a1b2c4b8334f40000000000000000000000000312ea121df0a323ff535b753172736cc9d53d13000000000000000000000000a938d77590af1d98bab7dc4a0bde594fc3f9c40300000000000000000000000064c735d72eab90c04da523b6b9895773acb60f5d0000000000000000000000005a8216a9c47ee2e8df1c874252fdee467215c25b000000000000000000000000dde59ceec7a2cc8b2bd78199877ba22018966813000000000000000000000000c4b732fd121f2f3783a9ac2a6c62fd535fd13fda
[0xe3E0596AC55Ae6044b757baB27426F7dC9e018d4,0xCF4Be57aA078Dc7568C631BE7A73adc1cdA992F8,0x57CD4848b12469618b689163f507817940AccA02,0x7663C5790E1eBf04197245d541279D13f3c2f362,0xBbf078A8849D74623e36E6DBBdC8e0a35E657C26,0xc74cE67BfC623c803D48AFc74a09A6FF6b599003,0xb976d01275B809333E3EfD76D1d31fE9264466D0,0x5565b5362FF9f468bA2f144f38b87187C9a010A8,0x218B5a7861dBf368D09A84E0dBfF6C6DDbf99DB8,0xEdBED9F5dEA03dD0ec484577C41502af68B7c46a,0x2a4a7afA40a9D03B425752fb4cFd5f0FF5b3964C,0xDbfea8D5822141c13f92CaA06EB94d0F3d67C243,0xf16e77a989529AA4C58318acEe8A1548Df3fcCc1,0x3C4ad65F5b4884397e1F09596c7ac7F8F95b3fF3,0xcC29be4Ca92D4Ecc43C8451fBA94C200B83991f6,0x9cFAb1513FFA293E7023159B3C7A4C984B6a3480,0xF07131F578a5F708AE2CCB9faF98458099E0FFB4,0x8b1d49a93A84B5dA0917a1ed42D8a3E191C28524,0xf34aC04a28F7CB5324A167C96B24ADE9c742B44f,0x61317C73d0225b2E37140fb9664d607B450613C6,0x43793ee58E0a3D920e3e4a115A9FA07dc4B09715,0xF42336e35D5C1D1D0DB3140E174BcFc3945f6822,0xddEB598fe902A13Cc523aaff5240e9988eDCE170,0x7BFb89db2d7217c57C3Ad3d4B55826eFD17dC2e9,0x8F3Ab0e87B70a57bD4980111a99a1b2c4b8334F4,0x0312EA121df0a323fF535B753172736cc9d53d13,0xa938d77590aF1d98BaB7dc4a0bde594fC3F9c403,0x64c735D72EAB90C04da523B6b9895773ACb60F5D,0x5a8216a9c47ee2E8Df1c874252fDEe467215C25b,0xDdE59ceeC7A2cC8B2bD78199877BA22018966813,0xC4b732Fd121F2f3783A9Ac2a6C62fD535FD13FdA]
This query will provide you with the type and the release version of the aggregator.
curl -s -H "Content-Type: application/json" https://$YOUR_RPC_ENDPOINT -d '{"jsonrpc": "2.0", "id": 123, "method": "eth_call", "params":[{"from":null,"to":"0xDfd03BfC3465107Ce570a0397b247F546a42D0fA","data":"0x181f5a77"}, "latest"]}' | jq -r .result
0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000028416363657373436f6e74726f6c6c65644f6666636861696e41676772656761746f7220322e302e30000000000000000000000000000000000000000000000000
string
0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000028416363657373436f6e74726f6c6c65644f6666636861696e41676772656761746f7220322e302e30000000000000000000000000000000000000000000000000
AccessControlledOffchainAggregator 2.0.0
This will respond with the address of the validator contract and the gasLimit
curl -s -H "Content-Type: application/json" https://$YOUR_RPC_ENDPOINT -d '{"jsonrpc": "2.0", "id": 123, "method": "eth_call", "params":[{"from":null,"to":"0xDfd03BfC3465107Ce570a0397b247F546a42D0fA","data":"0x8e0566de"}, "latest"]}' | jq -r .result
0x000000000000000000000000bcfd9b1a97ccd0a3942f0408350cdc281cdca1b10000000000000000000000000000000000000000000000000000000000033450
address
000000000000000000000000bcfd9b1a97ccd0a3942f0408350cdc281cdca1b1
0xBcFd9b1a97cCD0a3942f0408350cdc281cDCa1B1
uint32
0000000000000000000000000000000000000000000000000000000000033450
210000
This gets you the version of the contract you're querying.
VERSION=$(curl -s -H "Content-Type: application/json" https://$YOUR_RPC_ENDPOINT -d '{"jsonrpc": "2.0", "id": 123, "method": "eth_call", "params":[{"from":null,"to":"0x2c1d072e956AFFC0D435Cb7AC38EF18d24d9127c","data":"0x54fd4d50"}, "latest"]}' | jq -r .result) && echo "$((VERSION))"
4
4