// SPDX-License-Identifier: UNLICENSED pragma solidity 0.7.4; pragma experimental ABIEncoderV2; /// @notice Interface InstaDapp Index interface IndexInterface { function connectors(uint256 version) external view returns (address); function list() external view returns (address); } /// @notice Interface InstaDapp List interface ListInterface { function accountID(address _account) external view returns (uint64); } /// @notice Interface InstaDapp InstaMemory interface MemoryInterface { function setUint(uint256 _id, uint256 _val) external; function getUint(uint256 _id) external returns (uint256); } /// @notice Interface InstaDapp Defi Smart Account wallet interface AccountInterface { function cast( address[] calldata _targets, bytes[] calldata _datas, address _origin ) external payable returns (bytes32[] memory responses); function version() external view returns (uint256); function isAuth(address user) external view returns (bool); function shield() external view returns (bool); } interface ConnectorInterface { function connectorID() external view returns (uint256 _type, uint256 _id); function name() external view returns (string memory); } interface InstaMapping { function gemJoinMapping(bytes32) external view returns (address); }