Address Details
contract
0x99C1a75642FcaAEd5f8F599C79c5D63b954bBDBF
- Contract Name
- BandPriceFeed
- Creator
- 0x2d225e–e3dc77 at 0xa49fe5–2b7ce7
- Balance
- 0 CELO ( )
- Locked CELO Balance
- 0.00 CELO
- Voting CELO Balance
- 0.00 CELO
- Pending Unlocked Gold
- 0.00 CELO
- Tokens
-
Fetching tokens...
- Transactions
- 0 Transactions
- Transfers
- 0 Transfers
- Gas Used
- Fetching gas used...
- Last Balance Update
- 13573805
This contract has been verified via Sourcify.
View contract in Sourcify repository
- Contract name:
- BandPriceFeed
- Optimization enabled
- true
- Compiler version
- v0.6.12+commit.27d51765
- Optimization runs
- 1
- EVM Version
- istanbul
- Verified at
- 2022-09-30T11:35:34.102645Z
contracts/oracle/BandPriceFeed.sol
pragma solidity 0.6.12; pragma experimental ABIEncoderV2; import "./interfaces/IStdReference.sol"; import "./interfaces/IPriceFeed.sol"; contract BandPriceFeed is IPriceFeed { IStdReference ref; string public override description = "BandPriceOracle"; address public override aggregator; string public base; string public quote; constructor(IStdReference _ref, string memory _base, string memory _quote) public { ref = _ref; base = _base; quote = _quote; } function latestAnswer() public override view returns (int256) { return int256(getPrice()); } function latestRound() public override view returns (uint80) { return 1; } function getPrice() private view returns (uint256){ IStdReference.ReferenceData memory data = ref.getReferenceData(base, quote); return data.rate; } function getRoundData(uint80 _roundId) public override view returns (uint80, int256, uint256, uint256, uint80) { return (1, int256(getPrice()), 0, 0, 0); } }
/contracts/oracle/interfaces/IPriceFeed.sol
// SPDX-License-Identifier: MIT pragma solidity 0.6.12; interface IPriceFeed { function description() external view returns (string memory); function aggregator() external view returns (address); function latestAnswer() external view returns (int256); function latestRound() external view returns (uint80); function getRoundData(uint80 roundId) external view returns (uint80, int256, uint256, uint256, uint80); }
/contracts/oracle/interfaces/IStdReference.sol
pragma solidity 0.6.12; pragma experimental ABIEncoderV2; interface IStdReference { /// A structure returned whenever someone requests for standard reference data. struct ReferenceData { uint256 rate; // base/quote exchange rate, multiplied by 1e18. uint256 lastUpdatedBase; // UNIX epoch of the last time when base price gets updated. uint256 lastUpdatedQuote; // UNIX epoch of the last time when quote price gets updated. } /// Returns the price data for the given base/quote pair. Revert if not available. function getReferenceData(string memory _base, string memory _quote) external view returns (ReferenceData memory); /// Similar to getReferenceData, but with multiple base/quote pairs at once. function getReferenceDataBulk(string[] memory _bases, string[] memory _quotes) external view returns (ReferenceData[] memory); }
Contract ABI
[{"type":"constructor","stateMutability":"nonpayable","inputs":[{"type":"address","name":"_ref","internalType":"contract IStdReference"},{"type":"string","name":"_base","internalType":"string"},{"type":"string","name":"_quote","internalType":"string"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"address"}],"name":"aggregator","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"string","name":"","internalType":"string"}],"name":"base","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"string","name":"","internalType":"string"}],"name":"description","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint80","name":"","internalType":"uint80"},{"type":"int256","name":"","internalType":"int256"},{"type":"uint256","name":"","internalType":"uint256"},{"type":"uint256","name":"","internalType":"uint256"},{"type":"uint80","name":"","internalType":"uint80"}],"name":"getRoundData","inputs":[{"type":"uint80","name":"_roundId","internalType":"uint80"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"int256","name":"","internalType":"int256"}],"name":"latestAnswer","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint80","name":"","internalType":"uint80"}],"name":"latestRound","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"string","name":"","internalType":"string"}],"name":"quote","inputs":[]}]
Contract Creation Code
0x60c0604052600f60808190526e42616e6450726963654f7261636c6560881b60a090815261003091600191906100a7565b5034801561003d57600080fd5b506040516107d63803806107d683398101604081905261005c916101da565b600080546001600160a01b0319166001600160a01b038516179055815161008a9060039060208501906100a7565b50805161009e9060049060208401906100a7565b50505050610258565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106100e857805160ff1916838001178555610115565b82800160010185558215610115579182015b828111156101155782518255916020019190600101906100fa565b50610121929150610125565b5090565b5b808211156101215760008155600101610126565b600082601f83011261014a578081fd5b81516001600160401b0380821115610160578283fd5b6040516020601f8401601f1916820181018381118382101715610181578586fd5b8060405250819450838252868185880101111561019d57600080fd5b600092505b838310156101bf57858301810151828401820152918201916101a2565b838311156101d05760008185840101525b5050505092915050565b6000806000606084860312156101ee578283fd5b83516001600160a01b0381168114610204578384fd5b60208501519093506001600160401b0380821115610220578384fd5b61022c8783880161013a565b93506040860151915080821115610241578283fd5b5061024e8682870161013a565b9150509250925092565b61056f806102676000396000f3fe608060405234801561001057600080fd5b506004361061006d5760003560e01c8063245a7bfc146100725780635001f3b51461009057806350d25bcd146100a5578063668a0f02146100ba5780637284e416146100cf578063999b93af146100d75780639a6fc8f5146100df575b600080fd5b61007a610103565b604051610087919061044b565b60405180910390f35b610098610112565b6040516100879190610468565b6100ad6101a0565b604051610087919061045f565b6100c26101af565b60405161008791906104e9565b6100986101b4565b61009861020e565b6100f26100ed36600461039a565b610269565b6040516100879594939291906104fd565b6002546001600160a01b031681565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156101985780601f1061016d57610100808354040283529160200191610198565b820191906000526020600020905b81548152906001019060200180831161017b57829003601f168201915b505050505081565b60006101aa61028f565b905090565b600190565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156101985780601f1061016d57610100808354040283529160200191610198565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156101985780601f1061016d57610100808354040283529160200191610198565b6000806000806000600161027b61028f565b909790965060009550859450849350915050565b6000610299610323565b60005460405163195556f360e21b81526001600160a01b03909116906365555bcc906102cc9060039060049081016104bb565b60606040518083038186803b1580156102e457600080fd5b505afa1580156102f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061031c9190610344565b5191505090565b60405180606001604052806000815260200160008152602001600081525090565b600060608284031215610355578081fd5b604051606081016001600160401b0381118282101715610373578283fd5b80604052508251815260208301516020820152604083015160408201528091505092915050565b6000602082840312156103ab578081fd5b81356001600160501b03811681146103c1578182fd5b9392505050565b600081546001808216600081146103e6576001811461040457610442565b60028304607f16865260ff1983166020870152604086019350610442565b600283048087526104148661052d565b60005b828110156104385781546020828b0101528482019150602081019050610417565b8801602001955050505b50505092915050565b6001600160a01b0391909116815260200190565b90815260200190565b6000602080835283518082850152825b8181101561049457858101830151858201604001528201610478565b818111156104a55783604083870101525b50601f01601f1916929092016040019392505050565b6000604082526104ce60408301856103c8565b82810360208401526104e081856103c8565b95945050505050565b6001600160501b0391909116815260200190565b6001600160501b039586168152602081019490945260408401929092526060830152909116608082015260a00190565b6000908152602090209056fea264697066735822122061ee5e9f3c6bc07f9b070a4184246c8d11255e523662cffdd1a03df877f5455e64736f6c634300060c0033000000000000000000000000da7a001b254cd22e46d3eab04d937489c93174c3000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000443454c4f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035553440000000000000000000000000000000000000000000000000000000000
Deployed ByteCode
0x608060405234801561001057600080fd5b506004361061006d5760003560e01c8063245a7bfc146100725780635001f3b51461009057806350d25bcd146100a5578063668a0f02146100ba5780637284e416146100cf578063999b93af146100d75780639a6fc8f5146100df575b600080fd5b61007a610103565b604051610087919061044b565b60405180910390f35b610098610112565b6040516100879190610468565b6100ad6101a0565b604051610087919061045f565b6100c26101af565b60405161008791906104e9565b6100986101b4565b61009861020e565b6100f26100ed36600461039a565b610269565b6040516100879594939291906104fd565b6002546001600160a01b031681565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156101985780601f1061016d57610100808354040283529160200191610198565b820191906000526020600020905b81548152906001019060200180831161017b57829003601f168201915b505050505081565b60006101aa61028f565b905090565b600190565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156101985780601f1061016d57610100808354040283529160200191610198565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156101985780601f1061016d57610100808354040283529160200191610198565b6000806000806000600161027b61028f565b909790965060009550859450849350915050565b6000610299610323565b60005460405163195556f360e21b81526001600160a01b03909116906365555bcc906102cc9060039060049081016104bb565b60606040518083038186803b1580156102e457600080fd5b505afa1580156102f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061031c9190610344565b5191505090565b60405180606001604052806000815260200160008152602001600081525090565b600060608284031215610355578081fd5b604051606081016001600160401b0381118282101715610373578283fd5b80604052508251815260208301516020820152604083015160408201528091505092915050565b6000602082840312156103ab578081fd5b81356001600160501b03811681146103c1578182fd5b9392505050565b600081546001808216600081146103e6576001811461040457610442565b60028304607f16865260ff1983166020870152604086019350610442565b600283048087526104148661052d565b60005b828110156104385781546020828b0101528482019150602081019050610417565b8801602001955050505b50505092915050565b6001600160a01b0391909116815260200190565b90815260200190565b6000602080835283518082850152825b8181101561049457858101830151858201604001528201610478565b818111156104a55783604083870101525b50601f01601f1916929092016040019392505050565b6000604082526104ce60408301856103c8565b82810360208401526104e081856103c8565b95945050505050565b6001600160501b0391909116815260200190565b6001600160501b039586168152602081019490945260408401929092526060830152909116608082015260a00190565b6000908152602090209056fea264697066735822122061ee5e9f3c6bc07f9b070a4184246c8d11255e523662cffdd1a03df877f5455e64736f6c634300060c0033