Request form
Contango V1
  • DeFi
  • Perps
  • Audited
Docs
Source
ChefGPT

Bringing expirables to DeFi

DaiAbstract.sol
AccessControlUpgradeable.sol
IAccessControlUpgradeable.sol
draft-IERC1822Upgradeable.sol
IBeaconUpgradeable.sol
ERC1967UpgradeUpgradeable.sol
Initializable.sol
UUPSUpgradeable.sol
PausableUpgradeable.sol
ReentrancyGuardUpgradeable.sol
AddressUpgradeable.sol
ContextUpgradeable.sol
ERC165Upgradeable.sol
IERC165Upgradeable.sol
MathUpgradeable.sol
StorageSlotUpgradeable.sol
StringsUpgradeable.sol
AccessControl.sol
IAccessControl.sol
IERC165.sol
IERC4906.sol
IERC721.sol
draft-IERC20Permit.sol
IERC20Permit.sol
IERC20.sol
SafeERC20.sol
ERC721.sol
ERC721URIStorage.sol
IERC721Metadata.sol
IERC721.sol
IERC721Receiver.sol
Address.sol
Context.sol
ERC165.sol
IERC165.sol
Math.sol
SafeCast.sol
SignedMath.sol
StorageSlot.sol
Strings.sol
ERC20.sol
WETH.sol
FixedPointMathLib.sol
SafeTransferLib.sol
IUniswapV3SwapCallback.sol
IUniswapV3Pool.sol
IUniswapV3PoolActions.sol
IUniswapV3PoolDerivedState.sol
IUniswapV3PoolEvents.sol
IUniswapV3PoolImmutables.sol
IUniswapV3PoolOwnerActions.sol
IUniswapV3PoolState.sol
IQuoter.sol
DataTypes.sol
ICauldron.sol
IERC5095.sol
IFYToken.sol
IJoin.sol
ILadle.sol
IOracle.sol
IContangoLadle.sol
IContangoWitchListener.sol
Router.sol
IWETH9.sol
ERC20.sol
IERC20.sol
IERC20Metadata.sol
IERC2612.sol
IsContract.sol
RevertMsgExtractor.sol
IMaturingToken.sol
IPool.sol
Batchable.sol
PermitForwarder.sol
WethHandler.sol
ContangoPositionNFT.sol
Balancer.sol
Uniswap.sol
ExecutionProcessorLib.sol
IContango.sol
IContangoAdmin.sol
IContangoOracle.sol
IContangoQuoter.sol
IContangoView.sol
IFeeModel.sol
CodecLib.sol
ConfigStorageLib.sol
DataTypes.sol
Errors.sol
MathLib.sol
PositionLib.sol
ProxyLib.sol
QuoterDataTypes.sol
QuoterLib.sol
StorageConstants.sol
StorageDataTypes.sol
StorageLib.sol
TransferLib.sol
ContangoBase.sol
SlippageLib.sol
UniswapV3Handler.sol
ContangoYield.sol
ContangoYieldQuoter.sol
IContangoYield.sol
IContangoYieldAdmin.sol
Yield.sol
YieldQuoterUtils.sol
YieldStorageLib.sol
YieldUtils.sol
FixedFeeModel.sol
CashSettler.sol
Balanceless.sol

TVL

$4.07M

4 downloads

Chains

Authors

Contango V1
  • DeFi
  • Perps
  • Audited
Info
Source
ChefGPT
Expand
Share

Get Cookin'

4 downloads

Chains

Authors

Contango Protocol

Contango is bringing expirables to DeFi. Buy or sell assets at a set price and date in the future without order books or liquidity pools. When a trader opens a position, the protocol borrows on the fixed-rate market, swaps on the spot market, then lends back on the fixed-rate market. Contango offers physical delivery and a minimal price impact for larger trades. Join us at contango.xyz.

Smart Contracts

The smart contracts use an UUSP proxy as entry point, and rely on external libraries to split code/responsibilities whilst keeping the execution context under a single address. At the moment there's a single implementation of underlying Spot (Uniswap V3), and a single implementation of fixed rate market (Yield Protocol)

Warning

This code is provided as-is, with no guarantees of any kind.

Pre Requisites

Before running any command, make sure to install dependencies:

$ npm i
$ forge install

Lint

$ npm run lint

Coverage

Generate the code coverage report:

$ npm run coverage

Test

Be sure to have an .env file located at root (or to have the following ENV variables) MAINNET_URL=<your rpc url> ARBITRUM_URL=<your rpc url>

Compile and test the smart contracts with Foundry:

$ npm run test

Bug Bounty

Contango is not offering bounties for bugs disclosed whilst our audits are in place, but if you wish to report a bug, please do so at security@contango.xyz. Please include full details of the vulnerability and steps/code to reproduce. We ask that you permit us time to review and remediate any findings before public disclosure.

License

Unless the opposite is explicitly stated on the file header, all files in this repository are released under the BSL 1.1 license.

Bringing expirables to DeFi
DaiAbstract.sol
AccessControlUpgradeable.sol
IAccessControlUpgradeable.sol
draft-IERC1822Upgradeable.sol
IBeaconUpgradeable.sol
ERC1967UpgradeUpgradeable.sol
Initializable.sol
UUPSUpgradeable.sol
PausableUpgradeable.sol
ReentrancyGuardUpgradeable.sol
AddressUpgradeable.sol
ContextUpgradeable.sol
ERC165Upgradeable.sol
IERC165Upgradeable.sol
MathUpgradeable.sol
StorageSlotUpgradeable.sol
StringsUpgradeable.sol
AccessControl.sol
IAccessControl.sol
IERC165.sol
IERC4906.sol
IERC721.sol
draft-IERC20Permit.sol
IERC20Permit.sol
IERC20.sol
SafeERC20.sol
ERC721.sol
ERC721URIStorage.sol
IERC721Metadata.sol
IERC721.sol
IERC721Receiver.sol
Address.sol
Context.sol
ERC165.sol
IERC165.sol
Math.sol
SafeCast.sol
SignedMath.sol
StorageSlot.sol
Strings.sol
ERC20.sol
WETH.sol
FixedPointMathLib.sol
SafeTransferLib.sol
IUniswapV3SwapCallback.sol
IUniswapV3Pool.sol
IUniswapV3PoolActions.sol
IUniswapV3PoolDerivedState.sol
IUniswapV3PoolEvents.sol
IUniswapV3PoolImmutables.sol
IUniswapV3PoolOwnerActions.sol
IUniswapV3PoolState.sol
IQuoter.sol
DataTypes.sol
ICauldron.sol
IERC5095.sol
IFYToken.sol
IJoin.sol
ILadle.sol
IOracle.sol
IContangoLadle.sol
IContangoWitchListener.sol
Router.sol
IWETH9.sol
ERC20.sol
IERC20.sol
IERC20Metadata.sol
IERC2612.sol
IsContract.sol
RevertMsgExtractor.sol
IMaturingToken.sol
IPool.sol
Batchable.sol
PermitForwarder.sol
WethHandler.sol
ContangoPositionNFT.sol
Balancer.sol
Uniswap.sol
ExecutionProcessorLib.sol
IContango.sol
IContangoAdmin.sol
IContangoOracle.sol
IContangoQuoter.sol
IContangoView.sol
IFeeModel.sol
CodecLib.sol
ConfigStorageLib.sol
DataTypes.sol
Errors.sol
MathLib.sol
PositionLib.sol
ProxyLib.sol
QuoterDataTypes.sol
QuoterLib.sol
StorageConstants.sol
StorageDataTypes.sol
StorageLib.sol
TransferLib.sol
ContangoBase.sol
SlippageLib.sol
UniswapV3Handler.sol
ContangoYield.sol
ContangoYieldQuoter.sol
IContangoYield.sol
IContangoYieldAdmin.sol
Yield.sol
YieldQuoterUtils.sol
YieldStorageLib.sol
YieldUtils.sol
FixedFeeModel.sol
CashSettler.sol
Balanceless.sol