{
  "_format": "hh-sol-artifact-1",
  "contractName": "NotionalViews",
  "sourceName": "notional-solidity-sdk/interfaces/notional/NotionalViews.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "uint16",
          "name": "currencyId",
          "type": "uint16"
        },
        {
          "internalType": "uint88",
          "name": "amountToDepositExternalPrecision",
          "type": "uint88"
        }
      ],
      "name": "calculateNTokensToMint",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "getAccount",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint40",
              "name": "nextSettleTime",
              "type": "uint40"
            },
            {
              "internalType": "bytes1",
              "name": "hasDebt",
              "type": "bytes1"
            },
            {
              "internalType": "uint8",
              "name": "assetArrayLength",
              "type": "uint8"
            },
            {
              "internalType": "uint16",
              "name": "bitmapCurrencyId",
              "type": "uint16"
            },
            {
              "internalType": "bytes18",
              "name": "activeCurrencies",
              "type": "bytes18"
            }
          ],
          "internalType": "struct AccountContext",
          "name": "accountContext",
          "type": "tuple"
        },
        {
          "components": [
            {
              "internalType": "uint256",
              "name": "currencyId",
              "type": "uint256"
            },
            {
              "internalType": "int256",
              "name": "cashBalance",
              "type": "int256"
            },
            {
              "internalType": "int256",
              "name": "nTokenBalance",
              "type": "int256"
            },
            {
              "internalType": "uint256",
              "name": "lastClaimTime",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "lastClaimIntegralSupply",
              "type": "uint256"
            }
          ],
          "internalType": "struct AccountBalance[]",
          "name": "accountBalances",
          "type": "tuple[]"
        },
        {
          "components": [
            {
              "internalType": "uint256",
              "name": "currencyId",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "maturity",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "assetType",
              "type": "uint256"
            },
            {
              "internalType": "int256",
              "name": "notional",
              "type": "int256"
            },
            {
              "internalType": "uint256",
              "name": "storageSlot",
              "type": "uint256"
            },
            {
              "internalType": "enum AssetStorageState",
              "name": "storageState",
              "type": "uint8"
            }
          ],
          "internalType": "struct PortfolioAsset[]",
          "name": "portfolio",
          "type": "tuple[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint16",
          "name": "currencyId",
          "type": "uint16"
        },
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "getAccountBalance",
      "outputs": [
        {
          "internalType": "int256",
          "name": "cashBalance",
          "type": "int256"
        },
        {
          "internalType": "int256",
          "name": "nTokenBalance",
          "type": "int256"
        },
        {
          "internalType": "uint256",
          "name": "lastClaimTime",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "getAccountContext",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint40",
              "name": "nextSettleTime",
              "type": "uint40"
            },
            {
              "internalType": "bytes1",
              "name": "hasDebt",
              "type": "bytes1"
            },
            {
              "internalType": "uint8",
              "name": "assetArrayLength",
              "type": "uint8"
            },
            {
              "internalType": "uint16",
              "name": "bitmapCurrencyId",
              "type": "uint16"
            },
            {
              "internalType": "bytes18",
              "name": "activeCurrencies",
              "type": "bytes18"
            }
          ],
          "internalType": "struct AccountContext",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "getAccountPortfolio",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint256",
              "name": "currencyId",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "maturity",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "assetType",
              "type": "uint256"
            },
            {
              "internalType": "int256",
              "name": "notional",
              "type": "int256"
            },
            {
              "internalType": "uint256",
              "name": "storageSlot",
              "type": "uint256"
            },
            {
              "internalType": "enum AssetStorageState",
              "name": "storageState",
              "type": "uint8"
            }
          ],
          "internalType": "struct PortfolioAsset[]",
          "name": "",
          "type": "tuple[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint16",
          "name": "currencyId",
          "type": "uint16"
        }
      ],
      "name": "getActiveMarkets",
      "outputs": [
        {
          "components": [
            {
              "internalType": "bytes32",
              "name": "storageSlot",
              "type": "bytes32"
            },
            {
              "internalType": "uint256",
              "name": "maturity",
              "type": "uint256"
            },
            {
              "internalType": "int256",
              "name": "totalfCash",
              "type": "int256"
            },
            {
              "internalType": "int256",
              "name": "totalAssetCash",
              "type": "int256"
            },
            {
              "internalType": "int256",
              "name": "totalLiquidity",
              "type": "int256"
            },
            {
              "internalType": "uint256",
              "name": "lastImpliedRate",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "oracleRate",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "previousTradeTime",
              "type": "uint256"
            }
          ],
          "internalType": "struct MarketParameters[]",
          "name": "",
          "type": "tuple[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint16",
          "name": "currencyId",
          "type": "uint16"
        },
        {
          "internalType": "uint32",
          "name": "blockTime",
          "type": "uint32"
        }
      ],
      "name": "getActiveMarketsAtBlockTime",
      "outputs": [
        {
          "components": [
            {
              "internalType": "bytes32",
              "name": "storageSlot",
              "type": "bytes32"
            },
            {
              "internalType": "uint256",
              "name": "maturity",
              "type": "uint256"
            },
            {
              "internalType": "int256",
              "name": "totalfCash",
              "type": "int256"
            },
            {
              "internalType": "int256",
              "name": "totalAssetCash",
              "type": "int256"
            },
            {
              "internalType": "int256",
              "name": "totalLiquidity",
              "type": "int256"
            },
            {
              "internalType": "uint256",
              "name": "lastImpliedRate",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "oracleRate",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "previousTradeTime",
              "type": "uint256"
            }
          ],
          "internalType": "struct MarketParameters[]",
          "name": "",
          "type": "tuple[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        },
        {
          "internalType": "uint16",
          "name": "currencyId",
          "type": "uint16"
        }
      ],
      "name": "getAssetsBitmap",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint16",
          "name": "currencyId",
          "type": "uint16"
        },
        {
          "internalType": "int88",
          "name": "fCashAmount",
          "type": "int88"
        },
        {
          "internalType": "uint256",
          "name": "marketIndex",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "blockTime",
          "type": "uint256"
        }
      ],
      "name": "getCashAmountGivenfCashAmount",
      "outputs": [
        {
          "internalType": "int256",
          "name": "",
          "type": "int256"
        },
        {
          "internalType": "int256",
          "name": "",
          "type": "int256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint16",
          "name": "currencyId",
          "type": "uint16"
        }
      ],
      "name": "getCashGroup",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "maxMarketIndex",
              "type": "uint8"
            },
            {
              "internalType": "uint8",
              "name": "rateOracleTimeWindowMin",
              "type": "uint8"
            },
            {
              "internalType": "uint8",
              "name": "totalFeeBPS",
              "type": "uint8"
            },
            {
              "internalType": "uint8",
              "name": "reserveFeeShare",
              "type": "uint8"
            },
            {
              "internalType": "uint8",
              "name": "debtBuffer5BPS",
              "type": "uint8"
            },
            {
              "internalType": "uint8",
              "name": "fCashHaircut5BPS",
              "type": "uint8"
            },
            {
              "internalType": "uint8",
              "name": "settlementPenaltyRate5BPS",
              "type": "uint8"
            },
            {
              "internalType": "uint8",
              "name": "liquidationfCashHaircut5BPS",
              "type": "uint8"
            },
            {
              "internalType": "uint8",
              "name": "liquidationDebtBuffer5BPS",
              "type": "uint8"
            },
            {
              "internalType": "uint8[]",
              "name": "liquidityTokenHaircuts",
              "type": "uint8[]"
            },
            {
              "internalType": "uint8[]",
              "name": "rateScalars",
              "type": "uint8[]"
            }
          ],
          "internalType": "struct CashGroupSettings",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint16",
          "name": "currencyId",
          "type": "uint16"
        }
      ],
      "name": "getCashGroupAndAssetRate",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "maxMarketIndex",
              "type": "uint8"
            },
            {
              "internalType": "uint8",
              "name": "rateOracleTimeWindowMin",
              "type": "uint8"
            },
            {
              "internalType": "uint8",
              "name": "totalFeeBPS",
              "type": "uint8"
            },
            {
              "internalType": "uint8",
              "name": "reserveFeeShare",
              "type": "uint8"
            },
            {
              "internalType": "uint8",
              "name": "debtBuffer5BPS",
              "type": "uint8"
            },
            {
              "internalType": "uint8",
              "name": "fCashHaircut5BPS",
              "type": "uint8"
            },
            {
              "internalType": "uint8",
              "name": "settlementPenaltyRate5BPS",
              "type": "uint8"
            },
            {
              "internalType": "uint8",
              "name": "liquidationfCashHaircut5BPS",
              "type": "uint8"
            },
            {
              "internalType": "uint8",
              "name": "liquidationDebtBuffer5BPS",
              "type": "uint8"
            },
            {
              "internalType": "uint8[]",
              "name": "liquidityTokenHaircuts",
              "type": "uint8[]"
            },
            {
              "internalType": "uint8[]",
              "name": "rateScalars",
              "type": "uint8[]"
            }
          ],
          "internalType": "struct CashGroupSettings",
          "name": "cashGroup",
          "type": "tuple"
        },
        {
          "components": [
            {
              "internalType": "contract AssetRateAdapter",
              "name": "rateOracle",
              "type": "address"
            },
            {
              "internalType": "int256",
              "name": "rate",
              "type": "int256"
            },
            {
              "internalType": "int256",
              "name": "underlyingDecimals",
              "type": "int256"
            }
          ],
          "internalType": "struct AssetRateParameters",
          "name": "assetRate",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint16",
          "name": "currencyId",
          "type": "uint16"
        }
      ],
      "name": "getCurrency",
      "outputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "tokenAddress",
              "type": "address"
            },
            {
              "internalType": "bool",
              "name": "hasTransferFee",
              "type": "bool"
            },
            {
              "internalType": "int256",
              "name": "decimals",
              "type": "int256"
            },
            {
              "internalType": "enum TokenType",
              "name": "tokenType",
              "type": "uint8"
            },
            {
              "internalType": "uint256",
              "name": "maxCollateralBalance",
              "type": "uint256"
            }
          ],
          "internalType": "struct Token",
          "name": "assetToken",
          "type": "tuple"
        },
        {
          "components": [
            {
              "internalType": "address",
              "name": "tokenAddress",
              "type": "address"
            },
            {
              "internalType": "bool",
              "name": "hasTransferFee",
              "type": "bool"
            },
            {
              "internalType": "int256",
              "name": "decimals",
              "type": "int256"
            },
            {
              "internalType": "enum TokenType",
              "name": "tokenType",
              "type": "uint8"
            },
            {
              "internalType": "uint256",
              "name": "maxCollateralBalance",
              "type": "uint256"
            }
          ],
          "internalType": "struct Token",
          "name": "underlyingToken",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint16",
          "name": "currencyId",
          "type": "uint16"
        }
      ],
      "name": "getCurrencyAndRates",
      "outputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "tokenAddress",
              "type": "address"
            },
            {
              "internalType": "bool",
              "name": "hasTransferFee",
              "type": "bool"
            },
            {
              "internalType": "int256",
              "name": "decimals",
              "type": "int256"
            },
            {
              "internalType": "enum TokenType",
              "name": "tokenType",
              "type": "uint8"
            },
            {
              "internalType": "uint256",
              "name": "maxCollateralBalance",
              "type": "uint256"
            }
          ],
          "internalType": "struct Token",
          "name": "assetToken",
          "type": "tuple"
        },
        {
          "components": [
            {
              "internalType": "address",
              "name": "tokenAddress",
              "type": "address"
            },
            {
              "internalType": "bool",
              "name": "hasTransferFee",
              "type": "bool"
            },
            {
              "internalType": "int256",
              "name": "decimals",
              "type": "int256"
            },
            {
              "internalType": "enum TokenType",
              "name": "tokenType",
              "type": "uint8"
            },
            {
              "internalType": "uint256",
              "name": "maxCollateralBalance",
              "type": "uint256"
            }
          ],
          "internalType": "struct Token",
          "name": "underlyingToken",
          "type": "tuple"
        },
        {
          "components": [
            {
              "internalType": "int256",
              "name": "rateDecimals",
              "type": "int256"
            },
            {
              "internalType": "int256",
              "name": "rate",
              "type": "int256"
            },
            {
              "internalType": "int256",
              "name": "buffer",
              "type": "int256"
            },
            {
              "internalType": "int256",
              "name": "haircut",
              "type": "int256"
            },
            {
              "internalType": "int256",
              "name": "liquidationDiscount",
              "type": "int256"
            }
          ],
          "internalType": "struct ETHRate",
          "name": "ethRate",
          "type": "tuple"
        },
        {
          "components": [
            {
              "internalType": "contract AssetRateAdapter",
              "name": "rateOracle",
              "type": "address"
            },
            {
              "internalType": "int256",
              "name": "rate",
              "type": "int256"
            },
            {
              "internalType": "int256",
              "name": "underlyingDecimals",
              "type": "int256"
            }
          ],
          "internalType": "struct AssetRateParameters",
          "name": "assetRate",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "tokenAddress",
          "type": "address"
        }
      ],
      "name": "getCurrencyId",
      "outputs": [
        {
          "internalType": "uint16",
          "name": "currencyId",
          "type": "uint16"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint16",
          "name": "currencyId",
          "type": "uint16"
        }
      ],
      "name": "getDepositParameters",
      "outputs": [
        {
          "internalType": "int256[]",
          "name": "depositShares",
          "type": "int256[]"
        },
        {
          "internalType": "int256[]",
          "name": "leverageThresholds",
          "type": "int256[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "getFreeCollateral",
      "outputs": [
        {
          "internalType": "int256",
          "name": "",
          "type": "int256"
        },
        {
          "internalType": "int256[]",
          "name": "",
          "type": "int256[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint16",
          "name": "currencyId",
          "type": "uint16"
        }
      ],
      "name": "getInitializationParameters",
      "outputs": [
        {
          "internalType": "int256[]",
          "name": "annualizedAnchorRates",
          "type": "int256[]"
        },
        {
          "internalType": "int256[]",
          "name": "proportions",
          "type": "int256[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint16",
          "name": "currencyId",
          "type": "uint16"
        },
        {
          "internalType": "uint256",
          "name": "maturity",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "settlementDate",
          "type": "uint256"
        }
      ],
      "name": "getMarket",
      "outputs": [
        {
          "components": [
            {
              "internalType": "bytes32",
              "name": "storageSlot",
              "type": "bytes32"
            },
            {
              "internalType": "uint256",
              "name": "maturity",
              "type": "uint256"
            },
            {
              "internalType": "int256",
              "name": "totalfCash",
              "type": "int256"
            },
            {
              "internalType": "int256",
              "name": "totalAssetCash",
              "type": "int256"
            },
            {
              "internalType": "int256",
              "name": "totalLiquidity",
              "type": "int256"
            },
            {
              "internalType": "uint256",
              "name": "lastImpliedRate",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "oracleRate",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "previousTradeTime",
              "type": "uint256"
            }
          ],
          "internalType": "struct MarketParameters",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getMaxCurrencyId",
      "outputs": [
        {
          "internalType": "uint16",
          "name": "",
          "type": "uint16"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "tokenAddress",
          "type": "address"
        }
      ],
      "name": "getNTokenAccount",
      "outputs": [
        {
          "internalType": "uint16",
          "name": "currencyId",
          "type": "uint16"
        },
        {
          "internalType": "uint256",
          "name": "totalSupply",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "incentiveAnnualEmissionRate",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "lastInitializedTime",
          "type": "uint256"
        },
        {
          "internalType": "bytes5",
          "name": "nTokenParameters",
          "type": "bytes5"
        },
        {
          "internalType": "int256",
          "name": "cashBalance",
          "type": "int256"
        },
        {
          "internalType": "uint256",
          "name": "integralTotalSupply",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "lastSupplyChangeTime",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "tokenAddress",
          "type": "address"
        }
      ],
      "name": "getNTokenPortfolio",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint256",
              "name": "currencyId",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "maturity",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "assetType",
              "type": "uint256"
            },
            {
              "internalType": "int256",
              "name": "notional",
              "type": "int256"
            },
            {
              "internalType": "uint256",
              "name": "storageSlot",
              "type": "uint256"
            },
            {
              "internalType": "enum AssetStorageState",
              "name": "storageState",
              "type": "uint8"
            }
          ],
          "internalType": "struct PortfolioAsset[]",
          "name": "liquidityTokens",
          "type": "tuple[]"
        },
        {
          "components": [
            {
              "internalType": "uint256",
              "name": "currencyId",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "maturity",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "assetType",
              "type": "uint256"
            },
            {
              "internalType": "int256",
              "name": "notional",
              "type": "int256"
            },
            {
              "internalType": "uint256",
              "name": "storageSlot",
              "type": "uint256"
            },
            {
              "internalType": "enum AssetStorageState",
              "name": "storageState",
              "type": "uint8"
            }
          ],
          "internalType": "struct PortfolioAsset[]",
          "name": "netfCashAssets",
          "type": "tuple[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getNoteToken",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint16",
          "name": "currencyId",
          "type": "uint16"
        }
      ],
      "name": "getRateStorage",
      "outputs": [
        {
          "components": [
            {
              "internalType": "contract AggregatorV2V3Interface",
              "name": "rateOracle",
              "type": "address"
            },
            {
              "internalType": "uint8",
              "name": "rateDecimalPlaces",
              "type": "uint8"
            },
            {
              "internalType": "bool",
              "name": "mustInvert",
              "type": "bool"
            },
            {
              "internalType": "uint8",
              "name": "buffer",
              "type": "uint8"
            },
            {
              "internalType": "uint8",
              "name": "haircut",
              "type": "uint8"
            },
            {
              "internalType": "uint8",
              "name": "liquidationDiscount",
              "type": "uint8"
            }
          ],
          "internalType": "struct ETHRateStorage",
          "name": "ethRate",
          "type": "tuple"
        },
        {
          "components": [
            {
              "internalType": "contract AssetRateAdapter",
              "name": "rateOracle",
              "type": "address"
            },
            {
              "internalType": "uint8",
              "name": "underlyingDecimalPlaces",
              "type": "uint8"
            }
          ],
          "internalType": "struct AssetRateStorage",
          "name": "assetRate",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint16",
          "name": "currencyId",
          "type": "uint16"
        }
      ],
      "name": "getReserveBalance",
      "outputs": [
        {
          "internalType": "int256",
          "name": "reserveBalance",
          "type": "int256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint16",
          "name": "currencyId",
          "type": "uint16"
        },
        {
          "internalType": "uint40",
          "name": "maturity",
          "type": "uint40"
        }
      ],
      "name": "getSettlementRate",
      "outputs": [
        {
          "components": [
            {
              "internalType": "contract AssetRateAdapter",
              "name": "rateOracle",
              "type": "address"
            },
            {
              "internalType": "int256",
              "name": "rate",
              "type": "int256"
            },
            {
              "internalType": "int256",
              "name": "underlyingDecimals",
              "type": "int256"
            }
          ],
          "internalType": "struct AssetRateParameters",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint16",
          "name": "currencyId",
          "type": "uint16"
        },
        {
          "internalType": "int88",
          "name": "netCashToAccount",
          "type": "int88"
        },
        {
          "internalType": "uint256",
          "name": "marketIndex",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "blockTime",
          "type": "uint256"
        }
      ],
      "name": "getfCashAmountGivenCashAmount",
      "outputs": [
        {
          "internalType": "int256",
          "name": "",
          "type": "int256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        },
        {
          "internalType": "uint16",
          "name": "currencyId",
          "type": "uint16"
        },
        {
          "internalType": "uint256",
          "name": "maturity",
          "type": "uint256"
        }
      ],
      "name": "getfCashNotional",
      "outputs": [
        {
          "internalType": "int256",
          "name": "",
          "type": "int256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint16",
          "name": "currencyId",
          "type": "uint16"
        }
      ],
      "name": "nTokenAddress",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "blockTime",
          "type": "uint256"
        }
      ],
      "name": "nTokenGetClaimableIncentives",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x",
  "deployedBytecode": "0x",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
