1
0
forked from mico/idle_moloch
idle_moloch/lib/Baal/contracts/interfaces/IBaalSummoner.sol
2024-11-01 11:55:27 +01:00

70 lines
2.7 KiB
Solidity

//SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;
interface IBaalSummoner {
event AdminChanged(address previousAdmin, address newAdmin);
event BeaconUpgraded(address indexed beacon);
event DaoReferral(bytes32 referrer, address daoAddress);
event DeployBaalSafe(address baalSafe, address moduleAddr);
event DeployBaalTokens(address lootToken, address sharesToken);
event Initialized(uint8 version);
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
event SetAddrsVersion(uint256 version);
event SummonBaal(
address indexed baal,
address indexed loot,
address indexed shares,
address safe,
address forwarder,
uint256 existingAddrs
);
event Upgraded(address indexed implementation);
function setAddrs(
address _template,
address _gnosisSingleton,
address _gnosisFallbackLibrary,
address _gnosisMultisendLibrary,
address _gnosisSafeProxyFactory,
address _moduleProxyFactory,
address _lootSingleton,
address _sharesSingleton
) external;
function initialize() external;
function transferOwnership(address newOwner) external;
function upgradeTo(address newImplementation) external;
function upgradeToAndCall(address newImplementation, bytes memory data) external payable;
function renounceOwnership() external;
function summonBaal(bytes memory initializationParams, bytes[] memory initializationActions, uint256 _saltNonce)
external
returns (address);
function summonBaalFromReferrer(
bytes memory initializationParams,
bytes[] memory initializationActions,
uint256 _saltNonce,
bytes32 referrer
) external payable returns (address);
function deployAndSetupSafe(address _moduleAddr) external returns (address);
function deployTokens(string memory _name, string memory _symbol)
external
returns (address lootToken, address sharesToken);
function encodeMultisend(bytes[] memory _calls, address _target)
external
pure
returns (bytes memory encodedMultisend);
function addrsVersion() external view returns (uint256);
function gnosisFallbackLibrary() external view returns (address);
function gnosisMultisendLibrary() external view returns (address);
function gnosisSingleton() external view returns (address);
function lootSingleton() external view returns (address);
function sharesSingleton() external view returns (address);
function owner() external view returns (address);
function proxiableUUID() external view returns (bytes32);
function template() external view returns (address);
}