[
  {
    "inputs": [],
    "name": "CONFIG_STORAGE_LAYOUT_VERSION",
    "outputs": [
      {
        "internalType": "bytes32",
        "name": "",
        "type": "bytes32"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "REGISTRY_ADMIN_MODULE_VERSION",
    "outputs": [
      {
        "internalType": "bytes32",
        "name": "",
        "type": "bytes32"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "REGISTRY_CHANGE_DELAY",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "REGISTRY_MUTATION_MODULE_VERSION",
    "outputs": [
      {
        "internalType": "bytes32",
        "name": "",
        "type": "bytes32"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "accountState",
    "outputs": [
      {
        "components": [
          {
            "internalType": "uint256",
            "name": "configuredValueUsdE8",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "configuredValueUsdcAssets",
            "type": "uint256"
          },
          {
            "internalType": "uint64",
            "name": "usdcSpotTotal",
            "type": "uint64"
          },
          {
            "internalType": "uint64",
            "name": "usdcSpotHold",
            "type": "uint64"
          },
          {
            "internalType": "uint64",
            "name": "usdcSupplyValue",
            "type": "uint64"
          },
          {
            "internalType": "uint64",
            "name": "usdcBorrowValue",
            "type": "uint64"
          },
          {
            "internalType": "bool",
            "name": "hasHold",
            "type": "bool"
          },
          {
            "internalType": "uint64",
            "name": "heldTokenIndex",
            "type": "uint64"
          },
          {
            "internalType": "bool",
            "name": "hasBorrow",
            "type": "bool"
          },
          {
            "internalType": "uint64",
            "name": "borrowedTokenIndex",
            "type": "uint64"
          },
          {
            "internalType": "bool",
            "name": "hasSupply",
            "type": "bool"
          },
          {
            "internalType": "uint64",
            "name": "suppliedTokenIndex",
            "type": "uint64"
          },
          {
            "internalType": "bool",
            "name": "hasDexExposure",
            "type": "bool"
          },
          {
            "internalType": "uint32",
            "name": "exposedPerpDexIndex",
            "type": "uint32"
          },
          {
            "internalType": "bool",
            "name": "hasDexRisk",
            "type": "bool"
          },
          {
            "internalType": "uint32",
            "name": "riskyPerpDexIndex",
            "type": "uint32"
          }
        ],
        "internalType": "struct V1Types.CoreAccountState",
        "name": "state",
        "type": "tuple"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "accountingVersion",
    "outputs": [
      {
        "internalType": "uint64",
        "name": "",
        "type": "uint64"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "components": [
          {
            "internalType": "enum V1Types.RegistryChangeKind",
            "name": "kind",
            "type": "uint8"
          },
          {
            "components": [
              {
                "internalType": "uint32",
                "name": "actionAsset",
                "type": "uint32"
              },
              {
                "internalType": "uint32",
                "name": "pairReadIndex",
                "type": "uint32"
              },
              {
                "internalType": "uint64",
                "name": "baseTokenIndex",
                "type": "uint64"
              },
              {
                "internalType": "uint64",
                "name": "quoteTokenIndex",
                "type": "uint64"
              },
              {
                "internalType": "uint8",
                "name": "szDecimals",
                "type": "uint8"
              },
              {
                "internalType": "bytes32",
                "name": "pairNameHash",
                "type": "bytes32"
              },
              {
                "internalType": "bool",
                "name": "newRiskEnabled",
                "type": "bool"
              },
              {
                "components": [
                  {
                    "internalType": "uint64",
                    "name": "maxOrderNotionalE8",
                    "type": "uint64"
                  },
                  {
                    "internalType": "uint16",
                    "name": "maxPriceDeviationBps",
                    "type": "uint16"
                  }
                ],
                "internalType": "struct V1Types.OrderPolicy",
                "name": "orderPolicy",
                "type": "tuple"
              }
            ],
            "internalType": "struct V1Types.SpotMarketConfig",
            "name": "spot",
            "type": "tuple"
          },
          {
            "components": [
              {
                "internalType": "uint32",
                "name": "perpDexIndex",
                "type": "uint32"
              },
              {
                "internalType": "uint64",
                "name": "collateralTokenIndex",
                "type": "uint64"
              },
              {
                "internalType": "enum V1Types.PerpDexAccess",
                "name": "access",
                "type": "uint8"
              },
              {
                "components": [
                  {
                    "internalType": "uint64",
                    "name": "maxOrderNotionalE8",
                    "type": "uint64"
                  },
                  {
                    "internalType": "uint16",
                    "name": "maxPriceDeviationBps",
                    "type": "uint16"
                  }
                ],
                "internalType": "struct V1Types.OrderPolicy",
                "name": "orderPolicy",
                "type": "tuple"
              }
            ],
            "internalType": "struct V1Types.PerpDexConfig",
            "name": "perpDex",
            "type": "tuple"
          },
          {
            "components": [
              {
                "internalType": "uint32",
                "name": "actionAsset",
                "type": "uint32"
              },
              {
                "internalType": "bytes32",
                "name": "expectedNameHash",
                "type": "bytes32"
              },
              {
                "internalType": "enum V1Types.MarketAccessOverride",
                "name": "accessOverride",
                "type": "uint8"
              },
              {
                "internalType": "bool",
                "name": "orderPolicyOverride",
                "type": "bool"
              },
              {
                "components": [
                  {
                    "internalType": "uint64",
                    "name": "maxOrderNotionalE8",
                    "type": "uint64"
                  },
                  {
                    "internalType": "uint16",
                    "name": "maxPriceDeviationBps",
                    "type": "uint16"
                  }
                ],
                "internalType": "struct V1Types.OrderPolicy",
                "name": "orderPolicy",
                "type": "tuple"
              }
            ],
            "internalType": "struct V1Types.PerpMarketPolicy",
            "name": "perpMarket",
            "type": "tuple"
          },
          {
            "internalType": "uint32",
            "name": "target",
            "type": "uint32"
          }
        ],
        "internalType": "struct V1Types.RegistryChange",
        "name": "change",
        "type": "tuple"
      },
      {
        "internalType": "bytes32",
        "name": "changeHash",
        "type": "bytes32"
      }
    ],
    "name": "applyImmediateChange",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "components": [
          {
            "internalType": "enum V1Types.RegistryChangeKind",
            "name": "kind",
            "type": "uint8"
          },
          {
            "components": [
              {
                "internalType": "uint32",
                "name": "actionAsset",
                "type": "uint32"
              },
              {
                "internalType": "uint32",
                "name": "pairReadIndex",
                "type": "uint32"
              },
              {
                "internalType": "uint64",
                "name": "baseTokenIndex",
                "type": "uint64"
              },
              {
                "internalType": "uint64",
                "name": "quoteTokenIndex",
                "type": "uint64"
              },
              {
                "internalType": "uint8",
                "name": "szDecimals",
                "type": "uint8"
              },
              {
                "internalType": "bytes32",
                "name": "pairNameHash",
                "type": "bytes32"
              },
              {
                "internalType": "bool",
                "name": "newRiskEnabled",
                "type": "bool"
              },
              {
                "components": [
                  {
                    "internalType": "uint64",
                    "name": "maxOrderNotionalE8",
                    "type": "uint64"
                  },
                  {
                    "internalType": "uint16",
                    "name": "maxPriceDeviationBps",
                    "type": "uint16"
                  }
                ],
                "internalType": "struct V1Types.OrderPolicy",
                "name": "orderPolicy",
                "type": "tuple"
              }
            ],
            "internalType": "struct V1Types.SpotMarketConfig",
            "name": "spot",
            "type": "tuple"
          },
          {
            "components": [
              {
                "internalType": "uint32",
                "name": "perpDexIndex",
                "type": "uint32"
              },
              {
                "internalType": "uint64",
                "name": "collateralTokenIndex",
                "type": "uint64"
              },
              {
                "internalType": "enum V1Types.PerpDexAccess",
                "name": "access",
                "type": "uint8"
              },
              {
                "components": [
                  {
                    "internalType": "uint64",
                    "name": "maxOrderNotionalE8",
                    "type": "uint64"
                  },
                  {
                    "internalType": "uint16",
                    "name": "maxPriceDeviationBps",
                    "type": "uint16"
                  }
                ],
                "internalType": "struct V1Types.OrderPolicy",
                "name": "orderPolicy",
                "type": "tuple"
              }
            ],
            "internalType": "struct V1Types.PerpDexConfig",
            "name": "perpDex",
            "type": "tuple"
          },
          {
            "components": [
              {
                "internalType": "uint32",
                "name": "actionAsset",
                "type": "uint32"
              },
              {
                "internalType": "bytes32",
                "name": "expectedNameHash",
                "type": "bytes32"
              },
              {
                "internalType": "enum V1Types.MarketAccessOverride",
                "name": "accessOverride",
                "type": "uint8"
              },
              {
                "internalType": "bool",
                "name": "orderPolicyOverride",
                "type": "bool"
              },
              {
                "components": [
                  {
                    "internalType": "uint64",
                    "name": "maxOrderNotionalE8",
                    "type": "uint64"
                  },
                  {
                    "internalType": "uint16",
                    "name": "maxPriceDeviationBps",
                    "type": "uint16"
                  }
                ],
                "internalType": "struct V1Types.OrderPolicy",
                "name": "orderPolicy",
                "type": "tuple"
              }
            ],
            "internalType": "struct V1Types.PerpMarketPolicy",
            "name": "perpMarket",
            "type": "tuple"
          },
          {
            "internalType": "uint32",
            "name": "target",
            "type": "uint32"
          }
        ],
        "internalType": "struct V1Types.RegistryChange",
        "name": "change",
        "type": "tuple"
      }
    ],
    "name": "applyImmediateRiskReduction",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "components": [
          {
            "internalType": "enum V1Types.RegistryChangeKind",
            "name": "kind",
            "type": "uint8"
          },
          {
            "components": [
              {
                "internalType": "uint32",
                "name": "actionAsset",
                "type": "uint32"
              },
              {
                "internalType": "uint32",
                "name": "pairReadIndex",
                "type": "uint32"
              },
              {
                "internalType": "uint64",
                "name": "baseTokenIndex",
                "type": "uint64"
              },
              {
                "internalType": "uint64",
                "name": "quoteTokenIndex",
                "type": "uint64"
              },
              {
                "internalType": "uint8",
                "name": "szDecimals",
                "type": "uint8"
              },
              {
                "internalType": "bytes32",
                "name": "pairNameHash",
                "type": "bytes32"
              },
              {
                "internalType": "bool",
                "name": "newRiskEnabled",
                "type": "bool"
              },
              {
                "components": [
                  {
                    "internalType": "uint64",
                    "name": "maxOrderNotionalE8",
                    "type": "uint64"
                  },
                  {
                    "internalType": "uint16",
                    "name": "maxPriceDeviationBps",
                    "type": "uint16"
                  }
                ],
                "internalType": "struct V1Types.OrderPolicy",
                "name": "orderPolicy",
                "type": "tuple"
              }
            ],
            "internalType": "struct V1Types.SpotMarketConfig",
            "name": "spot",
            "type": "tuple"
          },
          {
            "components": [
              {
                "internalType": "uint32",
                "name": "perpDexIndex",
                "type": "uint32"
              },
              {
                "internalType": "uint64",
                "name": "collateralTokenIndex",
                "type": "uint64"
              },
              {
                "internalType": "enum V1Types.PerpDexAccess",
                "name": "access",
                "type": "uint8"
              },
              {
                "components": [
                  {
                    "internalType": "uint64",
                    "name": "maxOrderNotionalE8",
                    "type": "uint64"
                  },
                  {
                    "internalType": "uint16",
                    "name": "maxPriceDeviationBps",
                    "type": "uint16"
                  }
                ],
                "internalType": "struct V1Types.OrderPolicy",
                "name": "orderPolicy",
                "type": "tuple"
              }
            ],
            "internalType": "struct V1Types.PerpDexConfig",
            "name": "perpDex",
            "type": "tuple"
          },
          {
            "components": [
              {
                "internalType": "uint32",
                "name": "actionAsset",
                "type": "uint32"
              },
              {
                "internalType": "bytes32",
                "name": "expectedNameHash",
                "type": "bytes32"
              },
              {
                "internalType": "enum V1Types.MarketAccessOverride",
                "name": "accessOverride",
                "type": "uint8"
              },
              {
                "internalType": "bool",
                "name": "orderPolicyOverride",
                "type": "bool"
              },
              {
                "components": [
                  {
                    "internalType": "uint64",
                    "name": "maxOrderNotionalE8",
                    "type": "uint64"
                  },
                  {
                    "internalType": "uint16",
                    "name": "maxPriceDeviationBps",
                    "type": "uint16"
                  }
                ],
                "internalType": "struct V1Types.OrderPolicy",
                "name": "orderPolicy",
                "type": "tuple"
              }
            ],
            "internalType": "struct V1Types.PerpMarketPolicy",
            "name": "perpMarket",
            "type": "tuple"
          },
          {
            "internalType": "uint32",
            "name": "target",
            "type": "uint32"
          }
        ],
        "internalType": "struct V1Types.RegistryChange",
        "name": "change",
        "type": "tuple"
      },
      {
        "internalType": "bytes32",
        "name": "changeHash",
        "type": "bytes32"
      }
    ],
    "name": "applyScheduledChange",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "boundVault",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "cancelRegistryChange",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "compatibilityManifestHash",
    "outputs": [
      {
        "internalType": "bytes32",
        "name": "",
        "type": "bytes32"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "configuredCoreValue",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "valueUsdE8",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "valueUsdcAssets",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "components": [
          {
            "internalType": "enum V1Types.RegistryChangeKind",
            "name": "kind",
            "type": "uint8"
          },
          {
            "components": [
              {
                "internalType": "uint32",
                "name": "actionAsset",
                "type": "uint32"
              },
              {
                "internalType": "uint32",
                "name": "pairReadIndex",
                "type": "uint32"
              },
              {
                "internalType": "uint64",
                "name": "baseTokenIndex",
                "type": "uint64"
              },
              {
                "internalType": "uint64",
                "name": "quoteTokenIndex",
                "type": "uint64"
              },
              {
                "internalType": "uint8",
                "name": "szDecimals",
                "type": "uint8"
              },
              {
                "internalType": "bytes32",
                "name": "pairNameHash",
                "type": "bytes32"
              },
              {
                "internalType": "bool",
                "name": "newRiskEnabled",
                "type": "bool"
              },
              {
                "components": [
                  {
                    "internalType": "uint64",
                    "name": "maxOrderNotionalE8",
                    "type": "uint64"
                  },
                  {
                    "internalType": "uint16",
                    "name": "maxPriceDeviationBps",
                    "type": "uint16"
                  }
                ],
                "internalType": "struct V1Types.OrderPolicy",
                "name": "orderPolicy",
                "type": "tuple"
              }
            ],
            "internalType": "struct V1Types.SpotMarketConfig",
            "name": "spot",
            "type": "tuple"
          },
          {
            "components": [
              {
                "internalType": "uint32",
                "name": "perpDexIndex",
                "type": "uint32"
              },
              {
                "internalType": "uint64",
                "name": "collateralTokenIndex",
                "type": "uint64"
              },
              {
                "internalType": "enum V1Types.PerpDexAccess",
                "name": "access",
                "type": "uint8"
              },
              {
                "components": [
                  {
                    "internalType": "uint64",
                    "name": "maxOrderNotionalE8",
                    "type": "uint64"
                  },
                  {
                    "internalType": "uint16",
                    "name": "maxPriceDeviationBps",
                    "type": "uint16"
                  }
                ],
                "internalType": "struct V1Types.OrderPolicy",
                "name": "orderPolicy",
                "type": "tuple"
              }
            ],
            "internalType": "struct V1Types.PerpDexConfig",
            "name": "perpDex",
            "type": "tuple"
          },
          {
            "components": [
              {
                "internalType": "uint32",
                "name": "actionAsset",
                "type": "uint32"
              },
              {
                "internalType": "bytes32",
                "name": "expectedNameHash",
                "type": "bytes32"
              },
              {
                "internalType": "enum V1Types.MarketAccessOverride",
                "name": "accessOverride",
                "type": "uint8"
              },
              {
                "internalType": "bool",
                "name": "orderPolicyOverride",
                "type": "bool"
              },
              {
                "components": [
                  {
                    "internalType": "uint64",
                    "name": "maxOrderNotionalE8",
                    "type": "uint64"
                  },
                  {
                    "internalType": "uint16",
                    "name": "maxPriceDeviationBps",
                    "type": "uint16"
                  }
                ],
                "internalType": "struct V1Types.OrderPolicy",
                "name": "orderPolicy",
                "type": "tuple"
              }
            ],
            "internalType": "struct V1Types.PerpMarketPolicy",
            "name": "perpMarket",
            "type": "tuple"
          },
          {
            "internalType": "uint32",
            "name": "target",
            "type": "uint32"
          }
        ],
        "internalType": "struct V1Types.RegistryChange",
        "name": "change",
        "type": "tuple"
      }
    ],
    "name": "executeRegistryChange",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "factory",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "hasPendingRegistryChange",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "initialQualificationsActive",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes",
        "name": "encodedInit",
        "type": "bytes"
      }
    ],
    "name": "initialize",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "components": [
          {
            "internalType": "address",
            "name": "boundVault",
            "type": "address"
          },
          {
            "internalType": "bytes32",
            "name": "templateHash",
            "type": "bytes32"
          },
          {
            "internalType": "bytes32",
            "name": "vaultPolicyHash",
            "type": "bytes32"
          },
          {
            "components": [
              {
                "internalType": "bytes32",
                "name": "compatibilityManifestHash",
                "type": "bytes32"
              },
              {
                "components": [
                  {
                    "internalType": "uint64",
                    "name": "tokenIndex",
                    "type": "uint64"
                  },
                  {
                    "internalType": "uint32",
                    "name": "valuationSpotPairIndex",
                    "type": "uint32"
                  },
                  {
                    "internalType": "uint8",
                    "name": "weiDecimals",
                    "type": "uint8"
                  },
                  {
                    "internalType": "uint8",
                    "name": "spotSzDecimals",
                    "type": "uint8"
                  },
                  {
                    "internalType": "int8",
                    "name": "evmExtraWeiDecimals",
                    "type": "int8"
                  },
                  {
                    "internalType": "address",
                    "name": "evmToken",
                    "type": "address"
                  },
                  {
                    "internalType": "bytes32",
                    "name": "tokenNameHash",
                    "type": "bytes32"
                  },
                  {
                    "internalType": "bool",
                    "name": "isUsdc",
                    "type": "bool"
                  }
                ],
                "internalType": "struct V1Types.TokenConfig",
                "name": "canonicalUsdcTokenConfig",
                "type": "tuple"
              },
              {
                "internalType": "bytes32",
                "name": "accountingManifestHash",
                "type": "bytes32"
              }
            ],
            "internalType": "struct V1Types.CompatibilityTemplate",
            "name": "template",
            "type": "tuple"
          },
          {
            "components": [
              {
                "internalType": "uint256",
                "name": "chainId",
                "type": "uint256"
              },
              {
                "internalType": "address",
                "name": "coreWriter",
                "type": "address"
              },
              {
                "internalType": "address",
                "name": "coreDepositWallet",
                "type": "address"
              },
              {
                "internalType": "address",
                "name": "usdcSystemAddress",
                "type": "address"
              },
              {
                "internalType": "address",
                "name": "usdc",
                "type": "address"
              }
            ],
            "internalType": "struct V1Types.SystemConfig",
            "name": "systems",
            "type": "tuple"
          },
          {
            "components": [
              {
                "internalType": "enum V1Types.AccountMode",
                "name": "initialMode",
                "type": "uint8"
              },
              {
                "internalType": "uint32",
                "name": "publicExecutionDelay",
                "type": "uint32"
              },
              {
                "internalType": "uint16",
                "name": "managementFeeBps",
                "type": "uint16"
              },
              {
                "internalType": "uint16",
                "name": "performanceFeeBps",
                "type": "uint16"
              }
            ],
            "internalType": "struct V1Types.PolicyConfig",
            "name": "policy",
            "type": "tuple"
          },
          {
            "components": [
              {
                "components": [
                  {
                    "internalType": "uint64",
                    "name": "tokenIndex",
                    "type": "uint64"
                  },
                  {
                    "internalType": "uint32",
                    "name": "valuationSpotPairIndex",
                    "type": "uint32"
                  },
                  {
                    "internalType": "uint8",
                    "name": "weiDecimals",
                    "type": "uint8"
                  },
                  {
                    "internalType": "uint8",
                    "name": "spotSzDecimals",
                    "type": "uint8"
                  },
                  {
                    "internalType": "int8",
                    "name": "evmExtraWeiDecimals",
                    "type": "int8"
                  },
                  {
                    "internalType": "address",
                    "name": "evmToken",
                    "type": "address"
                  },
                  {
                    "internalType": "bytes32",
                    "name": "tokenNameHash",
                    "type": "bytes32"
                  },
                  {
                    "internalType": "bool",
                    "name": "isUsdc",
                    "type": "bool"
                  }
                ],
                "internalType": "struct V1Types.TokenConfig[]",
                "name": "tokenConfigs",
                "type": "tuple[]"
              },
              {
                "components": [
                  {
                    "internalType": "uint32",
                    "name": "actionAsset",
                    "type": "uint32"
                  },
                  {
                    "internalType": "uint32",
                    "name": "pairReadIndex",
                    "type": "uint32"
                  },
                  {
                    "internalType": "uint64",
                    "name": "baseTokenIndex",
                    "type": "uint64"
                  },
                  {
                    "internalType": "uint64",
                    "name": "quoteTokenIndex",
                    "type": "uint64"
                  },
                  {
                    "internalType": "uint8",
                    "name": "szDecimals",
                    "type": "uint8"
                  },
                  {
                    "internalType": "bytes32",
                    "name": "pairNameHash",
                    "type": "bytes32"
                  },
                  {
                    "internalType": "bool",
                    "name": "newRiskEnabled",
                    "type": "bool"
                  },
                  {
                    "components": [
                      {
                        "internalType": "uint64",
                        "name": "maxOrderNotionalE8",
                        "type": "uint64"
                      },
                      {
                        "internalType": "uint16",
                        "name": "maxPriceDeviationBps",
                        "type": "uint16"
                      }
                    ],
                    "internalType": "struct V1Types.OrderPolicy",
                    "name": "orderPolicy",
                    "type": "tuple"
                  }
                ],
                "internalType": "struct V1Types.SpotMarketConfig[]",
                "name": "spotMarketConfigs",
                "type": "tuple[]"
              },
              {
                "components": [
                  {
                    "internalType": "uint32",
                    "name": "perpDexIndex",
                    "type": "uint32"
                  },
                  {
                    "internalType": "uint64",
                    "name": "collateralTokenIndex",
                    "type": "uint64"
                  },
                  {
                    "internalType": "enum V1Types.PerpDexAccess",
                    "name": "access",
                    "type": "uint8"
                  },
                  {
                    "components": [
                      {
                        "internalType": "uint64",
                        "name": "maxOrderNotionalE8",
                        "type": "uint64"
                      },
                      {
                        "internalType": "uint16",
                        "name": "maxPriceDeviationBps",
                        "type": "uint16"
                      }
                    ],
                    "internalType": "struct V1Types.OrderPolicy",
                    "name": "orderPolicy",
                    "type": "tuple"
                  }
                ],
                "internalType": "struct V1Types.PerpDexConfig[]",
                "name": "perpDexConfigs",
                "type": "tuple[]"
              },
              {
                "components": [
                  {
                    "internalType": "uint32",
                    "name": "actionAsset",
                    "type": "uint32"
                  },
                  {
                    "internalType": "bytes32",
                    "name": "expectedNameHash",
                    "type": "bytes32"
                  },
                  {
                    "internalType": "enum V1Types.MarketAccessOverride",
                    "name": "accessOverride",
                    "type": "uint8"
                  },
                  {
                    "internalType": "bool",
                    "name": "orderPolicyOverride",
                    "type": "bool"
                  },
                  {
                    "components": [
                      {
                        "internalType": "uint64",
                        "name": "maxOrderNotionalE8",
                        "type": "uint64"
                      },
                      {
                        "internalType": "uint16",
                        "name": "maxPriceDeviationBps",
                        "type": "uint16"
                      }
                    ],
                    "internalType": "struct V1Types.OrderPolicy",
                    "name": "orderPolicy",
                    "type": "tuple"
                  }
                ],
                "internalType": "struct V1Types.PerpMarketPolicy[]",
                "name": "perpMarketPolicies",
                "type": "tuple[]"
              }
            ],
            "internalType": "struct V1Types.InitialRegistry",
            "name": "registry",
            "type": "tuple"
          }
        ],
        "internalType": "struct V1Types.ConfigInit",
        "name": "init",
        "type": "tuple"
      }
    ],
    "name": "initializeRegistry",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "marketPolicyHash",
    "outputs": [
      {
        "internalType": "bytes32",
        "name": "",
        "type": "bytes32"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "marketPolicyVersion",
    "outputs": [
      {
        "internalType": "uint64",
        "name": "",
        "type": "uint64"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "navConfigHash",
    "outputs": [
      {
        "internalType": "bytes32",
        "name": "",
        "type": "bytes32"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "pendingRegistryChange",
    "outputs": [
      {
        "internalType": "bytes32",
        "name": "changeHash",
        "type": "bytes32"
      },
      {
        "internalType": "enum V1Types.RegistryChangeKind",
        "name": "kind",
        "type": "uint8"
      },
      {
        "internalType": "uint256",
        "name": "eta",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "index",
        "type": "uint256"
      }
    ],
    "name": "perpDexConfigAt",
    "outputs": [
      {
        "components": [
          {
            "internalType": "uint32",
            "name": "perpDexIndex",
            "type": "uint32"
          },
          {
            "internalType": "uint64",
            "name": "collateralTokenIndex",
            "type": "uint64"
          },
          {
            "internalType": "enum V1Types.PerpDexAccess",
            "name": "access",
            "type": "uint8"
          },
          {
            "components": [
              {
                "internalType": "uint64",
                "name": "maxOrderNotionalE8",
                "type": "uint64"
              },
              {
                "internalType": "uint16",
                "name": "maxPriceDeviationBps",
                "type": "uint16"
              }
            ],
            "internalType": "struct V1Types.OrderPolicy",
            "name": "orderPolicy",
            "type": "tuple"
          }
        ],
        "internalType": "struct V1Types.PerpDexConfig",
        "name": "",
        "type": "tuple"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "perpDexConfigCount",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "index",
        "type": "uint256"
      }
    ],
    "name": "perpDexQualificationHashAt",
    "outputs": [
      {
        "internalType": "bytes32",
        "name": "",
        "type": "bytes32"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "index",
        "type": "uint256"
      }
    ],
    "name": "perpMarketPolicyAt",
    "outputs": [
      {
        "components": [
          {
            "internalType": "uint32",
            "name": "actionAsset",
            "type": "uint32"
          },
          {
            "internalType": "bytes32",
            "name": "expectedNameHash",
            "type": "bytes32"
          },
          {
            "internalType": "enum V1Types.MarketAccessOverride",
            "name": "accessOverride",
            "type": "uint8"
          },
          {
            "internalType": "bool",
            "name": "orderPolicyOverride",
            "type": "bool"
          },
          {
            "components": [
              {
                "internalType": "uint64",
                "name": "maxOrderNotionalE8",
                "type": "uint64"
              },
              {
                "internalType": "uint16",
                "name": "maxPriceDeviationBps",
                "type": "uint16"
              }
            ],
            "internalType": "struct V1Types.OrderPolicy",
            "name": "orderPolicy",
            "type": "tuple"
          }
        ],
        "internalType": "struct V1Types.PerpMarketPolicy",
        "name": "",
        "type": "tuple"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "perpMarketPolicyCount",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "policyConfig",
    "outputs": [
      {
        "components": [
          {
            "internalType": "enum V1Types.AccountMode",
            "name": "initialMode",
            "type": "uint8"
          },
          {
            "internalType": "uint32",
            "name": "publicExecutionDelay",
            "type": "uint32"
          },
          {
            "internalType": "uint16",
            "name": "managementFeeBps",
            "type": "uint16"
          },
          {
            "internalType": "uint16",
            "name": "performanceFeeBps",
            "type": "uint16"
          }
        ],
        "internalType": "struct V1Types.PolicyConfig",
        "name": "",
        "type": "tuple"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "vault",
        "type": "address"
      }
    ],
    "name": "redeemBatchPreview",
    "outputs": [
      {
        "components": [
          {
            "internalType": "uint256",
            "name": "pricingNavAssets",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "pricingTotalSupply",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "settlementEvmCapacity",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "firstRequestId",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "lastRequestId",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "requestCount",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "shares",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "assets",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "headAssets",
            "type": "uint256"
          },
          {
            "internalType": "bool",
            "name": "headMature",
            "type": "bool"
          },
          {
            "internalType": "bool",
            "name": "headFits",
            "type": "bool"
          }
        ],
        "internalType": "struct V1Types.RedeemBatchPreview",
        "name": "preview",
        "type": "tuple"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "vault",
        "type": "address"
      }
    ],
    "name": "redeemPreparationPreview",
    "outputs": [
      {
        "components": [
          {
            "internalType": "uint256",
            "name": "pricingNavAssets",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "pricingTotalSupply",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "settlementEvmCapacity",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "queuedShares",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "queuedAssets",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "maturedShares",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "maturedAssets",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "queuedShortfallAssets",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "maturedShortfallAssets",
            "type": "uint256"
          }
        ],
        "internalType": "struct V1Types.RedeemPreparationPreview",
        "name": "preview",
        "type": "tuple"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "registryAdmin",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "registryMutation",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint32",
        "name": "actionAsset",
        "type": "uint32"
      }
    ],
    "name": "requireConfiguredCancelMarket",
    "outputs": [],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "components": [
          {
            "internalType": "enum V1Types.RegistryChangeKind",
            "name": "kind",
            "type": "uint8"
          },
          {
            "components": [
              {
                "internalType": "uint32",
                "name": "actionAsset",
                "type": "uint32"
              },
              {
                "internalType": "uint32",
                "name": "pairReadIndex",
                "type": "uint32"
              },
              {
                "internalType": "uint64",
                "name": "baseTokenIndex",
                "type": "uint64"
              },
              {
                "internalType": "uint64",
                "name": "quoteTokenIndex",
                "type": "uint64"
              },
              {
                "internalType": "uint8",
                "name": "szDecimals",
                "type": "uint8"
              },
              {
                "internalType": "bytes32",
                "name": "pairNameHash",
                "type": "bytes32"
              },
              {
                "internalType": "bool",
                "name": "newRiskEnabled",
                "type": "bool"
              },
              {
                "components": [
                  {
                    "internalType": "uint64",
                    "name": "maxOrderNotionalE8",
                    "type": "uint64"
                  },
                  {
                    "internalType": "uint16",
                    "name": "maxPriceDeviationBps",
                    "type": "uint16"
                  }
                ],
                "internalType": "struct V1Types.OrderPolicy",
                "name": "orderPolicy",
                "type": "tuple"
              }
            ],
            "internalType": "struct V1Types.SpotMarketConfig",
            "name": "spot",
            "type": "tuple"
          },
          {
            "components": [
              {
                "internalType": "uint32",
                "name": "perpDexIndex",
                "type": "uint32"
              },
              {
                "internalType": "uint64",
                "name": "collateralTokenIndex",
                "type": "uint64"
              },
              {
                "internalType": "enum V1Types.PerpDexAccess",
                "name": "access",
                "type": "uint8"
              },
              {
                "components": [
                  {
                    "internalType": "uint64",
                    "name": "maxOrderNotionalE8",
                    "type": "uint64"
                  },
                  {
                    "internalType": "uint16",
                    "name": "maxPriceDeviationBps",
                    "type": "uint16"
                  }
                ],
                "internalType": "struct V1Types.OrderPolicy",
                "name": "orderPolicy",
                "type": "tuple"
              }
            ],
            "internalType": "struct V1Types.PerpDexConfig",
            "name": "perpDex",
            "type": "tuple"
          },
          {
            "components": [
              {
                "internalType": "uint32",
                "name": "actionAsset",
                "type": "uint32"
              },
              {
                "internalType": "bytes32",
                "name": "expectedNameHash",
                "type": "bytes32"
              },
              {
                "internalType": "enum V1Types.MarketAccessOverride",
                "name": "accessOverride",
                "type": "uint8"
              },
              {
                "internalType": "bool",
                "name": "orderPolicyOverride",
                "type": "bool"
              },
              {
                "components": [
                  {
                    "internalType": "uint64",
                    "name": "maxOrderNotionalE8",
                    "type": "uint64"
                  },
                  {
                    "internalType": "uint16",
                    "name": "maxPriceDeviationBps",
                    "type": "uint16"
                  }
                ],
                "internalType": "struct V1Types.OrderPolicy",
                "name": "orderPolicy",
                "type": "tuple"
              }
            ],
            "internalType": "struct V1Types.PerpMarketPolicy",
            "name": "perpMarket",
            "type": "tuple"
          },
          {
            "internalType": "uint32",
            "name": "target",
            "type": "uint32"
          }
        ],
        "internalType": "struct V1Types.RegistryChange",
        "name": "change",
        "type": "tuple"
      }
    ],
    "name": "scheduleRegistryChange",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "index",
        "type": "uint256"
      }
    ],
    "name": "spotMarketConfigAt",
    "outputs": [
      {
        "components": [
          {
            "internalType": "uint32",
            "name": "actionAsset",
            "type": "uint32"
          },
          {
            "internalType": "uint32",
            "name": "pairReadIndex",
            "type": "uint32"
          },
          {
            "internalType": "uint64",
            "name": "baseTokenIndex",
            "type": "uint64"
          },
          {
            "internalType": "uint64",
            "name": "quoteTokenIndex",
            "type": "uint64"
          },
          {
            "internalType": "uint8",
            "name": "szDecimals",
            "type": "uint8"
          },
          {
            "internalType": "bytes32",
            "name": "pairNameHash",
            "type": "bytes32"
          },
          {
            "internalType": "bool",
            "name": "newRiskEnabled",
            "type": "bool"
          },
          {
            "components": [
              {
                "internalType": "uint64",
                "name": "maxOrderNotionalE8",
                "type": "uint64"
              },
              {
                "internalType": "uint16",
                "name": "maxPriceDeviationBps",
                "type": "uint16"
              }
            ],
            "internalType": "struct V1Types.OrderPolicy",
            "name": "orderPolicy",
            "type": "tuple"
          }
        ],
        "internalType": "struct V1Types.SpotMarketConfig",
        "name": "",
        "type": "tuple"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "spotMarketConfigCount",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "index",
        "type": "uint256"
      }
    ],
    "name": "spotQualificationHashAt",
    "outputs": [
      {
        "internalType": "bytes32",
        "name": "",
        "type": "bytes32"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "systemConfig",
    "outputs": [
      {
        "components": [
          {
            "internalType": "uint256",
            "name": "chainId",
            "type": "uint256"
          },
          {
            "internalType": "address",
            "name": "coreWriter",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "coreDepositWallet",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "usdcSystemAddress",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "usdc",
            "type": "address"
          }
        ],
        "internalType": "struct V1Types.SystemConfig",
        "name": "",
        "type": "tuple"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "templateHash",
    "outputs": [
      {
        "internalType": "bytes32",
        "name": "",
        "type": "bytes32"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "index",
        "type": "uint256"
      }
    ],
    "name": "tokenConfigAt",
    "outputs": [
      {
        "components": [
          {
            "internalType": "uint64",
            "name": "tokenIndex",
            "type": "uint64"
          },
          {
            "internalType": "uint32",
            "name": "valuationSpotPairIndex",
            "type": "uint32"
          },
          {
            "internalType": "uint8",
            "name": "weiDecimals",
            "type": "uint8"
          },
          {
            "internalType": "uint8",
            "name": "spotSzDecimals",
            "type": "uint8"
          },
          {
            "internalType": "int8",
            "name": "evmExtraWeiDecimals",
            "type": "int8"
          },
          {
            "internalType": "address",
            "name": "evmToken",
            "type": "address"
          },
          {
            "internalType": "bytes32",
            "name": "tokenNameHash",
            "type": "bytes32"
          },
          {
            "internalType": "bool",
            "name": "isUsdc",
            "type": "bool"
          }
        ],
        "internalType": "struct V1Types.TokenConfig",
        "name": "",
        "type": "tuple"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "tokenConfigCount",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "usdcState",
    "outputs": [
      {
        "internalType": "uint64",
        "name": "spotTotal",
        "type": "uint64"
      },
      {
        "internalType": "uint64",
        "name": "spotHold",
        "type": "uint64"
      },
      {
        "internalType": "uint64",
        "name": "supplyValue",
        "type": "uint64"
      },
      {
        "internalType": "uint64",
        "name": "borrowValue",
        "type": "uint64"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint32",
        "name": "actionAsset",
        "type": "uint32"
      }
    ],
    "name": "validatedOrderMarketConfig",
    "outputs": [
      {
        "components": [
          {
            "internalType": "enum V1Types.MarketKind",
            "name": "kind",
            "type": "uint8"
          },
          {
            "internalType": "uint32",
            "name": "actionAsset",
            "type": "uint32"
          },
          {
            "internalType": "uint32",
            "name": "readIndex",
            "type": "uint32"
          },
          {
            "internalType": "uint32",
            "name": "perpDexIndex",
            "type": "uint32"
          },
          {
            "internalType": "uint64",
            "name": "baseTokenIndex",
            "type": "uint64"
          },
          {
            "internalType": "uint64",
            "name": "quoteTokenIndex",
            "type": "uint64"
          },
          {
            "internalType": "uint32",
            "name": "marginTableId",
            "type": "uint32"
          },
          {
            "internalType": "uint8",
            "name": "szDecimals",
            "type": "uint8"
          },
          {
            "internalType": "uint8",
            "name": "maxLeverage",
            "type": "uint8"
          },
          {
            "internalType": "bool",
            "name": "onlyIsolated",
            "type": "bool"
          },
          {
            "internalType": "bytes32",
            "name": "nameHash",
            "type": "bytes32"
          },
          {
            "internalType": "bool",
            "name": "newRiskEnabled",
            "type": "bool"
          },
          {
            "components": [
              {
                "internalType": "uint64",
                "name": "maxOrderNotionalE8",
                "type": "uint64"
              },
              {
                "internalType": "uint16",
                "name": "maxPriceDeviationBps",
                "type": "uint16"
              }
            ],
            "internalType": "struct V1Types.OrderPolicy",
            "name": "orderPolicy",
            "type": "tuple"
          }
        ],
        "internalType": "struct V1Types.OrderMarketConfig",
        "name": "",
        "type": "tuple"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "vaultPolicyHash",
    "outputs": [
      {
        "internalType": "bytes32",
        "name": "",
        "type": "bytes32"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "config",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "bytes32",
        "name": "changeHash",
        "type": "bytes32"
      },
      {
        "indexed": true,
        "internalType": "enum V1Types.RegistryChangeKind",
        "name": "kind",
        "type": "uint8"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "caller",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "bytes32",
        "name": "oldMarketPolicyHash",
        "type": "bytes32"
      },
      {
        "indexed": false,
        "internalType": "bytes32",
        "name": "newMarketPolicyHash",
        "type": "bytes32"
      },
      {
        "indexed": false,
        "internalType": "uint64",
        "name": "oldMarketPolicyVersion",
        "type": "uint64"
      },
      {
        "indexed": false,
        "internalType": "uint64",
        "name": "newMarketPolicyVersion",
        "type": "uint64"
      },
      {
        "indexed": false,
        "internalType": "bytes",
        "name": "changeData",
        "type": "bytes"
      }
    ],
    "name": "ImmediateRiskReductionApplied",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "uint64",
        "name": "version",
        "type": "uint64"
      }
    ],
    "name": "Initialized",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "config",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "bytes32",
        "name": "changeHash",
        "type": "bytes32"
      },
      {
        "indexed": true,
        "internalType": "enum V1Types.RegistryChangeKind",
        "name": "kind",
        "type": "uint8"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "executor",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "bytes32",
        "name": "oldNavConfigHash",
        "type": "bytes32"
      },
      {
        "indexed": false,
        "internalType": "bytes32",
        "name": "newNavConfigHash",
        "type": "bytes32"
      },
      {
        "indexed": false,
        "internalType": "uint64",
        "name": "oldAccountingVersion",
        "type": "uint64"
      },
      {
        "indexed": false,
        "internalType": "uint64",
        "name": "newAccountingVersion",
        "type": "uint64"
      },
      {
        "indexed": false,
        "internalType": "bytes32",
        "name": "oldMarketPolicyHash",
        "type": "bytes32"
      },
      {
        "indexed": false,
        "internalType": "bytes32",
        "name": "newMarketPolicyHash",
        "type": "bytes32"
      },
      {
        "indexed": false,
        "internalType": "uint64",
        "name": "oldMarketPolicyVersion",
        "type": "uint64"
      },
      {
        "indexed": false,
        "internalType": "uint64",
        "name": "newMarketPolicyVersion",
        "type": "uint64"
      },
      {
        "indexed": false,
        "internalType": "bytes",
        "name": "changeData",
        "type": "bytes"
      }
    ],
    "name": "RegistryChangeApplied",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "config",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "bytes32",
        "name": "changeHash",
        "type": "bytes32"
      },
      {
        "indexed": true,
        "internalType": "enum V1Types.RegistryChangeKind",
        "name": "kind",
        "type": "uint8"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "caller",
        "type": "address"
      }
    ],
    "name": "RegistryChangeCancelled",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "config",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "bytes32",
        "name": "changeHash",
        "type": "bytes32"
      },
      {
        "indexed": true,
        "internalType": "enum V1Types.RegistryChangeKind",
        "name": "kind",
        "type": "uint8"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "scheduler",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "eta",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "bytes",
        "name": "changeData",
        "type": "bytes"
      }
    ],
    "name": "RegistryChangeScheduled",
    "type": "event"
  },
  {
    "inputs": [],
    "name": "AccountModeNotOperational",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "bytes32",
        "name": "expected",
        "type": "bytes32"
      },
      {
        "internalType": "bytes32",
        "name": "actual",
        "type": "bytes32"
      }
    ],
    "name": "ConfigHashMismatch",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      },
      {
        "internalType": "int8",
        "name": "relation",
        "type": "int8"
      }
    ],
    "name": "ConversionOverflow",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "CoreAccountNotActive",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "uint8",
        "name": "configKind",
        "type": "uint8"
      },
      {
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      }
    ],
    "name": "DuplicateConfig",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "IncompleteNav",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      },
      {
        "internalType": "int8",
        "name": "relation",
        "type": "int8"
      }
    ],
    "name": "InexactConversion",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InsolventState",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "uint8",
        "name": "configKind",
        "type": "uint8"
      },
      {
        "internalType": "uint256",
        "name": "previous",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "current",
        "type": "uint256"
      }
    ],
    "name": "InvalidCanonicalOrder",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "int8",
        "name": "relation",
        "type": "int8"
      }
    ],
    "name": "InvalidDecimalRelation",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "enum V1Types.AccountMode",
        "name": "mode",
        "type": "uint8"
      }
    ],
    "name": "InvalidInitialMode",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvalidInitialization",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "enum V1Types.Lifecycle",
        "name": "expected",
        "type": "uint8"
      },
      {
        "internalType": "enum V1Types.Lifecycle",
        "name": "actual",
        "type": "uint8"
      }
    ],
    "name": "InvalidLifecycle",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "enum V1Types.MarketKind",
        "name": "kind",
        "type": "uint8"
      },
      {
        "internalType": "uint32",
        "name": "actionAsset",
        "type": "uint32"
      },
      {
        "internalType": "uint32",
        "name": "readIndex",
        "type": "uint32"
      }
    ],
    "name": "InvalidMarketId",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "uint8",
        "name": "configKind",
        "type": "uint8"
      },
      {
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      }
    ],
    "name": "InvalidMetadata",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "precompile",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "length",
        "type": "uint256"
      }
    ],
    "name": "InvalidPrecompileResponse",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "enum V1Types.RegistryChangeKind",
        "name": "kind",
        "type": "uint8"
      }
    ],
    "name": "InvalidRegistryChange",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "uint8",
        "name": "field",
        "type": "uint8"
      },
      {
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      }
    ],
    "name": "InvalidTemplate",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "NoRegistryChangeScheduled",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "NotInitializing",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "PolicyExpansionRequiresDelay",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "precompile",
        "type": "address"
      }
    ],
    "name": "PrecompileCallFailed",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "bytes32",
        "name": "changeHash",
        "type": "bytes32"
      }
    ],
    "name": "RegistryChangeAlreadyScheduled",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "bytes32",
        "name": "expected",
        "type": "bytes32"
      },
      {
        "internalType": "bytes32",
        "name": "actual",
        "type": "bytes32"
      }
    ],
    "name": "RegistryChangeHashMismatch",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "eta",
        "type": "uint256"
      }
    ],
    "name": "RegistryChangeNotMature",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "uint8",
        "name": "configKind",
        "type": "uint8"
      },
      {
        "internalType": "uint256",
        "name": "actual",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "maximum",
        "type": "uint256"
      }
    ],
    "name": "RegistryLimitExceeded",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "RegistryMutationBlocked",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "caller",
        "type": "address"
      }
    ],
    "name": "Unauthorized",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "uint32",
        "name": "actionAsset",
        "type": "uint32"
      }
    ],
    "name": "UnconfiguredMarket",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "uint64",
        "name": "tokenIndex",
        "type": "uint64"
      }
    ],
    "name": "UnsupportedCollateral",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "ZeroAddress",
    "type": "error"
  }
]
