Static Readonly abi
abi: readonly [{
inputs: readonly [{
internalType: "address";
name: "user";
type: "address";
}, {
internalType: "UD60x18";
name: "rewardsAvailable";
type: "uint256";
}, {
internalType: "UD60x18";
name: "rewardsRequested";
type: "uint256";
}];
name: "VaultMining__InsufficientRewards";
type: "error";
}, {
inputs: readonly [{
internalType: "address";
name: "caller";
type: "address";
}];
name: "VaultMining__NotVault";
type: "error";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "vault";
type: "address";
}, {
indexed: false;
internalType: "address";
name: "dualMiningPool";
type: "address";
}];
name: "AddDualMiningPool";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "user";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "vault";
type: "address";
}, {
indexed: false;
internalType: "UD60x18";
name: "rewardAmount";
type: "uint256";
}];
name: "AllocateRewards";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "user";
type: "address";
}, {
indexed: false;
internalType: "UD60x18";
name: "rewardAmount";
type: "uint256";
}];
name: "Claim";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "vault";
type: "address";
}, {
indexed: false;
internalType: "address";
name: "dualMiningPool";
type: "address";
}];
name: "RemoveDualMiningPool";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "UD60x18";
name: "rewardsPerYear";
type: "uint256";
}];
name: "SetRewardsPerYear";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "vault";
type: "address";
}, {
indexed: false;
internalType: "UD60x18";
name: "voteMultiplier";
type: "uint256";
}];
name: "SetVoteMultiplier";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "vault";
type: "address";
}, {
indexed: false;
internalType: "UD60x18";
name: "votes";
type: "uint256";
}, {
indexed: false;
internalType: "UD60x18";
name: "voteMultiplier";
type: "uint256";
}];
name: "UpdateVaultVotes";
type: "event";
}, {
inputs: readonly [{
internalType: "UD60x18";
name: "amount";
type: "uint256";
}];
name: "addRewards";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address[]";
name: "vaults";
type: "address[]";
}, {
internalType: "UD60x18";
name: "amount";
type: "uint256";
}];
name: "claim";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address[]";
name: "vaults";
type: "address[]";
}];
name: "claimAll";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "vault";
type: "address";
}];
name: "getDualMiningPools";
outputs: readonly [{
internalType: "address[]";
name: "";
type: "address[]";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "user";
type: "address";
}, {
internalType: "address";
name: "vault";
type: "address";
}];
name: "getPendingUserRewardsFromVault";
outputs: readonly [{
internalType: "UD60x18";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "vault";
type: "address";
}];
name: "getPendingVaultRewards";
outputs: readonly [{
internalType: "UD60x18";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "getRewardsAvailable";
outputs: readonly [{
internalType: "UD60x18";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "getRewardsPerYear";
outputs: readonly [{
internalType: "UD60x18";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "user";
type: "address";
}];
name: "getTotalUserRewards";
outputs: readonly [{
internalType: "UD60x18";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "getTotalVotes";
outputs: readonly [{
internalType: "UD60x18";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "user";
type: "address";
}, {
internalType: "address";
name: "vault";
type: "address";
}];
name: "getUserInfo";
outputs: readonly [{
components: readonly [{
internalType: "UD60x18";
name: "shares";
type: "uint256";
}, {
internalType: "UD60x18";
name: "__deprecated_reward";
type: "uint256";
}, {
internalType: "UD60x18";
name: "rewardDebt";
type: "uint256";
}];
internalType: "struct IVaultMining.UserInfo";
name: "";
type: "tuple";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "user";
type: "address";
}];
name: "getUserRewards";
outputs: readonly [{
internalType: "UD60x18";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "vault";
type: "address";
}];
name: "getVaultInfo";
outputs: readonly [{
components: readonly [{
internalType: "UD60x18";
name: "totalShares";
type: "uint256";
}, {
internalType: "UD60x18";
name: "votes";
type: "uint256";
}, {
internalType: "uint256";
name: "__deprecated_lastRewardTimestamp";
type: "uint256";
}, {
internalType: "UD60x18";
name: "accRewardsPerShare";
type: "uint256";
}, {
internalType: "UD60x18";
name: "rewardDebt";
type: "uint256";
}];
internalType: "struct IVaultMining.VaultInfo";
name: "";
type: "tuple";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "vault";
type: "address";
}];
name: "getVoteMultiplier";
outputs: readonly [{
internalType: "UD60x18";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "previewOptionParams";
outputs: readonly [{
internalType: "UD60x18";
name: "strike";
type: "uint256";
}, {
internalType: "uint64";
name: "maturity";
type: "uint64";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "user";
type: "address";
}, {
internalType: "address";
name: "vault";
type: "address";
}];
name: "updateUser";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "user";
type: "address";
}, {
internalType: "UD60x18";
name: "newUserShares";
type: "uint256";
}, {
internalType: "UD60x18";
name: "newTotalShares";
type: "uint256";
}, {
internalType: "UD60x18";
name: "utilisationRate";
type: "uint256";
}];
name: "updateUser";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "vault";
type: "address";
}];
name: "updateVault";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [];
name: "updateVaults";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}]