Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Note that this page has not been updated to reflect the current state of Beanstalk, but is left here as a reference.
The Convert Getters Facet contains view functions for Convert data.
None.
Estimate the maximum number of tokens that can currently be Converted from tokenIn
to tokenOut
.
Parameter | Type | Description |
---|---|---|
Return Value | Type | Description |
---|---|---|
Estimate the amount of tokens received from Converting tokenIn
to tokenOut
given an amount of tokenIn
.
None.
Parameter | Type | Description |
---|---|---|
Return Value | Type | Description |
---|---|---|
tokenIn
address
The whitelisted token to estimate Converting from.
tokenOut
address
The whitelisted token to estimate Converting to.
amountIn
uint256
The maximum number of tokens that can currently be Converted from tokenIn
to tokenOut
.
tokenIn
address
The whitelisted token to estimate Converting from.
tokenOut
address
The whitelisted token to estimate Converting to.
amountOut
uint256
The amount of tokenOut
received from a Conversion from tokenIn
to tokenOut
.
Note that this page has not been updated to reflect the current state of Beanstalk, but is left here as a reference.
The Silo Facet handles Depositing, Withdrawing, and transferring Deposits (whitelisted assets in the Silo).
Stems keep track of when the Deposit was created. When the Deposit was created determines how much Grown Stalk per BDV the Deposit has.
Deposits ERC20 token into internal Farmer balances.
Parameter | Type | Description |
---|---|---|
Withdraws a single Deposit.
Withdraws multiple Deposits.
Transfers single Farmer's Deposit.
Transfers multiple Farmer Deposits.
Transfer a single Deposit, conforming to the ERC1155 standard.
Transfer a single Deposit, conforming to the ERC1155 standard.
Claim Grown Stalk for an account for a particular whitelisted asset.
Mow for multiple whitelisted assets for an account.
Claim Earned Beans and their associated Stalk and Plantable Seeds for msg.sender
.
Claims rewards from a Flood (Season of Plenty) for msg.sender
.
Get the last Season in which account
updated their Silo.
Returns the total supply of Stalk. Does NOT include Grown Stalk.
Returns the total supply of Roots.
Returns the total supply of Earned Beans.
Returns the balance of Stalk for a particular Farmer. Does NOT include Grown Stalk; does include Earned Stalk.
Returns the balance of Roots for a particular Farmer.
Returns the balance of Grown Stalk for account
. Grown Stalk is earned each Season from BDV and must be Mown to add it to a user's Stalk balance.
Returns the balance of Grown Stalk for a single deposit of token
in stem
for account
.
Returns the balance of Earned Beans for a Farmer.
Return the account
balance of Earned Stalk, the Stalk associated with Earned Beans.
Return the balance of Deposited BDV of a whitelisted asset for a given Farmer.
Return the Stem at the time that a Farmer last Mowed a particular whitelisted asset.
Return the Mow Status struct of token
for a given account
.
Returns the last Season that a Season of Plenty started.
Returns the Farmer's balance of unclaimed 3CRV earned from the Season of Plenty.
Returns the account
balance of Roots the last time it was Raining during a Silo update.
Returns the account
Season of Plenty related state variables.
Returns the "stemTip", or cumulative Grown Stalk Per BDV of a given Deposited asset since whitelist, for a given whitelisted token.
Get the Stem associated with a particular Deposit (via its token and Season). Kept for legacy reasons.
Gets the Seeds per token for legacy whitelisted assets. Calling with an non-legacy token will return 0, even after the token is whitelisted. Kept for legacy reasons.
Returns the Season in which Beanstalk initialized Silo V3, i.e., the Season in which Stems were initialized.
Returns whether or not a Farmer needs to migrate to Silo V3.
Returns if Earned Beans from the previous gm
call are still vesting. Vesting Earned Beans cannot be received via plant
until the Vesting Period is over, and will be forfeited if a Farmer Withdraws during the Vesting Period.
Find the amount and BDV of token
that a Farmer has Deposited in a given Stem.
Get the total amount of token
currently Deposited in the Silo across all Farmers.
Get the total BDV of token
currently Deposited in the Silo across all Farmers.
Get the Storage.SiloSettings
for a whitelisted token.
Returns the total BDV of a number of tokens on the Deposit Whitelist.
Gets the amount of tokens in a Deposit type for a given Farmer.
Gets an array of amounts corresponding to Deposits.
Gets the Deposit ID given an whitelisted token address and Stem.
Emitted when the deposit associated with the Earned Beans of account
are Planted.
Emitted when 3CRV paid to account
during a Flood is claimed.
Emitted when account
gains or loses Stalk.
Emitted when account
adds a single Deposit to the Silo. There is no AddDeposits
event because there is currently no operation in which Beanstalk creates multiple Deposits in different Stems.
Emitted when account
removes a single Deposit from the Silo. Occurs during Withdraw and Convert.
Emitted when account
removes multiple Deposits from the Silo. Occurs during Withdraw and Convert.
ERC-1155 event. Emitted when a Deposit is created, removed, or transferred.
ERC-1155 event. Emitted when multiple deposits are withdrawn or transferred.
Legacy event. This event is kept for backwards compatibility in order for the ABI to generate properly.
Legacy event. This event is kept for backwards compatibility in order for the ABI to generate properly.
Note that this page has not been updated to reflect the current state of Beanstalk, but is left here as a reference.
The Convert Facet handles Conversions between assets in the Silo and Enrooting Unripe Deposits.
Convert allows a user to Convert from one Deposited asset to another, given that the Conversion is on the Convert Whitelist. For example, a Farmer can Convert LP into Bean only when the Bean price is below peg, and vice versa. Read more about Convert in the Farmers' Almanac.
Parameter | Type | Description |
---|---|---|
Return Value | Type | Description |
---|---|---|
None.
Emitted upon each Conversion.
Emitted when account
removes a single Deposit from the Silo. Occurs during Withdraw and Convert.
Emitted when account
removes multiple Deposits from the Silo. Occurs during Withdraw and Convert.
Note that this page has not been updated to reflect the current state of Beanstalk, but is left here as a reference.
Whitelist Facet handles the whitelisting/dewhitelisting of assets on the Deposit Whitelist.
Dewhitelists tokens on the Deposit Whitelist. A token can no longer be Deposited in the Silo after dewhitelisting. Can only be called by the owner of Beanstalk.
Parameter | Type | Description |
---|---|---|
Adds a token to the Deposit Whitelist. Can only be called by the owner of Beanstalk.
Parameter | Type | Description |
---|---|---|
Adds a token to the Deposit Whitelist with an encodeType
. Can only be called by the owner of Beanstalk.
Changes the Grown Stalk per BDV per Season for a token on the Deposit Whitelist. Can only be called by the owner of Beanstalk.
None.
Emitted when a token is added to the Deposit Whitelist.
Emitted when the Grown Stalk per BDV per Season for a token on the Deposit Whitelist is changed.
Emitted when a token is removed from the Deposit Whitelist.
Note that this page has not been updated to reflect the current state of Beanstalk, but is left here as a reference.
The Metadata Facet provides metadata for the ERC-1155 Silo Deposits. Deposit IDs are a uint256
that is the concatenation of the token address and the Stem.
None.
Returns the URI for a given Deposit ID.
Parameter | Type | Description |
---|---|---|
Return Type | Description |
---|---|
Returns the name of the collection for OpenSea compatibility.
Return Type | Description |
---|---|
Returns the ticker of the collection for OpenSea compatibility.
Returns the image URI for a given Deposit ID.
Not currently emitted.
Note that this page has not been updated to reflect the current state of Beanstalk, but is left here as a reference.
The Enroot Facet handles logic for Enrooting Unripe Deposits.
Claims outstanding Revitalized Stalk and Seeds and updates BDV of a single Unripe Deposit.
Parameter | Type | Description |
---|---|---|
Claims outstanding Revitalized Stalk and Seeds and updates BDV of multiple Unripe Deposits.
None.
Emitted when account
removes a single Deposit from the Silo. Occurs during Withdraw and Convert.
Emitted when account
removes multiple Deposits from the Silo. Occurs during Withdraw and Convert.
Note that this page has not been updated to reflect the current state of Beanstalk, but is left here as a reference.
The Migration Facet contains functions related to . Farmers are required to migrate to the new accounting system created by the Silo V3 upgrade.
Migrates a Farmer's Deposits from the old (Seasons based) to the new Silo (Stems based) accounting system.
When migrating an account, a user must submit all of the account's Deposits or the migration will not pass because the Seed check will fail. The Seed check adds up the BDV of all submitted Deposits, multiplies by the corresponding Seed amount for each token type, then compares that to the total Seeds stored for that user. If everything matches, the migration is valid.
Parameter | Type | Description |
---|
Migrate an account to Silo V3 that has no Deposits.
Gets balance of Seeds for a Farmer that hasn't migrated.
Gets a Farmer's balance of Grown Stalk at the time of Stems deployment (Silo V3 upgrade).
Locate the token amount and BDV for a Farmer's Deposit in legacy storage.
None.
Note that this page has not been updated to reflect the current state of Beanstalk, but is left here as a reference.
The Legacy Claim Withdrawal Facet allows anyone to Claim and read Withdrawals. removed the Withdrawal Freeze from the Silo. Withdrawing now directly sends ERC-20 tokens to the Farmer's Farm or Circulating balances instead of creating a Withdrawal.
Although new Withdrawals cannot be created, the claim Withdrawal functionality has been preserved in this facet to allow pre-existing unclaimed Withdrawals to still be claimed.
Claims tokens from a Withdrawal.
Parameter | Type | Description |
---|
Claims tokens from multiple Withdrawals.
Get the amount of token
in the Withdrawal season
for account
.
Get the total amount of token
currently Withdrawn from the Silo across all Farmers.
None.
Note that this page has not been updated to reflect the current state of Beanstalk, but is left here as a reference.
The BDV Facet holds functions to get the BDV for each whitelisted Silo asset.
None.
Returns the BDV of a number of BEAN:3CRV LP tokens.
Parameter | Type | Description |
---|
Return Value | Description |
---|
Returns the BDV of a number of Beans (1 Bean = 1 BDV).
Parameter | Type | Description |
---|
Return Value | Description |
---|
Returns the total BDV of a number of Unripe BEAN:3CRV LP tokens.
Returns the total BDV of a number of Unripe Beans.
Returns the total BDV of a number of Well LP tokens given a Well LP token.
None.
Note that this page has not been updated to reflect the current state of Beanstalk, but is left here as a reference.
Farmers can Deposit assets on the into the Silo in exchange for Stalk and Seeds. The number of Stalk and Seeds received is dependent on the BDV at the time of Deposit, the Stalk per BDV and the Seeds per BDV. Stalk entitles Farmers to a pro-rata portion of Bean seignorage distributed to the Silo and Seeds grown into 0.0001 Stalk each Season.
A Farmer can Withdraw at any time, but must forfeit all Stalk and Seeds associated with the Deposit. All Withdrawals are subject to an unlock period (currently set to the remainder of the current Season). Once a Withdraw is complete, it can be Claimed at any time.
Farmers can also convert a Deposited asset into a different one via the Convert function if the ability to convert between those two assets is on the . Each Convert type must be approved via governance and the Convert functionality must be added to LibConvert
.
Assets can only be Deposited into the Silo if the assets are on the Deposit Whitelist. A token is considered on the Deposit Whitelist if it has a non-zero Silo Settings in Beanstalk’s storage. Silo Settings for each asset on the Deposit Whitelist are stored in the s.ss
mapping in defined as:
The key used in the mapping is the ERC-20 token address.
selector
is a function selector that calculates the BDV of a given amount
of the token. selector
should be an encoded external view
function added to the Beanstalk diamond. BDV is represented with 6 decimal places.
seeds
is the number of Seeds per BDV that a Farmer receives for Depositing this asset. For example, seeds
is 2 for Bean and 4 for BEAN:3CRV LP tokens.
stalk
is the number of Stalk per BDV that a Farmer receives for Depositing this asset. Because Stalk has 10 decimals compared to the 6 that BDV has, 10,000 equals 1. stalk
is 10,000 for both Bean and BEAN:3CRV LP tokens.
Tokens can be added to the Deposit Whitelist via BIP. In order to Whitelist a token, an address, BDV function selector, Stalk per BDV and Seeds per BDV must be included in the proposal. The BDV function selector must either already be added to Beanstalk or be added as a part of the BIP.
Similarly, tokens can be Dewhitelisted (removed from the Deposit Whitelist) via BIP.
Stalk entitles the Farmer to a pro rata portion of at least 1/3 of Bean mints and 1 Stalk is 1 vote in Governance. Beans mints allocated to the Silo are called Earned Beans. Farmers also receive 1 Earned Stalk and 2 Earned Seeds for each Earned Bean.
Each Seed grows 0.0001 Stalk every Season. Stalk grown from Seeds is called Grown Stalk.
There are 3 types of Stalk:
Stalk -> Stalk stored in a Farmer’s account storage. Stalk is acquired by Depositing, Converting, Updating or Planting.
Earned Stalk -> A Farmer receives 1 Earned Stalk for each Earned Bean. Earned Stalk automatically compounds and receives a portion of Bean mints. Earned Stalk is claimed as part of the plant
function, which turns it into Stalk. Because it is considered active, Earned Stalk has already been minted and it is included in the totalStalk
and balanceOfStalk
counts. To the Farmer, Earned Stalk is no different from Stalk and just serves as an indicator of how much Stalk has been earned through Bean seignorage since the last plant
call.
Grown Stalk -> 0.0001 Grown Stalk is grown from every Seed each Season. Grown Stalk is not considered active and thus does not receive a pro rata portion of Bean mints. It is claimed via the update
function in Beanstalk, which turns it into Stalk. Because Grown Stalk is not active, Stalk isn’t minted until Grown Stalk is updated and thus Grown Stalk is not included in the totalStalk
and balanceOfStalk
counts.
There are 2 types of Seeds:
Seeds → Seeds stored in a Farmer’s account storage. Seeds are acquired by Depositing, Planting and in certain cases, Converting.
Earned Seeds → A Farmer receives 2 Earned Seeds for each Earned Bean. Earned Seeds are not active. Earned Seeds can be claimed via the plant
function, which turns them into Seeds. Because Earned Seeds are not active, they are not included in the totalSeeds
or balanceOfSeeds
function.
Farmers can deposit Whitelisted ERC-20 tokens in the Silo in exchange for Stalk and Seeds via the deposit
function. deposit
first calls the BDV function selector stored in Storage to calculate the BDV of the Deposit. It then distributes Stalk and Seeds to the Farmer based on the Stalk per BDV and Seeds per BDV.
A Deposit is stored in the current Season to record at what Season the Seeds associated with the Deposit started accruing Grown Stalk. The total Seeds and Stalk associated with a Deposit can be calculated as:
Deposits are stored in the Account storage as:
The mapping is from token address to Season to Deposit.
amount
is the amount of tokens in the Deposit. A Farmer can Withdraw up to amount
.
bdv
is the BDV of the amount of tokens at the time of Deposit.
Farmers can Withdraw any Deposit via the withdrawDeposit
or withdrawDeposits
functions. When a Farmer Withdraws, they specific the token, the Season(s) of the Deposit(s) and the corresponding amount(s) to Withdraw.
In order to Withdraw a Deposit, a Farmer must burn all of the Stalk and Seeds associated with the Deposit.
A Withdraw is locked for a certain number of Seasons. This number is stored in s.season.withdrawSeasons
. This number is equal to the # of full Seasons required for Withdraw plus 1. The plus 1 accounts for the partial Season that Farmer Withdraws in.
The Season of a Withdrawal is equal to the Season at which the Withdrawal can be Claimed (Not the Season that the Withdrawal is initiated).
A Withdraw is in the following mapping:
The mapping is from token address to Season to amount.
Farmers can Claim Withdrawals that have been unlocked via the claimWithdrawal
and claimWithdrawals
functions. A Withdrawal is Claimable if the current Season is greater than or equal to the Season of the Withdrawal. A Withdrawal is Claimed by specifying the token and Season(s) of the Withdrawals to Claim. When a Withdrawals is Claimed, the Withdrawal is deleted and the Farmer receives the corresponding amount of the underlying token.
Farmers can Convert one asset on the Deposit Whitelist (Token A) to another asset on the Deposit Whitelist (Token B) if Converting from Token A to Token B is on the Convert Whitelist. convert
takes in a convertData
payload that stores the encoded Convert data payload. Convert data is encoded so that different Convert types can have different parameters as necessary. However, each Convert type must specify at least the Convert type and the amount to Convert. Farmers must also specify the Season(s) of Deposits and corresponding amounts to Convert.
Convert does 3 main actions:
Converts some amount of Token A to Token B via LibConvert
;
Removes Deposits of Token A equal to the amount of Token A that was Converted; and
Adds a Deposit of Token B equal to the amount received in Convert.
Convert uses the maximum of the BDV of Token A and Token B so that BDV is never lost. Thus, the Farmer won’t lose any Stalk during Convert, but may still gain Stalk depending the BDV of Token B. Seeds can be gained or lost depending on the Seeds per BDV of Token B versus Token A.
Grown Stalk is preserved during Convert and the Season that Converted assets are Deposited into is depending on the number of Grown Stalk:
Converts may have a maximize amount that can be converted from Token A to Token B. For instance, Deposited Beans can only be converted into Deposited BEAN:3CRV LP tokens if the price in the BEAN:3CRV pool is greater than $1 after the Convert. This can be retrieved via the getMaxAmountIn
function.
The getAmountOut
function returns the expected output amount of a given Convert.
New Converts can be approved via adding new Convert types to LibConvertData
and adding the Convert case to LibConvert
.
Note that this page has not been updated to reflect the current state of Beanstalk, but is left here as a reference.
The Approval Facet handles all approval and permit related functions for the Silo.
Approves an address to access a Farmer's Deposit.
Parameter | Type | Description |
---|
Increases transfer allowance of a Deposit.
Decreases transfer allowance of a Deposit.
Permits multiple Deposits.
Permits a single Deposit.
Set ERC-1155 approvals. Grants or revokes permission to operator
to transfer the caller’s tokens, according to approved
.
Returns the current nonce for Deposit permits.
Returns how much of a token
Deposit that spender
can transfer on behalf of owner
.
Returns true if _operator
is approved to transfer _owner
's Deposit.
Emitted when a Deposit is approved to spend by another account.
Return value | Type | Description |
---|---|---|
Parameter | Type | Description |
---|---|---|
Parameter | Type | Description |
---|---|---|
Parameter | Type | Description |
---|---|---|
Return Value | Type | Description |
---|---|---|
Parameter | Type | Description |
---|---|---|
Return Value | Type | Description |
---|---|---|
Parameter | Type | Description |
---|---|---|
Parameter | Type | Description |
---|---|---|
Parameter | Type | Description |
---|---|---|
Parameter | Type | Description |
---|---|---|
Return Value | Type | Description |
---|---|---|
Return Type | Description |
---|---|
Return Type | Description |
---|---|
Return Type | Description |
---|---|
Return Type | Description |
---|---|
Parameter | Type | Description |
---|---|---|
Return Type | Description |
---|---|
Parameter | Type | Description |
---|---|---|
Return Type | Description |
---|---|
Parameter | Type | Description |
---|---|---|
Return Type | Description |
---|---|
Parameter | Type | Description |
---|---|---|
Return Value | Type | Description |
---|---|---|
Parameter | Type | Description |
---|---|---|
Return Value | Type | Description |
---|---|---|
Parameter | Type | Description |
---|---|---|
Return Type | Description |
---|---|
Parameter | Type | Description |
---|---|---|
Return Value | Type | Description |
---|---|---|
Parameter | Type | Description |
---|---|---|
Return Value | Description | |
---|---|---|
Parameter | Type | Description |
---|---|---|
Type |
---|
Return Value | Description |
---|---|
Parameter | Type | Description |
---|---|---|
Return Value | Type | Description |
---|---|---|
Parameter | Type | Description |
---|---|---|
Return Value | Description |
---|---|
Parameter | Type | Description |
---|---|---|
Return Value | Type | Description |
---|---|---|
Parameter | Type | Description |
---|---|---|
Return Value | Type | Description |
---|---|---|
Parameter | Type | Description |
---|---|---|
Return Value | Type | Description |
---|---|---|
Parameter | Type | Description |
---|---|---|
Return Type | Description |
---|---|
Return Type | Description |
---|---|
Parameter | Type | Description |
---|---|---|
Return Type | Description |
---|---|
Return Type | Description |
---|---|
Parameter | Type | Description |
---|---|---|
Return Value | Description |
---|---|
Parameter | Type | Description |
---|---|---|
Return Type | Description |
---|---|
Parameter | Type | Description |
---|---|---|
Return Type | Description |
---|---|
Parameter | Type | Description |
---|---|---|
Return Type | Description |
---|---|
Parameter | Type | Description |
---|---|---|
Type |
---|
Parameter | Type | Description |
---|---|---|
Return Type | Description |
---|---|
Parameter | Type | Description |
---|---|---|
Return Type | Description |
---|---|
Parameter | Type | Description |
---|---|---|
Return Type | Description |
---|---|
Parameter | Type | Description |
---|---|---|
Parameter | Type | Description |
---|---|---|
Parameter | Type | Description |
---|---|---|
Parameter | Type | Description |
---|---|---|
Parameter | Type | Description |
---|---|---|
Parameter | Type | Description |
---|---|---|
Parameter | Type | Description |
---|---|---|
Parameter | Type | Description |
---|---|---|
Parameter | Type | Description |
---|---|---|
Parameter | Type | Description |
---|---|---|
Parameter | Type | Description |
---|---|---|
Parameter | Type | Description |
---|---|---|
Parameter | Type | Description |
---|---|---|
Parameter | Type | Description |
---|---|---|
Parameter | Type | Description |
---|---|---|
Parameter | Type | Description |
---|---|---|
Parameter | Type | Description |
---|---|---|
Parameter | Type | Description |
---|---|---|
Return Type | Description |
---|---|
Parameter | Type | Description |
---|---|---|
Return Type | Description |
---|---|
Parameter | Type | Description |
---|---|---|
Parameter | Type | Description |
---|---|---|
Parameter | Type | Description |
---|---|---|
Parameter | Type | Description |
---|---|---|
Parameter | Type | Description |
---|
Parameter | Type | Description |
---|
Return Value | Description |
---|
Parameter | Type | Description |
---|
Return Value | Description |
---|
Parameter | Type | Description |
---|
Return Value | Description |
---|
Parameter | Type | Description |
---|
Parameter | Type | Description |
---|
Return Value | Description |
---|
Parameter | Type | Description |
---|
Return Value | Description |
---|
Parameter | Type | Description |
---|
Return Value | Description |
---|
Parameter | Type | Description |
---|
Return Value | Description |
---|
Parameter | Type | Description |
---|
Return Value | Description |
---|
All Deposited assets are valued based on the Bean Denominated Value (BDV) at the time Deposit. Each asset on the Deposit Whitelist has a unique BDV function in the to calculate the BDV of a given amount of the asset.
In the Beanstalk ecosystem, Update (i.e., updating Grown Stalk) is referred to as Mow (i.e., Mowing Grown Stalk). See .
In the Beanstalk ecosystem, Earned Seeds are referred to as Plantable Seeds. See .
Parameter | Type | Description |
---|
Return Value | Description |
---|
Parameter | Type | Description |
---|
Return Value | Description |
---|
Farm balances and Silo Deposits support , which allows Farmers to delegate use of their Farm balances and Silo Deposits through permits without the need for a separate transaction.
Parameter | Type | Description |
---|
Parameter | Type | Description |
---|
Parameter | Type | Description |
---|
Parameter | Type | Description |
---|
Return Value | Description |
---|
Returns the domain separator for the current chain ().
Return Value | Description |
---|
Parameter | Type | Description |
---|
Return Value | Description |
---|
Parameter | Type | Description |
---|
Return Value | Description |
---|
Parameter | Type | Description |
---|
Emitted when account
grants or revokes permission to operator
to transfer their tokens, according to approved
().
Parameter | Type | Description |
---|
token
address
Address of the token to Deposit.
_amount
uint256
Amount of the token to be Deposited.
mode
From
The balance to transfer the token from; see LibTransfer.From
.
amount
address
Amount of the token Deposited.
bdv
uint256
BDV of the Deposit.
stem
int96
Stem of the Deposit.
token
address
Address of ERC20 being Withdrawn.
stem
int96
Stem of the Deposit to Withdraw.
amount
uint256
Tokens to be Withdrawn.
mode
To
The balance to transfer the token to; see LibTransfer.To
.
token
address
Address of ERC20 being Withdrawn.
stems
int96[]
Stems of the Deposits to Withdraw.
amounts
uint256[]
Array of token amounts to Withdraw from corresponding stems
.
mode
To
The balance to transfer the token to; see LibTransfer.To
.
sender
address
Source of Deposit.
recipient
address
Destination of Deposit.
token
address
Address of Deposited ERC20 being transferred.
stem
int96
Stem of Deposit to Transfer.
amount
uint256
Amount of tokens to transfer.
bdv
uint256
BDV now owned by recipient
.
sender
address
Source of Deposit.
recipient
address
Destination of Deposit.
token
address
Address of ERC20 being transferred.
stem
int96[]
Stems of Deposits to transfer.
amounts
uint256[]
Array of token amounts to transfer based on corresponding stems
.
bdvs
uint256[]
Array of BDVs of each Deposit transferred.
sender
address
Source of Deposit.
recipient
address
Destination of Deposit.
depositId
uint256
ID of Deposit to transfer.
amount
uint256
Amount of ERC1155 to transfer.
sender
address
Source of Deposit.
recipient
address
Destination of Deposit.
depositIds
uint256[]
Array of IDs of Deposits to transfer.
amounts
uint256[]
Array of amounts of ERC1155 to transfer, corresponding to depositIds
.
account
address
Address to Mow for.
token
address
Address of ERC20 Deposit to Mow for.
account
address
Address to Mow for.
tokens
address[]
Array of addresses of ERC20 Deposits to Mow for.
beans
uint256
Amount of Earned Beans given.
stem
int96
Stem of the new Deposit.
uint32
Last Season account
updated their Silo.
uint256
Total supply of Stalk.
uint256
The total supply of Roots.
uint256
Total supply of Earned Beans.
account
address
Farmer to get the Stalk balance for.
uint256
Stalk balance of account
.
account
address
Farmer to get the Roots balance for.
uint256
Roots balance of account
.
account
address
Farmer to get the Grown Stalk balance for.
uint256
Grown Stalk balance of account
.
account
address
Farmer that owns the Deposit to get the Grown Stalk balance for.
token
address
ERC20 token address of the Deposit.
stem
int96
Stem of the Deposit.
grownStalk
uint
Grown Stalk for Deposit.
account
address
Farmer to get the Earned Bean balance for.
beans
uint256
Earned Bean balance of account
.
account
address
Farmer to get the Earned Stalk balance for.
uint256
Earned Stalk balance of account
.
account
address
Farmer to get the Deposited BDV balance for.
token
address
Whitelisted asset to get the balance of Deposited BDV for.
depositedBdv
uint256
Balance of Deposited BDV given account
and token
.
account
address
Farmer to get the last Mowed Stem for.
token
address
Whitelisted asset to get the last Mowed Stem for.
lastStem
int96
Last Mowed Stem for token
given account
.
account
address
Farmer to get the Mow Status of.
token
address
Token to get the Mow Status of account
for.
Account.MowStatus
uint32
The last Season it started Flooding.
account
address
Farmer to get the unclaimed 3CRV balance for.
plenty
uint256
Unclaimed 3CRV balance of account
.
account
address
Farmer to get "Rain Roots" balance for.
uint256
Root balance last time it was Raining for account
.
account
address
Farmer to get SOP related state variables for.
sop
AccountSeasonOfPlenty
Struct containing SOP related state variables.
token
address
ERC20 token to get the Stem tip for.
_stemTip
int96
Returns the Stem tip for token
.
token
address
ERC20 token of the Deposit.
season
uint32
Season of the Deposit.
stem
int96
Stem of the Deposit.
token
address
Legacy token to get the Seeds for.
uint256
Seeds for the legacy token.
uint16
Season in which Stems were initialized.
account
address
Farmer to check if migration is needed for.
bool
Whether or not account
needs to migrate to Silo V3.
bool
Whether or not Earned Beans from the previous gm
function call are still vesting.
account
address
Farmer to get Deposit data for.
token
address
ERC20 token of the Deposit.
stem
int96
Stem of the Deposit.
uint256
Number of tokens in the Deposit.
uint256
BDV of the Deposit.
token
address
Whitelisted token address.
uint256
Total number of token
Deposited in the Silo.
token
address
Whitelisted token address.
uint256
Total BDV of token
Deposited in the Silo.
token
address
Whitelisted token address.
Storage.SiloSettings
Struct with Silo variables for token
.
token
address
The whitelisted token address.
amount
uint256
The number of tokens.
uint256
account
address
Farmer to get Deposit amount for.
depositId
uint256
Deposit ID corresponding to account
.
amount
Amount of tokens in a Deposit type for account
.
accounts
address[]
List of Farmers.
depositIds
uint256[]
List of Deposit IDs corresponding to accounts
.
uint256[]
Array of amounts corresponding to the list of Deposits.
token
address
Whitelisted token address.
stem
int96
Stem of the Deposit.
uint256
Deposit ID of token
with stem
.
account
address
Farmer that Planted their Earned Beans.
beans
uint256
The amount of Earned Beans claimed.
account
address
Farmer that claimed the assets.
plenty
uint256
The amount of 3CRV claimed by account
.
account
address
The Farmer whose Stalk balance changed.
delta
int256
The change in Stalk.
deltaRoots
int256
The change in Roots.
account
address
The Farmer that added a Deposit to Beanstalk.
token
address
Whitelisted token address.
stem
int96
The Stem of the Deposit.
amount
uint256
Token amount of the Deposit.
bdv
uint256
The BDV associated with amount
of token
at the time of Deposit.
account
address
The Farmer whose Deposit was removed.
token
address
Whitelisted token address.
stem
int96
The Stem of the Deposit.
amount
uint256
The token amount of the Deposit.
bdv
uint256
The BDV associated with the Deposit.
account
address
The Farmer whose Deposit was removed.
token
address
Whitelisted token address.
stems
uint32[]
Stems of the Deposits.
amounts
uint256[]
The token amounts of the Deposits, corresponding to stems
.
amount
uint256
Sum of amounts
.
bdvs
uint256[]
The BDVs associated with the Deposits, corresponding to stems
and amounts
.
operator
address
The address that performed the operation.
from
address
The address the Deposit is being transferred from.
to
address
The address the Deposit is being transferred to.
id
uint256
The Deposit ID of the Deposit.
value
uint256
The amount of the Deposit.
operator
address
The address that performed the operation.
from
address
The address the Deposit is being transferred from.
to
address
The address the Deposit is being transferred to.
ids
uint256[]
The Deposit IDs of the Deposits.
values
uint256[]
The amounts of the Deposits.
account
address
Farmer that claimed the Withdrawals.
token
address
Whitelisted token address.
seasons
uint32[]
Seasons of claimed Withdrawn assets.
amount
uint256
Amount of claimed asset.
account
address
Farmer that claimed the Withdrawal.
token
address
Whitelisted token address.
season
uint32
Seasons of claimed Withdrawn asset.
amount
uint256
Amount of claimed asset.
convertData
bytes
Input parameters to determine the Conversion type.
stems
int98[]
The Stems of the Deposits to Convert.
amounts
uint256[]
The amounts within each Deposit to Convert.
toStem
int96
The new Stems of the Converted Deposit.
fromAmount
uint256
The amount of tokens Converted from.
toAmount
uint256
The amount of tokens Converted to.
fromBdv
uint256
The BDV of the Deposits Converted from.
toBdv
uint256
The BDV of the Deposits Converted to.
account
address
Address of Farmer that Converted.
fromToken
address
Whitelisted token that was Converted from.
toToken
address
Whitelisted token that was Converted to.
fromAmount
uint256
Amount of fromToken
Converted.
toAmount
uint256
Amount of toAmount
Converted to.
account
address
The Farmer whose Deposit was removed.
token
address
Whitelisted token address.
stem
int96
The Stem of the Deposit.
amount
uint256
The token amount of the Deposit.
bdv
uint256
The BDV associated with the Deposit.
account
address
The Farmer whose Deposits were removed.
token
address
Whitelisted token address.
stems
int96[]
Stems of the Deposits.
amounts
uint256[]
The token amounts of the Deposits, corresponding to stems
.
amount
uint256
Sum of amounts
.
bdvs
uint256[]
The BDVs associated with the Deposits, corresponding to stems
.
token
address
The token address to dewhitelist.
token
address
The token address to whitelist.
selector
bytes4
The selector for the BDV function of token
.
stalkIssuedPerBdv
uint32
Stalk per BDV for token
issued upon Deposit.
stalkEarnedPerSeason
uint32
Grown Stalk per BDV per Season for token
.
token
address
The token address to whitelist.
selector
bytes4
The selector for the BDV function of token
.
stalkIssuedPerBdv
uint32
Stalk per BDV for token
issued upon Deposit.
stalkEarnedPerSeason
uint32
Grown Stalk per BDV per Season for token
.
encodeType
bytes1
The encode type that should be used to encode the BDV function call.
token
address
The token address on the Deposit Whitelist.
stalkEarnedPerSeason
uint32
The new Grown Stalk per BDV per Season.
token
address
The whitelisted token address.
selector
bytes4
The selector for the BDV function of token
.
stalkEarnedPerSeason
uint32
Grown Stalk per BDV per Season for token
.
stalkIssuedPerBdv
uint256
Stalk per BDV for token
issued upon Deposit.
token
address
The token address on the Deposit Whitelist.
stalkEarnedPerSeason
uint32
The new Grown Stalk per BDV per Season.
season
uint32
The current Season at the time of the change.
token
address
The dewhitelisted token address.
depositId
uint256
Deposit ID to get the URI for.
string
URI of Deposit with depositId
.
string
Name of the OpenSea collection.
string
Ticker of the OpenSea collection.
depositId
uint256
Deposit ID to get the image URI for.
string
Image URI of Deposit with depositId
.
_uri
string
URI.
_id
uint256
Deposit ID.
token
address
Address of whitelist Unripe ERC20.
stem
int96
Stem of Deposit to Enroot.
amount
uint256
Amount to Enroot.
token
address
Address of whitelist Unripe ERC20.
stems
int96[]
Array of Stems of Deposits to Enroot.
amounts
uint256[]
Array of amounts (corresponding to Stems) to Enroot.
account
address
The Farmer whose Deposit was removed.
token
address
Whitelisted token address.
stem
int96
The Stem of the Deposit.
amount
uint256
The token amount of the Deposit.
bdv
uint256
The BDV associated with the Deposit.
account
address
The Farmer whose Deposits were removed.
token
address
Whitelisted token address.
stems
int96[]
Stems of the Deposits.
amounts
uint256[]
The token amounts of the Deposits, corresponding to stems
.
amount
uint256
Sum of amounts
.
bdvs
uint256[]
The BDVs associated with the Deposits, corresponding to stems
.
|
| Address of the account to migrate. |
|
| A Farmer's address. |
| Balance of Seeds for an unmigrated Farmer. |
|
| Address of Farmer. |
| Grown Stalk balance for |
|
| Address of Farmer. |
|
| Whitelisted token address to get Deposit for. |
|
| Season of the Deposit in legacy storage. |
| Amount of |
| BDV of the Deposit in legacy storage. |
|
| Farmer to get the Withdrawal for. |
|
| Token address of the Withdrawal. |
|
| Season of the Withdrawal. |
| Amount of |
|
| The Withdrawn token address. |
| Total amount of Withdrawn |
|
| Number of tokens to get the BDV for. |
| The total BDV of |
|
| Number of tokens to get the BDV for. |
| The total BDV of |
|
| The whitelisted token address. |
|
| The number of tokens. |
| The total BDV of |
|
| Address to increase approval for. |
|
| Address of ERC20. |
|
| Additional approval value to be given. |
| If the allowance increase was successful. |
|
| Address to decrease approval for. |
|
| Address of ERC20. |
|
| Amount of approval value to be removed. |
| Success. |
|
| Owner of the Deposit. |
|
| Address to permit. |
|
| Array of ERC20s to permit. |
|
| Array of amount (corresponding to |
|
| Expiration of signature (Unix time). |
|
| Recovery ID. |
|
| ECDSA signature output. |
|
| ECDSA signature output. |
|
| Owner of the Deposit. |
|
| Address to permit. |
|
| ERC20 to permit. |
|
| Amount of |
|
| Expiration of signature (Unix time). |
|
| Recovery ID. |
|
| ECDSA signature output. |
|
| ECDSA signature output. |
|
| Address to approve spending for. |
|
| Whether or not to approve. |
|
| Owner of the Deposit. |
| Current nonce for Deposit permits. |
| The domain separator for the current chain. |
|
| Owner of the Deposit. |
|
| The address that can spend the Deposit. |
|
| The token Deposit that |
| The |
|
| Owner of the Deposit. |
|
| Spender of the Deposit. |
| True if |
|
| Owner of the Deposit. |
|
| Spender of the Deposit. |
|
| Deposit token that can be spent. |
|
| Amount of the Deposit token that can be spent. |
|
| Owner of the Deposit. |
|
| Spender of the Deposit. |
|
| Whether or not the Deposit was approved. |
|
| Address of the account to migrate. |
|
| Array of whitelisted token addresses to migrate. |
|
| The Seasons for the Deposits. |
|
| The amounts of those Deposits which are to be migrated. |
|
| Discrepancy between the calculated Stalk and the actual Stalk the account has. |
|
| Discrepancy between the calculated Seeds and the actual Seeds the account has. |
|
| The Merkle proof that confirms |
|
| Number of tokens to get the BDV for. |
| The total BDV of |
|
| Number of tokens to get the BDV for. |
| The total BDV of |
|
| Address to be given approval. |
|
| Address of ERC20. |
|
| Amount to be approved. |
|
| Address of whitelisted token. |
|
| Season of Withdrawal to claim. |
|
|
|
| Address of whitelisted token. |
|
| Array of Seasons to claim. |
|
|
The balance to transfer claimed assets to; see .
The balance to transfer claimed assets to; see .