// This file was autogenerated by hardhat-viem, do not edit it. // prettier-ignore // tslint:disable // eslint-disable import type { Address } from "viem"; import type { AbiParameterToPrimitiveType, GetContractReturnType } from "@nomicfoundation/hardhat-viem/types"; import "@nomicfoundation/hardhat-viem/types"; export interface FundingRateOracle$Type { "_format": "hh-sol-artifact-1", "contractName": "FundingRateOracle", "sourceName": "contracts/oracle/FundingRateOracle.sol", "abi": [ { "inputs": [ { "internalType": "address", "name": "initialOwner", "type": "address" }, { "internalType": "string", "name": "name_", "type": "string" }, { "internalType": "int112", "name": "minFundingRate_", "type": "int112" }, { "internalType": "int112", "name": "maxFundingRate_", "type": "int112" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "FundingRateOutOfBound", "type": "error" }, { "inputs": [], "name": "FundingTimestampNotIncreasing", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "OwnableInvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "OwnableUnauthorizedAccount", "type": "error" }, { "anonymous": false, "inputs": [ { "components": [ { "internalType": "int112", "name": "fundingRate", "type": "int112" }, { "internalType": "uint32", "name": "fundingTimestamp", "type": "uint32" }, { "internalType": "uint32", "name": "epochDuration", "type": "uint32" }, { "internalType": "uint256", "name": "updatedAt", "type": "uint256" } ], "indexed": false, "internalType": "struct IFundingRateOracle.FundingRateUpdate", "name": "", "type": "tuple" } ], "name": "FundingRateUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "inputs": [], "name": "latestUpdate", "outputs": [ { "internalType": "int112", "name": "fundingRate", "type": "int112" }, { "internalType": "uint32", "name": "fundingTimestamp", "type": "uint32" }, { "internalType": "uint32", "name": "epochDuration", "type": "uint32" }, { "internalType": "uint256", "name": "updatedAt", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxFundingRate", "outputs": [ { "internalType": "int112", "name": "", "type": "int112" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "minFundingRate", "outputs": [ { "internalType": "int112", "name": "", "type": "int112" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "int112", "name": "fundingRate", "type": "int112" }, { "internalType": "uint32", "name": "fundingTimestamp", "type": "uint32" }, { "internalType": "uint32", "name": "epochDuration", "type": "uint32" } ], "name": "updateFundingRate", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "bytecode": "0x60c060405234801561000f575f5ffd5b5060405161094f38038061094f83398101604081905261002e91610101565b836001600160a01b03811661005c57604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b61006581610088565b5060016100728482610274565b50600d91820b608052900b60a0525061032e9050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b5f52604160045260245ffd5b8051600d81900b81146100fc575f5ffd5b919050565b5f5f5f5f60808587031215610114575f5ffd5b84516001600160a01b038116811461012a575f5ffd5b60208601519094506001600160401b03811115610145575f5ffd5b8501601f81018713610155575f5ffd5b80516001600160401b0381111561016e5761016e6100d7565b604051601f8201601f19908116603f011681016001600160401b038111828210171561019c5761019c6100d7565b6040528181528282016020018910156101b3575f5ffd5b8160208401602083015e5f602083830101528095505050506101d7604086016100eb565b91506101e5606086016100eb565b905092959194509250565b600181811c9082168061020457607f821691505b60208210810361022257634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561026f57805f5260205f20601f840160051c8101602085101561024d5750805b601f840160051c820191505b8181101561026c575f8155600101610259565b50505b505050565b81516001600160401b0381111561028d5761028d6100d7565b6102a18161029b84546101f0565b84610228565b6020601f8211600181146102d3575f83156102bc5750848201515b5f19600385901b1c1916600184901b17845561026c565b5f84815260208120601f198516915b8281101561030257878501518255602094850194600190920191016102e2565b508482101561031f57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b60805160a0516105f361035c5f395f8181610109015261026201525f818160cf015261023101526105f35ff3fe608060405234801561000f575f5ffd5b5060043610610076575f3560e01c806306fdde031461007a57806365e9f6eb14610098578063715018a6146100ad5780638da5cb5b146100b5578063b0c7f1be146100ca578063db16e98914610104578063e360a49e1461012b578063f2fde38b14610188575b5f5ffd5b61008261019b565b60405161008f91906104b0565b60405180910390f35b6100ab6100a63660046104fd565b610227565b005b6100ab6103c8565b6100bd6103db565b60405161008f9190610544565b6100f17f000000000000000000000000000000000000000000000000000000000000000081565b604051600d9190910b815260200161008f565b6100f17f000000000000000000000000000000000000000000000000000000000000000081565b60025460035461015691600d81900b9163ffffffff600160701b8304811692600160901b9004169084565b60405161008f9493929190600d9490940b845263ffffffff928316602085015291166040830152606082015260800190565b6100ab610196366004610558565b6103e9565b600180546101a890610585565b80601f01602080910402602001604051908101604052809291908181526020018280546101d490610585565b801561021f5780601f106101f65761010080835404028352916020019161021f565b820191905f5260205f20905b81548152906001019060200180831161020257829003601f168201915b505050505081565b61022f61042f565b7f0000000000000000000000000000000000000000000000000000000000000000600d0b83600d0b1215801561028b57507f0000000000000000000000000000000000000000000000000000000000000000600d0b83600d0b13155b6102a85760405163d5be61af60e01b815260040160405180910390fd5b60025463ffffffff600160701b9091048116908316116102db57604051630d4a6b4b60e21b815260040160405180910390fd5b60408051608081018252600d85900b815263ffffffff80851660208301819052908416828401819052426060840181905260028054600160901b90930263ffffffff60901b19600160701b9095026001600160901b03199094166001600160701b038b161793909317939093169190911790915560035590517fa112c77067fec67c219777ff267403d18ad181f7c46af64c07706194294ab59b906103ba9083905f6080820190508251600d0b825263ffffffff602084015116602083015263ffffffff60408401511660408301526060830151606083015292915050565b60405180910390a150505050565b6103d061042f565b6103d95f610461565b565b5f546001600160a01b031690565b6103f161042f565b6001600160a01b038116610423575f604051631e4fbdf760e01b815260040161041a9190610544565b60405180910390fd5b61042c81610461565b50565b336104386103db565b6001600160a01b0316146103d9573360405163118cdaa760e01b815260040161041a9190610544565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b803563ffffffff811681146104f8575f5ffd5b919050565b5f5f5f6060848603121561050f575f5ffd5b833580600d0b811461051f575f5ffd5b925061052d602085016104e5565b915061053b604085016104e5565b90509250925092565b6001600160a01b0391909116815260200190565b5f60208284031215610568575f5ffd5b81356001600160a01b038116811461057e575f5ffd5b9392505050565b600181811c9082168061059957607f821691505b6020821081036105b757634e487b7160e01b5f52602260045260245ffd5b5091905056fea2646970667358221220d6fb46a86b92582a01f1cee217d4928d5e1bf1203e1a8b29c17c0d0e38e25ecb64736f6c634300081c0033", "deployedBytecode": "0x608060405234801561000f575f5ffd5b5060043610610076575f3560e01c806306fdde031461007a57806365e9f6eb14610098578063715018a6146100ad5780638da5cb5b146100b5578063b0c7f1be146100ca578063db16e98914610104578063e360a49e1461012b578063f2fde38b14610188575b5f5ffd5b61008261019b565b60405161008f91906104b0565b60405180910390f35b6100ab6100a63660046104fd565b610227565b005b6100ab6103c8565b6100bd6103db565b60405161008f9190610544565b6100f17f000000000000000000000000000000000000000000000000000000000000000081565b604051600d9190910b815260200161008f565b6100f17f000000000000000000000000000000000000000000000000000000000000000081565b60025460035461015691600d81900b9163ffffffff600160701b8304811692600160901b9004169084565b60405161008f9493929190600d9490940b845263ffffffff928316602085015291166040830152606082015260800190565b6100ab610196366004610558565b6103e9565b600180546101a890610585565b80601f01602080910402602001604051908101604052809291908181526020018280546101d490610585565b801561021f5780601f106101f65761010080835404028352916020019161021f565b820191905f5260205f20905b81548152906001019060200180831161020257829003601f168201915b505050505081565b61022f61042f565b7f0000000000000000000000000000000000000000000000000000000000000000600d0b83600d0b1215801561028b57507f0000000000000000000000000000000000000000000000000000000000000000600d0b83600d0b13155b6102a85760405163d5be61af60e01b815260040160405180910390fd5b60025463ffffffff600160701b9091048116908316116102db57604051630d4a6b4b60e21b815260040160405180910390fd5b60408051608081018252600d85900b815263ffffffff80851660208301819052908416828401819052426060840181905260028054600160901b90930263ffffffff60901b19600160701b9095026001600160901b03199094166001600160701b038b161793909317939093169190911790915560035590517fa112c77067fec67c219777ff267403d18ad181f7c46af64c07706194294ab59b906103ba9083905f6080820190508251600d0b825263ffffffff602084015116602083015263ffffffff60408401511660408301526060830151606083015292915050565b60405180910390a150505050565b6103d061042f565b6103d95f610461565b565b5f546001600160a01b031690565b6103f161042f565b6001600160a01b038116610423575f604051631e4fbdf760e01b815260040161041a9190610544565b60405180910390fd5b61042c81610461565b50565b336104386103db565b6001600160a01b0316146103d9573360405163118cdaa760e01b815260040161041a9190610544565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b803563ffffffff811681146104f8575f5ffd5b919050565b5f5f5f6060848603121561050f575f5ffd5b833580600d0b811461051f575f5ffd5b925061052d602085016104e5565b915061053b604085016104e5565b90509250925092565b6001600160a01b0391909116815260200190565b5f60208284031215610568575f5ffd5b81356001600160a01b038116811461057e575f5ffd5b9392505050565b600181811c9082168061059957607f821691505b6020821081036105b757634e487b7160e01b5f52602260045260245ffd5b5091905056fea2646970667358221220d6fb46a86b92582a01f1cee217d4928d5e1bf1203e1a8b29c17c0d0e38e25ecb64736f6c634300081c0033", "linkReferences": {}, "deployedLinkReferences": {} } declare module "@nomicfoundation/hardhat-viem/types" { export function deployContract( contractName: "FundingRateOracle", constructorArgs: [initialOwner: AbiParameterToPrimitiveType<{"name":"initialOwner","type":"address"}>, name_: AbiParameterToPrimitiveType<{"name":"name_","type":"string"}>, minFundingRate_: AbiParameterToPrimitiveType<{"name":"minFundingRate_","type":"int112"}>, maxFundingRate_: AbiParameterToPrimitiveType<{"name":"maxFundingRate_","type":"int112"}>], config?: DeployContractConfig ): Promise>; export function deployContract( contractName: "contracts/oracle/FundingRateOracle.sol:FundingRateOracle", constructorArgs: [initialOwner: AbiParameterToPrimitiveType<{"name":"initialOwner","type":"address"}>, name_: AbiParameterToPrimitiveType<{"name":"name_","type":"string"}>, minFundingRate_: AbiParameterToPrimitiveType<{"name":"minFundingRate_","type":"int112"}>, maxFundingRate_: AbiParameterToPrimitiveType<{"name":"maxFundingRate_","type":"int112"}>], config?: DeployContractConfig ): Promise>; export function sendDeploymentTransaction( contractName: "FundingRateOracle", constructorArgs: [initialOwner: AbiParameterToPrimitiveType<{"name":"initialOwner","type":"address"}>, name_: AbiParameterToPrimitiveType<{"name":"name_","type":"string"}>, minFundingRate_: AbiParameterToPrimitiveType<{"name":"minFundingRate_","type":"int112"}>, maxFundingRate_: AbiParameterToPrimitiveType<{"name":"maxFundingRate_","type":"int112"}>], config?: SendDeploymentTransactionConfig ): Promise<{ contract: GetContractReturnType; deploymentTransaction: GetTransactionReturnType; }>; export function sendDeploymentTransaction( contractName: "contracts/oracle/FundingRateOracle.sol:FundingRateOracle", constructorArgs: [initialOwner: AbiParameterToPrimitiveType<{"name":"initialOwner","type":"address"}>, name_: AbiParameterToPrimitiveType<{"name":"name_","type":"string"}>, minFundingRate_: AbiParameterToPrimitiveType<{"name":"minFundingRate_","type":"int112"}>, maxFundingRate_: AbiParameterToPrimitiveType<{"name":"maxFundingRate_","type":"int112"}>], config?: SendDeploymentTransactionConfig ): Promise<{ contract: GetContractReturnType; deploymentTransaction: GetTransactionReturnType; }>; export function getContractAt( contractName: "FundingRateOracle", address: Address, config?: GetContractAtConfig ): Promise>; export function getContractAt( contractName: "contracts/oracle/FundingRateOracle.sol:FundingRateOracle", address: Address, config?: GetContractAtConfig ): Promise>; }