Contract Info
All calculation functions are
pure — they don’t read or modify state. You can call them off-chain for gas-free price quotes.Functions
calculateBuyReturnWithParams
Calculate how many tokens you get for a given KAS amount.function calculateBuyReturnWithParams(
uint256 kasIn,
uint256 tokenReserves,
uint256 kasReserves,
uint256 vToken,
uint256 vKas
) external pure returns (uint256 tokensOut)
| Parameter | Type | Description |
|---|---|---|
kasIn | uint256 | KAS amount to spend (wei) |
tokenReserves | uint256 | Current token reserves from getTokenInfo() |
kasReserves | uint256 | Current KAS reserves from getTokenInfo() |
vToken | uint256 | Virtual token from getTokenParamVersion() |
vKas | uint256 | Virtual KAS from getTokenParamVersion() |
calculateSellReturnWithParams
Calculate how much KAS you get for selling tokens.function calculateSellReturnWithParams(
uint256 tokensIn,
uint256 tokenReserves,
uint256 kasReserves,
uint256 vToken,
uint256 vKas
) external pure returns (uint256 kasOut)
| Parameter | Type | Description |
|---|---|---|
tokensIn | uint256 | Token amount to sell (wei) |
tokenReserves | uint256 | Current token reserves from getTokenInfo() |
kasReserves | uint256 | Current KAS reserves from getTokenInfo() |
vToken | uint256 | Virtual token from getTokenParamVersion() |
vKas | uint256 | Virtual KAS from getTokenParamVersion() |
calculateBuyCostWithParams
Calculate how much KAS you need to get a desired amount of tokens.function calculateBuyCostWithParams(
uint256 tokensOut,
uint256 tokenReserves,
uint256 kasReserves,
uint256 vToken,
uint256 vKas
) external pure returns (uint256 kasIn)
| Parameter | Type | Description |
|---|---|---|
tokensOut | uint256 | Desired token amount (wei) |
tokenReserves | uint256 | Current token reserves from getTokenInfo() |
kasReserves | uint256 | Current KAS reserves from getTokenInfo() |
vToken | uint256 | Virtual token from getTokenParamVersion() |
vKas | uint256 | Virtual KAS from getTokenParamVersion() |
getCurrentPrice
Get the current spot price.function getCurrentPrice(
uint256 tokenReserves,
uint256 kasReserves
) external view returns (uint256 price)
virtualToken / virtualKas
function virtualToken() external view returns (uint256)
function virtualKas() external view returns (uint256)
getTokenParamVersion().
curveType
function curveType() external view returns (uint256)
Full ABI (JSON)
BondingCurve ABI JSON
BondingCurve ABI JSON
[
{
"inputs": [{"internalType": "uint256", "name": "kasIn", "type": "uint256"}, {"internalType": "uint256", "name": "tokenReserves", "type": "uint256"}, {"internalType": "uint256", "name": "kasReserves", "type": "uint256"}, {"internalType": "uint256", "name": "vToken", "type": "uint256"}, {"internalType": "uint256", "name": "vKas", "type": "uint256"}],
"name": "calculateBuyReturnWithParams",
"outputs": [{"internalType": "uint256", "name": "tokensOut", "type": "uint256"}],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [{"internalType": "uint256", "name": "tokensOut", "type": "uint256"}, {"internalType": "uint256", "name": "tokenReserves", "type": "uint256"}, {"internalType": "uint256", "name": "kasReserves", "type": "uint256"}, {"internalType": "uint256", "name": "vToken", "type": "uint256"}, {"internalType": "uint256", "name": "vKas", "type": "uint256"}],
"name": "calculateBuyCostWithParams",
"outputs": [{"internalType": "uint256", "name": "kasIn", "type": "uint256"}],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [{"internalType": "uint256", "name": "tokensIn", "type": "uint256"}, {"internalType": "uint256", "name": "tokenReserves", "type": "uint256"}, {"internalType": "uint256", "name": "kasReserves", "type": "uint256"}, {"internalType": "uint256", "name": "vToken", "type": "uint256"}, {"internalType": "uint256", "name": "vKas", "type": "uint256"}],
"name": "calculateSellReturnWithParams",
"outputs": [{"internalType": "uint256", "name": "kasOut", "type": "uint256"}],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [{"internalType": "uint256", "name": "tokenReserves", "type": "uint256"}, {"internalType": "uint256", "name": "kasReserves", "type": "uint256"}],
"name": "getCurrentPrice",
"outputs": [{"internalType": "uint256", "name": "price", "type": "uint256"}],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "virtualToken",
"outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "virtualKas",
"outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "curveType",
"outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}],
"stateMutability": "view",
"type": "function"
}
]