0 txs
4 calls
constructor
constructor()
functions
calculateLnSigned
purefunction calculateLnSigned(int256 x) pure returns (int256)
calculatePrice
viewfunction calculatePrice(uint256 antPrice, tuple metrics) view returns (uint256)
costUnitPerDataType
viewfunction costUnitPerDataType(uint8) view returns (uint256)
getTotalCostUnit
viewfunction getTotalCostUnit(tuple metrics) view returns (uint256 totalCostUnit)
maxCostUnit
viewfunction maxCostUnit() view returns (uint256)
minPrice
viewfunction minPrice() view returns (uint256)
owner
viewfunction owner() view returns (address)
PRECISION
viewfunction PRECISION() view returns (uint256)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
scalingFactor
viewfunction scalingFactor() view returns (uint256)
UPGRADE_INTERFACE_VERSION
viewfunction UPGRADE_INTERFACE_VERSION() view returns (string)
initialize
nonpayablefunction initialize(uint256 _scalingFactor, uint256 _minPrice, uint256 _maxCostUnit)
renounceOwnership
nonpayablefunction renounceOwnership()
setCostUnitForDataTypes
nonpayablefunction setCostUnitForDataTypes(uint8[] dataTypes, uint256[] costUnits)
setCostUnitPerDataType
nonpayablefunction setCostUnitPerDataType(uint8 dataType, uint256 costUnit)
setMaxCostUnit
nonpayablefunction setMaxCostUnit(uint256 _maxCostUnit)
setMinPrice
nonpayablefunction setMinPrice(uint256 newMinPrice)
setScalingFactor
nonpayablefunction setScalingFactor(uint256 newScalingFactor)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
Initialized
event Initialized(uint64 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Upgraded
event Upgraded(address indexed implementation)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
AntPriceZero
error AntPriceZero()
ERC1967InvalidImplementation
error ERC1967InvalidImplementation(address implementation)
ERC1967NonPayable
error ERC1967NonPayable()
FailedCall
error FailedCall()
InvalidBounds
error InvalidBounds()
InvalidInitialization
error InvalidInitialization()
InvalidPrice
error InvalidPrice()
NotInitializing
error NotInitializing()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
PRBMath_SD59x18_Log_InputTooSmall
error PRBMath_SD59x18_Log_InputTooSmall(int256 x)
RecordMaxZero
error RecordMaxZero()
UUPSUnauthorizedCallContext
error UUPSUnauthorizedCallContext()
UUPSUnsupportedProxiableUUID
error UUPSUnsupportedProxiableUUID(bytes32 slot)
creation bytecode
0x60a060405230608052670de0b6b3a76400005f5560018055348015610022575f5ffd5b5061002b610030565b6100e2565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100805760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100df5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6080516116796101085f395f8181610a2f01528181610a580152610b9c01526116795ff3fe60806040526004361061011b575f3560e01c8063672abd2d1161009d578063ad3cb1cc11610062578063ad3cb1cc14610308578063b055286c14610345578063e45be8eb14610364578063ed3437f814610379578063f2fde38b1461038d575f5ffd5b8063672abd2d14610255578063715018a61461027457806380d85911146102885780638da5cb5b146102a7578063aaf5eb68146102ed575f5ffd5b80634728a3ae116100e35780634728a3ae146101d15780634d251547146101f05780634f1ef2861461020f57806352d1902d146102225780635ea8cd1214610236575f5ffd5b8063054de9231461011f5780630e19c5391461014057806318107d051461017e578063358155641461019d5780634280b780146101b2575b5f5ffd5b34801561012a575f5ffd5b5061013e610139366004611031565b6103ac565b005b34801561014b575f5ffd5b5061016b61015a3660046110ae565b60036020525f908152604090205481565b6040519081526020015b60405180910390f35b348015610189575f5ffd5b5061013e6101983660046110c7565b61048b565b3480156101a8575f5ffd5b5061016b60025481565b3480156101bd575f5ffd5b5061016b6101cc3660046112c8565b6104ce565b3480156101dc575f5ffd5b5061013e6101eb36600461130b565b610647565b3480156101fb575f5ffd5b5061016b61020a36600461130b565b610654565b61013e61021d366004611338565b610666565b34801561022d575f5ffd5b5061016b610685565b348015610241575f5ffd5b5061013e61025036600461130b565b6106a0565b348015610260575f5ffd5b5061013e61026f36600461130b565b6106ad565b34801561027f575f5ffd5b5061013e6106b9565b348015610293575f5ffd5b5061013e6102a23660046113db565b6106cc565b3480156102b2575f5ffd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546040516001600160a01b039091168152602001610175565b3480156102f8575f5ffd5b5061016b670de0b6b3a764000081565b348015610313575f5ffd5b50610338604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516101759190611404565b348015610350575f5ffd5b5061016b61035f366004611439565b6107f0565b34801561036f575f5ffd5b5061016b60015481565b348015610384575f5ffd5b5061016b5f5481565b348015610398575f5ffd5b5061013e6103a736600461146a565b610887565b6103b46108c4565b8281146103fd5760405162461bcd60e51b8152602060048201526012602482015271092dcecc2d8d2c882e4e4c2f298cadccee8d60731b60448201526064015b60405180910390fd5b5f5b838110156104845782828281811061041957610419611483565b9050602002013560035f87878581811061043557610435611483565b905060200201602081019061044a91906110ae565b600381111561045b5761045b611497565b600381111561046c5761046c611497565b815260208101919091526040015f20556001016103ff565b5050505050565b6104936108c4565b8060035f8460038111156104a9576104a9611497565b60038111156104ba576104ba611497565b815260208101919091526040015f20555050565b5f5f6104d9836107f0565b90505f6104e58261091f565b90505f6104f583865f0151610940565b90508082036105175760405163a883435760e01b815260040160405180910390fd5b81670de0b6b3a76400001480610534575080670de0b6b3a7640000145b156105525760405163a883435760e01b815260040160405180910390fd5b5f61056861020a84670de0b6b3a76400006109ca565b61057d61020a84670de0b6b3a76400006109ca565b61058791906114bf565b90505f61059484846114de565b90505f88835f546105a4906114f1565b6105ae919061150b565b6105b8919061154e565b90505f670de0b6b3a7640000600154846105d2919061157a565b6105dc9190611591565b90505f8a6105f2670de0b6b3a76400008661157a565b6105fc9190611591565b90505f8161060a84866115a4565b61061491906114bf565b90505f8112156106365760405162bfc92160e01b815260040160405180910390fd5b985050505050505050505b92915050565b61064f6108c4565b600255565b5f8161065f816109eb565b9392505050565b61066e610a24565b61067782610ac8565b6106818282610ad0565b5050565b5f61068e610b91565b505f5160206116245f395f51905f5290565b6106a86108c4565b600155565b6106b56108c4565b5f55565b6106c16108c4565b6106ca5f610bda565b565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff1615906001600160401b03165f811580156107105750825b90505f826001600160401b0316600114801561072b5750303b155b905081158015610739575080155b156107575760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561078157845460ff60401b1916600160401b1785555b5f8890556001879055600286905561079833610c4a565b6107a0610c5b565b83156107e657845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b5f805b826060015151811015610881575f8360600151828151811061081757610817611483565b602002602001015190505f60035f835f0151600381111561083a5761083a611497565b600381111561084b5761084b611497565b81526020019081526020015f2054905081602001518161086b919061157a565b61087590856115cb565b935050506001016107f3565b50919050565b61088f6108c4565b6001600160a01b0381166108b857604051631e4fbdf760e01b81525f60048201526024016103f4565b6108c181610bda565b50565b336108f67f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b0316146106ca5760405163118cdaa760e01b81523360048201526024016103f4565b6002545f9061093683670de0b6b3a764000061157a565b6106419190611591565b5f5f60035f84600381111561095757610957611497565b600381111561096857610968611497565b81526020019081526020015f20548461098191906115cb565b90505f60025482670de0b6b3a764000061099b919061157a565b6109a59190611591565b905080670de0b6b3a7640000036109c2576109bf816115de565b90505b949350505050565b5f8183116109e1576109dc83836114de565b61065f565b61065f82846114de565b5f6106416714057b7ef767814f670de0b6b3a7640000610a10610a0d86610c63565b90565b610a1a919061150b565b610a0d919061154e565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610aaa57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610a9e5f5160206116245f395f51905f52546001600160a01b031690565b6001600160a01b031614155b156106ca5760405163703e46dd60e11b815260040160405180910390fd5b6108c16108c4565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610b2a575060408051601f3d908101601f19168201909252610b27918101906115f6565b60015b610b5257604051634c9c8ce360e01b81526001600160a01b03831660048201526024016103f4565b5f5160206116245f395f51905f528114610b8257604051632a87526960e21b8152600481018290526024016103f4565b610b8c8383610dd0565b505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106ca5760405163703e46dd60e11b815260040160405180910390fd5b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3505050565b610c52610e25565b6108c181610e6e565b6106ca610e25565b5f81818113610c885760405163059b101b60e01b8152600481018490526024016103f4565b5f670de0b6b3a76400008212610ca057506001610cc5565b505f19816ec097ce7bc90715b34b9f100000000081610cc157610cc161153a565b0591505b5f610d4f670de0b6b3a7640000840560016fffffffffffffffffffffffffffffffff821160071b91821c6001600160401b03811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211871b91821c969096119490961792909217171791909117919091171790565b9050670de0b6b3a7640000810283821d670de0b6b3a763ffff198101610d7c575091909102949350505050565b671bc16d674ec800006706f05b59d3b200005b5f811315610dc157670de0b6b3a7640000838002059250818312610db9579283019260019290921d915b60011d610d8f565b50505091909102949350505050565b610dd982610e76565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a2805115610e1d57610b8c8282610ed9565b610681610f4b565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff166106ca57604051631afcd79f60e31b815260040160405180910390fd5b61088f610e25565b806001600160a01b03163b5f03610eab57604051634c9c8ce360e01b81526001600160a01b03821660048201526024016103f4565b5f5160206116245f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b60605f5f846001600160a01b031684604051610ef5919061160d565b5f60405180830381855af49150503d805f8114610f2d576040519150601f19603f3d011682016040523d82523d5f602084013e610f32565b606091505b5091509150610f42858383610f6a565b95945050505050565b34156106ca5760405163b398979f60e01b815260040160405180910390fd5b606082610f7a576109dc82610fc1565b8151158015610f9157506001600160a01b0384163b155b15610fba57604051639996b31560e01b81526001600160a01b03851660048201526024016103f4565b5092915050565b805115610fd15780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b5f5f83601f840112610ffa575f5ffd5b5081356001600160401b03811115611010575f5ffd5b6020830191508360208260051b850101111561102a575f5ffd5b9250929050565b5f5f5f5f60408587031215611044575f5ffd5b84356001600160401b03811115611059575f5ffd5b61106587828801610fea565b90955093505060208501356001600160401b03811115611083575f5ffd5b61108f87828801610fea565b95989497509550505050565b8035600481106110a9575f5ffd5b919050565b5f602082840312156110be575f5ffd5b61065f8261109b565b5f5f604083850312156110d8575f5ffd5b6110e18361109b565b946020939093013593505050565b634e487b7160e01b5f52604160045260245ffd5b604080519081016001600160401b0381118282101715611125576111256110ef565b60405290565b60405161012081016001600160401b0381118282101715611125576111256110ef565b604051601f8201601f191681016001600160401b0381118282101715611176576111766110ef565b604052919050565b5f82601f83011261118d575f5ffd5b81356001600160401b038111156111a6576111a66110ef565b6111b560208260051b0161114e565b8082825260208201915060208360061b8601019250858311156111d6575f5ffd5b602085015b8381101561121f57604081880312156111f2575f5ffd5b6111fa611103565b6112038261109b565b81526020828101358183015290845292909201916040016111db565b5095945050505050565b5f610120828403121561123a575f5ffd5b61124261112b565b905061124d8261109b565b8152602082810135908201526040808301359082015260608201356001600160401b0381111561127b575f5ffd5b6112878482850161117e565b6060830152506080828101359082015260a0808301359082015260c0808301359082015260e080830135908201526101009182013591810191909152919050565b5f5f604083850312156112d9575f5ffd5b8235915060208301356001600160401b038111156112f5575f5ffd5b61130185828601611229565b9150509250929050565b5f6020828403121561131b575f5ffd5b5035919050565b80356001600160a01b03811681146110a9575f5ffd5b5f5f60408385031215611349575f5ffd5b61135283611322565b915060208301356001600160401b0381111561136c575f5ffd5b8301601f8101851361137c575f5ffd5b80356001600160401b03811115611395576113956110ef565b6113a8601f8201601f191660200161114e565b8181528660208385010111156113bc575f5ffd5b816020840160208301375f602083830101528093505050509250929050565b5f5f5f606084860312156113ed575f5ffd5b505081359360208301359350604090920135919050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f60208284031215611449575f5ffd5b81356001600160401b0381111561145e575f5ffd5b6109c284828501611229565b5f6020828403121561147a575f5ffd5b61065f82611322565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8181035f831280158383131683831282161715610fba57610fba6114ab565b81810381811115610641576106416114ab565b5f600160ff1b8201611505576115056114ab565b505f0390565b8082025f8212600160ff1b84141615611526576115266114ab565b8181058314821517610641576106416114ab565b634e487b7160e01b5f52601260045260245ffd5b5f8261155c5761155c61153a565b600160ff1b82145f1984141615611575576115756114ab565b500590565b8082028115828204841417610641576106416114ab565b5f8261159f5761159f61153a565b500490565b8082018281125f8312801582168215821617156115c3576115c36114ab565b505092915050565b80820180821115610641576106416114ab565b5f600182016115ef576115ef6114ab565b5060010190565b5f60208284031215611606575f5ffd5b5051919050565b5f82518060208501845e5f92019182525091905056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122051c13866f7975d847492586807ec435f68e9f474ae327675401566b06576805164736f6c634300081c0033