Skip to content

Commit

Permalink
tUSDC_snapshot fix gamma calc
Browse files Browse the repository at this point in the history
  • Loading branch information
belbix committed Jan 15, 2024
1 parent b30d5a2 commit 7f9c9fb
Show file tree
Hide file tree
Showing 4 changed files with 1,087 additions and 77 deletions.
209 changes: 209 additions & 0 deletions contracts/third_party/gamma/IHypervisor.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,209 @@
// SPDX-License-Identifier: UNLICENSED

pragma solidity >=0.7.0 <0.9.0;

interface IHypervisor {
event Approval(
address indexed _owner,
address indexed spender,
uint256 value
);
event Deposit(
address indexed sender,
address indexed to,
uint256 shares,
uint256 amount0,
uint256 amount1
);
event Rebalance(
int24 tick,
uint256 totalAmount0,
uint256 totalAmount1,
uint256 feeAmount0,
uint256 feeAmount1,
uint256 totalSupply
);
event SetFee(uint8 newFee);
event Transfer(address indexed from, address indexed to, uint256 value);
event Withdraw(
address indexed sender,
address indexed to,
uint256 shares,
uint256 amount0,
uint256 amount1
);
event ZeroBurn(uint8 fee, uint256 fees0, uint256 fees1);

function DOMAIN_SEPARATOR() external view returns (bytes32);

function PRECISION() external view returns (uint256);

function addLiquidity(
int24 tickLower,
int24 tickUpper,
uint256 amount0,
uint256 amount1,
uint256[2] memory inMin
) external;

function allowance(address _owner, address spender)
external
view
returns (uint256);

function approve(address spender, uint256 amount) external returns (bool);

function balanceOf(address account) external view returns (uint256);

function baseLower() external view returns (int24);

function baseUpper() external view returns (int24);

function compound(uint256[4] memory inMin)
external
returns (
uint128 baseToken0Owed,
uint128 baseToken1Owed,
uint128 limitToken0Owed,
uint128 limitToken1Owed
);

function currentTick() external view returns (int24 tick);

function decimals() external view returns (uint8);

function decreaseAllowance(address spender, uint256 subtractedValue)
external
returns (bool);

function deposit(
uint256 deposit0,
uint256 deposit1,
address to,
address from,
uint256[4] memory inMin
) external returns (uint256 shares);

function deposit0Max() external view returns (uint256);

function deposit1Max() external view returns (uint256);

function directDeposit() external view returns (bool);

function fee() external view returns (uint8);

function feeRecipient() external view returns (address);

function getBasePosition()
external
view
returns (
uint128 liquidity,
uint256 amount0,
uint256 amount1
);

function getLimitPosition()
external
view
returns (
uint128 liquidity,
uint256 amount0,
uint256 amount1
);

function getTotalAmounts()
external
view
returns (uint256 total0, uint256 total1);

function increaseAllowance(address spender, uint256 addedValue)
external
returns (bool);

function limitLower() external view returns (int24);

function limitUpper() external view returns (int24);

function maxTotalSupply() external view returns (uint256);

function name() external view returns (string memory);

function nonces(address _owner) external view returns (uint256);

function owner() external view returns (address);

function permit(
address _owner,
address spender,
uint256 value,
uint256 deadline,
uint8 v,
bytes32 r,
bytes32 s
) external;

function pool() external view returns (address);

function pullLiquidity(
int24 tickLower,
int24 tickUpper,
uint128 shares,
uint256[2] memory amountMin
) external returns (uint256 amount0, uint256 amount1);

function rebalance(
int24 _baseLower,
int24 _baseUpper,
int24 _limitLower,
int24 _limitUpper,
address _feeRecipient,
uint256[4] memory inMin,
uint256[4] memory outMin
) external;

function removeWhitelisted() external;

function setFee(uint8 newFee) external;

function setWhitelist(address _address) external;

function symbol() external view returns (string memory);

function tickSpacing() external view returns (int24);

function toggleDirectDeposit() external;

function token0() external view returns (address);

function token1() external view returns (address);

function totalSupply() external view returns (uint256);

function transfer(address recipient, uint256 amount)
external
returns (bool);

function transferFrom(
address sender,
address recipient,
uint256 amount
) external returns (bool);

function transferOwnership(address newOwner) external;

function uniswapV3MintCallback(
uint256 amount0,
uint256 amount1,
bytes memory data
) external;

function whitelistedAddress() external view returns (address);

function withdraw(
uint256 shares,
address to,
address from,
uint256[4] memory minAmounts
) external returns (uint256 amount0, uint256 amount1);
}
Loading

0 comments on commit 7f9c9fb

Please sign in to comment.