Files

39 lines
1.1 KiB
Solidity

// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.17;
import "./Structs.sol";
contract Storage is Structs {
// nonce used by the execute/approve function
uint256 internal _executionNonce;
// keys as defined by IERC734
mapping(bytes32 => Key) internal _keys;
// keys for a given purpose
// purpose 1 = MANAGEMENT
// purpose 2 = ACTION
// purpose 3 = CLAIM
mapping(uint256 => bytes32[]) internal _keysByPurpose;
// execution data
mapping(uint256 => Execution) internal _executions;
// claims held by the ONCHAINID
mapping(bytes32 => Claim) internal _claims;
// array of claims for a given topic
mapping(uint256 => bytes32[]) internal _claimsByTopic;
// status on initialization
bool internal _initialized = false;
// status on potential interactions with the contract
bool internal _canInteract = false;
/**
* @dev This empty reserved space is put in place to allow future versions to add new
* variables without shifting down storage in the inheritance chain.
*/
uint256[49] private __gap;
}