Source Code
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Cross-Chain Transactions
Loading...
Loading
Contract Name:
API3CombineProxies
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/**
*Submitted for verification at fraxscan.com on 2024-10-22
*/
// SPDX-License-Identifier: MIT
pragma solidity 0.8.17;
/// @title API3 feed proxy contract interface
interface IProxy {
function read() external view returns (int224 value, uint32 timestamp);
}
contract API3CombineProxies {
error Api3ProxyAddressIsZero();
address public constant api3ServerV1 = 0x709944a48cAf83535e43471680fDA4905FB3920a;
/// @notice API3 feed proxy address
address public immutable api3ProxyA;
address public immutable api3ProxyB;
constructor(address _api3ProxyA, address _api3ProxyB) {
if (_api3ProxyA == address(0)) {
revert Api3ProxyAddressIsZero();
}
if (_api3ProxyB == address(0)) {
revert Api3ProxyAddressIsZero();
}
api3ProxyA = _api3ProxyA;
api3ProxyB = _api3ProxyB;
}
function read() public view returns (int224 value, uint32 timestamp) {
(int224 valueA, uint32 timestampA) = IProxy(api3ProxyA).read();
(int224 valueB, uint32 timestampB) = IProxy(api3ProxyB).read();
value = (valueA * valueB) / (10**18);
timestamp = (timestampA > timestampB) ? timestampA : timestampB;
}
function readA() public view returns (int224 value, uint32 timestamp) {
(value, timestamp) = IProxy(api3ProxyA).read();
}
function readB() public view returns (int224 value, uint32 timestamp) {
(value, timestamp) = IProxy(api3ProxyB).read();
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_api3ProxyA","type":"address"},{"internalType":"address","name":"_api3ProxyB","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"Api3ProxyAddressIsZero","type":"error"},{"inputs":[],"name":"api3ProxyA","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"api3ProxyB","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"api3ServerV1","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"read","outputs":[{"internalType":"int224","name":"value","type":"int224"},{"internalType":"uint32","name":"timestamp","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"readA","outputs":[{"internalType":"int224","name":"value","type":"int224"},{"internalType":"uint32","name":"timestamp","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"readB","outputs":[{"internalType":"int224","name":"value","type":"int224"},{"internalType":"uint32","name":"timestamp","type":"uint32"}],"stateMutability":"view","type":"function"}]Contract Creation Code
60c060405234801561001057600080fd5b50604051610919380380610919833981810160405281019061003291906101d0565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610098576040517f696eb41400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036100fe576040517f696eb41400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250505050610210565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061019d82610172565b9050919050565b6101ad81610192565b81146101b857600080fd5b50565b6000815190506101ca816101a4565b92915050565b600080604083850312156101e7576101e661016d565b5b60006101f5858286016101bb565b9250506020610206858286016101bb565b9150509250929050565b60805160a0516106c8610251600039600081816102940152818161036c0152610393015260008181610123015281816101d501526101ff01526106c86000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806328bbdc02146100675780632d6a744e146100865780633409ebde146100a457806357de26a4146100c25780636900e584146100e1578063f318597a146100ff575b600080fd5b61006f61011e565b60405161007d929190610466565b60405180910390f35b61008e6101bb565b60405161009b91906104d0565b60405180910390f35b6100ac6101d3565b6040516100b991906104d0565b60405180910390f35b6100ca6101f7565b6040516100d8929190610466565b60405180910390f35b6100e961036a565b6040516100f691906104d0565b60405180910390f35b61010761038e565b604051610115929190610466565b60405180910390f35b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166357de26a46040518163ffffffff1660e01b81526004016040805180830381865afa15801561018b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101af9190610548565b80925081935050509091565b73709944a48caf83535e43471680fda4905fb3920a81565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000806000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166357de26a46040518163ffffffff1660e01b81526004016040805180830381865afa158015610267573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028b9190610548565b915091506000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166357de26a46040518163ffffffff1660e01b81526004016040805180830381865afa1580156102fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103209190610548565b91509150670de0b6b3a7640000828561033991906105b7565b6103439190610628565b95508063ffffffff168363ffffffff161161035e5780610360565b825b9450505050509091565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166357de26a46040518163ffffffff1660e01b81526004016040805180830381865afa1580156103fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061041f9190610548565b80925081935050509091565b600081601b0b9050919050565b6104418161042b565b82525050565b600063ffffffff82169050919050565b61046081610447565b82525050565b600060408201905061047b6000830185610438565b6104886020830184610457565b9392505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006104ba8261048f565b9050919050565b6104ca816104af565b82525050565b60006020820190506104e560008301846104c1565b92915050565b600080fd5b6104f98161042b565b811461050457600080fd5b50565b600081519050610516816104f0565b92915050565b61052581610447565b811461053057600080fd5b50565b6000815190506105428161051c565b92915050565b6000806040838503121561055f5761055e6104eb565b5b600061056d85828601610507565b925050602061057e85828601610533565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006105c28261042b565b91506105cd8361042b565b92508282026105db8161042b565b915082820584148315176105f2576105f1610588565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006106338261042b565b915061063e8361042b565b92508261064e5761064d6105f9565b5b600160000383147fffffffff800000000000000000000000000000000000000000000000000000008314161561068757610686610588565b5b82820590509291505056fea264697066735822122040ee5b96b9b29ba5a44d6de3ce69b659caab58707fb2ca37368d55c4379dc6f764736f6c63430008110033000000000000000000000000b5e10aca0bd96eb673b5a14d39f6aa3d61f6c579000000000000000000000000b8f66692a0ead7403b77d4e74d7a27789577a199
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100625760003560e01c806328bbdc02146100675780632d6a744e146100865780633409ebde146100a457806357de26a4146100c25780636900e584146100e1578063f318597a146100ff575b600080fd5b61006f61011e565b60405161007d929190610466565b60405180910390f35b61008e6101bb565b60405161009b91906104d0565b60405180910390f35b6100ac6101d3565b6040516100b991906104d0565b60405180910390f35b6100ca6101f7565b6040516100d8929190610466565b60405180910390f35b6100e961036a565b6040516100f691906104d0565b60405180910390f35b61010761038e565b604051610115929190610466565b60405180910390f35b6000807f000000000000000000000000b5e10aca0bd96eb673b5a14d39f6aa3d61f6c57973ffffffffffffffffffffffffffffffffffffffff166357de26a46040518163ffffffff1660e01b81526004016040805180830381865afa15801561018b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101af9190610548565b80925081935050509091565b73709944a48caf83535e43471680fda4905fb3920a81565b7f000000000000000000000000b5e10aca0bd96eb673b5a14d39f6aa3d61f6c57981565b6000806000807f000000000000000000000000b5e10aca0bd96eb673b5a14d39f6aa3d61f6c57973ffffffffffffffffffffffffffffffffffffffff166357de26a46040518163ffffffff1660e01b81526004016040805180830381865afa158015610267573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028b9190610548565b915091506000807f000000000000000000000000b8f66692a0ead7403b77d4e74d7a27789577a19973ffffffffffffffffffffffffffffffffffffffff166357de26a46040518163ffffffff1660e01b81526004016040805180830381865afa1580156102fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103209190610548565b91509150670de0b6b3a7640000828561033991906105b7565b6103439190610628565b95508063ffffffff168363ffffffff161161035e5780610360565b825b9450505050509091565b7f000000000000000000000000b8f66692a0ead7403b77d4e74d7a27789577a19981565b6000807f000000000000000000000000b8f66692a0ead7403b77d4e74d7a27789577a19973ffffffffffffffffffffffffffffffffffffffff166357de26a46040518163ffffffff1660e01b81526004016040805180830381865afa1580156103fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061041f9190610548565b80925081935050509091565b600081601b0b9050919050565b6104418161042b565b82525050565b600063ffffffff82169050919050565b61046081610447565b82525050565b600060408201905061047b6000830185610438565b6104886020830184610457565b9392505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006104ba8261048f565b9050919050565b6104ca816104af565b82525050565b60006020820190506104e560008301846104c1565b92915050565b600080fd5b6104f98161042b565b811461050457600080fd5b50565b600081519050610516816104f0565b92915050565b61052581610447565b811461053057600080fd5b50565b6000815190506105428161051c565b92915050565b6000806040838503121561055f5761055e6104eb565b5b600061056d85828601610507565b925050602061057e85828601610533565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006105c28261042b565b91506105cd8361042b565b92508282026105db8161042b565b915082820584148315176105f2576105f1610588565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006106338261042b565b915061063e8361042b565b92508261064e5761064d6105f9565b5b600160000383147fffffffff800000000000000000000000000000000000000000000000000000008314161561068757610686610588565b5b82820590509291505056fea264697066735822122040ee5b96b9b29ba5a44d6de3ce69b659caab58707fb2ca37368d55c4379dc6f764736f6c63430008110033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000b5e10aca0bd96eb673b5a14d39f6aa3d61f6c579000000000000000000000000b8f66692a0ead7403b77d4e74d7a27789577a199
-----Decoded View---------------
Arg [0] : _api3ProxyA (address): 0xB5e10aCA0Bd96eb673B5A14D39f6Aa3D61F6c579
Arg [1] : _api3ProxyB (address): 0xB8f66692a0EaD7403B77d4e74d7a27789577a199
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000b5e10aca0bd96eb673b5a14d39f6aa3d61f6c579
Arg [1] : 000000000000000000000000b8f66692a0ead7403b77d4e74d7a27789577a199
Deployed Bytecode Sourcemap
209:1263:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1191:135;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;283:81;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;414:35;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;838:345;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;456:35;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1334:135;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;1191;1229:12;1243:16;1300:10;1293:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1272:46;;;;;;;;1191:135;;:::o;283:81::-;322:42;283:81;:::o;414:35::-;;;:::o;838:345::-;875:12;889:16;919:13;934:17;962:10;955:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;918:62;;;;992:13;1007:17;1035:10;1028:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;991:62;;;;1093:6;1082;1073;:15;;;;:::i;:::-;1072:28;;;;:::i;:::-;1064:36;;1138:10;1125:23;;:10;:23;;;1124:51;;1165:10;1124:51;;;1152:10;1124:51;1112:63;;907:276;;;;838:345;;:::o;456:35::-;;;:::o;1334:135::-;1372:12;1386:16;1443:10;1436:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1415:46;;;;;;;;1334:135;;:::o;7:92:1:-;43:7;87:5;83:2;72:21;61:32;;7:92;;;:::o;105:115::-;190:23;207:5;190:23;:::i;:::-;185:3;178:36;105:115;;:::o;226:93::-;262:7;302:10;295:5;291:22;280:33;;226:93;;;:::o;325:115::-;410:23;427:5;410:23;:::i;:::-;405:3;398:36;325:115;;:::o;446:324::-;563:4;601:2;590:9;586:18;578:26;;614:69;680:1;669:9;665:17;656:6;614:69;:::i;:::-;693:70;759:2;748:9;744:18;735:6;693:70;:::i;:::-;446:324;;;;;:::o;776:126::-;813:7;853:42;846:5;842:54;831:65;;776:126;;;:::o;908:96::-;945:7;974:24;992:5;974:24;:::i;:::-;963:35;;908:96;;;:::o;1010:118::-;1097:24;1115:5;1097:24;:::i;:::-;1092:3;1085:37;1010:118;;:::o;1134:222::-;1227:4;1265:2;1254:9;1250:18;1242:26;;1278:71;1346:1;1335:9;1331:17;1322:6;1278:71;:::i;:::-;1134:222;;;;:::o;1443:117::-;1552:1;1549;1542:12;1689:120;1761:23;1778:5;1761:23;:::i;:::-;1754:5;1751:34;1741:62;;1799:1;1796;1789:12;1741:62;1689:120;:::o;1815:141::-;1871:5;1902:6;1896:13;1887:22;;1918:32;1944:5;1918:32;:::i;:::-;1815:141;;;;:::o;1962:120::-;2034:23;2051:5;2034:23;:::i;:::-;2027:5;2024:34;2014:62;;2072:1;2069;2062:12;2014:62;1962:120;:::o;2088:141::-;2144:5;2175:6;2169:13;2160:22;;2191:32;2217:5;2191:32;:::i;:::-;2088:141;;;;:::o;2235:503::-;2312:6;2320;2369:2;2357:9;2348:7;2344:23;2340:32;2337:119;;;2375:79;;:::i;:::-;2337:119;2495:1;2520:63;2575:7;2566:6;2555:9;2551:22;2520:63;:::i;:::-;2510:73;;2466:127;2632:2;2658:63;2713:7;2704:6;2693:9;2689:22;2658:63;:::i;:::-;2648:73;;2603:128;2235:503;;;;;:::o;2744:180::-;2792:77;2789:1;2782:88;2889:4;2886:1;2879:15;2913:4;2910:1;2903:15;2930:407;2969:7;2992:19;3009:1;2992:19;:::i;:::-;2987:24;;3025:19;3042:1;3025:19;:::i;:::-;3020:24;;3079:1;3076;3072:9;3101:29;3118:11;3101:29;:::i;:::-;3090:40;;3280:1;3271:7;3266:16;3263:1;3260:23;3240:1;3233:9;3213:84;3190:140;;3310:18;;:::i;:::-;3190:140;2977:360;2930:407;;;;:::o;3343:180::-;3391:77;3388:1;3381:88;3488:4;3485:1;3478:15;3512:4;3509:1;3502:15;3529:385;3568:1;3585:19;3602:1;3585:19;:::i;:::-;3580:24;;3618:19;3635:1;3618:19;:::i;:::-;3613:24;;3656:1;3646:35;;3661:18;;:::i;:::-;3646:35;3847:1;3844;3840:9;3837:1;3834:16;3753:66;3750:1;3747:73;3730:130;3727:156;;;3863:18;;:::i;:::-;3727:156;3906:1;3903;3898:10;3893:15;;3529:385;;;;:::o
Swarm Source
ipfs://40ee5b96b9b29ba5a44d6de3ce69b659caab58707fb2ca37368d55c4379dc6f7
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in FRAX
0
Multichain Portfolio | 35 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.