Expand description
Generated by the following Solidity interface…
interface IStrategy {
error BalanceExceedsMaxTotalDeposits();
error MaxPerDepositExceedsMax();
error NewSharesZero();
error OnlyStrategyManager();
error OnlyUnderlyingToken();
error TotalSharesExceedsMax();
error WithdrawalAmountExceedsTotalDeposits();
event ExchangeRateEmitted(uint256 rate);
event StrategyTokenSet(address token, uint8 decimals);
function deposit(address token, uint256 amount) external returns (uint256);
function explanation() external view returns (string memory);
function shares(address user) external view returns (uint256);
function sharesToUnderlying(uint256 amountShares) external returns (uint256);
function sharesToUnderlyingView(uint256 amountShares) external view returns (uint256);
function totalShares() external view returns (uint256);
function underlyingToShares(uint256 amountUnderlying) external returns (uint256);
function underlyingToSharesView(uint256 amountUnderlying) external view returns (uint256);
function underlyingToken() external view returns (address);
function userUnderlying(address user) external returns (uint256);
function userUnderlyingView(address user) external view returns (uint256);
function version() external view returns (string memory);
function withdraw(address recipient, address token, uint256 amountShares) external;
}
…which was generated by the following JSON ABI:
[
{
"type": "function",
"name": "deposit",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "contract IERC20"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "explanation",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "shares",
"inputs": [
{
"name": "user",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "sharesToUnderlying",
"inputs": [
{
"name": "amountShares",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "sharesToUnderlyingView",
"inputs": [
{
"name": "amountShares",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "totalShares",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "underlyingToShares",
"inputs": [
{
"name": "amountUnderlying",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "underlyingToSharesView",
"inputs": [
{
"name": "amountUnderlying",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "underlyingToken",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract IERC20"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "userUnderlying",
"inputs": [
{
"name": "user",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "userUnderlyingView",
"inputs": [
{
"name": "user",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "version",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "withdraw",
"inputs": [
{
"name": "recipient",
"type": "address",
"internalType": "address"
},
{
"name": "token",
"type": "address",
"internalType": "contract IERC20"
},
{
"name": "amountShares",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "event",
"name": "ExchangeRateEmitted",
"inputs": [
{
"name": "rate",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "StrategyTokenSet",
"inputs": [
{
"name": "token",
"type": "address",
"indexed": false,
"internalType": "contract IERC20"
},
{
"name": "decimals",
"type": "uint8",
"indexed": false,
"internalType": "uint8"
}
],
"anonymous": false
},
{
"type": "error",
"name": "BalanceExceedsMaxTotalDeposits",
"inputs": []
},
{
"type": "error",
"name": "MaxPerDepositExceedsMax",
"inputs": []
},
{
"type": "error",
"name": "NewSharesZero",
"inputs": []
},
{
"type": "error",
"name": "OnlyStrategyManager",
"inputs": []
},
{
"type": "error",
"name": "OnlyUnderlyingToken",
"inputs": []
},
{
"type": "error",
"name": "TotalSharesExceedsMax",
"inputs": []
},
{
"type": "error",
"name": "WithdrawalAmountExceedsTotalDeposits",
"inputs": []
}
]
Structs§
- Balance
Exceeds MaxTotal Deposits - Custom error with signature
BalanceExceedsMaxTotalDeposits()
and selector0xd86bae67
.solidity error BalanceExceedsMaxTotalDeposits();
- Exchange
Rate Emitted - Event with signature
ExchangeRateEmitted(uint256)
and selector0xd2494f3479e5da49d386657c292c610b5b01df313d07c62eb0cfa49924a31be8
.solidity event ExchangeRateEmitted(uint256 rate);
- IStrategy
Instance - A
IStrategy
instance. - MaxPer
Deposit Exceeds Max - Custom error with signature
MaxPerDepositExceedsMax()
and selector0x14ac1edc
.solidity error MaxPerDepositExceedsMax();
- NewShares
Zero - Custom error with signature
NewSharesZero()
and selector0x18725da6
.solidity error NewSharesZero();
- Only
Strategy Manager - Custom error with signature
OnlyStrategyManager()
and selector0x48da714f
.solidity error OnlyStrategyManager();
- Only
Underlying Token - Custom error with signature
OnlyUnderlyingToken()
and selector0xc4aaf740
.solidity error OnlyUnderlyingToken();
- Strategy
Token Set - Event with signature
StrategyTokenSet(address,uint8)
and selector0x1c540707b00eb5427b6b774fc799d756516a54aee108b64b327acc55af557507
.solidity event StrategyTokenSet(address token, uint8 decimals);
- Total
Shares Exceeds Max - Custom error with signature
TotalSharesExceedsMax()
and selector0x5e29d146
.solidity error TotalSharesExceedsMax();
- Withdrawal
Amount Exceeds Total Deposits - Custom error with signature
WithdrawalAmountExceedsTotalDeposits()
and selector0xb469df30
.solidity error WithdrawalAmountExceedsTotalDeposits();
- deposit
Call - Function with signature
deposit(address,uint256)
and selector0x47e7ef24
.solidity function deposit(address token, uint256 amount) external returns (uint256);
- deposit
Return - Container type for the return parameters of the
deposit(address,uint256)
function. - explanation
Call - Function with signature
explanation()
and selector0xab5921e1
.solidity function explanation() external view returns (string memory);
- explanation
Return - Container type for the return parameters of the
explanation()
function. - shares
Call - Function with signature
shares(address)
and selector0xce7c2ac2
.solidity function shares(address user) external view returns (uint256);
- shares
Return - Container type for the return parameters of the
shares(address)
function. - shares
ToUnderlying Call - Function with signature
sharesToUnderlying(uint256)
and selector0xf3e73875
.solidity function sharesToUnderlying(uint256 amountShares) external returns (uint256);
- shares
ToUnderlying Return - Container type for the return parameters of the
sharesToUnderlying(uint256)
function. - shares
ToUnderlying View Call - Function with signature
sharesToUnderlyingView(uint256)
and selector0x7a8b2637
.solidity function sharesToUnderlyingView(uint256 amountShares) external view returns (uint256);
- shares
ToUnderlying View Return - Container type for the return parameters of the
sharesToUnderlyingView(uint256)
function. - total
Shares Call - Function with signature
totalShares()
and selector0x3a98ef39
.solidity function totalShares() external view returns (uint256);
- total
Shares Return - Container type for the return parameters of the
totalShares()
function. - underlying
ToShares Call - Function with signature
underlyingToShares(uint256)
and selector0x8c871019
.solidity function underlyingToShares(uint256 amountUnderlying) external returns (uint256);
- underlying
ToShares Return - Container type for the return parameters of the
underlyingToShares(uint256)
function. - underlying
ToShares View Call - Function with signature
underlyingToSharesView(uint256)
and selector0xe3dae51c
.solidity function underlyingToSharesView(uint256 amountUnderlying) external view returns (uint256);
- underlying
ToShares View Return - Container type for the return parameters of the
underlyingToSharesView(uint256)
function. - underlying
Token Call - Function with signature
underlyingToken()
and selector0x2495a599
.solidity function underlyingToken() external view returns (address);
- underlying
Token Return - Container type for the return parameters of the
underlyingToken()
function. - user
Underlying Call - Function with signature
userUnderlying(address)
and selector0x8f6a6240
.solidity function userUnderlying(address user) external returns (uint256);
- user
Underlying Return - Container type for the return parameters of the
userUnderlying(address)
function. - user
Underlying View Call - Function with signature
userUnderlyingView(address)
and selector0x553ca5f8
.solidity function userUnderlyingView(address user) external view returns (uint256);
- user
Underlying View Return - Container type for the return parameters of the
userUnderlyingView(address)
function. - version
Call - Function with signature
version()
and selector0x54fd4d50
.solidity function version() external view returns (string memory);
- version
Return - Container type for the return parameters of the
version()
function. - withdraw
Call - Function with signature
withdraw(address,address,uint256)
and selector0xd9caed12
.solidity function withdraw(address recipient, address token, uint256 amountShares) external;
- withdraw
Return - Container type for the return parameters of the
withdraw(address,address,uint256)
function.
Enums§
- IStrategy
Calls - Container for all the
IStrategy
function calls. - IStrategy
Errors - Container for all the
IStrategy
custom errors. - IStrategy
Events - Container for all the
IStrategy
events.
Statics§
- BYTECODE
- The creation / init bytecode of the contract.
- DEPLOYED_
BYTECODE - The runtime bytecode of the contract, as deployed on the network.
Functions§
- deploy
- Deploys this contract using the given
provider
and constructor arguments, if any. - deploy_
builder - Creates a
RawCallBuilder
for deploying this contract using the givenprovider
and constructor arguments, if any. - new
- Creates a new wrapper around an on-chain
IStrategy
contract instance.