ABIs

Pool Factory

[
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_index",
        "type": "uint256"
      }
    ],
    "name": "getPool",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function",
    "constant": true
  },
  {
    "inputs": [],
    "name": "getLastPoolIndex",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function",
    "constant": true
  },
  {
    "inputs": [],
    "name": "getAllPools",
    "outputs": [
      {
        "internalType": "address[]",
        "name": "",
        "type": "address[]"
      }
    ],
    "stateMutability": "view",
    "type": "function",
    "constant": true
  }
]

Pool

[
  {
    "inputs": [],
    "name": "version",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "pure",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "getPoolSharePrice",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_derivativeIndex",
        "type": "uint256"
      }
    ],
    "name": "getDerivativePrice",
    "outputs": [
      {
        "components": [
          {
            "internalType": "int256",
            "name": "primary",
            "type": "int256"
          },
          {
            "internalType": "int256",
            "name": "complement",
            "type": "int256"
          }
        ],
        "internalType": "struct IPoolTypes.PricePair",
        "name": "",
        "type": "tuple"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "user",
        "type": "address"
      }
    ],
    "name": "getPortfolioBy",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "user",
        "type": "address"
      }
    ],
    "name": "checkPortfolioOf",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_portfolioId",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_derivativeIndex",
        "type": "uint256"
      }
    ],
    "name": "derivativeBalanceOf",
    "outputs": [
      {
        "components": [
          {
            "internalType": "uint256",
            "name": "primary",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "complement",
            "type": "uint256"
          }
        ],
        "internalType": "struct IPoolTypes.Pair",
        "name": "",
        "type": "tuple"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_portfolioId",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_derivativeIndex",
        "type": "uint256"
      }
    ],
    "name": "derivativeVintageIndexOf",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_owner",
        "type": "address"
      }
    ],
    "name": "releasedLiquidityOf",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "getDerivatives",
    "outputs": [
      {
        "components": [
          {
            "components": [
              {
                "internalType": "contract IDerivativeSpecification",
                "name": "specification",
                "type": "address"
              },
              {
                "internalType": "address[]",
                "name": "underlyingOracles",
                "type": "address[]"
              },
              {
                "internalType": "address[]",
                "name": "underlyingOracleIterators",
                "type": "address[]"
              },
              {
                "internalType": "address",
                "name": "collateralToken",
                "type": "address"
              },
              {
                "internalType": "contract ICollateralSplit",
                "name": "collateralSplit",
                "type": "address"
              }
            ],
            "internalType": "struct IPoolTypes.DerivativeConfig",
            "name": "config",
            "type": "tuple"
          },
          {
            "internalType": "address",
            "name": "terms",
            "type": "address"
          },
          {
            "components": [
              {
                "internalType": "enum IPoolTypes.Mode",
                "name": "mode",
                "type": "uint8"
              },
              {
                "internalType": "enum IPoolTypes.Side",
                "name": "side",
                "type": "uint8"
              },
              {
                "internalType": "uint256",
                "name": "settlementDelta",
                "type": "uint256"
              },
              {
                "internalType": "uint256",
                "name": "strikePosition",
                "type": "uint256"
              }
            ],
            "internalType": "struct IPoolTypes.Sequence",
            "name": "sequence",
            "type": "tuple"
          },
          {
            "components": [
              {
                "internalType": "uint256",
                "name": "priceReference",
                "type": "uint256"
              },
              {
                "internalType": "uint256",
                "name": "settlement",
                "type": "uint256"
              },
              {
                "internalType": "uint256",
                "name": "denomination",
                "type": "uint256"
              }
            ],
            "internalType": "struct IPoolTypes.DerivativeParams",
            "name": "params",
            "type": "tuple"
          }
        ],
        "internalType": "struct IPoolTypes.Derivative[]",
        "name": "",
        "type": "tuple[]"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_derivativeIndex",
        "type": "uint256"
      }
    ],
    "name": "getDerivativeVintages",
    "outputs": [
      {
        "components": [
          {
            "components": [
              {
                "internalType": "uint256",
                "name": "primary",
                "type": "uint256"
              },
              {
                "internalType": "uint256",
                "name": "complement",
                "type": "uint256"
              }
            ],
            "internalType": "struct IPoolTypes.Pair",
            "name": "rollRate",
            "type": "tuple"
          },
          {
            "components": [
              {
                "internalType": "uint256",
                "name": "primary",
                "type": "uint256"
              },
              {
                "internalType": "uint256",
                "name": "complement",
                "type": "uint256"
              }
            ],
            "internalType": "struct IPoolTypes.Pair",
            "name": "releaseRate",
            "type": "tuple"
          },
          {
            "internalType": "uint256",
            "name": "priceReference",
            "type": "uint256"
          }
        ],
        "internalType": "struct IPoolTypes.Vintage[]",
        "name": "",
        "type": "tuple[]"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "getConfig",
    "outputs": [
      {
        "components": [
          {
            "internalType": "uint256",
            "name": "minExitAmount",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "protocolFee",
            "type": "uint256"
          },
          {
            "internalType": "address",
            "name": "feeWallet",
            "type": "address"
          },
          {
            "internalType": "contract IERC20",
            "name": "collateralToken",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "collateralOracle",
            "type": "address"
          },
          {
            "internalType": "contract IOracleIterator",
            "name": "collateralOracleIterator",
            "type": "address"
          },
          {
            "internalType": "contract IVolatilityEvolution",
            "name": "volatilityEvolution",
            "type": "address"
          },
          {
            "internalType": "contract IUnderlyingLiquidityValuer",
            "name": "underlyingLiquidityValuer",
            "type": "address"
          },
          {
            "internalType": "contract IExposure",
            "name": "exposure",
            "type": "address"
          },
          {
            "internalType": "contract IERC20MintedBurnable",
            "name": "poolShare",
            "type": "address"
          },
          {
            "internalType": "contract ITraderPortfolio",
            "name": "traderPortfolio",
            "type": "address"
          },
          {
            "internalType": "uint8",
            "name": "collateralDecimals",
            "type": "uint8"
          }
        ],
        "internalType": "struct IPoolConfigTypes.PoolConfig",
        "name": "",
        "type": "tuple"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_collateralAmount",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_minPoolShareAmountOut",
        "type": "uint256"
      },
      {
        "components": [
          {
            "internalType": "uint256",
            "name": "derivativeIndex",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "collateralRoundHint",
            "type": "uint256"
          },
          {
            "internalType": "uint256[]",
            "name": "underlyingRoundHintsIndexed",
            "type": "uint256[]"
          },
          {
            "internalType": "uint256",
            "name": "volatilityRoundHint",
            "type": "uint256"
          }
        ],
        "internalType": "struct IPoolTypes.RolloverHints[]",
        "name": "_rolloverHintsList",
        "type": "tuple[]"
      }
    ],
    "name": "join",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_collateralAmount",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_minPoolShareAmountOut",
        "type": "uint256"
      }
    ],
    "name": "joinSimple",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_poolShareAmountIn",
        "type": "uint256"
      },
      {
        "components": [
          {
            "internalType": "uint256",
            "name": "derivativeIndex",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "collateralRoundHint",
            "type": "uint256"
          },
          {
            "internalType": "uint256[]",
            "name": "underlyingRoundHintsIndexed",
            "type": "uint256[]"
          },
          {
            "internalType": "uint256",
            "name": "volatilityRoundHint",
            "type": "uint256"
          }
        ],
        "internalType": "struct IPoolTypes.RolloverHints[]",
        "name": "_rolloverHintsList",
        "type": "tuple[]"
      }
    ],
    "name": "exit",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_poolShareAmountIn",
        "type": "uint256"
      }
    ],
    "name": "exitSimple",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_collateralAmount",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_derivativeIndex",
        "type": "uint256"
      },
      {
        "internalType": "enum IPoolTypes.Side",
        "name": "_side",
        "type": "uint8"
      },
      {
        "internalType": "uint256",
        "name": "_minDerivativeAmount",
        "type": "uint256"
      },
      {
        "internalType": "bool",
        "name": "redeemable",
        "type": "bool"
      },
      {
        "components": [
          {
            "internalType": "uint256",
            "name": "derivativeIndex",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "collateralRoundHint",
            "type": "uint256"
          },
          {
            "internalType": "uint256[]",
            "name": "underlyingRoundHintsIndexed",
            "type": "uint256[]"
          },
          {
            "internalType": "uint256",
            "name": "volatilityRoundHint",
            "type": "uint256"
          }
        ],
        "internalType": "struct IPoolTypes.RolloverHints[]",
        "name": "_rolloverHintsList",
        "type": "tuple[]"
      }
    ],
    "name": "buy",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_derivativeAmount",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_derivativeIndex",
        "type": "uint256"
      },
      {
        "internalType": "enum IPoolTypes.Side",
        "name": "_side",
        "type": "uint8"
      },
      {
        "internalType": "uint256",
        "name": "_minCollateralAmount",
        "type": "uint256"
      },
      {
        "internalType": "bool",
        "name": "redeemable",
        "type": "bool"
      },
      {
        "components": [
          {
            "internalType": "uint256",
            "name": "derivativeIndex",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "collateralRoundHint",
            "type": "uint256"
          },
          {
            "internalType": "uint256[]",
            "name": "underlyingRoundHintsIndexed",
            "type": "uint256[]"
          },
          {
            "internalType": "uint256",
            "name": "volatilityRoundHint",
            "type": "uint256"
          }
        ],
        "internalType": "struct IPoolTypes.RolloverHints[]",
        "name": "_rolloverHintsList",
        "type": "tuple[]"
      }
    ],
    "name": "sell",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_pointInTime",
        "type": "uint256"
      }
    ],
    "name": "getOldestDerivativeForRollover",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_pointInTime",
        "type": "uint256"
      },
      {
        "components": [
          {
            "internalType": "uint256",
            "name": "derivativeIndex",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "collateralRoundHint",
            "type": "uint256"
          },
          {
            "internalType": "uint256[]",
            "name": "underlyingRoundHintsIndexed",
            "type": "uint256[]"
          },
          {
            "internalType": "uint256",
            "name": "volatilityRoundHint",
            "type": "uint256"
          }
        ],
        "internalType": "struct IPoolTypes.RolloverHints[]",
        "name": "_rolloverHintsList",
        "type": "tuple[]"
      }
    ],
    "name": "rolloverOldestDerivativeBatch",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_collateralAmount",
        "type": "uint256"
      }
    ],
    "name": "withdrawReleasedLiquidity",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_recipient",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "_amount",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_derivativeIndex",
        "type": "uint256"
      },
      {
        "internalType": "enum IPoolTypes.Side",
        "name": "_side",
        "type": "uint8"
      },
      {
        "components": [
          {
            "internalType": "uint256",
            "name": "derivativeIndex",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "collateralRoundHint",
            "type": "uint256"
          },
          {
            "internalType": "uint256[]",
            "name": "underlyingRoundHintsIndexed",
            "type": "uint256[]"
          },
          {
            "internalType": "uint256",
            "name": "volatilityRoundHint",
            "type": "uint256"
          }
        ],
        "internalType": "struct IPoolTypes.RolloverHints[]",
        "name": "_rolloverHintsList",
        "type": "tuple[]"
      }
    ],
    "name": "moveDerivative",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
]

Last updated