// SPDX-License-Identifier: LGPL-3.0-only pragma solidity ^0.8.19; enum IsStorage{ No, Yes } enum StorageType { Struct, Array, Mapping } enum Operation { Call, DelegateCall } enum AllowFailure { Flase, True } struct Call { address target; Operation op; AllowFailure allowFailure; uint256 value; bytes callData; } struct DestinyTransaction{ Call[] calls; bytes signatures; uint256 chequeNonce; uint256 executableTime; } struct Result { bool success; bytes returnData; } struct Storage{ bytes32 slot; bytes32 value; } struct SlotRouter { StorageType storageType; bytes index; } struct Info { address owner; uint256 number; } interface IGenesisIntegrated { event Nonce(uint256 nonce); event TransactionExecuted(bytes32 indexed txHash); event Sstored(bytes32 slot, bytes32 value); event Tweeted(address indexed author, uint96 time, string tweet); event Flash(address indexed callbacker,address indexed initiator); event $PreDestinyDissociate(address indexed txOriginator,address indexed caller,uint32 finalDissociateTime); event $DestinyDissociated(address indexed txOriginator,address indexed caller,uint32 finalDissociateTime,uint256 reward,uint256 dissociate); function $Dissociate_1XNPRb() external; function DESTINYTEMPLE_OWNERSHIP_STATE_CONTRACT_1() external view returns(address); function DESTINYEXECUTOR_OWNERSHIP_STATE_CONTRACT_2() external view returns(address); function OWNERSHIP_OWNERSHIP_STATE_CONTRACT_3() external view returns(address); function verifyOwnership(bytes memory verifyData) external; function $EncodeTxHash_1b7zSf(Call[] memory calls,uint256 nonce,uint256 deadline) external view returns (bytes32 txHash); function getAllGuards_vgA7g8() external view returns (address[] memory); function getModule_0jx1MB(bytes4 funcSelector) external view returns(address module); function $ExecuteTx_mzjimr(DestinyTransaction memory dtx) external payable returns (Result[] memory results); function slot_lB_EC_(bytes32 initialSlot,SlotRouter[] memory route) external pure returns (bytes32 slot); function sload_WaneqW(bytes32 slot) external view returns (bytes32 result); function sload_YRbAA3(bytes32[] memory slot) external view returns (bytes32[] memory result); function sstore_fO62sb(Storage memory _storage) external; function sstore_0ujRM0(Storage[] memory _storage) external; function $Tweet_$Xll(IsStorage isStorage,string memory tweet) external; function supportsInterface(bytes4 interfaceId) external pure returns (bool); function onERC721Received(address,address,uint256,bytes calldata) external pure returns (bytes4); function onERC1155Received(address operator,address from,uint256 id,uint256 value,bytes calldata data) external returns (bytes4); function onERC1155BatchReceived(address operator,address from,uint256[] calldata ids,uint256[] calldata values,bytes calldata data) external returns (bytes4); function isValidSignature(bytes memory _data,bytes memory _signature) external view returns (bytes4 magicValue); function isValidSignature(bytes32 _hash,bytes memory _signature) external view returns (bytes4 magicValue); function callFunction(address initiator, Info memory accountInfo, bytes memory data) external; function executeOperation(address asset,uint256 amount,uint256 premium,address initiator,bytes calldata params) external returns (bool); function executeOperation(address[] calldata assets,uint256[] calldata amounts,uint256[] calldata premiums,address initiator,bytes calldata params) external returns (bool); function uniswapV2Call(address initiator,uint256 token0Amount,uint256 token1Amount,bytes calldata params) external; function uniswapV3FlashCallback(uint256 fee0,uint256 fee1,bytes calldata data) external; }