Request form
Cookbook may introduce a token in the future. Share and contribute to be eligible for future airdrops.
close icon
relevant tag icon
Superfluid Super Token
copy icon
Superfluid
• version 1.0.0
Agreement
ERC20
Token
Promise
Contract
Deployable

Superfluid Super Token

The Super Token is our extension of the ERC20 token standard that plugs into the Superfluid Protocol to include powerful new value transfer functionalities such as streams or instant distributions. We refer to these new value transfer functionalities as Super Agreements. Super Tokens come in two forms: wrapper and custom.

*Visit desktop site to download or deploy

Version

1.0.0

Creator

Superfluid

Recent Use

🍞 0x2F4c downloaded

Last Publish

11/26/2022
Any contract you deploy is yours.
Fully owned and controlled by your wallet.
Documentation
Source Code
allowance(address,address) :
See {IERC20-allowance}.
approve(address,uint256) :
See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.
authorizeOperator(address) :
Authorizers a new operator.
balanceOf(address) :
See {IERC20-balanceOf}.
burn(uint256,bytes) :
Destroys `amount` tokens from the caller. See {ERC20-_burn}.
castrate() :
allows to mark logic contracts as initialized in order to reduce the attack surface
createAgreement(bytes32,bytes32[]) :
Create a new agreement
decimals() :
Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.
decreaseAllowance(address,uint256) :
Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.
defaultOperators() :
Returns
downgrade(uint256) :
Downgrade SuperToken to ERC20
getAccountActiveAgreements(address) :
Retrieves the active agreements for an address.
getAgreementData(address,bytes32,uint256) :
Retrieves an agreement's data.
getAgreementStateSlot(address,address,uint256,uint256) :
Retrieves an agreement's state slot.
getCodeAddress() :
Retrieves the code address.
getHost() :
Retrieves the host.
getUnderlyingToken() :
Retrieves the underlying token.
granularity() :
Returns the smallest part of the token that is not divisible. This means all token operations (creation, movement and destruction) must have amounts that are a multiple of this number.
increaseAllowance(address,uint256) :
Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.
initialize(address,uint8,string,string) :
Initializes the contract
isAccountCritical(address,uint256) :
Check if account is critical, a critical account is when availableBalance < 0
isAccountCriticalNow(address) :
Check if account is critical, a critical account is when availableBalance < 0
isAccountSolvent(address,uint256) :
Check if account is solvent
isAccountSolventNow(address) :
Check if account is solvent
isOperatorFor(address,address) :
Check if an account is an operator for an address
makeLiquidationPayoutsV2(bytes32,bytes,address,bool,address,uint256,int256) :
Make liquidation payouts
name() :
Returns the name of the token.
operationApprove(address,address,uint256) :
Perform ERC20 approve by host contract.
operationDowngrade(address,uint256) :
Downgrade ERC20 to SuperToken by host contract.
operationTransferFrom(address,address,address,uint256) :
Perform ERC20 transfer from by host contract.
operationUpgrade(address,uint256) :
Upgrade ERC20 to SuperToken by host contract.
operatorBurn(address,uint256,bytes,bytes) :
Destroys `amount` tokens from `account`, reducing the total supply.
operatorSend(address,address,uint256,bytes,bytes) :
Moves `amount` tokens from `sender` to `recipient`.
proxiableUUID() :
Proxiable UUID marker function, this would help to avoid wrong logic contract to be used for upgrading.
realtimeBalanceOf(address,uint256) :
Realtime Balance
realtimeBalanceOfNow(address) :
Realtime Balance
revokeOperator(address) :
Revokes operator status for an address.
selfApproveFor(address,address,uint256) :
Give `spender`, `amount` allowance to spend the tokens of `account`.
selfBurn(address,uint256,bytes) :
Burn existing tokens for the account
selfMint(address,uint256,bytes) :
Mint tokens for the account
selfTransferFrom(address,address,address,uint256) :
Transfer `amount` tokens from the `sender` to `recipient`.
send(address,uint256,bytes) :
Sends tokens to an address.
settleBalance(address,int256) :
Settle balance from an account by the agreement
symbol() :
Returns the symbol of the token, usually a shorter version of the name.
terminateAgreement(bytes32,uint256) :
Close the agreement
totalSupply() :
See {IERC20-totalSupply}.
transfer(address,uint256) :
See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.
transferAll(address) :
See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.
transferFrom(address,address,uint256) :
See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.
updateAgreementData(bytes32,bytes32[]) :
Create a new agreement
updateAgreementStateSlot(address,uint256,bytes32[]) :
Update agreement state slot
updateCode(address) :
Updates code.
upgrade(uint256) :
Upgrade ERC20 to SuperToken.
upgradeTo(address,uint256,bytes) :
Upgrade ERC20 to SuperToken.

Get Cookin'
share iconShare

copy iconNo-Code Deploy
copy iconDownload Source
copy iconnpx cookbookdev i superfluid-super-token
copy icon

Bytecode

Download

Recent Use

🍞 0x2F4c downloaded

Last Publish

11/26/2022

Version

1.0.0

Creator

Superfluid

Cookbook is free.
Any contract you deploy is yours.
Your contract is owned and controlled by you.