Bytecode-generated storage layout

We've generated a storage layout (with no variable labels) from this contract's bytecode. We've also started a backfill to track the inferred variables.

0xcdf13471efdc70f90dc01b6c06e24d231af25357

Unverified contract

Proxy

Active on Base with 8 txns
Deployed by via 0xb81ed97c at 18367229
Slot
32
30
28
26
24
22
20
18
16
14
12
10
8
6
4
2
0
-
variable spans 1 additional slot
-
variable spans 1 additional slot
ERC-20
Value $0
ERC-20
--
0x7c0b1f2d41d1325532cfed33bc917bcf00f3eeabf48fb17c34574f3f5831549f
0xc86bab94cacb4214919791c1646443476a86189cdeb9a1c2325dd2520c22d828
0x7800065187021a7fb6adacdc7e87292b156ca2d8d16fad387eb587e9f8962f8d
0xd328a4fda721b30a0db7da5e65ae92d3340d7a14caab7e7427b83cd112844f0f
0x410b4165d05716d4bbb6530542ca3596925d551f00f8f40cfca7e4113b146a7f
0xc1c8c30c3b4402b7538775e6a119d8247c8f35a078c34c42242a3e557fe66369
0xe43f64c01afa6e459a5f3247a74f35ad435c9aa65a6dc43d79dfd7f33d156180
0x8ba7e998e63d1a80f0ff43d9375bf028af2ea65530e5dc98e99beb6a9a7edfd9

Functions
Getter at block 22924280
VERSION(view returns (string)
2.0.0
accountVolumeSpent(view returns (uint256)
0
dailyVolumeSpent(view returns (uint256)
0
getActivePolicyIds(view returns (uint256[])
[0, 1]
getAdmins(view returns (address[])
[]
getAllPolicyLimit(view returns (uint256[]uint256[]uint256[])
([0, 1], [0, 0], [0, 0])
getControlCenter(view returns (address)
0x97479a238518498b393c3f5918d590e2bf0e34da
getIsTakeoverInProgress(view returns (bool)
false
getNextSettingRequestId(view returns (uint256)
0
getNextTransactionRequestId(view returns (uint256)
0
getOwner(view returns (address)
0x5268148851c8a57a1295d9edea3a16667f44f187
getTakeoverStatus(view returns (addressbooluint256uint256)
(0x0000000000000000000000000000000000000000, false, 0, 0)
getTakeoverTimestamp(view returns (uint256)
0
getTotalVolumeSpent(view returns (uint256)
0
lastDailyVolumeDate(view returns (uint256)
1728518400
nextPolicyId(view returns (uint256)
2
paused(view returns (bool)
false
Read-only
getDailyVolumeSpent(uint256 policyIdview returns (uint256)
getKnightSafeAnalyserAddress(uint256 policyIdaddress whitelistAddressview returns (address)
getMaxSpendingLimit(uint256 policyIdview returns (uint256)
getPolicyUpdateDate(uint256 policyIdview returns (uint256)
getSettingRequest(uint256 reqIdview returns (struct SettingUtilsRequest)
getTraders(uint256 policyIdview returns (address[])
getTransactionRequest(uint256 reqIdview returns (struct TransactionRequest)
getWhitelistAddresses(uint256 policyIdview returns (address[])
isActivePolicy(uint256 policyIdview returns (bool)
isAdmin(address adminview returns (bool)
isPolicyOrGlobalWhitelistAddress(uint256 policyIdaddress _addressview returns (bool)
isPolicyWhitelistAddress(uint256 policyIdaddress _addressview returns (bool)
isTrader(uint256 policyIdaddress traderview returns (bool)
isValidSignature(bytes32 _hashbytes _signatureview returns (bytes4)
validateTradingAccess(uint256 policyIdbool useGlobalWhitelistaddress tobytes dataview returns (address[] addressesuint256[] amounts)
State-modifying
addAdmin(address admin
addTrader(uint256 policyIdaddress trader
cancelSettingByReqId(uint256 reqId
cancelTransactionByReqId(uint256 onBehalfOfPolicyIduint256 reqId
confirmTakeover(
createPolicy(
executeSettingByReqId(uint256 reqIdreturns (bool success)
executeTransaction(uint256 onBehalfOfPolicyIdbool useGlobalWhitelistaddress touint256 valuebytes data
executeTransactionByReqId(uint256 onBehalfOfPolicyIdbool useGlobalWhitelistuint256 reqId
initialize(address owneraddress controlCenteraddress fallbackHandler
instantTakeover(
multicall(bytes[] datareturns (bytes[] results)
pause(
reduceSpendingLimit(uint256 policyIduint256 maxSpendingLimit
rejectSettingByReqId(uint256 reqId
rejectTransactionByReqId(uint256 onBehalfOfPolicyIdbool useGlobalWhitelistuint256 reqId
removeAdmin(address admin
removePolicy(uint256 policyId
removeTrader(uint256 policyIdaddress trader
removeWhitelist(uint256 policyIdaddress whitelistAddress
requestSetting(uint8 selectorbytes paramreturns (uint256 reqId)
requestTakeover(
requestTransaction(uint256 onBehalfOfPolicyIdaddress touint256 valuebytes datareturns (uint256 reqId)
resetDailySpent(uint256 policyId
revokeTakeover(
setBackupOwner(address backupOwneruint256 takeoverDelayIsSecond
setMaxSpendingLimit(uint256 policyIduint256 maxSpendingLimit
unpause(
updateControlCenter(address controlCenter
updateFallbackHandler(address handler
updateWhitelist(uint256 policyIdaddress whitelistAddressaddress officialAnalyserAddress
validatePolicyLimit(uint256 policyIduint256 volume
validateTradingLimit(address[] addressesuint256[] amountsuint256 valuereturns (uint256)
Events
Paused(address account
Unpaused(address account
Constructor

This contract contains no constructor objects.

Fallback and receive
fallback(
receive(
Errors
AddressAlreadyExist(address _address
AddressEmptyCode(address target
AddressIsNotKnightSafeAnalyser(address _address
AddressIsReadOnlyWhitelist(uint256 policyIdaddress _address
AddressNotExist(address _address
AddressNotInWhitelist(uint256 policyIdaddress _address
ECDSAInvalidSignature(
ECDSAInvalidSignatureS(bytes32 s
EnforcedPause(
ExceedMaxTradingVolume(uint256 txnVolumeuint256 maxVolume
ExceedPolicyVolume(uint256 policyIduint256 volume
ExecutionFailedWith(bytes data
ExpectedPause(
FailedInnerCall(
FeatureNotSupport(string plan
InvalidAddress(address _address
InvalidLength(
InvalidOperation(
InvalidReqId(uint256 reqId
InvalidSettingStatus(
InvalidTakeoverStatus(bool inProgress
InvalidTransactionStatus(
InvalidValue(
MaxPolicyCountReached(uint256 maxPolicyCount
PolicyNotExist(uint256 policyId
SelectorNotSupport(
TakeoverIsNotReady(
Unauthorized(address msgSenderstring role