CurveCryptoViews
function get_dx_ex_fees(contract ICryptoSwap cryptoSwap, uint256 i, uint256 j, uint256 dy) external view returns (uint256)
Get the amount of coin i one would have to pay for receiving dy of coin j (before any trading fees are charged)
Does not get the identical estimate (i.e. get_dy(get_dx(100))) ~= 100) Question: Why is that the case? Answer: Newton_y stops when the converge limit is reached: https://github.com/curvefi/curve-crypto-contract/blob/d7d04cd9ae038970e40be850df99de8c1ff7241b/contracts/two/CurveCryptoSwap2.vy#L355Should be used for external contracts to get a fairly precise "estimate" of the amount of tokens one has to pay to receive dy tokenssimplified version where we use that PRECISIONS = [1, 1]
Name | Type | Description |
---|---|---|
cryptoSwap | contract ICryptoSwap | Curve Cryptoswap contract |
i | uint256 | Index of the coin to sell |
j | uint256 | Index of the coin to buy |
dy | uint256 | Amount to tokens to receive |
Name | Type | Description |
---|---|---|
_0 | uint256 | Amount of tokens to sell |
function get_dy(contract ICryptoSwap cryptoSwap, uint256 i, uint256 j, uint256 dx) external view returns (uint256)
Get the amount of coin j one would receive for swapping dx of coin i
solidity wrapper around CryptoSwap's get_dy
Name | Type | Description |
---|---|---|
cryptoSwap | contract ICryptoSwap | Curve Cryptoswap contract |
i | uint256 | Index of the coin to sell |
j | uint256 | Index of the coin to buy |
dx | uint256 | Amount to sell |
Name | Type | Description |
---|---|---|
_0 | uint256 | Amount of tokens to received (in j) |
function get_dy_fees(contract ICryptoSwap cryptoSwap, uint256 i, uint256 j, uint256 dx) external view returns (uint256)
Get the amount of coin j one would have to pay as trading fees for swapping dx of coin i
Name | Type | Description |
---|---|---|
cryptoSwap | contract ICryptoSwap | Curve Cryptoswap contract |
i | uint256 | Index of the coin to sell |
j | uint256 | Index of the coin to buy |
dx | uint256 | Amount to sell |
Name | Type | Description |
---|---|---|
_0 | uint256 | Amount of token j paid as trading fees. 18 decimals |
function get_dy_fees_perc(contract ICryptoSwap cryptoSwap, uint256 i, uint256 j, uint256 dx) external view returns (uint256)
Get the share of coin j one would have to pay as trading fees for swapping dx of coin i
Name | Type | Description |
---|---|---|
cryptoSwap | contract ICryptoSwap | Curve Cryptoswap contract |
i | uint256 | Index of the coin to sell |
j | uint256 | Index of the coin to buy |
dx | uint256 | Amount to sell |
Name | Type | Description |
---|---|---|
_0 | uint256 | Share of token j paid as trading fees. 18 decimals |
function get_dy_no_fee_deduct(contract ICryptoSwap cryptoSwap, uint256 i, uint256 j, uint256 dx) external view returns (uint256)
Get the amount of coin j one would receive for swapping dx of coin i (excl. fees)
solidity implementation of the get_dy excluding the last last line where fees are deductedsimplified version where we use that PRECISIONS = [1, 1] https://github.com/curvefi/curve-crypto-contract/blob/d7d04cd9ae038970e40be850df99de8c1ff7241b/contracts/tricrypto/CurveCryptoViews3.vy#L40-L78
Name | Type | Description |
---|---|---|
cryptoSwap | contract ICryptoSwap | Curve Cryptoswap contract |
i | uint256 | Index of the coin to sell |
j | uint256 | Index of the coin to buy |
dx | uint256 | Amount to sell |
Name | Type | Description |
---|---|---|
_0 | uint256 | Amount of tokens to received + Any trading fees paid (in j) |
function math() external view returns (contract IMath)
Curve Math Contract
Name | Type | Description |
---|---|---|
_0 | contract IMath | undefined |
error PRBMath__MulDivOverflow(uint256 prod1, uint256 denominator)
Emitted when the result overflows uint256.
Name | Type | Description |
---|---|---|
prod1 | uint256 | undefined |
denominator | uint256 | undefined |
Last modified 7mo ago