Contract API
Fund controller
The creator’s typed administration surface.
Loading…
Browse documentation
Contract API
The creator’s typed administration surface.
Loading…
Contract API
The creator’s typed administration surface.
This reference is generated from the repository contracts. Check the deployed version before using a signature or constant. The audit covers a specific source revision.
Source: src/core/FundController.sol
Artifact: out/FundController.sol/FundController.json
Initially owns Coin, Mine, Resonance and the launch's LP token, and administers other compatible LP tokens it owns.
Pool administration exposes typed fee configuration and ownership handoff, with no principal withdrawal, LP-share rescue or arbitrary call.
Public ABI: 25 functions, 2 events, 4 custom errors, 1 constructor, 0 receive entries, 0 fallback entries.
constructor(address,address,address,address)constructor(address initialOwner, address coin_, contract Mine mine_, contract Resonance resonance_);Creates creator administration with immutable references to the assembled launch components.
Parameters
coin_: Coin belonging to this launch.initialOwner: Creator initially controlling configuration through this controller.mine_: Mine administered by this controller after setup.resonance_: Resonance administered by this controller after setup.acceptOwnership()function acceptOwnership() external;The new owner accepts the ownership transfer.
addBribeRewardToken(address,address)function addBribeRewardToken(address strategy, address rewardToken) external;Adds a reward token to a registered Strategy's Bribe.
addStrategy(address,(uint256,uint256,uint256,uint256))function addStrategy(contract IERC20 paymentToken, struct Auction.Config config) external returns (address strategy, address bribe, address bribeRouter);Adds a Strategy (Auction, BribeRouter, and Bribe) to Resonance with the supplied auction configuration.
coin()function coin() external view returns (address arg0);Coin associated with this controller's immutable Mine and Resonance.
forceRemoveSignal(address,address)function forceRemoveSignal(address account, address strategy) external;Withdraws a revoked manager's entire position in one Strategy directly back to that account. Managed mode only. Earned Bribe rewards remain claimable by the account.
killStrategy(address)function killStrategy(address strategy) external;Retires a Strategy permanently while preserving existing signal withdrawals and earned claims.
metadataURI()function metadataURI() external view returns (string arg0);Reads Coin's current metadata URI, including after its ownership has moved elsewhere. Compatibility getter; the URI is stored only on Coin.
mine()function mine() external view returns (contract Mine arg0);Mine whose creator fees and future revenue destination this controller administers.
openToCommunity()function openToCommunity() external;Opens managed signaling to the community permanently. Existing positions and the configured Bribe share are unchanged.
owner()function owner() external view returns (address arg0);Returns the address of the current owner.
pendingOwner()function pendingOwner() external view returns (address arg0);Returns the address of the pending owner.
renounceOwnership()function renounceOwnership() external;Leaves the contract without owner. It will not be possible to call onlyOwner functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.
resonance()function resonance() external view returns (contract Resonance arg0);Resonance whose Strategies and signaling settings this controller administers.
setBribeBps(uint256)function setBribeBps(uint256 newBribeBps) external;Sets the Bribe share of Auction purchase payments; Fund receives the remainder. Both signaling modes permit the same bounded Bribe share.
setCreatorFeeBps(uint256)function setCreatorFeeBps(uint256 newFeeBps) external;Changes the rate of future Mine creator fees without changing existing claims.
Parameters
newFeeBps: Creator fee in basis points, within the inclusive 1 to 200 range.setCreatorFeeRecipient(address)function setCreatorFeeRecipient(address newRecipient) external;Changes the recipient of future Mine creator fees; zero disables new accruals.
setLiquidityFeeRecipients(address,address,address)function setLiquidityFeeRecipients(address pool, address recipient0, address recipient1) external;Configures a compatible pool whose current fee owner is this controller. The assets need not include this controller's Coin. Current ownership is checked explicitly; this typed call cannot transfer shares, principal or ownership. Recipients follow the pool's canonical currency0/currency1 order, regardless of this controller's Coin. FullRange role balances pay the current recipients, including fees realized before this update. The pool emits CreatorRecipientsSet; metadata updates emit TokenURISet from Coin.
setMetadataURI(string)function setMetadataURI(string newURI) external;Forwards a metadata update while this controller owns Coin. Coin stores and validates the URI and emits TokenURISet. Reverts after Coin ownership is handed away.
setRevenueRouter(address)function setRevenueRouter(address newRouter) external;Changes where future Mine revenue is deposited, without migrating old balances, signals, or rewards. This controller remains bound to the original Resonance, which is not called during redirection.
Parameters
newRouter: Contract receiving future mining revenue, including a replacement router or the Fund.setSignalManager(address,bool)function setSignalManager(address manager, bool enabled) external;Sets an account's managed signal permission without moving existing positions.
transferCoinOwnership(address)function transferCoinOwnership(address newOwner) external;Immediately transfers Coin ownership to a nonzero address. Mint authority remains independently locked to Mine.
transferLiquidityPoolOwnership(address,address)function transferLiquidityPoolOwnership(address pool, address newOwner) external;Transfers a controller-owned pool's fee-administration ownership. The pool must be owned by this controller. No LP shares are moved.
transferMineOwnership(address)function transferMineOwnership(address newOwner) external;Immediately transfers Mine ownership to a nonzero address. This controller loses Mine administration as soon as the transfer succeeds.
transferOwnership(address)function transferOwnership(address newOwner) external;Starts the ownership transfer of the contract to a new account. Replaces the pending transfer if there is one. Can only be called by the current owner. Setting newOwner to the zero address is allowed; this can be used to cancel an initiated ownership transfer.
transferResonanceOwnership(address)function transferResonanceOwnership(address newOwner) external;Immediately transfers Resonance ownership to a nonzero address. This controller loses Resonance administration as soon as the transfer succeeds.
OwnershipTransferStarted(address,address)event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner);No additional NatSpec notice is present in the compiled artifact.
OwnershipTransferred(address,address)event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);No additional NatSpec notice is present in the compiled artifact.
InvalidLiquidityPool(address)error InvalidLiquidityPool(address pool);No additional NatSpec notice is present in the compiled artifact.
OwnableInvalidOwner(address)error OwnableInvalidOwner(address owner);No additional NatSpec notice is present in the compiled artifact.
OwnableUnauthorizedAccount(address)error OwnableUnauthorizedAccount(address account);No additional NatSpec notice is present in the compiled artifact.
ZeroAddress()error ZeroAddress();No additional NatSpec notice is present in the compiled artifact.