{
  "network": "mainnet",
  "version": "v3.1",
  "deploymentInfo": {
    "gitCommit": "0931a54fc8d460870260d5e6370c45a46b92265c"
  },
  "previousRegistry": {
    "version": "3",
    "ipfsHash": "bafybeief457bljpdmydiyizgyck6bwf2a5y2rfnlhxsqzxosdlaecokogu"
  },
  "chains": {
    "1": {
      "network": {
        "chainId": 1,
        "centrifugeId": 1,
        "protocolAdmin": "0x9711730060C73Ee7Fcfe1890e8A0993858a7D225",
        "opsAdmin": "0xd21413291444C5c104F1b5918cA0D2f6EC91Ad16",
        "batchLimit": 15,
        "baseRpcUrl": "https://eth-mainnet.g.alchemy.com/v2/"
      },
      "adapters": {
        "layerZero": {
          "endpoint": "0x1a44076050125825900e736c501f859c50fE728c",
          "layerZeroEid": 30101,
          "blockConfirmations": 15,
          "DVNs": [
            "0x589dEDbD617e0CBcB916A9223F4d1300c294236b",
            "0xa4fE5A5B9A846458a70Cd0748228aED3bF65c2cd"
          ]
        },
        "wormhole": {
          "wormholeId": 2,
          "relayer": "0x27428DD2d3DD32A4D7f7C497eAaa23130d894911"
        },
        "axelar": {
          "axelarId": "Ethereum",
          "gateway": "0x4F4495243837681061C4743b74B3eEdf548D56A5",
          "gasService": "0x2d5d7d31F671F86C782533cc367F14109a082712"
        },
        "chainlink": {
          "chainSelector": 5009297550715157269,
          "ccipRouter": "0x80226fc0Ee2b096224EeAc085Bb9a8cba1146f7D"
        }
      },
      "contracts": {
        "gasService": {
          "address": "0xbEbef21D686a957decECCe6a58455fA0F16754Be",
          "blockNumber": 24319314,
          "txHash": "0xc63334e8e1bebbd6dc616018d3a14eb62908a0e4227fa1b30bbfca17c170ed3e"
        },
        "gateway": {
          "address": "0x19a524D03aA94ECEe41a80341537BCFCb47D3172",
          "blockNumber": 24319303,
          "txHash": "0x3d9e0cadd64eed91ec38fe465cee234c1c4bc557a3d0b15f7055888108eb03f6"
        },
        "multiAdapter": {
          "address": "0x35C837F0A54B715a23D193E1476BFC9BC30073BE",
          "blockNumber": 24319304,
          "txHash": "0xcd19a82e02179360cafae04aef172c8124fd1e7a166b49b1cf4a97cb5e5a158c"
        },
        "messageProcessor": {
          "address": "0x97cc7e9Dafdd725Cc23B25eeBC93c4384B4Fe30A",
          "blockNumber": 24319316,
          "txHash": "0xd11db20cb5d8c783a42c7465667330ec7c737da06682d4c3a2003f7489787c19"
        },
        "messageDispatcher": {
          "address": "0xf837a22883e004f705E0D7e1deE08e295Df30B27",
          "blockNumber": 24319319,
          "txHash": "0x9bd8958b9e1616c0b841833e83fc5bc8156b50091207c2cfd011d048ef6a995e"
        },
        "poolEscrowFactory": {
          "address": "0x5187A505c485E22f0b8a5FBdF69eF1c29C478CE3",
          "blockNumber": 24319328,
          "txHash": "0x58940bf1fd98f1cbf78f6b2663cebbf3ef43b560c4cb2316c0fe015685fc160e"
        },
        "tokenRecoverer": {
          "address": "0x1E70530e9555711f8DF4838Ab940b97c039B4037",
          "blockNumber": 24319339,
          "txHash": "0xbf918be8db689d525c098f3f36302522246228498fdde68d9a7c51661fa2a1e8"
        },
        "hubRegistry": {
          "address": "0x19f46D8130e610C6C0f0116EA40Fb781dEFaDE93",
          "blockNumber": 24319329,
          "txHash": "0x0e01899c406acb610cfa7210bb905c31958f82e51a8708222378f1fe4f28de19"
        },
        "accounting": {
          "address": "0x050206c38f06e4710C4a37D39F75Ddc5c16a7396",
          "blockNumber": 24319331,
          "txHash": "0xb664eef7000176e67fb9e6b24b731e8826d2274f13fa964f66b75b1388b7808e"
        },
        "holdings": {
          "address": "0x3f0c8D8d2637881c3f6d8531F51a47c2094C918d",
          "blockNumber": 24319332,
          "txHash": "0x57e6053cd1b19249319adcf6d2aaa1229966af8c38e0a895c7bba98c65852dfe"
        },
        "shareClassManager": {
          "address": "0xaFFC269c8fe18EE9C7DDb22301AC2c2507d69BEf",
          "blockNumber": 24319333,
          "txHash": "0x288b3b488750ae9e66ae079ece2f1cd7cfdaf90f6855c1dfe3bb0ad749c44591"
        },
        "hub": {
          "address": "0xA4A7Bb3831958463b3FE3E27A6a160F764341953",
          "blockNumber": 24319335,
          "txHash": "0xcd4e039f241549031a78668d74cc76c4cbd7398c2686c42969a69be73c963976"
        },
        "identityValuation": {
          "address": "0x05e22C20B21c1314a0c93d34855358B9B96133CF",
          "blockNumber": 24319376,
          "txHash": "0x4c903867cf78ac5d94a9bcd22a5f5168b8de628ff675224f82d16330215115f1"
        },
        "tokenFactory": {
          "address": "0xcE1616505F93215751FBb41Efac618b631997c38",
          "blockNumber": 24319321,
          "txHash": "0xd8cb39b8ac23a43b8f2ce624382199f0cbabdeb59e88e9e7bb2284c182e4b2e8"
        },
        "spoke": {
          "address": "0xEC3582fcDc34078a4B7a8c75a5a3AE46f48525aB",
          "blockNumber": 24319323,
          "txHash": "0x32d62952c6c35f46a56c903c9fdde80b6f4407676f4e90b76367e5194dceff7a"
        },
        "balanceSheet": {
          "address": "0x12a110cE5f0FC871cC72Bc7ECaF35cf39DD0f43e",
          "blockNumber": 24319325,
          "txHash": "0x430d5e09bcab28632f7f6614bb787216bddfe7076b36b344ed6744391b8942ab"
        },
        "contractUpdater": {
          "address": "0x3B150B19245D2C366bc8f18c775b725DFB298F71",
          "blockNumber": 24319309,
          "txHash": "0x1d781f171b11393730eb8531e7bb332b1d7b0d4f50359fc063eadc1c8ba5c665"
        },
        "asyncRequestManager": {
          "address": "0xF48256AbDDf96EcDDc4B3DbD23E8C1921f9761Ae",
          "blockNumber": 24319348,
          "txHash": "0xb0e9f01845cc01dd0aae00ba37e692a9678524ff94d3e357709ae04a1ebe5778"
        },
        "syncManager": {
          "address": "0xFf8Ed1862f6aC3a8e89B81C75507c225E36e273D",
          "blockNumber": 24319350,
          "txHash": "0x7c3366a89be691cd8b6b742969340d9ecaf2142010e56a730eb268bb0deaad97"
        },
        "asyncVaultFactory": {
          "address": "0x55cde53B7dbc24336E34FFE233AF8DF10f72F0Be",
          "blockNumber": 24319355,
          "txHash": "0xb9735e4429051d9675ee14d5ce9f7586a4c1674e386380e4fd661a06f5f0c8fd"
        },
        "syncDepositVaultFactory": {
          "address": "0xdb9C27762045Addd713182521C0580C68BDF700A",
          "blockNumber": 24319357,
          "txHash": "0x2bffa38f87d96a936b27b615e09dfb97025c06c2f19e239e6c37865da45bd9d6"
        },
        "vaultRouter": {
          "address": "0xF684014771C01e50B8B526968B3a1e33acDA63f6",
          "blockNumber": 24319353,
          "txHash": "0x84b5f7af8e17b5887b2bfe2cba05fe5f73c28ecd8d8c961bb91c3adff4c01d34"
        },
        "freezeOnlyHook": {
          "address": "0xd5B243F05b2906F1f6C80c6096945faADa0731C1",
          "blockNumber": 24319359,
          "txHash": "0xf89b0a0e46d6b32b97b1f5c7b0898a4ab46ac1e7732c05033182c25a4d9114e6"
        },
        "fullRestrictionsHook": {
          "address": "0x8E680873b4C77e6088b4Ba0aBD59d100c3D224a4",
          "blockNumber": 24319360,
          "txHash": "0x135130ae69435390371aed8b1df2155eb113da6cad010fda6dbbbda13f3e2384"
        },
        "freelyTransferableHook": {
          "address": "0x2a9B9C14851Baf7AD19f26607C9171CA1E7a1A61",
          "blockNumber": 24319362,
          "txHash": "0xb1341608c0ede5e9684a6a19b968582195b6c7ab8f75466b2000088823e4c141"
        },
        "redemptionRestrictionsHook": {
          "address": "0xE5423eD8602Fa0F263e17b6212d88Efe42317f06",
          "blockNumber": 24319364,
          "txHash": "0xb48fce5d45d2d30c5fb0fce53a180d5618bd300c7c9ec749d163825325a46425"
        },
        "onOfframpManagerFactory": {
          "address": "0x2539e60B0B50D7BD004A09e9D2b7E8c86EB0AaF6",
          "blockNumber": 24319368,
          "txHash": "0xf75a994b05be8bb42f16e6e3152e8ace603119316616bc07d36be631233ee69f"
        },
        "merkleProofManagerFactory": {
          "address": "0xc5243bdEa2d86eA7541AC69084dF3EDdc137a18b",
          "blockNumber": 24319369,
          "txHash": "0xf11ea537027e0beeaa238ce134745de2af95dd8845b2a925ea3ca57612bb123d"
        },
        "vaultDecoder": {
          "address": "0x8Ca5372A5613A6Df75fD5fbC43216e68c1bE6D38",
          "blockNumber": 24319370,
          "txHash": "0x02f67d6d01bdb7566a6f6119284137250bdc6c25c6c32e3ebb0f9bab14cab320"
        },
        "circleDecoder": {
          "address": "0xd40871a6336fD19A25a7bd96c0C0dd66Ed60931D",
          "blockNumber": 24319372,
          "txHash": "0x529317c3321ae4af7277cd66ff8f1f4e38a51bb1ad5317145d0be002ba0a2fe0"
        },
        "axelarAdapter": {
          "address": "0x34e904237341C3de02D4447C3fF0ca8880ca6484",
          "blockNumber": 24319385,
          "txHash": "0x03c5e0f2005c71656b1902a408d13a4f411b4c3bb517fd8bb7da1ce9e1567190"
        },
        "vaultRegistry": {
          "address": "0xd9531AC47928c3386346f82d9A2478960bf2CA7B",
          "blockNumber": 24319326,
          "txHash": "0xe3a82242c3ce157b8500fc8667ee63318627b5bf20225555dfe179aeac92866e"
        },
        "hubHandler": {
          "address": "0x0dEFb429B1663698da4bAe3278393F6844c3392C",
          "blockNumber": 24319336,
          "txHash": "0xd2bbd999fb72b7e483e5f3b14bb1aa843d622cc584375d91fe7947b0287dccd9"
        },
        "protocolGuardian": {
          "address": "0xCEb7eD5d5B3bAD3088f6A1697738B60d829635c6",
          "blockNumber": 24319341,
          "txHash": "0xdee67d4372e36c59810832379ecac4f35f983d4e8347349503158ddf2f14be08"
        },
        "opsGuardian": {
          "address": "0x055589229506Ee89645EF08ebE9B9a863486d0dE",
          "blockNumber": 24319342,
          "txHash": "0x83d5d4b5f64523e4bc419f9668dfec2727d0022a44e58582431e80fad268a9f5"
        },
        "refundEscrowFactory": {
          "address": "0xC4f9A1DCF2E05eb55AbB30BaA7070838D3Fd3D5B",
          "blockNumber": 24319344,
          "txHash": "0x1d25327624ec2101168ff435c59594c01e476e91805121a79638065986755643"
        },
        "subsidyManager": {
          "address": "0xBFC7B60684880457030C08AceE2E675CbcB9d646",
          "blockNumber": 24319346,
          "txHash": "0x68a6027a238aafd0b74e9de72a5cfded6b4c127b222c42adde01d7e7623fe7d2"
        },
        "queueManager": {
          "address": "0x971ACA9b4AB4895F400bA042Fd10A31c7918D220",
          "blockNumber": 24319366,
          "txHash": "0xff2a3c3a627aeb83fc9f11f1f04d4e97dfc7ffd8b69b6e9c27046ddbf01898f5"
        },
        "batchRequestManager": {
          "address": "0xc52Bd1Bdfa0135147D3F01a0B6D6cd0A831dFe77",
          "blockNumber": 24319374,
          "txHash": "0xaedbaab18171f5d29e5c19f2178a626e9e30c6919487757f87649364aa7bdc1e"
        },
        "oracleValuation": {
          "address": "0xCBdb6EFFC9b954D05dF89c747eCaa8A143c26E6D",
          "blockNumber": 24319379,
          "txHash": "0x8deacf09bba88323cc9ab145548a1329b16c51c157418f7f29bd7676789b9d39"
        },
        "navManager": {
          "address": "0x493b6C8ccC7BfD43c5a20C4F2C648701f74E9130",
          "blockNumber": 24319382,
          "txHash": "0x74ca1eb886b081b19feb24d34ba88815a458fd1ce8d0f98364d33cfadd577a68"
        },
        "simplePriceManager": {
          "address": "0x280C94eB440A8a75c2F8f6cA8c6FaFf907000823",
          "blockNumber": 24319383,
          "txHash": "0x11c06c34e49f1259d347b3aa829bfc1d564c336b542b606c1c802f44ac8fd236"
        },
        "layerZeroAdapter": {
          "address": "0xD517BC7ba17271a8D87BE7355B2523bF5c750295",
          "blockNumber": 24319384,
          "txHash": "0x615c3619e25701320002aaff0e016484a844c271f8dbcc7f0ada921f5c3108e7"
        }
      },
      "deployment": {
        "deployedAt": 1769434050,
        "startBlock": 24319298
      }
    },
    "10": {
      "network": {
        "chainId": 10,
        "centrifugeId": 10,
        "protocolAdmin": "0x9711730060C73Ee7Fcfe1890e8A0993858a7D225",
        "opsAdmin": "0xd21413291444C5c104F1b5918cA0D2f6EC91Ad16",
        "batchLimit": 15,
        "baseRpcUrl": "https://opt-mainnet.g.alchemy.com/v2/"
      },
      "adapters": {
        "layerZero": {
          "endpoint": "0x1a44076050125825900e736c501f859c50fe728c",
          "layerZeroEid": 30111,
          "blockConfirmations": 15,
          "DVNs": [
            "0x5b6735c66d97479cCD18294fc96B3084EcB2fa3f",
            "0x6A02D83e8d433304bba74EF1c427913958187142"
          ]
        },
        "axelar": {
          "axelarId": "optimism",
          "gateway": "0xe432150cce91c13a887f7D836923d5597adD8E31",
          "gasService": "0x2d5d7d31F671F86C782533cc367F14109a082712"
        },
        "chainlink": {
          "chainSelector": 3734403246176062136,
          "ccipRouter": "0x3206695CaE29952f4b0c22a169725a865bc8Ce0f"
        }
      },
      "contracts": {
        "gateway": {
          "address": "0x19a524D03aA94ECEe41a80341537BCFCb47D3172",
          "blockNumber": 147002501,
          "txHash": "0x71b731c4845d3e8ac2c06a83edab9ff2320c4b37c7c1282341e1e76a66beba9f"
        },
        "multiAdapter": {
          "address": "0x35C837F0A54B715a23D193E1476BFC9BC30073BE",
          "blockNumber": 147002511,
          "txHash": "0xf484741e6467d183da1e0913e62e58f78efa6ea073e6adaf9696ab1907147484"
        },
        "contractUpdater": {
          "address": "0x3B150B19245D2C366bc8f18c775b725DFB298F71",
          "blockNumber": 147002517,
          "txHash": "0x028cca98babe55f4cbd708ce3e460122397ed863311d6ac14192f90bb0c63e65"
        },
        "gasService": {
          "address": "0xbEbef21D686a957decECCe6a58455fA0F16754Be",
          "blockNumber": 147002525,
          "txHash": "0x6185a1c9610e887f0cf8ddac00eef6cfab1ec76698217d64bb2ba103a1d5d108"
        },
        "messageProcessor": {
          "address": "0x97cc7e9Dafdd725Cc23B25eeBC93c4384B4Fe30A",
          "blockNumber": 147002533,
          "txHash": "0xf363833534ae2bca365682527d0a0941b481f88b67775ca3cdf9c092333a47e7"
        },
        "messageDispatcher": {
          "address": "0xf837a22883e004f705E0D7e1deE08e295Df30B27",
          "blockNumber": 147002545,
          "txHash": "0xe5d35fe17f0c448727c1cd36561fe0aebfe640c7768839c55ea5e5ab1d78016e"
        },
        "tokenFactory": {
          "address": "0xcE1616505F93215751FBb41Efac618b631997c38",
          "blockNumber": 147002555,
          "txHash": "0xcf06ac39ff85c47242e7149015219d86c88289685d4398e6c0dcc1d18d814347"
        },
        "spoke": {
          "address": "0xEC3582fcDc34078a4B7a8c75a5a3AE46f48525aB",
          "blockNumber": 147002564,
          "txHash": "0x7aef780afd42d0ddf675371551de6f99923ac0c093ef34d92ab3e1a515d12d4a"
        },
        "balanceSheet": {
          "address": "0x12a110cE5f0FC871cC72Bc7ECaF35cf39DD0f43e",
          "blockNumber": 147002570,
          "txHash": "0x05f12d16d726c32fcf3da1f5b8adc971406aabd3c522ed5b29e81b3e8a30ceb1"
        },
        "vaultRegistry": {
          "address": "0xd9531AC47928c3386346f82d9A2478960bf2CA7B",
          "blockNumber": 147002582,
          "txHash": "0xfd004d6032862b9b532d188e29f0152bb300b7fbed11cc376341a1b39418b049"
        },
        "poolEscrowFactory": {
          "address": "0x5187A505c485E22f0b8a5FBdF69eF1c29C478CE3",
          "blockNumber": 147002587,
          "txHash": "0x47d0533bc1d6c8fbac4cd575d12ccb960023a9bca15621651fcf2200d28814e3"
        },
        "hubRegistry": {
          "address": "0x19f46D8130e610C6C0f0116EA40Fb781dEFaDE93",
          "blockNumber": 147002593,
          "txHash": "0xc12a469e43e53546dfa46ad6f290f29ad028d960d0fcb9333499e6298c74f8f2"
        },
        "accounting": {
          "address": "0x050206c38f06e4710C4a37D39F75Ddc5c16a7396",
          "blockNumber": 147002598,
          "txHash": "0x349a1bdf16c1532635222d7f66be470bb60e106796e77130531d167d71501495"
        },
        "holdings": {
          "address": "0x3f0c8D8d2637881c3f6d8531F51a47c2094C918d",
          "blockNumber": 147002609,
          "txHash": "0x5b054ed6b413b1f7f52640e61723cf13c6fa5ff1e857b2e4b06b852df6da79b9"
        },
        "shareClassManager": {
          "address": "0xaFFC269c8fe18EE9C7DDb22301AC2c2507d69BEf",
          "blockNumber": 147002617,
          "txHash": "0x1951ef9aaa87cd80e6eb79c160af8db7d20c2a2f942d37f7d11554cf23a10b23"
        },
        "hubHandler": {
          "address": "0x0dEFb429B1663698da4bAe3278393F6844c3392C",
          "blockNumber": 147002657,
          "txHash": "0x08deb479510fba37fd373d31b67fd034da2c01ea81441a89c588add8c8dcd256"
        },
        "hub": {
          "address": "0xA4A7Bb3831958463b3FE3E27A6a160F764341953",
          "blockNumber": 147002640,
          "txHash": "0xbbd318aa935d748c7a858966fcd382ab46bd6d00de92e609a56c8624addde200"
        },
        "root": {
          "address": "0xdc9456e7e20f15029C8231Ec433a20F404b7235E",
          "blockNumber": 147002472,
          "txHash": "0x41731c8dea3833532502129e815490d07049944fa3967b3fa7eed7132fec48a1"
        },
        "tokenRecoverer": {
          "address": "0x1E70530e9555711f8DF4838Ab940b97c039B4037",
          "blockNumber": 147002671,
          "txHash": "0x92f1fce5a484343e256bdabfdfba7e52b278f9cd777db18d96ccea4b04360bba"
        },
        "protocolGuardian": {
          "address": "0xCEb7eD5d5B3bAD3088f6A1697738B60d829635c6",
          "blockNumber": 147002678,
          "txHash": "0x9b9bc0418fba667d7f5c2078fa7ed715194882919efdd1c7d62d3eae8758c244"
        },
        "opsGuardian": {
          "address": "0x055589229506Ee89645EF08ebE9B9a863486d0dE",
          "blockNumber": 147002683,
          "txHash": "0x62e7268b183cab007f057c0f4190847a47559263db12e792912a3b4fd503b0dc"
        },
        "refundEscrowFactory": {
          "address": "0xC4f9A1DCF2E05eb55AbB30BaA7070838D3Fd3D5B",
          "blockNumber": 147002688,
          "txHash": "0x37228e9245591294de09556642fea45b01fc87a878c1195dfdfc10cc6885ef44"
        },
        "subsidyManager": {
          "address": "0xBFC7B60684880457030C08AceE2E675CbcB9d646",
          "blockNumber": 147002700,
          "txHash": "0x0a140e2c633cae7b8ee568ea9f46d5544027d417c6cde251dc37d81f1e8319c0"
        },
        "asyncVaultFactory": {
          "address": "0x55cde53B7dbc24336E34FFE233AF8DF10f72F0Be",
          "blockNumber": 147002768,
          "txHash": "0x54c3d7deb67e57175736333a2912b28e8b2ede1878119d7ca3651a556308733d"
        },
        "asyncRequestManager": {
          "address": "0xF48256AbDDf96EcDDc4B3DbD23E8C1921f9761Ae",
          "blockNumber": 147002706,
          "txHash": "0xe49a829807dd7cacca79311327e740f26fe307505c99cd046c0936f818f07d5b"
        },
        "syncDepositVaultFactory": {
          "address": "0xdb9C27762045Addd713182521C0580C68BDF700A",
          "blockNumber": 147002773,
          "txHash": "0x3852064b7ad3874fe2c851dcedf885a038895b6cc42510a7ed59c211930808a2"
        },
        "syncManager": {
          "address": "0xFf8Ed1862f6aC3a8e89B81C75507c225E36e273D",
          "blockNumber": 147002715,
          "txHash": "0x5feffbc30478dba8b5025d9585ec7585deb2237213c75289a22ffc236da84870"
        },
        "vaultRouter": {
          "address": "0xF684014771C01e50B8B526968B3a1e33acDA63f6",
          "blockNumber": 147002751,
          "txHash": "0x70eed3e374769249b0ffdcf0f321598c395d2cf86e5ce7e9dc5a540e2485ac65"
        },
        "freezeOnlyHook": {
          "address": "0xd5B243F05b2906F1f6C80c6096945faADa0731C1",
          "blockNumber": 147002779,
          "txHash": "0x954de7940ef5a0b5ea6ec28dc89691a9b04cb7c966daa999883f01bc6c479a2c"
        },
        "fullRestrictionsHook": {
          "address": "0x8E680873b4C77e6088b4Ba0aBD59d100c3D224a4",
          "blockNumber": 147002796,
          "txHash": "0x6c829ad11e9ea9676311354f73fd83a3fa688fe4661922e01d27b36293c6324a"
        },
        "freelyTransferableHook": {
          "address": "0x2a9B9C14851Baf7AD19f26607C9171CA1E7a1A61",
          "blockNumber": 147002814,
          "txHash": "0x8f1dab6fcd3f061136391373cb105cf2ff6f37a57cac64a03d2f8e4b93110753"
        },
        "redemptionRestrictionsHook": {
          "address": "0xE5423eD8602Fa0F263e17b6212d88Efe42317f06",
          "blockNumber": 147002833,
          "txHash": "0x70cc2f8d8bdaa82291f338ca8c89066a0de30f6c45b4203573bd9ef0376933cd"
        },
        "queueManager": {
          "address": "0x971ACA9b4AB4895F400bA042Fd10A31c7918D220",
          "blockNumber": 147002856,
          "txHash": "0x2c6f98e6d964f442ed911f749e6208f2fb3cfcbbef57a00cf540dbdf75d5583d"
        },
        "onOfframpManagerFactory": {
          "address": "0x2539e60B0B50D7BD004A09e9D2b7E8c86EB0AaF6",
          "blockNumber": 147002871,
          "txHash": "0x71bc2e17cf7967894ca555ec4779955aa10f099015397c0bb51d6ddbc9e606a5"
        },
        "merkleProofManagerFactory": {
          "address": "0xc5243bdEa2d86eA7541AC69084dF3EDdc137a18b",
          "blockNumber": 147002878,
          "txHash": "0xddc31a9b68e0823c128a2b82bddfab2b2c7982172fa9b6a6e1d7804d265b093c"
        },
        "vaultDecoder": {
          "address": "0x8Ca5372A5613A6Df75fD5fbC43216e68c1bE6D38",
          "blockNumber": 147002883,
          "txHash": "0xde0744e630ca160cd2cc4e8c839dfc223c3948f4c6a735bd5534f549baeb8234"
        },
        "circleDecoder": {
          "address": "0xd40871a6336fD19A25a7bd96c0C0dd66Ed60931D",
          "blockNumber": 147002893,
          "txHash": "0xb8908caba4222f9b74b0df1a58c3c6c094b6c204dc2ac5cac26c4b26821c3e05"
        },
        "batchRequestManager": {
          "address": "0xc52Bd1Bdfa0135147D3F01a0B6D6cd0A831dFe77",
          "blockNumber": 147002906,
          "txHash": "0x1fc6616e5701179456254bab42fc04fc5019207fd05e2b0f28578a6cd77e595f"
        },
        "identityValuation": {
          "address": "0x05e22C20B21c1314a0c93d34855358B9B96133CF",
          "blockNumber": 147002917,
          "txHash": "0xee0c42fbd7abc62cce51ea7e37693813a5fcbbd0e56fbc699700de6daf008233"
        },
        "oracleValuation": {
          "address": "0xCBdb6EFFC9b954D05dF89c747eCaa8A143c26E6D",
          "blockNumber": 147002924,
          "txHash": "0x26f6eaa1209ca5e60546e88d4fdd85c2288eb32546d3d2f12dd6bb49fabda3a8"
        },
        "navManager": {
          "address": "0x493b6C8ccC7BfD43c5a20C4F2C648701f74E9130",
          "blockNumber": 147002930,
          "txHash": "0xed5ad063d9700ef69047da567a7def3eae94077c8d97bbc8c16b22d3430dd9e2"
        },
        "simplePriceManager": {
          "address": "0x280C94eB440A8a75c2F8f6cA8c6FaFf907000823",
          "blockNumber": 147002936,
          "txHash": "0x170834e6a1a5b650c7f9d5eaa5905c873e136ed821aa5457fabe5b9f0a36be45"
        },
        "axelarAdapter": {
          "address": "0x34e904237341C3de02D4447C3fF0ca8880ca6484",
          "blockNumber": 147002950,
          "txHash": "0xf65d3becc735adfb2a0ed462275d578ceab869a39677abf65b992504b1da4f95"
        },
        "layerZeroAdapter": {
          "address": "0xD517BC7ba17271a8D87BE7355B2523bF5c750295",
          "blockNumber": 147002945,
          "txHash": "0xbd13f2efd282eb7618c525fd9dc03da4f8288bd360a12cfb6d6e7ba9acba9031"
        },
        "chainlinkAdapter": {
          "address": "0x39CF679Eb0Ac9075CFb5f94930A367Ba1557D955",
          "blockNumber": 147002957,
          "txHash": "0x023e11944f9026f9ff57d03dbb453c73d35df436c4abea3ba83355492c1a5702"
        }
      },
      "deployment": {
        "deployedAt": 1769603677,
        "startBlock": 147002446
      }
    },
    "56": {
      "network": {
        "chainId": 56,
        "centrifugeId": 6,
        "protocolAdmin": "0x9711730060C73Ee7Fcfe1890e8A0993858a7D225",
        "opsAdmin": "0xd21413291444C5c104F1b5918cA0D2f6EC91Ad16",
        "batchLimit": 15,
        "baseRpcUrl": "https://bnb-mainnet.g.alchemy.com/v2/"
      },
      "adapters": {
        "layerZero": {
          "endpoint": "0x1a44076050125825900e736c501f859c50fE728c",
          "layerZeroEid": 30102,
          "blockConfirmations": 15,
          "DVNs": [
            "0xfA9bA83C102283958B997Adc8B44ED3A3CdB5dDa",
            "0xfD6865c841c2d64565562fCc7e05e619A30615f0"
          ]
        },
        "wormhole": {
          "wormholeId": 4,
          "relayer": "0x27428DD2d3DD32A4D7f7C497eAaa23130d894911"
        },
        "axelar": {
          "axelarId": "binance",
          "gateway": "0x304acf330bbE08d1e512eefaa92F6a57871fD895",
          "gasService": "0x2d5d7d31F671F86C782533cc367F14109a082712"
        },
        "chainlink": {
          "chainSelector": 11344663589394136015,
          "ccipRouter": "0x34B03Cb9086d7D758AC55af71584F81A598759FE"
        }
      },
      "contracts": {
        "gasService": {
          "address": "0xbEbef21D686a957decECCe6a58455fA0F16754Be",
          "blockNumber": 77734461,
          "txHash": "0x75a1aa2b276337b2e42059cc75782309ec9cd4a58c8a3063991de1ac313b0a0b"
        },
        "gateway": {
          "address": "0x19a524D03aA94ECEe41a80341537BCFCb47D3172",
          "blockNumber": 77734397,
          "txHash": "0xa8c7440d65c83f20422ad6690522ef8d3eda13fcb712082c6043056d94be9ee1"
        },
        "multiAdapter": {
          "address": "0x35C837F0A54B715a23D193E1476BFC9BC30073BE",
          "blockNumber": 77734419,
          "txHash": "0x9c8f6c39d1f430ef8b482c4e7a73e0345355205257c5c1854a709e117c0293b5"
        },
        "messageProcessor": {
          "address": "0x97cc7e9Dafdd725Cc23B25eeBC93c4384B4Fe30A",
          "blockNumber": 77734487,
          "txHash": "0x9bb62598db9be21e41f9b09cbfd8aae2643b486b89138a6e8ce3aabd0d927ca0"
        },
        "messageDispatcher": {
          "address": "0xf837a22883e004f705E0D7e1deE08e295Df30B27",
          "blockNumber": 77734513,
          "txHash": "0xfc8c6f0cf4f06585a867c132b5b74c18df5d6d3b3417cda9d05aec52dc906f7a"
        },
        "poolEscrowFactory": {
          "address": "0x5187A505c485E22f0b8a5FBdF69eF1c29C478CE3",
          "blockNumber": 77734628,
          "txHash": "0x7bcabac793ca0e976cefaa58da19fbb8da13be123e40f9bda84f507abe1dd377"
        },
        "tokenRecoverer": {
          "address": "0x1E70530e9555711f8DF4838Ab940b97c039B4037",
          "blockNumber": 77734948,
          "txHash": "0xa6fd67c09a7afc0498c9befcf1572151c2c4ce88f3467e3b4a7d8b0d534ad47c"
        },
        "hubRegistry": {
          "address": "0x19f46D8130e610C6C0f0116EA40Fb781dEFaDE93",
          "blockNumber": 77734650,
          "txHash": "0x6e7d8498e6d2a9a3e088ab49c515ef6a688dd9af28adfbcf29b552f7256710ec"
        },
        "accounting": {
          "address": "0x050206c38f06e4710C4a37D39F75Ddc5c16a7396",
          "blockNumber": 77734677,
          "txHash": "0x3742d332d6dad0d81fd6169879e7418988329d0b37d9ab494b6b6702de3b98f8"
        },
        "holdings": {
          "address": "0x3f0c8D8d2637881c3f6d8531F51a47c2094C918d",
          "blockNumber": 77734705,
          "txHash": "0x8daaf96deb8e16da83cd0b2243435b66faffd3a6478b4174c7f683bfc0e30892"
        },
        "shareClassManager": {
          "address": "0xaFFC269c8fe18EE9C7DDb22301AC2c2507d69BEf",
          "blockNumber": 77734727,
          "txHash": "0xfa319a9152a55259693fe69a2448ea2551b06d86fda7ab4396a766a4f5f071d1"
        },
        "hub": {
          "address": "0xA4A7Bb3831958463b3FE3E27A6a160F764341953",
          "blockNumber": 77734754,
          "txHash": "0xda6fd785a3658d94aed465d7edd6e77acf00eca85909b01713583069a95e1871"
        },
        "identityValuation": {
          "address": "0x05e22C20B21c1314a0c93d34855358B9B96133CF",
          "blockNumber": 77736070,
          "txHash": "0xbf64a22b3dff50e72136bf359918d5a59cf8859d91da961ee25b8436338256e5"
        },
        "tokenFactory": {
          "address": "0xcE1616505F93215751FBb41Efac618b631997c38",
          "blockNumber": 77734536,
          "txHash": "0xd9c0400d8bc3bfb7fb1834f47cfeb633a26136e111fd6caeb90493992eefb939"
        },
        "spoke": {
          "address": "0xEC3582fcDc34078a4B7a8c75a5a3AE46f48525aB",
          "blockNumber": 77734560,
          "txHash": "0x96a3d75a291330059ac025a82493238b024394cb34dbb70f388a4e18ef4c7662"
        },
        "balanceSheet": {
          "address": "0x12a110cE5f0FC871cC72Bc7ECaF35cf39DD0f43e",
          "blockNumber": 77734584,
          "txHash": "0xc398cd54e11255cc28077561d8c664cf2c021e1fad9e18e7912d87d6b8834adf"
        },
        "contractUpdater": {
          "address": "0x3B150B19245D2C366bc8f18c775b725DFB298F71",
          "blockNumber": 77734439,
          "txHash": "0x15e048af228e78a968e1a9f1cd53f55243eeac081de64f3fe791bc3cd7518b37"
        },
        "asyncRequestManager": {
          "address": "0xF48256AbDDf96EcDDc4B3DbD23E8C1921f9761Ae",
          "blockNumber": 77735146,
          "txHash": "0x63de4fc225e96baedd0f04e0711c51b24e8247cbe3605fdcbd0eadf5919492b0"
        },
        "syncManager": {
          "address": "0xFf8Ed1862f6aC3a8e89B81C75507c225E36e273D",
          "blockNumber": 77735197,
          "txHash": "0xd8c97dc52c345eeb30e42dce93d72d6c6fdc8e8521ff8fb628f00a054d97691d"
        },
        "asyncVaultFactory": {
          "address": "0x55cde53B7dbc24336E34FFE233AF8DF10f72F0Be",
          "blockNumber": 77735255,
          "txHash": "0xd444d9ce6d63168ebfc9e85f5a1ba17b66c308c2df7f523d7cd79b3b24711f9d"
        },
        "syncDepositVaultFactory": {
          "address": "0xdb9C27762045Addd713182521C0580C68BDF700A",
          "blockNumber": 77735307,
          "txHash": "0x73d771c958e7e928b0326afa37ab40805ae3de8b8c45b1f45eead8c37e0f8746"
        },
        "vaultRouter": {
          "address": "0xF684014771C01e50B8B526968B3a1e33acDA63f6",
          "blockNumber": 77735231,
          "txHash": "0x7857320ae1ed129d428e527c7be2bdbea0f1c9b21af3ae5e002fc8682b29bb13"
        },
        "freezeOnlyHook": {
          "address": "0xd5B243F05b2906F1f6C80c6096945faADa0731C1",
          "blockNumber": 77735335,
          "txHash": "0x44f9937b5d6234d77d1d5be919ed0d5ba90b6fb9054d78cab5f934431b5d40e8"
        },
        "fullRestrictionsHook": {
          "address": "0x8E680873b4C77e6088b4Ba0aBD59d100c3D224a4",
          "blockNumber": 77735365,
          "txHash": "0xa7ce147d1d8d7d0dbf5677c5058cd4837d526706133586cec5006537b2f53373"
        },
        "freelyTransferableHook": {
          "address": "0x2a9B9C14851Baf7AD19f26607C9171CA1E7a1A61",
          "blockNumber": 77735466,
          "txHash": "0xfc0fcd4d4dd53b806e5cc6eadd3c7287a1cac045026affeb0f0263ab575e2497"
        },
        "redemptionRestrictionsHook": {
          "address": "0xE5423eD8602Fa0F263e17b6212d88Efe42317f06",
          "blockNumber": 77735495,
          "txHash": "0x580adb8a88f85b34f9bc3d2c7368067069f30350a1bb9564facbddb2832c409d"
        },
        "onOfframpManagerFactory": {
          "address": "0x2539e60B0B50D7BD004A09e9D2b7E8c86EB0AaF6",
          "blockNumber": 77735916,
          "txHash": "0x68a6e27d00d52858748d2e4d0176a0242545fe3bb8f66e93ce4668aaa18e42f0"
        },
        "merkleProofManagerFactory": {
          "address": "0xc5243bdEa2d86eA7541AC69084dF3EDdc137a18b",
          "blockNumber": 77735949,
          "txHash": "0x84ba45fe210bbe7bab28a8a012fe3b84efd0f14e72590474d70c00e3634146d6"
        },
        "vaultDecoder": {
          "address": "0x8Ca5372A5613A6Df75fD5fbC43216e68c1bE6D38",
          "blockNumber": 77735973,
          "txHash": "0x0541ef494c9073f9164811a82b3ede2dcb21b99599589a8c565bfe7353c2b38b"
        },
        "circleDecoder": {
          "address": "0xd40871a6336fD19A25a7bd96c0C0dd66Ed60931D",
          "blockNumber": 77735997,
          "txHash": "0x9e58514c45b2e017b3fe08bb82cfa7c41e64ecfc2f8c0cbb91f418776306f405"
        },
        "wormholeAdapter": {
          "address": "0x4BE430401760075315E931dD34b892DFdfc706A7",
          "blockNumber": 77736267,
          "txHash": "0x89bf512b490268c239ff6635fdbf05140581df302c8b1a11cc9ee74b801e27f8"
        },
        "axelarAdapter": {
          "address": "0x34e904237341C3de02D4447C3fF0ca8880ca6484",
          "blockNumber": 77736291,
          "txHash": "0xa23d5c25e46ce2d5d4d7940af7028a8f6bcc7ca87dc2d32ecb81b8a620313722"
        },
        "vaultRegistry": {
          "address": "0xd9531AC47928c3386346f82d9A2478960bf2CA7B",
          "blockNumber": 77734607,
          "txHash": "0x35c821c9daa9f8dc44546f28d7f3a79de2f7b9186e2e835207efdef0b05bf5bb"
        },
        "hubHandler": {
          "address": "0x0dEFb429B1663698da4bAe3278393F6844c3392C",
          "blockNumber": 77734781,
          "txHash": "0x168e0220de908b55a328e9c0b54154ecc868c80a1d15b7b778f82c9e9379fcd4"
        },
        "protocolGuardian": {
          "address": "0xCEb7eD5d5B3bAD3088f6A1697738B60d829635c6",
          "blockNumber": 77734997,
          "txHash": "0xc1149b4cbf2ba483c7334978e7ed1a779b29a2b19303ffad6a3d5bd871ace076"
        },
        "opsGuardian": {
          "address": "0x055589229506Ee89645EF08ebE9B9a863486d0dE",
          "blockNumber": 77735055,
          "txHash": "0xf6bdb69f8a8783a04203e677dae3d3cfb4f8d4d3bc907ae47572eea105e7a5dc"
        },
        "refundEscrowFactory": {
          "address": "0xC4f9A1DCF2E05eb55AbB30BaA7070838D3Fd3D5B",
          "blockNumber": 77735090,
          "txHash": "0x01a3ea0c929b87ed0afeee19fd084fb36d4b41ef7c65723b341c5b1a61a295e7"
        },
        "subsidyManager": {
          "address": "0xBFC7B60684880457030C08AceE2E675CbcB9d646",
          "blockNumber": 77735119,
          "txHash": "0xccbfa4fa87d2ebdd56993f6905781ac6b9f0e19c15325891fda3d825a07c8646"
        },
        "queueManager": {
          "address": "0x971ACA9b4AB4895F400bA042Fd10A31c7918D220",
          "blockNumber": 77735591,
          "txHash": "0x242aaca5af34c20f0a7b234e2b05e77c99bce79c23a2c0f7b8717d8ebf2a07ca"
        },
        "batchRequestManager": {
          "address": "0xc52Bd1Bdfa0135147D3F01a0B6D6cd0A831dFe77",
          "blockNumber": 77736029,
          "txHash": "0x3ff9802f0c3aea3d1a78fad0c927f43f0b493537e9a09e36935ec8f704fc4f79"
        },
        "oracleValuation": {
          "address": "0xCBdb6EFFC9b954D05dF89c747eCaa8A143c26E6D",
          "blockNumber": 77736120,
          "txHash": "0x0f94a0d0361289d44e6d280cbaeaf20fe691e30627243b61afc70ab35da04192"
        },
        "navManager": {
          "address": "0x493b6C8ccC7BfD43c5a20C4F2C648701f74E9130",
          "blockNumber": 77736145,
          "txHash": "0xfa03f06cddd5201d3d5c15b273359deaf012a2c0f22257f6ab53fa015b4b332b"
        },
        "simplePriceManager": {
          "address": "0x280C94eB440A8a75c2F8f6cA8c6FaFf907000823",
          "blockNumber": 77736178,
          "txHash": "0x6160c21ab91dadfa22b088c2de81d51fba8353fb60526a69e0da566d8a9c1af8"
        },
        "layerZeroAdapter": {
          "address": "0xD517BC7ba17271a8D87BE7355B2523bF5c750295",
          "blockNumber": 77736234,
          "txHash": "0xbc8348ab0dc3c442b51fe695b16cd3e88ae1ab47e3ea22ba04e6ff1fae45354a"
        },
        "chainlinkAdapter": {
          "address": "0x39CF679Eb0Ac9075CFb5f94930A367Ba1557D955",
          "blockNumber": 77736313,
          "txHash": "0x4dbde4b157f17780552145c9e0886acc942683faff39dd1bafa191836ab3282a"
        }
      },
      "deployment": {
        "deployedAt": 1769525772,
        "startBlock": 77734265
      }
    },
    "143": {
      "network": {
        "chainId": 143,
        "centrifugeId": 11,
        "protocolAdmin": "0x9711730060C73Ee7Fcfe1890e8A0993858a7D225",
        "opsAdmin": "0xd21413291444C5c104F1b5918cA0D2f6EC91Ad16",
        "batchLimit": 15,
        "baseRpcUrl": "https://monad-mainnet.g.alchemy.com/v2/"
      },
      "adapters": {
        "layerZero": {
          "endpoint": "0x6F475642a6e85809B1c36Fa62763669b1b48DD5B",
          "layerZeroEid": 30390,
          "blockConfirmations": 15,
          "DVNs": [
            "0x282b3386571f7f794450d5789911a9804fa346b4",
            "0x493626c5d852b9b187a9eb709d0b0978a3877238"
          ]
        },
        "axelar": {
          "axelarId": "monad",
          "gateway": "0xe432150cce91c13a887f7D836923d5597adD8E31",
          "gasService": "0x2d5d7d31F671F86C782533cc367F14109a082712"
        },
        "chainlink": {
          "chainSelector": 8481857512324358265,
          "ccipRouter": "0x33566fE5976AAa420F3d5C64996641Fc3858CaDB"
        }
      },
      "contracts": {
        "gateway": {
          "address": "0x19a524D03aA94ECEe41a80341537BCFCb47D3172",
          "blockNumber": 51882525,
          "txHash": "0x898a1b725c0a8ce3caaf23b2c077ae5c47c68af7d0955a94d6a11f9216b1ae92"
        },
        "multiAdapter": {
          "address": "0x35C837F0A54B715a23D193E1476BFC9BC30073BE",
          "blockNumber": 51882548,
          "txHash": "0xf9651efd0f76436fc016e5924ae47e9966b09c890b42bbfb58e47d1103f02bf7"
        },
        "contractUpdater": {
          "address": "0x3B150B19245D2C366bc8f18c775b725DFB298F71",
          "blockNumber": 51882570,
          "txHash": "0x1e0d98e2f269ad32900e37f91412498df433e846f3350b299dfe0812df8e0a32"
        },
        "gasService": {
          "address": "0xbEbef21D686a957decECCe6a58455fA0F16754Be",
          "blockNumber": 51882593,
          "txHash": "0x2e6ab41c9b88da9f6e7f42318cd2067019d99ab5532d9ba472a9346a2a9886fe"
        },
        "messageProcessor": {
          "address": "0x97cc7e9Dafdd725Cc23B25eeBC93c4384B4Fe30A",
          "blockNumber": 51882619,
          "txHash": "0x2b2a661c6c4a12c7c3886162d0469be53eeb6ed23ae117d28c961ca1f2b1b00d"
        },
        "messageDispatcher": {
          "address": "0xf837a22883e004f705E0D7e1deE08e295Df30B27",
          "blockNumber": 51882668,
          "txHash": "0xf0999920586ad783848dd31441fe9b936c344f53bc2b86d9f53e0b3687b516bd"
        },
        "tokenFactory": {
          "address": "0xcE1616505F93215751FBb41Efac618b631997c38",
          "blockNumber": 51882736,
          "txHash": "0x8616cf53d3a692abc441b7c76566c48755d2ffa69a51ec97c1f122cbfe356ace"
        },
        "spoke": {
          "address": "0xEC3582fcDc34078a4B7a8c75a5a3AE46f48525aB",
          "blockNumber": 51882762,
          "txHash": "0x6597359771be090426a618e98f652571b66e25b24370b842e629aa99f1856582"
        },
        "balanceSheet": {
          "address": "0x12a110cE5f0FC871cC72Bc7ECaF35cf39DD0f43e",
          "blockNumber": 51882800,
          "txHash": "0x821eaf56eb738f06939703f933857d55e321649b9dc85ab54ff8a0578bd6a7ea"
        },
        "vaultRegistry": {
          "address": "0xd9531AC47928c3386346f82d9A2478960bf2CA7B",
          "blockNumber": 51882836,
          "txHash": "0xa9089955127859862ce6bfe55463ed382797eb4ee4f7f33f0c4b3a401dd761ba"
        },
        "poolEscrowFactory": {
          "address": "0x5187A505c485E22f0b8a5FBdF69eF1c29C478CE3",
          "blockNumber": 51882891,
          "txHash": "0xa356530e44ea58ae5f9cedde86f3fc1390027dca382e660b54aded5da03265ea"
        },
        "hubRegistry": {
          "address": "0x19f46D8130e610C6C0f0116EA40Fb781dEFaDE93",
          "blockNumber": 51882947,
          "txHash": "0x9371eb4078107113f0a65ef34ce14802f90b1c3f8b9d86e8a862cf1886ee5131"
        },
        "accounting": {
          "address": "0x050206c38f06e4710C4a37D39F75Ddc5c16a7396",
          "blockNumber": 51882976,
          "txHash": "0xfcba3b86d55b14ae0ac48e02578e6fec392b1fa364c87cde6fd1c2d8cd303288"
        },
        "holdings": {
          "address": "0x3f0c8D8d2637881c3f6d8531F51a47c2094C918d",
          "blockNumber": 51883002,
          "txHash": "0xbb84f22d472237c2b3907bf65b3398157a2be96be54ebed1b59c8fa260d3c0dc"
        },
        "shareClassManager": {
          "address": "0xaFFC269c8fe18EE9C7DDb22301AC2c2507d69BEf",
          "blockNumber": 51883034,
          "txHash": "0xb34af1bc3f0903df8df44b33b5a8369666ef8de250d05261bb12694c7c636145"
        },
        "hubHandler": {
          "address": "0x0dEFb429B1663698da4bAe3278393F6844c3392C",
          "blockNumber": 51883094,
          "txHash": "0xb6abd906678599ec47c4c7b9ce1790db1d53a678ac838a46ce5307194e3f446c"
        },
        "hub": {
          "address": "0xA4A7Bb3831958463b3FE3E27A6a160F764341953",
          "blockNumber": 51883066,
          "txHash": "0x76bfad621f93671a23c1e171a2de5878360917aeb8cb1ec20d7f5b50c01c41a5"
        },
        "root": {
          "address": "0xdc9456e7e20f15029C8231Ec433a20F404b7235E",
          "blockNumber": 51882383,
          "txHash": "0xd811eb82fcdc196b2ce39fa5e3ce2ac78a05bb6dc01395b22641da4d9d2b745e"
        },
        "tokenRecoverer": {
          "address": "0x1E70530e9555711f8DF4838Ab940b97c039B4037",
          "blockNumber": 51883147,
          "txHash": "0xabdc1bdf9c22fdf7cf4ef1c4d21504c1c8ce69e0b384578a318a14139f8ae9fe"
        },
        "protocolGuardian": {
          "address": "0xCEb7eD5d5B3bAD3088f6A1697738B60d829635c6",
          "blockNumber": 51883172,
          "txHash": "0xf1d743469673626cf9ad63b19fb5276e4b28c040c4dbc7aff7d4c6bae54d6bb2"
        },
        "opsGuardian": {
          "address": "0x055589229506Ee89645EF08ebE9B9a863486d0dE",
          "blockNumber": 51883650,
          "txHash": "0xda0becb81bf1666921148e047a8804963d158483bb8ab0469f6b6e2ccb5c70ca"
        },
        "refundEscrowFactory": {
          "address": "0xC4f9A1DCF2E05eb55AbB30BaA7070838D3Fd3D5B",
          "blockNumber": 51883742,
          "txHash": "0xdacd36ba6e6048142204b54ebffba26a062a16649e243c080c4d13268b722820"
        },
        "subsidyManager": {
          "address": "0xBFC7B60684880457030C08AceE2E675CbcB9d646",
          "blockNumber": 51883764,
          "txHash": "0x2a469c52f6327cd5090af67620988a3a32218cbd6f4a5e93a645179a8c3986a9"
        },
        "asyncVaultFactory": {
          "address": "0x55cde53B7dbc24336E34FFE233AF8DF10f72F0Be",
          "blockNumber": 51883887,
          "txHash": "0xa8073174136694ed9e37e72d4a10fa6483ff27467c5ec4a99032dc82761af8d4"
        },
        "asyncRequestManager": {
          "address": "0xF48256AbDDf96EcDDc4B3DbD23E8C1921f9761Ae",
          "blockNumber": 51883789,
          "txHash": "0x07f0b2554b517f11760283507c0ebf3efa7ba789be6396490393668fc628f63b"
        },
        "syncDepositVaultFactory": {
          "address": "0xdb9C27762045Addd713182521C0580C68BDF700A",
          "blockNumber": 51883924,
          "txHash": "0x150fa268f0c27a78bc5dcf5a92c12f3ef6be03a4a8e464fe99820a0e61a3c67e"
        },
        "syncManager": {
          "address": "0xFf8Ed1862f6aC3a8e89B81C75507c225E36e273D",
          "blockNumber": 51883812,
          "txHash": "0x890fe7a0d2bf4cb50ba0dcaa12a0db2f076687a38af3a1a79a4da8b2adcf953e"
        },
        "vaultRouter": {
          "address": "0xF684014771C01e50B8B526968B3a1e33acDA63f6",
          "blockNumber": 51883834,
          "txHash": "0x8153c060523dc072cf8e99b71ce20998a07422b28959bbd579d26b230258efa6"
        },
        "freezeOnlyHook": {
          "address": "0xd5B243F05b2906F1f6C80c6096945faADa0731C1",
          "blockNumber": 51883954,
          "txHash": "0xcab5e01371796b771d25846d19ecb8c6c14f2a83737c39c7dcbf3921b5c44b29"
        },
        "fullRestrictionsHook": {
          "address": "0x8E680873b4C77e6088b4Ba0aBD59d100c3D224a4",
          "blockNumber": 51884012,
          "txHash": "0x5b6ad84e87ee4e886ed1420714a51539e33fb2dee7bb835ff31b8856c60aacfd"
        },
        "freelyTransferableHook": {
          "address": "0x2a9B9C14851Baf7AD19f26607C9171CA1E7a1A61",
          "blockNumber": 51884064,
          "txHash": "0xa6b0d8d46f02cd535cad645dcb4f99fab37769b5e8e0c39e098d1f0fa1bc07e9"
        },
        "redemptionRestrictionsHook": {
          "address": "0xE5423eD8602Fa0F263e17b6212d88Efe42317f06",
          "blockNumber": 51884326,
          "txHash": "0x33aab3aa2db40703bd0ba91555b60dbdd2c267d242cc14d249f55bdaf3070a9c"
        },
        "queueManager": {
          "address": "0x971ACA9b4AB4895F400bA042Fd10A31c7918D220",
          "blockNumber": 51884348,
          "txHash": "0x16e05dffc073dedcbb3718337c62262827eb79f02b4ec6392f07ebbd9527cc49"
        },
        "onOfframpManagerFactory": {
          "address": "0x2539e60B0B50D7BD004A09e9D2b7E8c86EB0AaF6",
          "blockNumber": 51884375,
          "txHash": "0xfe31b735b4f8923b8207b553047e58548e7968e8d2f3c7baffb843261c9c9dc7"
        },
        "merkleProofManagerFactory": {
          "address": "0xc5243bdEa2d86eA7541AC69084dF3EDdc137a18b",
          "blockNumber": 51884434,
          "txHash": "0x4369d642cae38b8c5844b1a53aa60c259d6b9d1e05bd597f4e267f141a20dd31"
        },
        "vaultDecoder": {
          "address": "0x8Ca5372A5613A6Df75fD5fbC43216e68c1bE6D38",
          "blockNumber": 51884459,
          "txHash": "0x457f48207f77ad378fb47c2f4a391382cc3ba2739948f82119edc7f521bb49d2"
        },
        "circleDecoder": {
          "address": "0xd40871a6336fD19A25a7bd96c0C0dd66Ed60931D",
          "blockNumber": 51884497,
          "txHash": "0x201cb392ea401e231d66bfd2c07f860ff72dbe160a9b03428dac4352d976872b"
        },
        "batchRequestManager": {
          "address": "0xc52Bd1Bdfa0135147D3F01a0B6D6cd0A831dFe77",
          "blockNumber": 51884591,
          "txHash": "0x982a52e1a0c56703cb3139eca21c12f2bebcb2570382bb3f1f8aaea0b0472cb5"
        },
        "identityValuation": {
          "address": "0x05e22C20B21c1314a0c93d34855358B9B96133CF",
          "blockNumber": 51884613,
          "txHash": "0xf49f44db59340a9f83265f1641d5af9db43e0a0fa1394b5cf0ef2d75b66f7cc1"
        },
        "oracleValuation": {
          "address": "0xCBdb6EFFC9b954D05dF89c747eCaa8A143c26E6D",
          "blockNumber": 51884649,
          "txHash": "0x5ba98a54cf0f88a697e99f7890b98bbb861076d8a15b98207ddd77d26c3f0193"
        },
        "navManager": {
          "address": "0x493b6C8ccC7BfD43c5a20C4F2C648701f74E9130",
          "blockNumber": 51884673,
          "txHash": "0x66024dcc0f50a9d4eede676bb7e00f0b86560c65a37519999715610e5690de05"
        },
        "simplePriceManager": {
          "address": "0x280C94eB440A8a75c2F8f6cA8c6FaFf907000823",
          "blockNumber": 51884703,
          "txHash": "0x605b825d9717d66f202b666f9e423af1c4f8df96350ed8b6e84183c19a11a3d3"
        },
        "axelarAdapter": {
          "address": "0x34e904237341C3de02D4447C3fF0ca8880ca6484",
          "blockNumber": 51884804,
          "txHash": "0x8fc45725aa0c0655e9755282b858464ece5800bc81185c6548a4e417cf27a267"
        },
        "layerZeroAdapter": {
          "address": "0xD517BC7ba17271a8D87BE7355B2523bF5c750295",
          "blockNumber": 51884725,
          "txHash": "0xbe3e557d2205439b1c97c94aa35f680f19368bba3fbe595332b657f8f40e9b93"
        },
        "chainlinkAdapter": {
          "address": "0x39CF679Eb0Ac9075CFb5f94930A367Ba1557D955",
          "blockNumber": 51884827,
          "txHash": "0xac874945c9362b2a5ab103d124f3a02bebb35ab643829748169b217adfc5a5c2"
        }
      },
      "deployment": {
        "deployedAt": 1769689219,
        "startBlock": 51882297
      }
    },
    "999": {
      "network": {
        "chainId": 999,
        "centrifugeId": 9,
        "protocolAdmin": "0x9711730060C73Ee7Fcfe1890e8A0993858a7D225",
        "opsAdmin": "0xd21413291444C5c104F1b5918cA0D2f6EC91Ad16",
        "batchLimit": 15,
        "baseRpcUrl": "https://hyperliquid-mainnet.g.alchemy.com/v2/"
      },
      "adapters": {
        "layerZero": {
          "endpoint": "0x3a73033C0B1407574C76BDbAC67F126F6b4a9Aa9",
          "layerZeroEid": 30367,
          "blockConfirmations": 15,
          "DVNs": [
            "0x83342EC538dF0460e730a8F543Fe63063e2D44C4",
            "0xc097ab8CD7b053326DFe9fB3E3a31a0CCe3B526f"
          ]
        },
        "axelar": {
          "axelarId": "hyperliquid",
          "gateway": "0xe432150cce91c13a887f7D836923d5597adD8E31",
          "gasService": "0x2d5d7d31F671F86C782533cc367F14109a082712"
        },
        "chainlink": {
          "chainSelector": 2442541497099098535,
          "ccipRouter": "0x13b3332b66389B1467CA6eBd6fa79775CCeF65ec"
        }
      },
      "contracts": {
        "gateway": {
          "address": "0x19a524D03aA94ECEe41a80341537BCFCb47D3172",
          "blockNumber": 25782506,
          "txHash": "0x15dd1639c85db11fa3f5c4e0e86a626d63920397f8fafd6e52995e69628a57fa"
        },
        "multiAdapter": {
          "address": "0x35C837F0A54B715a23D193E1476BFC9BC30073BE",
          "blockNumber": 25782567,
          "txHash": "0x759443a82a6861d32e3a22cd3329c113cce39ad8b035f6398305290adcc9005b"
        },
        "contractUpdater": {
          "address": "0x3B150B19245D2C366bc8f18c775b725DFB298F71",
          "blockNumber": 25782628,
          "txHash": "0x3b904f2ca2440ad50c4d3cc43ab7e2ba3d1de81b43e75541adfb571d924007a3"
        },
        "gasService": {
          "address": "0xbEbef21D686a957decECCe6a58455fA0F16754Be",
          "blockNumber": 25782689,
          "txHash": "0x741c1a59b2e5227b3ff9826347f1ca695d9cf77d8639b6c3426d7794ab8d044b"
        },
        "messageProcessor": {
          "address": "0x97cc7e9Dafdd725Cc23B25eeBC93c4384B4Fe30A",
          "blockNumber": 25782750,
          "txHash": "0x610ff09ea3510843ca1e4d03f85bd1b0d476af93bc1a7af83e0430c273665c7d"
        },
        "messageDispatcher": {
          "address": "0xf837a22883e004f705E0D7e1deE08e295Df30B27",
          "blockNumber": 25782811,
          "txHash": "0x4e425d73ba43a7aef9a02f019c065d950f6bf8c6692c4326e359063266d7e9bc"
        },
        "tokenFactory": {
          "address": "0xcE1616505F93215751FBb41Efac618b631997c38",
          "blockNumber": 25782872,
          "txHash": "0x88d32e99600ca1701262ff5a0f1762083a5edb39240e9aebc5ad26a01c532a06"
        },
        "spoke": {
          "address": "0xEC3582fcDc34078a4B7a8c75a5a3AE46f48525aB",
          "blockNumber": 25782933,
          "txHash": "0xe467cc519a24e188b77f5c6543fbb35fc93e35382ba0374e986ed1a17923693c"
        },
        "balanceSheet": {
          "address": "0x12a110cE5f0FC871cC72Bc7ECaF35cf39DD0f43e",
          "blockNumber": 25782994,
          "txHash": "0xce6021030b357a8044c13762cf2d223a4b8c31251a0b9f74c5115cb0e8dfd809"
        },
        "vaultRegistry": {
          "address": "0xd9531AC47928c3386346f82d9A2478960bf2CA7B",
          "blockNumber": 25783055,
          "txHash": "0x60ee2a87b6929cbb2e7e0704ae004a9558012396328d8901c21e91a1c9efa396"
        },
        "poolEscrowFactory": {
          "address": "0x5187A505c485E22f0b8a5FBdF69eF1c29C478CE3",
          "blockNumber": 25783116,
          "txHash": "0x9a6f843126059fb0aa2ab1b2a3616ebeb939227cd8783f57c1c8f6b908e54ccf"
        },
        "hubRegistry": {
          "address": "0x19f46D8130e610C6C0f0116EA40Fb781dEFaDE93",
          "blockNumber": 25783177,
          "txHash": "0x1644ad18dd784e74bbfb6d98f81548c84b0d7fa133579e610997ccddc35ae418"
        },
        "accounting": {
          "address": "0x050206c38f06e4710C4a37D39F75Ddc5c16a7396",
          "blockNumber": 25783238,
          "txHash": "0xa35d88a895f9876e13f8547a6ff9b7c58ebf5009dfd0ab1b1dc793e537383f6c"
        },
        "holdings": {
          "address": "0x3f0c8D8d2637881c3f6d8531F51a47c2094C918d",
          "blockNumber": 25783299,
          "txHash": "0x9ed1aafb92b3337a933991a4c298e52f756a33928f9f3e346490342ecf77cddc"
        },
        "shareClassManager": {
          "address": "0xaFFC269c8fe18EE9C7DDb22301AC2c2507d69BEf",
          "blockNumber": 25783360,
          "txHash": "0xe134efc849f5b6c236b5d6557ffc38d5e091664273d30c3a3da244cf3398c4dc"
        },
        "hubHandler": {
          "address": "0x0dEFb429B1663698da4bAe3278393F6844c3392C",
          "blockNumber": 25783482,
          "txHash": "0x32a0b3f6c57089d245d6f68ee98143fe3463c1954e47e3d9b93b35ffb30a6128"
        },
        "hub": {
          "address": "0xA4A7Bb3831958463b3FE3E27A6a160F764341953",
          "blockNumber": 25783421,
          "txHash": "0xf168454aeb2863d25135f8a0c04780110599ad51b61aadc87e44b6665115204d"
        },
        "root": {
          "address": "0xdc9456e7e20f15029C8231Ec433a20F404b7235E",
          "blockNumber": 25782445,
          "txHash": "0xdb085894db70cef410b9addcfc575a42be397a478385a2db3280d9a14f1ad9ed"
        },
        "tokenRecoverer": {
          "address": "0x1E70530e9555711f8DF4838Ab940b97c039B4037",
          "blockNumber": 25783604,
          "txHash": "0x1abfbe474a9689d4c9266e465cbde7edc686bde1650da311585b22c3d1188709"
        },
        "protocolGuardian": {
          "address": "0xCEb7eD5d5B3bAD3088f6A1697738B60d829635c6",
          "blockNumber": 25783665,
          "txHash": "0xb8e165338dfa0305264184266eb2bf27c5bddb662d781f161c935aaec26a7bd0"
        },
        "opsGuardian": {
          "address": "0x055589229506Ee89645EF08ebE9B9a863486d0dE",
          "blockNumber": 25783726,
          "txHash": "0x61032c66874f3ee881cc1024cc50167c9009ee61b853152775d9e877b7e0149e"
        },
        "refundEscrowFactory": {
          "address": "0xC4f9A1DCF2E05eb55AbB30BaA7070838D3Fd3D5B",
          "blockNumber": 25783787,
          "txHash": "0xc55d7bd851f8827ee7e53f90b78ef60925a2927952c5d28f28a54178f53404a5"
        },
        "subsidyManager": {
          "address": "0xBFC7B60684880457030C08AceE2E675CbcB9d646",
          "blockNumber": 25783848,
          "txHash": "0x6b84452f0efb81982d7530644441162087f678a66b21cf18bcf292c2e0646fc2"
        },
        "asyncVaultFactory": {
          "address": "0x55cde53B7dbc24336E34FFE233AF8DF10f72F0Be",
          "blockNumber": 25784092,
          "txHash": "0x8092ce2791d386e2d211ebca4e0f509f9b8fb4da8500915814eccc363414f079"
        },
        "asyncRequestManager": {
          "address": "0xF48256AbDDf96EcDDc4B3DbD23E8C1921f9761Ae",
          "blockNumber": 25783909,
          "txHash": "0x30b040e6145c7b33b7c3737a48c7cdf281c364015056a7aa0b64d33fcfd492b9"
        },
        "syncDepositVaultFactory": {
          "address": "0xdb9C27762045Addd713182521C0580C68BDF700A",
          "blockNumber": 25784153,
          "txHash": "0x78de6215e84155e01972bae235bc73a4f88277aec585ae130b7ae471b7b9f45b"
        },
        "syncManager": {
          "address": "0xFf8Ed1862f6aC3a8e89B81C75507c225E36e273D",
          "blockNumber": 25783970,
          "txHash": "0xc6b12e832a9ff95da41dc1e0086121ffbefcc1affa8a7f12d6f5a263f40afd74"
        },
        "vaultRouter": {
          "address": "0xF684014771C01e50B8B526968B3a1e33acDA63f6",
          "blockNumber": 25784031,
          "txHash": "0x545aa1a4c44d669e85ea85ab721cf972c9d7fc58484c1c7633b4aa6fb93204b8"
        },
        "freezeOnlyHook": {
          "address": "0xd5B243F05b2906F1f6C80c6096945faADa0731C1",
          "blockNumber": 25784214,
          "txHash": "0x09312ecb5ac3e3c19d15ab4aeff16e70c55db081d6d4ef85e58c3a166412f8fd"
        },
        "fullRestrictionsHook": {
          "address": "0x8E680873b4C77e6088b4Ba0aBD59d100c3D224a4",
          "blockNumber": 25784275,
          "txHash": "0xb4c442d31ecfbb35f17977259bc0f3a247743273b8677252a858af4b1eafee30"
        },
        "freelyTransferableHook": {
          "address": "0x2a9B9C14851Baf7AD19f26607C9171CA1E7a1A61",
          "blockNumber": 25784336,
          "txHash": "0xa67237265b137a078d241b0f612d32ed5e2dcd6f320ec219bc08e4533139936e"
        },
        "redemptionRestrictionsHook": {
          "address": "0xE5423eD8602Fa0F263e17b6212d88Efe42317f06",
          "blockNumber": 25784397,
          "txHash": "0x55e44152469d285da483a646aab968d51689d530830d19fc829c6fe240d67e98"
        },
        "queueManager": {
          "address": "0x971ACA9b4AB4895F400bA042Fd10A31c7918D220",
          "blockNumber": 25784458,
          "txHash": "0x99f46cce836a1c807395af06d21680c963825c814cc263c40b80a26b8297f457"
        },
        "onOfframpManagerFactory": {
          "address": "0x2539e60B0B50D7BD004A09e9D2b7E8c86EB0AaF6",
          "blockNumber": 25784519,
          "txHash": "0x792f84ff30fef044fda8dec80f0eac9c4ddb4825a6eae4fe305a56a6a23df007"
        },
        "merkleProofManagerFactory": {
          "address": "0xc5243bdEa2d86eA7541AC69084dF3EDdc137a18b",
          "blockNumber": 25784580,
          "txHash": "0xebed89a46605fe5ab548f84d895f6c4440a75d07213397a0b197b531b21a5b4b"
        },
        "vaultDecoder": {
          "address": "0x8Ca5372A5613A6Df75fD5fbC43216e68c1bE6D38",
          "blockNumber": 25784641,
          "txHash": "0x844028df5b3316236cfa88286b65be5e177ba0f960daaf2e90c9160aea882ff2"
        },
        "circleDecoder": {
          "address": "0xd40871a6336fD19A25a7bd96c0C0dd66Ed60931D",
          "blockNumber": 25784763,
          "txHash": "0x58f70fe1b59d420f390174293f9f460cd32eec3e41c5742e09187dc1182b13c6"
        },
        "batchRequestManager": {
          "address": "0xc52Bd1Bdfa0135147D3F01a0B6D6cd0A831dFe77",
          "blockNumber": 25784824,
          "txHash": "0x49cb144b539250d224b44e8ec740c88d5f7c1e1eb0d34a194472675f1c44851d"
        },
        "identityValuation": {
          "address": "0x05e22C20B21c1314a0c93d34855358B9B96133CF",
          "blockNumber": 25784885,
          "txHash": "0x5969397e2bc4bdee4c0b01c41d8c2496e3ca68f7b1c6e0588c48e53d2d70f196"
        },
        "oracleValuation": {
          "address": "0xCBdb6EFFC9b954D05dF89c747eCaa8A143c26E6D",
          "blockNumber": 25784946,
          "txHash": "0x1f91e8b9208409d4a9a8054cf37d18f0dd686e2686237cbad7c656a08df9f2c5"
        },
        "navManager": {
          "address": "0x493b6C8ccC7BfD43c5a20C4F2C648701f74E9130",
          "blockNumber": 25785007,
          "txHash": "0x929d4f2042b01164eee6438dfd427ef414e5c6e762591dd15d5f5e07a5e17f54"
        },
        "simplePriceManager": {
          "address": "0x280C94eB440A8a75c2F8f6cA8c6FaFf907000823",
          "blockNumber": 25785068,
          "txHash": "0x8c6933735e53ddb2e5127478c31ae62ca812550102c513b89c636263feb0577a"
        },
        "axelarAdapter": {
          "address": "0x34e904237341C3de02D4447C3fF0ca8880ca6484",
          "blockNumber": 25785190,
          "txHash": "0xc8ed1aa816ecd186c4b22b797c01f90661250718c7f0cade91160abc4dbf7741"
        },
        "layerZeroAdapter": {
          "address": "0xD517BC7ba17271a8D87BE7355B2523bF5c750295",
          "blockNumber": 25785129,
          "txHash": "0xc427dae054fa40619f16e5f54104b995b689d42097f77555217b4e64ba213498"
        },
        "chainlinkAdapter": {
          "address": "0x39CF679Eb0Ac9075CFb5f94930A367Ba1557D955",
          "blockNumber": 25785251,
          "txHash": "0x8e4292d6902f7a43ab27d344d0eefd8fa08efa223e2bf979af4fc0345a909dca"
        }
      },
      "deployment": {
        "deployedAt": 1769613550,
        "startBlock": 25782262
      }
    },
    "1672": {
      "network": {
        "chainId": 1672,
        "centrifugeId": 12,
        "protocolAdmin": "0x9711730060C73Ee7Fcfe1890e8A0993858a7D225",
        "opsAdmin": "0xd21413291444C5c104F1b5918cA0D2f6EC91Ad16",
        "batchLimit": 15,
        "baseRpcUrl": "https://api.zan.top/node/v1/pharos/mainnet/"
      },
      "adapters": {
        "layerZero": {
          "endpoint": "0x6F475642a6e85809B1c36Fa62763669b1b48DD5B",
          "layerZeroEid": 30407,
          "blockConfirmations": 15,
          "DVNs": [
            "0x282b3386571f7f794450d5789911a9804fa346b4",
            "0xa83c79e69117eefb888592a23bc02cb6029ada3a"
          ]
        },
        "chainlink": {
          "chainSelector": 7801139999541420232,
          "ccipRouter": "0x4e52dD94e9BCfeFE3C78153bDfB0AB1d30687297"
        }
      },
      "contracts": {
        "gateway": {
          "address": "0x19a524D03aA94ECEe41a80341537BCFCb47D3172",
          "blockNumber": 3193872,
          "txHash": "0xab72035adc56e1a7a5d55dfb84069c706b39e820053bcd009a3ed5389e790836"
        },
        "multiAdapter": {
          "address": "0x35C837F0A54B715a23D193E1476BFC9BC30073BE",
          "blockNumber": 3193886,
          "txHash": "0xe248a1b8ec7a5430bf02d7592286a31058c315ef5eec1a8c35bbe9d0cbb5d583"
        },
        "contractUpdater": {
          "address": "0x3B150B19245D2C366bc8f18c775b725DFB298F71",
          "blockNumber": 3193898,
          "txHash": "0x5880d5d23af006e0f2cb557deffb6b968d3cc364c6064129162c00df07ea84bf"
        },
        "gasService": {
          "address": "0xbEbef21D686a957decECCe6a58455fA0F16754Be",
          "blockNumber": 3193923,
          "txHash": "0x66a3a8695f4643c55c932132689af278ecda5ebe20e5353cef73b660af3de925"
        },
        "messageProcessor": {
          "address": "0x97cc7e9Dafdd725Cc23B25eeBC93c4384B4Fe30A",
          "blockNumber": 3193937,
          "txHash": "0x431c6c4a2d07e048f580fb3daa33c8a31be73a03ef683f5e7e5bf02bf842c5b7"
        },
        "messageDispatcher": {
          "address": "0xf837a22883e004f705E0D7e1deE08e295Df30B27",
          "blockNumber": 3193950,
          "txHash": "0xee1fab440214419fb9ee5dd54de5aec2be00fc234cff9a7494db613811efcf5a"
        },
        "tokenFactory": {
          "address": "0xcE1616505F93215751FBb41Efac618b631997c38",
          "blockNumber": 3193962,
          "txHash": "0xee96928a32e854cc75dfeaee072bc87e819b9943ecb3f8531fe28137190d2edc"
        },
        "spoke": {
          "address": "0xEC3582fcDc34078a4B7a8c75a5a3AE46f48525aB",
          "blockNumber": 3193975,
          "txHash": "0x3cb84307c15f0f729f9874ed7d1564a984c5af7fcff2ad4aa5f0faf5e15817b5"
        },
        "balanceSheet": {
          "address": "0x12a110cE5f0FC871cC72Bc7ECaF35cf39DD0f43e",
          "blockNumber": 3193988,
          "txHash": "0x9bc5178fd9c16a1f9cd6ed755a00fbeb3a27a523c383fdcc654ccb203610691c"
        },
        "vaultRegistry": {
          "address": "0xd9531AC47928c3386346f82d9A2478960bf2CA7B",
          "blockNumber": 3194005,
          "txHash": "0xc379cbd638cc888ad3b5e3b7f1550a8dbcee7e295368d60cd5fc5acdb21c210f"
        },
        "poolEscrowFactory": {
          "address": "0x5187A505c485E22f0b8a5FBdF69eF1c29C478CE3",
          "blockNumber": 3194019,
          "txHash": "0xb7aaa82586d99ca4046428caf88115872b7569b101c285fa6aced2c1e66387a7"
        },
        "hubRegistry": {
          "address": "0x19f46D8130e610C6C0f0116EA40Fb781dEFaDE93",
          "blockNumber": 3194033,
          "txHash": "0xc289919a2dd59c1b4e15003df2150bf5efeab8ed6e237c188a9bd18460b8b2a1"
        },
        "accounting": {
          "address": "0x050206c38f06e4710C4a37D39F75Ddc5c16a7396",
          "blockNumber": 3194047,
          "txHash": "0xa4a1a2b5aad2c1f15f105ec54c6d6d08f406ddf776d113164b69b6d98a772f59"
        },
        "holdings": {
          "address": "0x3f0c8D8d2637881c3f6d8531F51a47c2094C918d",
          "blockNumber": 3194072,
          "txHash": "0x85127a14484dff27bf3652394df0a48a79433dcbb47ad5bea47866da497c7ea2"
        },
        "shareClassManager": {
          "address": "0xaFFC269c8fe18EE9C7DDb22301AC2c2507d69BEf",
          "blockNumber": 3194097,
          "txHash": "0x0c17a32bb656286a4860eac2cd0898acb0d8bcbf43ebea900b6f5b84b9605b45"
        },
        "hubHandler": {
          "address": "0x0dEFb429B1663698da4bAe3278393F6844c3392C",
          "blockNumber": 3194136,
          "txHash": "0xbd1265e6ac76926db88ed2e5a4ffdbbd36ca987ae28e5a53c879e7c40048ba30"
        },
        "hub": {
          "address": "0xA4A7Bb3831958463b3FE3E27A6a160F764341953",
          "blockNumber": 3194124,
          "txHash": "0x369f24a6998a9846a5ab3a2b9f347562b842562d7370e7885960cddb9e66926b"
        },
        "root": {
          "address": "0xdc9456e7e20f15029C8231Ec433a20F404b7235E",
          "blockNumber": 3193850,
          "txHash": "0x384c640bc17d91d7accee94c3dc1ea3f1fd9fc85970d8a68c432ca93ee94d75e"
        },
        "tokenRecoverer": {
          "address": "0x1E70530e9555711f8DF4838Ab940b97c039B4037",
          "blockNumber": 3194167,
          "txHash": "0xe6951f9eddb1738851f78c28825c1bb10e94f3b156f63a2c4860a7414ef7f5cd"
        },
        "protocolGuardian": {
          "address": "0xCEb7eD5d5B3bAD3088f6A1697738B60d829635c6",
          "blockNumber": 3194182,
          "txHash": "0x0ff8be4583b2bc94d55bf61216de76cb25962b94a5736094840cdb6be73ba465"
        },
        "opsGuardian": {
          "address": "0x055589229506Ee89645EF08ebE9B9a863486d0dE",
          "blockNumber": 3194199,
          "txHash": "0xe613d61357d7c2fe0c8a418b0e92dccffc833a5c2307d2026f0ab7686c95b087"
        },
        "refundEscrowFactory": {
          "address": "0xC4f9A1DCF2E05eb55AbB30BaA7070838D3Fd3D5B",
          "blockNumber": 3194211,
          "txHash": "0xf1c75f10ec8802086912e20b6ee1c595eb4381dd54022a7e2d59b929853ee0b7"
        },
        "subsidyManager": {
          "address": "0xBFC7B60684880457030C08AceE2E675CbcB9d646",
          "blockNumber": 3194223,
          "txHash": "0x6812499de72b18a64fe3c01186116b87f01730c8aff7425997f32c551ca41ab0"
        },
        "asyncVaultFactory": {
          "address": "0x55cde53B7dbc24336E34FFE233AF8DF10f72F0Be",
          "blockNumber": 3194275,
          "txHash": "0x3f1999a20671926a9c6526402d7accee0344dc0a5e14cd48e625f44eb6f7822a"
        },
        "asyncRequestManager": {
          "address": "0xF48256AbDDf96EcDDc4B3DbD23E8C1921f9761Ae",
          "blockNumber": 3194235,
          "txHash": "0x1baf7d54d89a0b5739bb9faf9910840b1eed1957b4a2c24e073d0bb57fb8a000"
        },
        "syncDepositVaultFactory": {
          "address": "0xdb9C27762045Addd713182521C0580C68BDF700A",
          "blockNumber": 3194287,
          "txHash": "0xb0bf4a914487625657dfbe0378f94aad4da2dd531be642bdf9770b59c7cf7cfa"
        },
        "syncManager": {
          "address": "0xFf8Ed1862f6aC3a8e89B81C75507c225E36e273D",
          "blockNumber": 3194248,
          "txHash": "0xc700cc50173daabcb5c4db23e53d3e309a1bbf35f9327d6ee66da5510b8c8634"
        },
        "vaultRouter": {
          "address": "0xF684014771C01e50B8B526968B3a1e33acDA63f6",
          "blockNumber": 3194261,
          "txHash": "0x03c4fca6ee9512d2f34797e0a8313470fd763de0416fdf75e0dfc19ec7ca9c45"
        },
        "freezeOnlyHook": {
          "address": "0xd5B243F05b2906F1f6C80c6096945faADa0731C1",
          "blockNumber": 3194300,
          "txHash": "0x66094f082438c0d3a275d564964bcf38587b9bcaf21c81e00f1d94f9b6268de1"
        },
        "fullRestrictionsHook": {
          "address": "0x8E680873b4C77e6088b4Ba0aBD59d100c3D224a4",
          "blockNumber": 3194313,
          "txHash": "0x8243b4764528cb332f187e3ef904e7c23deb74c82678c4da2e9d8bd5b34dceb8"
        },
        "freelyTransferableHook": {
          "address": "0x2a9B9C14851Baf7AD19f26607C9171CA1E7a1A61",
          "blockNumber": 3194326,
          "txHash": "0xfe7a47791d194b77e9ef995d8f7ccbac17337b358e622548549d43cda746886e"
        },
        "redemptionRestrictionsHook": {
          "address": "0xE5423eD8602Fa0F263e17b6212d88Efe42317f06",
          "blockNumber": 3194339,
          "txHash": "0xd4d742f3a37a76f7f0c44f677f490a7e98c5650f3b1c7a25247c0be385018aae"
        },
        "queueManager": {
          "address": "0x971ACA9b4AB4895F400bA042Fd10A31c7918D220",
          "blockNumber": 3194351,
          "txHash": "0x05cb259241503d0bc08aa6ce05e82aed69efb98716df4bdb5d64a215e1fddc61"
        },
        "onOfframpManagerFactory": {
          "address": "0x2539e60B0B50D7BD004A09e9D2b7E8c86EB0AaF6",
          "blockNumber": 3194367,
          "txHash": "0x172408fcfd96d1457c9f398fd9ea5a03e85922ada6eacda025de7a679b2b6e4d"
        },
        "merkleProofManagerFactory": {
          "address": "0xc5243bdEa2d86eA7541AC69084dF3EDdc137a18b",
          "blockNumber": 3194379,
          "txHash": "0xc34a47f554afa2370367c41bee028bbf4348f252afdf401bb8069636f916ad68"
        },
        "vaultDecoder": {
          "address": "0x8Ca5372A5613A6Df75fD5fbC43216e68c1bE6D38",
          "blockNumber": 3194391,
          "txHash": "0x43f7c2d7360ea92c7e947f8b39f8c25d56cf6383ad13adc178b2a187f71741a2"
        },
        "circleDecoder": {
          "address": "0xd40871a6336fD19A25a7bd96c0C0dd66Ed60931D",
          "blockNumber": 3194404,
          "txHash": "0xe0e6557f8c01ed66e684fb4a1aad4cb05ff718ce79bb79daba48d5279e036102"
        },
        "batchRequestManager": {
          "address": "0xc52Bd1Bdfa0135147D3F01a0B6D6cd0A831dFe77",
          "blockNumber": 3194421,
          "txHash": "0x58e427ad116ab476ca47e4ae81a380ca29d68650bcb78ec60d71d6cb5ebffa8b"
        },
        "identityValuation": {
          "address": "0x05e22C20B21c1314a0c93d34855358B9B96133CF",
          "blockNumber": 3194433,
          "txHash": "0xf29f52a90c824e7e8e5592738ab125bbb173f184dce12b8cee1724815b6a6c9f"
        },
        "oracleValuation": {
          "address": "0xCBdb6EFFC9b954D05dF89c747eCaa8A143c26E6D",
          "blockNumber": 3194445,
          "txHash": "0x64e783ff5fa44e47e0419a4903d31711b6f509a4c100baa0de586bac0500e497"
        },
        "navManager": {
          "address": "0x493b6C8ccC7BfD43c5a20C4F2C648701f74E9130",
          "blockNumber": 3194464,
          "txHash": "0xef7aa22eca4def89e3f1ca59476934b7531f330e4001be7ce40f95aef1f60e6f"
        },
        "simplePriceManager": {
          "address": "0x280C94eB440A8a75c2F8f6cA8c6FaFf907000823",
          "blockNumber": 3194476,
          "txHash": "0xfeb84275746a83ab10d372fc6ef4ed49cfdc00367855c1dd99cc77fee6338cf8"
        },
        "layerZeroAdapter": {
          "address": "0xD517BC7ba17271a8D87BE7355B2523bF5c750295",
          "blockNumber": 3194488,
          "txHash": "0xd77314ac65089cf4061454f48d885932e7868231410fc49474880b63da6779b3"
        },
        "chainlinkAdapter": {
          "address": "0x39CF679Eb0Ac9075CFb5f94930A367Ba1557D955",
          "blockNumber": 3194500,
          "txHash": "0x106e66a31d68c2d08ac71656584def6d179be12939cd197065f7eb6be9989ea3"
        }
      },
      "deployment": {
        "deployedAt": 1771862957,
        "startBlock": 3193850
      }
    },
    "8453": {
      "network": {
        "chainId": 8453,
        "centrifugeId": 2,
        "protocolAdmin": "0x9711730060C73Ee7Fcfe1890e8A0993858a7D225",
        "opsAdmin": "0xd21413291444C5c104F1b5918cA0D2f6EC91Ad16",
        "batchLimit": 15,
        "baseRpcUrl": "https://base-mainnet.g.alchemy.com/v2/"
      },
      "adapters": {
        "layerZero": {
          "endpoint": "0x1a44076050125825900e736c501f859c50fE728c",
          "layerZeroEid": 30184,
          "blockConfirmations": 15,
          "DVNs": [
            "0x554833698Ae0FB22ECC90B01222903fD62CA4B47",
            "0x9e059a54699a285714207b43b055483e78faac25"
          ]
        },
        "wormhole": {
          "wormholeId": 30,
          "relayer": "0x706f82e9bb5b0813501714ab5974216704980e31"
        },
        "axelar": {
          "axelarId": "base",
          "gateway": "0xe432150cce91c13a887f7D836923d5597adD8E31",
          "gasService": "0x2d5d7d31F671F86C782533cc367F14109a082712"
        },
        "chainlink": {
          "chainSelector": 15971525489660198786,
          "ccipRouter": "0x881e3A65B4d4a04dD529061dd0071cf975F58bCD"
        }
      },
      "contracts": {
        "gasService": {
          "address": "0xbEbef21D686a957decECCe6a58455fA0F16754Be",
          "blockNumber": 41362313,
          "txHash": "0xe05ed2edc4f20d6705ae187b69cb362c2330fd1ecee7e0625697a98af7b31155"
        },
        "gateway": {
          "address": "0x19a524D03aA94ECEe41a80341537BCFCb47D3172",
          "blockNumber": 41362298,
          "txHash": "0xc9cde243d74bf145b0257461e1f1d433840dc6c477d65a0f42124771afd178a5"
        },
        "multiAdapter": {
          "address": "0x35C837F0A54B715a23D193E1476BFC9BC30073BE",
          "blockNumber": 41362303,
          "txHash": "0x1313b3e66fdcb8df1e56cd7cd4456062adc3de09088e2210ead078aaffaed439"
        },
        "messageProcessor": {
          "address": "0x97cc7e9Dafdd725Cc23B25eeBC93c4384B4Fe30A",
          "blockNumber": 41362318,
          "txHash": "0x2f1d57d94e894b4e2cd6b17cae76ed9141ec0e8c7be76fd5ceab19726610b4c8"
        },
        "messageDispatcher": {
          "address": "0xf837a22883e004f705E0D7e1deE08e295Df30B27",
          "blockNumber": 41362323,
          "txHash": "0x373d0100f64382b05c5896b66d3b0c5a58c39bcba605c767fd9c1bef0c6d10ed"
        },
        "poolEscrowFactory": {
          "address": "0x5187A505c485E22f0b8a5FBdF69eF1c29C478CE3",
          "blockNumber": 41362352,
          "txHash": "0x36f75aaba5f841558def131e27865971ce6c104081439eb5677ce177cfb03920"
        },
        "tokenRecoverer": {
          "address": "0x1E70530e9555711f8DF4838Ab940b97c039B4037",
          "blockNumber": 41362401,
          "txHash": "0x8e970665387f14398668869eebb4d8cdf8725381696d6173ffad65bd089d9c9f"
        },
        "hubRegistry": {
          "address": "0x19f46D8130e610C6C0f0116EA40Fb781dEFaDE93",
          "blockNumber": 41362358,
          "txHash": "0x2e1c4730480ba58c19b63de2eac7c13c497dae8aa96375efae2523d5dc6a95ab"
        },
        "accounting": {
          "address": "0x050206c38f06e4710C4a37D39F75Ddc5c16a7396",
          "blockNumber": 41362364,
          "txHash": "0xaa39a268cc55c163087b74fdb5070e44aa50972cfee4830a1a10600380c9fea5"
        },
        "holdings": {
          "address": "0x3f0c8D8d2637881c3f6d8531F51a47c2094C918d",
          "blockNumber": 41362370,
          "txHash": "0x8a9ad8a2104e05fdf19b26264e4d6bd92fac9e998f923bfc4178e95738a6d714"
        },
        "shareClassManager": {
          "address": "0xaFFC269c8fe18EE9C7DDb22301AC2c2507d69BEf",
          "blockNumber": 41362377,
          "txHash": "0xfa5e52ca23e0279dc9ec296a22c6ddb0b8238e722933412984220b5ac4949b0e"
        },
        "hub": {
          "address": "0xA4A7Bb3831958463b3FE3E27A6a160F764341953",
          "blockNumber": 41362384,
          "txHash": "0x70f137fb20861778140449c48f879f771405be7246b0983a5806bbe691c4e48e"
        },
        "identityValuation": {
          "address": "0x05e22C20B21c1314a0c93d34855358B9B96133CF",
          "blockNumber": 41362516,
          "txHash": "0x21926fed0d8b5208344d780fe13bf25ad1b591c5b2667b6cd9b1204ecd18ce4b"
        },
        "tokenFactory": {
          "address": "0xcE1616505F93215751FBb41Efac618b631997c38",
          "blockNumber": 41362329,
          "txHash": "0xc0c5ad3104605ba72e8a9f0e41a0a20d8ec0eb60e8492f880c970f249b8dadd6"
        },
        "spoke": {
          "address": "0xEC3582fcDc34078a4B7a8c75a5a3AE46f48525aB",
          "blockNumber": 41362335,
          "txHash": "0x8c93030114dfee99055200698a21d1191292a365bfacda4fe1f1aa74eb0d01ff"
        },
        "balanceSheet": {
          "address": "0x12a110cE5f0FC871cC72Bc7ECaF35cf39DD0f43e",
          "blockNumber": 41362341,
          "txHash": "0xff3cfece7664ee5bd6556ec4d7209941d0a957da067817f9ea287d563ae15fd0"
        },
        "contractUpdater": {
          "address": "0x3B150B19245D2C366bc8f18c775b725DFB298F71",
          "blockNumber": 41362308,
          "txHash": "0x54b90c4ace8c6d28f3e348c03e002b73f6e98ff2d97512fe7fb3a5aefb5150d6"
        },
        "asyncRequestManager": {
          "address": "0xF48256AbDDf96EcDDc4B3DbD23E8C1921f9761Ae",
          "blockNumber": 41362430,
          "txHash": "0x977e0c959703f8a1a0cf842b7789bc144886345c814671b81230bb78da6fb0e2"
        },
        "syncManager": {
          "address": "0xFf8Ed1862f6aC3a8e89B81C75507c225E36e273D",
          "blockNumber": 41362436,
          "txHash": "0xb95a66fd95afd1f65787b74c93b8973a0903f4f745dfca13b21d8b2928b18f80"
        },
        "asyncVaultFactory": {
          "address": "0x55cde53B7dbc24336E34FFE233AF8DF10f72F0Be",
          "blockNumber": 41362450,
          "txHash": "0x910056fa6ccd448ebb4da93d41b1cc16e75110c015796208416c30cf9406a9d3"
        },
        "syncDepositVaultFactory": {
          "address": "0xdb9C27762045Addd713182521C0580C68BDF700A",
          "blockNumber": 41362457,
          "txHash": "0x992cc9dd2e5555f6d2d3f6d3b88ffb5c9f1486849dc7a17de299f4e4981f29e1"
        },
        "vaultRouter": {
          "address": "0xF684014771C01e50B8B526968B3a1e33acDA63f6",
          "blockNumber": 41362443,
          "txHash": "0x55e73c7d411ae79b488e08d56ef0244ff34bfac57ec4a245defe808f4cb26df5"
        },
        "freezeOnlyHook": {
          "address": "0xd5B243F05b2906F1f6C80c6096945faADa0731C1",
          "blockNumber": 41362462,
          "txHash": "0x71149a1fdc739497788764df0e849501d14b2b28a1ef697d285d48415f536bdf"
        },
        "fullRestrictionsHook": {
          "address": "0x8E680873b4C77e6088b4Ba0aBD59d100c3D224a4",
          "blockNumber": 41362467,
          "txHash": "0x007f56e4bbc7dcbae5f5d26725a5b1e3b99d17dd18a32a922ce086ea94affc8d"
        },
        "freelyTransferableHook": {
          "address": "0x2a9B9C14851Baf7AD19f26607C9171CA1E7a1A61",
          "blockNumber": 41362474,
          "txHash": "0xeae3d1694bfc464073805965aa18148548c6a685bf3fd5b56f19f015a83f9f41"
        },
        "redemptionRestrictionsHook": {
          "address": "0xE5423eD8602Fa0F263e17b6212d88Efe42317f06",
          "blockNumber": 41362479,
          "txHash": "0x3c3ce0fdf38428d5d86fede6e3bb7683167eb2547c9124e24540099064abc8c0"
        },
        "onOfframpManagerFactory": {
          "address": "0x2539e60B0B50D7BD004A09e9D2b7E8c86EB0AaF6",
          "blockNumber": 41362489,
          "txHash": "0xcb9cbecf18edb593aad19105c3673f78795de2889d300dc33e4f31d8e6f48909"
        },
        "merkleProofManagerFactory": {
          "address": "0xc5243bdEa2d86eA7541AC69084dF3EDdc137a18b",
          "blockNumber": 41362494,
          "txHash": "0xaeca52321318ed9e7c1a678fa0d24639c433f16e59896539d984e5b8b1074ddc"
        },
        "vaultDecoder": {
          "address": "0x8Ca5372A5613A6Df75fD5fbC43216e68c1bE6D38",
          "blockNumber": 41362499,
          "txHash": "0xacab3180ce8fa2bd5a5211cbd07ab6b452512c7265fd14d7efe387cfa0dd50cb"
        },
        "circleDecoder": {
          "address": "0xd40871a6336fD19A25a7bd96c0C0dd66Ed60931D",
          "blockNumber": 41362504,
          "txHash": "0x18f3d4be4d259727e076cc0afbd06d84c7ea90996930b2e2a7e2424dfd0d334f"
        },
        "axelarAdapter": {
          "address": "0x34e904237341C3de02D4447C3fF0ca8880ca6484",
          "blockNumber": 41362545,
          "txHash": "0x199ef1b2d138a4766c83e506c146a65345a7f70b7c4e2b137083a9e5dc86ea55"
        },
        "vaultRegistry": {
          "address": "0xd9531AC47928c3386346f82d9A2478960bf2CA7B",
          "blockNumber": 41362346,
          "txHash": "0x78d329d3cbe56e5ed9c017075138be30f96bd6caa881f185e5960ddeb85f4295"
        },
        "hubHandler": {
          "address": "0x0dEFb429B1663698da4bAe3278393F6844c3392C",
          "blockNumber": 41362389,
          "txHash": "0xa4295c3821d56c69a3e456842cc478f839d8fb582df6c0449cec9803792bc9a9"
        },
        "protocolGuardian": {
          "address": "0xCEb7eD5d5B3bAD3088f6A1697738B60d829635c6",
          "blockNumber": 41362406,
          "txHash": "0x02bc4674437fc4772b81c4a5d3d50471b69a351f7aedfb93667b232aba736e05"
        },
        "opsGuardian": {
          "address": "0x055589229506Ee89645EF08ebE9B9a863486d0dE",
          "blockNumber": 41362412,
          "txHash": "0xd07970e0877745de382cf206773dc7a221fe1e252d926513544b503fff3ff18c"
        },
        "refundEscrowFactory": {
          "address": "0xC4f9A1DCF2E05eb55AbB30BaA7070838D3Fd3D5B",
          "blockNumber": 41362418,
          "txHash": "0x7e474439f4b74ebe09e116026d8be8af0f007ae23558fed5eae859c95d511b0e"
        },
        "subsidyManager": {
          "address": "0xBFC7B60684880457030C08AceE2E675CbcB9d646",
          "blockNumber": 41362423,
          "txHash": "0xdc240ea1f295444cb290207eb9c18de2f8a070ab637c8eebc7d1eeaa298ae59a"
        },
        "queueManager": {
          "address": "0x971ACA9b4AB4895F400bA042Fd10A31c7918D220",
          "blockNumber": 41362484,
          "txHash": "0x7d1593624f2915b78bdd01773d5c78cb52f28c2ac84c46e2ddb90e50758907bb"
        },
        "batchRequestManager": {
          "address": "0xc52Bd1Bdfa0135147D3F01a0B6D6cd0A831dFe77",
          "blockNumber": 41362511,
          "txHash": "0xadcd2843e4f9a657da2b02d4dbbac76a0cfa787a70d74327af1a8e74535fce00"
        },
        "oracleValuation": {
          "address": "0xCBdb6EFFC9b954D05dF89c747eCaa8A143c26E6D",
          "blockNumber": 41362522,
          "txHash": "0xd7e3cf8444fbf5df2500153160cf857bdb4183658bc15858603bcd99d0650112"
        },
        "navManager": {
          "address": "0x493b6C8ccC7BfD43c5a20C4F2C648701f74E9130",
          "blockNumber": 41362528,
          "txHash": "0x0d4a9df66eb5ebc0d477fa83be674111728444dfe4bab7a08ad4428c8c7a13b4"
        },
        "simplePriceManager": {
          "address": "0x280C94eB440A8a75c2F8f6cA8c6FaFf907000823",
          "blockNumber": 41362533,
          "txHash": "0xa753633f21594c3689208926a7b3e15a3e978ad54825525876fd6334e3540627"
        },
        "layerZeroAdapter": {
          "address": "0xD517BC7ba17271a8D87BE7355B2523bF5c750295",
          "blockNumber": 41362539,
          "txHash": "0x8295ee07637c04d73e1e7dc2998edb93f315ebfd21816ef0c793d66f6f1c9532"
        }
      },
      "deployment": {
        "deployedAt": 1769513910,
        "startBlock": 41362271
      }
    },
    "42161": {
      "network": {
        "chainId": 42161,
        "centrifugeId": 3,
        "protocolAdmin": "0x9711730060C73Ee7Fcfe1890e8A0993858a7D225",
        "opsAdmin": "0xd21413291444C5c104F1b5918cA0D2f6EC91Ad16",
        "batchLimit": 15,
        "baseRpcUrl": "https://arb-mainnet.g.alchemy.com/v2/"
      },
      "adapters": {
        "layerZero": {
          "endpoint": "0x1a44076050125825900e736c501f859c50fE728c",
          "layerZeroEid": 30110,
          "blockConfirmations": 15,
          "DVNs": [
            "0x2f55C492897526677C5B68fb199ea31E2c126416",
            "0xf2E380c90e6c09721297526dbC74f870e114dfCb"
          ]
        },
        "wormhole": {
          "wormholeId": 23,
          "relayer": "0x27428DD2d3DD32A4D7f7C497eAaa23130d894911"
        },
        "axelar": {
          "axelarId": "arbitrum",
          "gateway": "0xe432150cce91c13a887f7D836923d5597adD8E31",
          "gasService": "0x2d5d7d31F671F86C782533cc367F14109a082712"
        },
        "chainlink": {
          "chainSelector": 4949039107694359620,
          "ccipRouter": "0x141fa059441E0ca23ce184B6A78bafD2A517DdE8"
        }
      },
      "contracts": {
        "gasService": {
          "address": "0xbEbef21D686a957decECCe6a58455fA0F16754Be",
          "blockNumber": 425757227,
          "txHash": "0xc18f9afcd81a49bd06477c9f24ceb53fc02ae0465ec669540c257cbc9966d326"
        },
        "gateway": {
          "address": "0x19a524D03aA94ECEe41a80341537BCFCb47D3172",
          "blockNumber": 425757109,
          "txHash": "0x8513c7e9e6bcd1628e7811c330ae6e8eb3021f357e2f1665e7e5a3400b8a3f9f"
        },
        "multiAdapter": {
          "address": "0x35C837F0A54B715a23D193E1476BFC9BC30073BE",
          "blockNumber": 425757147,
          "txHash": "0x571536cc4d5d8506808bac4bfd1b75dbcdaeebdb17c2639a74a96996e71b5ae9"
        },
        "messageProcessor": {
          "address": "0x97cc7e9Dafdd725Cc23B25eeBC93c4384B4Fe30A",
          "blockNumber": 425757272,
          "txHash": "0xdfdf766d4253e8b8b1dc467b7d2da3ca701430565f79df80233be293c2b9e6b5"
        },
        "messageDispatcher": {
          "address": "0xf837a22883e004f705E0D7e1deE08e295Df30B27",
          "blockNumber": 425757318,
          "txHash": "0x14609f52ec6df4efeab6bed263bdc6d7dbce5e8ff94140c7d7dc728e22d4e9cf"
        },
        "poolEscrowFactory": {
          "address": "0x5187A505c485E22f0b8a5FBdF69eF1c29C478CE3",
          "blockNumber": 425757560,
          "txHash": "0x1e429f672b31337cd7558234fdf29b27be3ebe0e7fc0d6e9c7976a4c97a358ff"
        },
        "tokenRecoverer": {
          "address": "0x1E70530e9555711f8DF4838Ab940b97c039B4037",
          "blockNumber": 425758509,
          "txHash": "0x3d588566f982a0f99ca749e959291a802b53a09d8bf9f827f030fa1d6c975931"
        },
        "hubRegistry": {
          "address": "0x19f46D8130e610C6C0f0116EA40Fb781dEFaDE93",
          "blockNumber": 425757632,
          "txHash": "0x8e8b8d8b602f849e7551616ace6caea3e119c3a6a34a6548bdc38d69e716c91a"
        },
        "accounting": {
          "address": "0x050206c38f06e4710C4a37D39F75Ddc5c16a7396",
          "blockNumber": 425757673,
          "txHash": "0x066a56d655066872ad2fa795e9fdcafb33a08932051b23b33668cb59965991fd"
        },
        "holdings": {
          "address": "0x3f0c8D8d2637881c3f6d8531F51a47c2094C918d",
          "blockNumber": 425757749,
          "txHash": "0x1185a232a388572e8ca6cbbe1c04e0a49938bf39347f03b8c9d1b40fea6dfe83"
        },
        "shareClassManager": {
          "address": "0xaFFC269c8fe18EE9C7DDb22301AC2c2507d69BEf",
          "blockNumber": 425757885,
          "txHash": "0x7164ad9526979cce63c65e4282912c388c6845aeb7a7e4c187f6b7bb2f0bbd38"
        },
        "hub": {
          "address": "0xA4A7Bb3831958463b3FE3E27A6a160F764341953",
          "blockNumber": 425758073,
          "txHash": "0xa189733259ae0978fed14fba5e0ef9367c7bc95875de28bfcddbe26bdfdab097"
        },
        "identityValuation": {
          "address": "0x05e22C20B21c1314a0c93d34855358B9B96133CF",
          "blockNumber": 425760681,
          "txHash": "0xc17af78db873381c43bde49d456349ea46e90845bc286ca89e7e58eac11086d7"
        },
        "tokenFactory": {
          "address": "0xcE1616505F93215751FBb41Efac618b631997c38",
          "blockNumber": 425757362,
          "txHash": "0x85b74995b29a8afcb1142c52eefac083aea133877428de0eb5feb5d230f44a79"
        },
        "spoke": {
          "address": "0xEC3582fcDc34078a4B7a8c75a5a3AE46f48525aB",
          "blockNumber": 425757415,
          "txHash": "0x53a318b6a905699cb80e69229ed03e897ba3474a2b1261db01cb1ef8fb048764"
        },
        "balanceSheet": {
          "address": "0x12a110cE5f0FC871cC72Bc7ECaF35cf39DD0f43e",
          "blockNumber": 425757476,
          "txHash": "0x40165bda420bdb4750bb2b035744f96f3edd1fa894dddf1470e7ec2818337a7f"
        },
        "contractUpdater": {
          "address": "0x3B150B19245D2C366bc8f18c775b725DFB298F71",
          "blockNumber": 425757186,
          "txHash": "0x72e194bd45153dc297e210b6114c44d477ba6fa54724e0bd261bf04ba4dc04d9"
        },
        "asyncRequestManager": {
          "address": "0xF48256AbDDf96EcDDc4B3DbD23E8C1921f9761Ae",
          "blockNumber": 425759044,
          "txHash": "0xb330ec07582782be4256e713c5540e31923c1abb10bbca07e7d52295fb6dc98d"
        },
        "syncManager": {
          "address": "0xFf8Ed1862f6aC3a8e89B81C75507c225E36e273D",
          "blockNumber": 425759201,
          "txHash": "0x5f9b3f157aa079ff9901d4d35c1811b8bf1491b079eb84ff587cdfb9c4712887"
        },
        "asyncVaultFactory": {
          "address": "0x55cde53B7dbc24336E34FFE233AF8DF10f72F0Be",
          "blockNumber": 425759467,
          "txHash": "0x5754d37ee98ba4e9b718a8cefbe14adc56194c20194194ab2459eb069ebcb7d1"
        },
        "syncDepositVaultFactory": {
          "address": "0xdb9C27762045Addd713182521C0580C68BDF700A",
          "blockNumber": 425759710,
          "txHash": "0x14e268247601a040fbaab81d0161ca79d1668ee5b722debadbf3578eb2db5360"
        },
        "vaultRouter": {
          "address": "0xF684014771C01e50B8B526968B3a1e33acDA63f6",
          "blockNumber": 425759274,
          "txHash": "0x25ccaccb86b75d297c957d55025bc90dc918535c07257387372c95d94d2b4381"
        },
        "freezeOnlyHook": {
          "address": "0xd5B243F05b2906F1f6C80c6096945faADa0731C1",
          "blockNumber": 425759788,
          "txHash": "0xc6521b96f70e27f145499228433b35db3c98472fa0119df44464475942c759a3"
        },
        "fullRestrictionsHook": {
          "address": "0x8E680873b4C77e6088b4Ba0aBD59d100c3D224a4",
          "blockNumber": 425759828,
          "txHash": "0x6ab306d3a2f8289581fb81246d6b909446953a9ee103f14a09d6041fbfd30918"
        },
        "freelyTransferableHook": {
          "address": "0x2a9B9C14851Baf7AD19f26607C9171CA1E7a1A61",
          "blockNumber": 425759871,
          "txHash": "0x762e458815afa0dae2079e86505dc84048726160f534c0ecd2f05d8a8c8f82eb"
        },
        "redemptionRestrictionsHook": {
          "address": "0xE5423eD8602Fa0F263e17b6212d88Efe42317f06",
          "blockNumber": 425759917,
          "txHash": "0xe4c1f584473d3494432bc4b01fd7517f1806fdf58cab4f33369281190a1e9550"
        },
        "onOfframpManagerFactory": {
          "address": "0x2539e60B0B50D7BD004A09e9D2b7E8c86EB0AaF6",
          "blockNumber": 425760020,
          "txHash": "0x2b749ceb5fb4f9c0d9839d4f53d788f99c697cb48698b95a0b1126ff9e434cc7"
        },
        "merkleProofManagerFactory": {
          "address": "0xc5243bdEa2d86eA7541AC69084dF3EDdc137a18b",
          "blockNumber": 425760109,
          "txHash": "0x0ed1bcebe508029ddb7da37b95e0458108d7fce2e64587954d3219a129813d85"
        },
        "vaultDecoder": {
          "address": "0x8Ca5372A5613A6Df75fD5fbC43216e68c1bE6D38",
          "blockNumber": 425760165,
          "txHash": "0xb8b6169ec773ae4fd875969a80b3a6e308d2a96440cbc2a2f4c7b8368270f37e"
        },
        "circleDecoder": {
          "address": "0xd40871a6336fD19A25a7bd96c0C0dd66Ed60931D",
          "blockNumber": 425760422,
          "txHash": "0x1e5b79f75825e9c897fb900829b9e86d6ecd707bdde65b28cef9562944897c0a"
        },
        "axelarAdapter": {
          "address": "0x34e904237341C3de02D4447C3fF0ca8880ca6484",
          "blockNumber": 425761608,
          "txHash": "0x282f5353c5ff7ab6d9c14ce0ebce899f5958faf5972bb1fc22bdd1dfdc7eee79"
        },
        "vaultRegistry": {
          "address": "0xd9531AC47928c3386346f82d9A2478960bf2CA7B",
          "blockNumber": 425757520,
          "txHash": "0xd7843adee31abe0f71e5cc6db8f808a167ef7c476c8d0de8583dd73b3e456831"
        },
        "hubHandler": {
          "address": "0x0dEFb429B1663698da4bAe3278393F6844c3392C",
          "blockNumber": 425758183,
          "txHash": "0xef6c17b687a99b623bc40eead1993cbc9bada572f4124c154ac9a42d10e9605a"
        },
        "protocolGuardian": {
          "address": "0xCEb7eD5d5B3bAD3088f6A1697738B60d829635c6",
          "blockNumber": 425758547,
          "txHash": "0x4f065a2df6961caff99e6c52667a8098d942be7ff4a1960a9c3d36342b2c0459"
        },
        "opsGuardian": {
          "address": "0x055589229506Ee89645EF08ebE9B9a863486d0dE",
          "blockNumber": 425758587,
          "txHash": "0x79850203a16ea00c4a0331f02467e8d045e55bb60ba9e0860b0823e8348c1c30"
        },
        "refundEscrowFactory": {
          "address": "0xC4f9A1DCF2E05eb55AbB30BaA7070838D3Fd3D5B",
          "blockNumber": 425758624,
          "txHash": "0x807cb2c67f177afb703de4e8f4e97a957c204e5aaece8abc0a5a609b3a35a63b"
        },
        "subsidyManager": {
          "address": "0xBFC7B60684880457030C08AceE2E675CbcB9d646",
          "blockNumber": 425758726,
          "txHash": "0x081cfe8a9b8e51c2fdb6d6d5a325ad7acb1e98b2ef0b70cc593b5679f7277a13"
        },
        "queueManager": {
          "address": "0x971ACA9b4AB4895F400bA042Fd10A31c7918D220",
          "blockNumber": 425759961,
          "txHash": "0xa0ace45d3fbbb13d3d472a3cd00c8f0986f4c023961fa47691fd6b1a09a046fb"
        },
        "batchRequestManager": {
          "address": "0xc52Bd1Bdfa0135147D3F01a0B6D6cd0A831dFe77",
          "blockNumber": 425760541,
          "txHash": "0x57ff293101e9d3d40d6d3e78b0d03b940d3887ffe1cdd23cb1afe4699e8a723b"
        },
        "oracleValuation": {
          "address": "0xCBdb6EFFC9b954D05dF89c747eCaa8A143c26E6D",
          "blockNumber": 425760886,
          "txHash": "0x38ada023a4bbc2374653cfccfc38f17ae913c01e2754bbf9403ceafdd6dfd18c"
        },
        "navManager": {
          "address": "0x493b6C8ccC7BfD43c5a20C4F2C648701f74E9130",
          "blockNumber": 425760926,
          "txHash": "0xbd3de54c88bb5f0bb2a3c63bfb3125882bfbcf05390b95085e599bcc01ba2577"
        },
        "simplePriceManager": {
          "address": "0x280C94eB440A8a75c2F8f6cA8c6FaFf907000823",
          "blockNumber": 425760993,
          "txHash": "0x4b235e7e084b7e0a7803fa731d50e78e10759ef13bcb17939e3f4387d4f8e7c7"
        },
        "layerZeroAdapter": {
          "address": "0xD517BC7ba17271a8D87BE7355B2523bF5c750295",
          "blockNumber": 425761540,
          "txHash": "0xfc0f34ec25c8bd3b0b113659c36cf2ee3a263c21009ab623d09a804718e38e6a"
        }
      },
      "deployment": {
        "deployedAt": 1769515812,
        "startBlock": 357982308
      }
    },
    "43114": {
      "network": {
        "chainId": 43114,
        "centrifugeId": 5,
        "protocolAdmin": "0x9711730060C73Ee7Fcfe1890e8A0993858a7D225",
        "opsAdmin": "0xd21413291444C5c104F1b5918cA0D2f6EC91Ad16",
        "batchLimit": 10,
        "baseRpcUrl": "https://avax-mainnet.g.alchemy.com/v2/"
      },
      "adapters": {
        "layerZero": {
          "endpoint": "0x1a44076050125825900e736c501f859c50fE728c",
          "layerZeroEid": 30106,
          "blockConfirmations": 15,
          "DVNs": [
            "0x962F502A63F5FBeB44DC9ab932122648E8352959",
            "0xcc49e6fca014c77e1eb604351cc1e08c84511760"
          ]
        },
        "wormhole": {
          "wormholeId": 6,
          "relayer": "0x27428DD2d3DD32A4D7f7C497eAaa23130d894911"
        },
        "axelar": {
          "axelarId": "Avalanche",
          "gateway": "0x5029C0EFf6C34351a0CEc334542cDb22c7928f78",
          "gasService": "0x2d5d7d31F671F86C782533cc367F14109a082712"
        },
        "chainlink": {
          "chainSelector": 6433500567565415381,
          "ccipRouter": "0xF4c7E640EdA248ef95972845a62bdC74237805dB"
        }
      },
      "contracts": {
        "gasService": {
          "address": "0xbEbef21D686a957decECCe6a58455fA0F16754Be",
          "blockNumber": 76719878,
          "txHash": "0x525f256c41c30507321617c8ec2c3a9ebbd3e1de21af92dd07c2b961226790f7"
        },
        "gateway": {
          "address": "0x19a524D03aA94ECEe41a80341537BCFCb47D3172",
          "blockNumber": 76719845,
          "txHash": "0x3ed72800c9b9d9d5c702f78aa81083281a6559e04d900f7d6e06d547f91c2164"
        },
        "multiAdapter": {
          "address": "0x35C837F0A54B715a23D193E1476BFC9BC30073BE",
          "blockNumber": 76719850,
          "txHash": "0x5fdacf056662fe8fd3ef6ae8497f567a766ac1253886ee470fff314415c7b480"
        },
        "messageProcessor": {
          "address": "0x97cc7e9Dafdd725Cc23B25eeBC93c4384B4Fe30A",
          "blockNumber": 76719892,
          "txHash": "0x3f14398093735d03cc650e1aaee8748fc19eb15e45ee5b2d5688df005cbb6c8c"
        },
        "messageDispatcher": {
          "address": "0xf837a22883e004f705E0D7e1deE08e295Df30B27",
          "blockNumber": 76719904,
          "txHash": "0x9d0fb45692291e746629642157ddfdf1d482722d154e4196bd0ef43e4bc9dae2"
        },
        "poolEscrowFactory": {
          "address": "0x5187A505c485E22f0b8a5FBdF69eF1c29C478CE3",
          "blockNumber": 76720159,
          "txHash": "0x9af0e90d428da2be0dc95a5d2140668f918a050b841a7102ce27131e103b1853"
        },
        "tokenRecoverer": {
          "address": "0x1E70530e9555711f8DF4838Ab940b97c039B4037",
          "blockNumber": 76720291,
          "txHash": "0x3cdae7efdb6e6df90a772dc43b4a997e9923925bdac3f5026b9c813dac8b9b32"
        },
        "hubRegistry": {
          "address": "0x19f46D8130e610C6C0f0116EA40Fb781dEFaDE93",
          "blockNumber": 76720201,
          "txHash": "0x2777a8e328c15339c0e16a93abc77e37968280d5bcb4eb4ce48fffdb5d73e0de"
        },
        "accounting": {
          "address": "0x050206c38f06e4710C4a37D39F75Ddc5c16a7396",
          "blockNumber": 76720221,
          "txHash": "0xd6e5edb1db5ea177d6e6374379dda0ef663abffdda3132ac14041e2645b0c301"
        },
        "holdings": {
          "address": "0x3f0c8D8d2637881c3f6d8531F51a47c2094C918d",
          "blockNumber": 76720233,
          "txHash": "0x4af8ff0a814a295367dfa4bb5ca65da07fd31621f45fb3906a6a2e261e9cc2d5"
        },
        "shareClassManager": {
          "address": "0xaFFC269c8fe18EE9C7DDb22301AC2c2507d69BEf",
          "blockNumber": 76720245,
          "txHash": "0xcc2ac7d2498717d5b9ed8bae8210f9e4d868c8bb08619c312fd074c1186d6edf"
        },
        "hub": {
          "address": "0xA4A7Bb3831958463b3FE3E27A6a160F764341953",
          "blockNumber": 76720259,
          "txHash": "0xad2055028e99a8bd02e4c9da96a1b1fc00dbaf0b7d081ba7366b5defb427aafd"
        },
        "identityValuation": {
          "address": "0x05e22C20B21c1314a0c93d34855358B9B96133CF",
          "blockNumber": 76720560,
          "txHash": "0x844ca5c90d05a066638c2df1408d1098d622cb6bcf3474ef6e8003f496dfd68f"
        },
        "tokenFactory": {
          "address": "0xcE1616505F93215751FBb41Efac618b631997c38",
          "blockNumber": 76719914,
          "txHash": "0x0ac6876fb3c11b8f542c601bc66d0cd26f5b73206e7f5ac2e3576660b9f6cc43"
        },
        "spoke": {
          "address": "0xEC3582fcDc34078a4B7a8c75a5a3AE46f48525aB",
          "blockNumber": 76719957,
          "txHash": "0x4767a8ee92bc202240dc619b2fbaf9ddee5b38dc89b41b168517f6862e8e98b1"
        },
        "balanceSheet": {
          "address": "0x12a110cE5f0FC871cC72Bc7ECaF35cf39DD0f43e",
          "blockNumber": 76720135,
          "txHash": "0xf35e0892048376db15be7803ea52b8b82c83cc5ffde9da51ceadf0a131e2193c"
        },
        "contractUpdater": {
          "address": "0x3B150B19245D2C366bc8f18c775b725DFB298F71",
          "blockNumber": 76719860,
          "txHash": "0xd3fdc2ecfb5fb37c78279eca6501cd50a18e5e97257807db082066d126f3cdd6"
        },
        "asyncRequestManager": {
          "address": "0xF48256AbDDf96EcDDc4B3DbD23E8C1921f9761Ae",
          "blockNumber": 76720356,
          "txHash": "0x9ddcdfc394f3b7a9975b2ddba3d8293b4851e639aea58850e77396402ce989c2"
        },
        "syncManager": {
          "address": "0xFf8Ed1862f6aC3a8e89B81C75507c225E36e273D",
          "blockNumber": 76720366,
          "txHash": "0x6b6448ac6ea316fd8977be51824582e21a1f6e11da84fba7e9dc8383c4c76ab2"
        },
        "asyncVaultFactory": {
          "address": "0x55cde53B7dbc24336E34FFE233AF8DF10f72F0Be",
          "blockNumber": 76720389,
          "txHash": "0x03d47108922bb382b619304e808c6ee477f46c1b6b34638c5bfd050c32859e57"
        },
        "syncDepositVaultFactory": {
          "address": "0xdb9C27762045Addd713182521C0580C68BDF700A",
          "blockNumber": 76720400,
          "txHash": "0x783b379b0c8fbfc1d6b1724ac579faea8e42f5887678f30f19e92cba0e3cff73"
        },
        "vaultRouter": {
          "address": "0xF684014771C01e50B8B526968B3a1e33acDA63f6",
          "blockNumber": 76720377,
          "txHash": "0x8d18f4e22a9de28b65318d65171bf3dcd463cb407abc60f25d98fb8200d20c8b"
        },
        "freezeOnlyHook": {
          "address": "0xd5B243F05b2906F1f6C80c6096945faADa0731C1",
          "blockNumber": 76720417,
          "txHash": "0x6169541d5f1eee63c6fabf2831218e5b6fc823dda453284a129f1077f51f304a"
        },
        "fullRestrictionsHook": {
          "address": "0x8E680873b4C77e6088b4Ba0aBD59d100c3D224a4",
          "blockNumber": 76720430,
          "txHash": "0x3fc4bfc1c40211051312d3c5a6e5546488307ee337e58b4345db8982771b5e36"
        },
        "freelyTransferableHook": {
          "address": "0x2a9B9C14851Baf7AD19f26607C9171CA1E7a1A61",
          "blockNumber": 76720441,
          "txHash": "0x24c228ab32a8a1320fc3893e9a9687e482bbe246630fece02fb77a69d28f199b"
        },
        "redemptionRestrictionsHook": {
          "address": "0xE5423eD8602Fa0F263e17b6212d88Efe42317f06",
          "blockNumber": 76720454,
          "txHash": "0xc01bfe11dff7853a899974b953cd0a8792626b3f33024eb5a502ebf28a3d2183"
        },
        "onOfframpManagerFactory": {
          "address": "0x2539e60B0B50D7BD004A09e9D2b7E8c86EB0AaF6",
          "blockNumber": 76720476,
          "txHash": "0xb66290cb6828b819b3b2605169d819cbf3e8d267cdf236b16406460562b4c5e8"
        },
        "merkleProofManagerFactory": {
          "address": "0xc5243bdEa2d86eA7541AC69084dF3EDdc137a18b",
          "blockNumber": 76720487,
          "txHash": "0xdc9e8ac737eae2e609e5db43761a635f0f75476655be8be97a91bc9ead0e2a77"
        },
        "vaultDecoder": {
          "address": "0x8Ca5372A5613A6Df75fD5fbC43216e68c1bE6D38",
          "blockNumber": 76720506,
          "txHash": "0x0036d7fdeca0aba0aac47134a378898ecee14eaf5c317601929c71ef0885a99f"
        },
        "circleDecoder": {
          "address": "0xd40871a6336fD19A25a7bd96c0C0dd66Ed60931D",
          "blockNumber": 76720519,
          "txHash": "0x1490bd61a0f2bada3ec1a8fe144c0d047db2f52312154c98b7b5f587e745cbc3"
        },
        "wormholeAdapter": {
          "address": "0x4BE430401760075315E931dD34b892DFdfc706A7",
          "blockNumber": 76720630,
          "txHash": "0xa59b0eff5ae677aed30dd201cb59e877f39a39cb8db80977e5673adc7c92332f"
        },
        "axelarAdapter": {
          "address": "0x34e904237341C3de02D4447C3fF0ca8880ca6484",
          "blockNumber": 76720638,
          "txHash": "0x79bc0d625f86a2ea15757b6468cf0c2f2d35abb72962fecb888645fe623fe8c9"
        },
        "vaultRegistry": {
          "address": "0xd9531AC47928c3386346f82d9A2478960bf2CA7B",
          "blockNumber": 76720147,
          "txHash": "0x918ef724d25f7d6dba6f0e4e2861254ad6a51e94e15d0bc13f4074bbb3ccc4b5"
        },
        "hubHandler": {
          "address": "0x0dEFb429B1663698da4bAe3278393F6844c3392C",
          "blockNumber": 76720268,
          "txHash": "0x29da7be7ee2d79508f393a3a1f29ac48543fed4defe8260b7b04f6bd38d5d074"
        },
        "protocolGuardian": {
          "address": "0xCEb7eD5d5B3bAD3088f6A1697738B60d829635c6",
          "blockNumber": 76720301,
          "txHash": "0xacbea43743b9ebbeb2f2510b9ae5cd15f0260c83c6844a4b90c59f419057945f"
        },
        "opsGuardian": {
          "address": "0x055589229506Ee89645EF08ebE9B9a863486d0dE",
          "blockNumber": 76720313,
          "txHash": "0xc438669a7ee92fd5c7f17c8d076ebeee5414341073b55ca6ae66a63fef6351a8"
        },
        "refundEscrowFactory": {
          "address": "0xC4f9A1DCF2E05eb55AbB30BaA7070838D3Fd3D5B",
          "blockNumber": 76720325,
          "txHash": "0x366e7bb1733e59e52ee47a99b00d0b4cf2b1518979f620470ac55c722fe068c2"
        },
        "subsidyManager": {
          "address": "0xBFC7B60684880457030C08AceE2E675CbcB9d646",
          "blockNumber": 76720331,
          "txHash": "0x7e9e33f5d9dc3bc998b4f21bd17ba599c2c5d115090f75e918fdc8023a525cac"
        },
        "queueManager": {
          "address": "0x971ACA9b4AB4895F400bA042Fd10A31c7918D220",
          "blockNumber": 76720465,
          "txHash": "0x78a95632c7e362c36e7fe2dc61dfd9a80a8e8e5a0b7c04892d4c0912471d6fb9"
        },
        "batchRequestManager": {
          "address": "0xc52Bd1Bdfa0135147D3F01a0B6D6cd0A831dFe77",
          "blockNumber": 76720550,
          "txHash": "0x38869264622732d26b446023d8a56d5ff1835c654d2cefd9b5de67bc39180e9e"
        },
        "oracleValuation": {
          "address": "0xCBdb6EFFC9b954D05dF89c747eCaa8A143c26E6D",
          "blockNumber": 76720572,
          "txHash": "0x1138ace24bed572748d25cc5ba827c634fb2939a3806d0a5d6b0ac544f17cf17"
        },
        "navManager": {
          "address": "0x493b6C8ccC7BfD43c5a20C4F2C648701f74E9130",
          "blockNumber": 76720592,
          "txHash": "0xa80c1531eb047907ed431172c1da49a59e3f89a59c1e19f3b8c1a1f3c3be19fe"
        },
        "simplePriceManager": {
          "address": "0x280C94eB440A8a75c2F8f6cA8c6FaFf907000823",
          "blockNumber": 76720605,
          "txHash": "0x1ae1a31aaf1228bc510669494889378bd6a5b1d74ff424f7477f77bd69c4e046"
        },
        "layerZeroAdapter": {
          "address": "0xD517BC7ba17271a8D87BE7355B2523bF5c750295",
          "blockNumber": 76720620,
          "txHash": "0x93bdf513847df29db542ffee65bb7b3d623077400568617e4eeab32460a47491"
        },
        "chainlinkAdapter": {
          "address": "0x39CF679Eb0Ac9075CFb5f94930A367Ba1557D955",
          "blockNumber": 76720649,
          "txHash": "0x27a2ec3669ca43425089158abfd93466f03878bd4c795f4d88c4919aeb438331"
        }
      },
      "deployment": {
        "deployedAt": 1769601244,
        "startBlock": 76719777
      }
    },
    "98866": {
      "network": {
        "chainId": 98866,
        "centrifugeId": 4,
        "protocolAdmin": "0x9711730060C73Ee7Fcfe1890e8A0993858a7D225",
        "opsAdmin": "0xd21413291444C5c104F1b5918cA0D2f6EC91Ad16",
        "batchLimit": 15,
        "baseRpcUrl": "https://rpc.plume.org/",
        "verifier": "blockscout",
        "verifierUrl": "https://explorer.plume.org/api/"
      },
      "adapters": {
        "layerZero": {
          "endpoint": "0xC1b15d3B262bEeC0e3565C11C9e0F6134BdaCB36",
          "layerZeroEid": 30370,
          "blockConfirmations": 15,
          "DVNs": [
            "0x395B14700812cccC38b8e64F0a06ce2045FE9bA3",
            "0x4208D6E27538189bB48E603D6123A94b8Abe0A0b"
          ]
        },
        "wormhole": {
          "wormholeId": 55,
          "relayer": "0x27428DD2d3DD32A4D7f7C497eAaa23130d894911"
        },
        "axelar": {
          "axelarId": "plume",
          "gateway": "0xe432150cce91c13a887f7D836923d5597adD8E31",
          "gasService": "0x2d5d7d31F671F86C782533cc367F14109a082712"
        },
        "chainlink": {
          "chainSelector": 17912061998839310979,
          "ccipRouter": "0x5C4f4622AD0EC4a47e04840db7E9EcA8354109af"
        }
      },
      "contracts": {
        "gasService": {
          "address": "0xbEbef21D686a957decECCe6a58455fA0F16754Be",
          "blockNumber": 48513080,
          "txHash": "0x7d7014f363195bdcd0028d9da3c6a78e3f1ffcc0654e92f47b23e91e03135637"
        },
        "gateway": {
          "address": "0x19a524D03aA94ECEe41a80341537BCFCb47D3172",
          "blockNumber": 48512998,
          "txHash": "0x00d7b4017abc77794d870a8ab65ccffa4a777a73dc9dc3bca6ce3bfb2a24b1c8"
        },
        "multiAdapter": {
          "address": "0x35C837F0A54B715a23D193E1476BFC9BC30073BE",
          "blockNumber": 48513023,
          "txHash": "0xc73ae0d2ff97fe37d217a5724f1bcfa30aab2d8fda01831d629f290d1d9e11e7"
        },
        "messageProcessor": {
          "address": "0x97cc7e9Dafdd725Cc23B25eeBC93c4384B4Fe30A",
          "blockNumber": 48513127,
          "txHash": "0x36ed1cd9e1d78289c5b437c4e58ffb3501b6e47ffdbaf278f4ccd15b111cefcd"
        },
        "messageDispatcher": {
          "address": "0xf837a22883e004f705E0D7e1deE08e295Df30B27",
          "blockNumber": 48513168,
          "txHash": "0xb3b961287f8ff3d28d34465b5476c23c8686447dd16bb8d40913c88c62ffa45c"
        },
        "poolEscrowFactory": {
          "address": "0x5187A505c485E22f0b8a5FBdF69eF1c29C478CE3",
          "blockNumber": 48513275,
          "txHash": "0x357925746a05aff1cc297526219ed6761c48fc336d9b0260ffcb93e3b0e167ef"
        },
        "tokenRecoverer": {
          "address": "0x1E70530e9555711f8DF4838Ab940b97c039B4037",
          "blockNumber": 48513533,
          "txHash": "0xc4ce6a20c8aa8a067ba99c182fdfe8a7562478322bdb077dfda8cde6e0c47a8e"
        },
        "hubRegistry": {
          "address": "0x19f46D8130e610C6C0f0116EA40Fb781dEFaDE93",
          "blockNumber": 48513292,
          "txHash": "0xc74fd5a6a2f622f1305a76206157f64ae0d40dd3e0f2865c298e78ba53ae19e6"
        },
        "accounting": {
          "address": "0x050206c38f06e4710C4a37D39F75Ddc5c16a7396",
          "blockNumber": 48513321,
          "txHash": "0xf3eb4317b46ad606a610427e66b0c5f54b63cfe55ab1e59d486a4505532528af"
        },
        "holdings": {
          "address": "0x3f0c8D8d2637881c3f6d8531F51a47c2094C918d",
          "blockNumber": 48513371,
          "txHash": "0xbb3066e4eab697ec3e998ad377536eb7470375ed5e47f3842d23af642a71830b"
        },
        "shareClassManager": {
          "address": "0xaFFC269c8fe18EE9C7DDb22301AC2c2507d69BEf",
          "blockNumber": 48513393,
          "txHash": "0x05b2f35fc3a7ce26bf5150ef8117e59b9efabfe0d0e4e3ca7d465a1abc6efb16"
        },
        "hub": {
          "address": "0xA4A7Bb3831958463b3FE3E27A6a160F764341953",
          "blockNumber": 48513432,
          "txHash": "0xf3531452280ac238218d8f5e37bc7b47c91188deef2b278bdb93bfaa42ce4dbe"
        },
        "identityValuation": {
          "address": "0x05e22C20B21c1314a0c93d34855358B9B96133CF",
          "blockNumber": 48514089,
          "txHash": "0x520f18d37c6392193caa53c86e5a54455191079a8168af3ce89c2468ff6e9b15"
        },
        "tokenFactory": {
          "address": "0xcE1616505F93215751FBb41Efac618b631997c38",
          "blockNumber": 48513187,
          "txHash": "0x32a6d17b55781b8db3242394825b988246d1a64266db981e5ce898d1985b4cb4"
        },
        "spoke": {
          "address": "0xEC3582fcDc34078a4B7a8c75a5a3AE46f48525aB",
          "blockNumber": 48513204,
          "txHash": "0x2f0c909220a2e4630a9a1e109f471d3c2c7d4bbd5eeb9add93bf21e33d6b2da9"
        },
        "balanceSheet": {
          "address": "0x12a110cE5f0FC871cC72Bc7ECaF35cf39DD0f43e",
          "blockNumber": 48513234,
          "txHash": "0xe2445c3a71249e6033ccd57b06bb851e605581581f7b4bb16a24c029d4024a93"
        },
        "contractUpdater": {
          "address": "0x3B150B19245D2C366bc8f18c775b725DFB298F71",
          "blockNumber": 48513057,
          "txHash": "0xf8e5a7594050c37a8e149963b689cd86883f765fc6dd68bbe97c4881f947a820"
        },
        "asyncRequestManager": {
          "address": "0xF48256AbDDf96EcDDc4B3DbD23E8C1921f9761Ae",
          "blockNumber": 48513671,
          "txHash": "0x8a63ec0ccc234a7a241a1187c76e71b9267a4a8cc17e33052b223ed03c65b5fe"
        },
        "syncManager": {
          "address": "0xFf8Ed1862f6aC3a8e89B81C75507c225E36e273D",
          "blockNumber": 48513708,
          "txHash": "0x729107601fd7d0e7cf3b6d4377e93f90ebff0a3eb206f771ca908a4633b424b2"
        },
        "asyncVaultFactory": {
          "address": "0x55cde53B7dbc24336E34FFE233AF8DF10f72F0Be",
          "blockNumber": 48513773,
          "txHash": "0x9cadb428c78e4e07845dc35e7358bb6dcf426ad0b5349ea52472e46cb87135d7"
        },
        "syncDepositVaultFactory": {
          "address": "0xdb9C27762045Addd713182521C0580C68BDF700A",
          "blockNumber": 48513790,
          "txHash": "0x7b58c20a5a4e02e9785ca09423ee20923ebd616c68f8c9cf113256ee114102be"
        },
        "vaultRouter": {
          "address": "0xF684014771C01e50B8B526968B3a1e33acDA63f6",
          "blockNumber": 48513739,
          "txHash": "0x8e88b7dd2cac48ef62b5206adbcba3b696156b5ba39362790d112deddfb1e0b7"
        },
        "freezeOnlyHook": {
          "address": "0xd5B243F05b2906F1f6C80c6096945faADa0731C1",
          "blockNumber": 48513815,
          "txHash": "0xa7148e4675c345ad2b1fa873caee739c23ca5de1f172abff4491dba59a7da4c4"
        },
        "fullRestrictionsHook": {
          "address": "0x8E680873b4C77e6088b4Ba0aBD59d100c3D224a4",
          "blockNumber": 48513843,
          "txHash": "0xb3de7743023872053237ae510e8cb2b5af19b01369148ee287c4f33ee19155b4"
        },
        "freelyTransferableHook": {
          "address": "0x2a9B9C14851Baf7AD19f26607C9171CA1E7a1A61",
          "blockNumber": 48513860,
          "txHash": "0x819a3576dd5071510f1a30d2d4eaf08a78950d30251ef3ee20741541395adf38"
        },
        "redemptionRestrictionsHook": {
          "address": "0xE5423eD8602Fa0F263e17b6212d88Efe42317f06",
          "blockNumber": 48513874,
          "txHash": "0x72864dcb160c25fdf99910b4aff839c062eb732dc2c66933e3d872ae14da2706"
        },
        "onOfframpManagerFactory": {
          "address": "0x2539e60B0B50D7BD004A09e9D2b7E8c86EB0AaF6",
          "blockNumber": 48513926,
          "txHash": "0x8ee7461ced80a6b431e960c09613fb4485a61b6264d8604de55aff88cafd49da"
        },
        "merkleProofManagerFactory": {
          "address": "0xc5243bdEa2d86eA7541AC69084dF3EDdc137a18b",
          "blockNumber": 48513941,
          "txHash": "0x11fbdab16a1a20f769ec9a8be1ac25582c904cd82e4c92d39f765e84a8df8f35"
        },
        "vaultDecoder": {
          "address": "0x8Ca5372A5613A6Df75fD5fbC43216e68c1bE6D38",
          "blockNumber": 48513999,
          "txHash": "0x2a2526011dcb53f9235dae47992ab045d41fa4e4b76b6b828d35b61f651d4fdb"
        },
        "circleDecoder": {
          "address": "0xd40871a6336fD19A25a7bd96c0C0dd66Ed60931D",
          "blockNumber": 48514021,
          "txHash": "0x7dca2dd37ccb4c28541ad3fbf05d53a1d804cda41db2fe710fa637f68739873a"
        },
        "vaultRegistry": {
          "address": "0xd9531AC47928c3386346f82d9A2478960bf2CA7B",
          "blockNumber": 48513255,
          "txHash": "0x2ceffb8919ed640bb036b40fb3c1f488d00ff1dc90297a5b7d707eb8c83f47c2"
        },
        "hubHandler": {
          "address": "0x0dEFb429B1663698da4bAe3278393F6844c3392C",
          "blockNumber": 48513455,
          "txHash": "0x96185cc1de238e03054350f972aff05e17ab27d692de86762a55f64eeb1c0013"
        },
        "protocolGuardian": {
          "address": "0xCEb7eD5d5B3bAD3088f6A1697738B60d829635c6",
          "blockNumber": 48513562,
          "txHash": "0x011b63fc75c45aeb2f820e803e437446c3eeb5255125e10b0b111a226d5d7d30"
        },
        "opsGuardian": {
          "address": "0x055589229506Ee89645EF08ebE9B9a863486d0dE",
          "blockNumber": 48513583,
          "txHash": "0x05679e6333ce021fbabe37633e11a3a2bfdb2c041dc7c18ecf2ea29f605a402a"
        },
        "refundEscrowFactory": {
          "address": "0xC4f9A1DCF2E05eb55AbB30BaA7070838D3Fd3D5B",
          "blockNumber": 48513620,
          "txHash": "0x42e7a0e870c3ee729930febc35e4c063138a7b84de5d9638093d0aa049ed297b"
        },
        "subsidyManager": {
          "address": "0xBFC7B60684880457030C08AceE2E675CbcB9d646",
          "blockNumber": 48513649,
          "txHash": "0x3b2800a60aa5e4725f36bcb021683e80cb05107f5c9873b8de5491e2ecaf5968"
        },
        "queueManager": {
          "address": "0x971ACA9b4AB4895F400bA042Fd10A31c7918D220",
          "blockNumber": 48513894,
          "txHash": "0x26ea2fcae9266827e5698c20f77d279aa93a66497e6b9bd35d6b8795d448f4d6"
        },
        "batchRequestManager": {
          "address": "0xc52Bd1Bdfa0135147D3F01a0B6D6cd0A831dFe77",
          "blockNumber": 48514053,
          "txHash": "0x4fb8fecd4817d0ff63350ec2c93cbf95a5c766f65906a1ea596bd8d9fc2fd545"
        },
        "oracleValuation": {
          "address": "0xCBdb6EFFC9b954D05dF89c747eCaa8A143c26E6D",
          "blockNumber": 48514129,
          "txHash": "0x7c0f2b556d6145c13e71bc148736a81e4004dae6a289f0891cf4c7eadbb09120"
        },
        "navManager": {
          "address": "0x493b6C8ccC7BfD43c5a20C4F2C648701f74E9130",
          "blockNumber": 48514163,
          "txHash": "0xa28c02c7f502928882956ff3e69fe2f6498cf1271cf5c7307ee410a246d8c430"
        },
        "simplePriceManager": {
          "address": "0x280C94eB440A8a75c2F8f6cA8c6FaFf907000823",
          "blockNumber": 48514187,
          "txHash": "0x30f5b60180e68f37f10609a4a6dc2b5c899d638031facab43a931d5d3c04ffca"
        },
        "wormholeAdapter": {
          "address": "0x4BE430401760075315E931dD34b892DFdfc706A7",
          "blockNumber": 48514230,
          "txHash": "0x47c0af4fece500340be85fb6aa182d938bbbfe4718ac1ce56051af6ba21aab89"
        },
        "axelarAdapter": {
          "address": "0x34e904237341C3de02D4447C3fF0ca8880ca6484",
          "blockNumber": 48514254,
          "txHash": "0xec450510cbc97189c95b94bf39664cebc1018ea5a80c7f2867bff3d140550e46"
        },
        "layerZeroAdapter": {
          "address": "0xD517BC7ba17271a8D87BE7355B2523bF5c750295",
          "blockNumber": 48514202,
          "txHash": "0x23e752a1e3b34b0e8a965ee1f5685634b6fbb466700a31090915e7bb7c685a7b"
        },
        "chainlinkAdapter": {
          "address": "0x39CF679Eb0Ac9075CFb5f94930A367Ba1557D955",
          "blockNumber": 48514271,
          "txHash": "0xfa3435faf5860e69c8f8eb845fe6ddbd02e70311454a573575396a7c9dfcfbd7"
        }
      },
      "deployment": {
        "deployedAt": 1752589418,
        "startBlock": 11931870
      }
    }
  },
  "abis": {
    "Accounting": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "deployer",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "accountValue",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "account",
            "type": "uint256",
            "internalType": "AccountId"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "accounts",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "",
            "type": "uint256",
            "internalType": "AccountId"
          }
        ],
        "outputs": [
          {
            "name": "totalDebit",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "totalCredit",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "isDebitNormal",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "lastUpdated",
            "type": "uint64",
            "internalType": "uint64"
          },
          {
            "name": "metadata",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "addCredit",
        "inputs": [
          {
            "name": "account",
            "type": "uint256",
            "internalType": "AccountId"
          },
          {
            "name": "value",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "addDebit",
        "inputs": [
          {
            "name": "account",
            "type": "uint256",
            "internalType": "AccountId"
          },
          {
            "name": "value",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "addJournal",
        "inputs": [
          {
            "name": "debits",
            "type": "tuple[]",
            "internalType": "struct JournalEntry[]",
            "components": [
              {
                "name": "value",
                "type": "uint128",
                "internalType": "uint128"
              },
              {
                "name": "accountId",
                "type": "uint256",
                "internalType": "AccountId"
              }
            ]
          },
          {
            "name": "credits",
            "type": "tuple[]",
            "internalType": "struct JournalEntry[]",
            "components": [
              {
                "name": "value",
                "type": "uint128",
                "internalType": "uint128"
              },
              {
                "name": "accountId",
                "type": "uint256",
                "internalType": "AccountId"
              }
            ]
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "createAccount",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "account",
            "type": "uint256",
            "internalType": "AccountId"
          },
          {
            "name": "isDebitNormal",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "credited",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "debited",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "exists",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "account",
            "type": "uint256",
            "internalType": "AccountId"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "lock",
        "inputs": [],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "setAccountMetadata",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "account",
            "type": "uint256",
            "internalType": "AccountId"
          },
          {
            "name": "metadata",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "unlock",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "wards",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "event",
        "name": "CreateAccount",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "account",
            "type": "uint256",
            "indexed": true,
            "internalType": "AccountId"
          },
          {
            "name": "isDebitNormal",
            "type": "bool",
            "indexed": false,
            "internalType": "bool"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Credit",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "account",
            "type": "uint256",
            "indexed": true,
            "internalType": "AccountId"
          },
          {
            "name": "value",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Debit",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "account",
            "type": "uint256",
            "indexed": true,
            "internalType": "AccountId"
          },
          {
            "name": "value",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "EndJournalId",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "journalId",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "SetAccountMetadata",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "account",
            "type": "uint256",
            "indexed": true,
            "internalType": "AccountId"
          },
          {
            "name": "metadata",
            "type": "bytes",
            "indexed": false,
            "internalType": "bytes"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "StartJournalId",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "journalId",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "AccountDoesNotExist",
        "inputs": []
      },
      {
        "type": "error",
        "name": "AccountExists",
        "inputs": []
      },
      {
        "type": "error",
        "name": "AccountingAlreadyUnlocked",
        "inputs": []
      },
      {
        "type": "error",
        "name": "AccountingLocked",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotAuthorized",
        "inputs": []
      },
      {
        "type": "error",
        "name": "Unbalanced",
        "inputs": []
      }
    ],
    "AsyncRequestManager": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "subsidyManager_",
            "type": "address",
            "internalType": "contract ISubsidyManager"
          },
          {
            "name": "deployer",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "receive",
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "balanceSheet",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IBalanceSheet"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "callback",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "payload",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "cancelDepositRequest",
        "inputs": [
          {
            "name": "vault_",
            "type": "address",
            "internalType": "contract IBaseVault"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "cancelRedeemRequest",
        "inputs": [
          {
            "name": "vault_",
            "type": "address",
            "internalType": "contract IBaseVault"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "claimCancelDepositRequest",
        "inputs": [
          {
            "name": "vault_",
            "type": "address",
            "internalType": "contract IBaseVault"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "assets",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "claimCancelRedeemRequest",
        "inputs": [
          {
            "name": "vault_",
            "type": "address",
            "internalType": "contract IBaseVault"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "shares",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "claimableCancelDepositRequest",
        "inputs": [
          {
            "name": "vault_",
            "type": "address",
            "internalType": "contract IBaseVault"
          },
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "assets",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "claimableCancelRedeemRequest",
        "inputs": [
          {
            "name": "vault_",
            "type": "address",
            "internalType": "contract IBaseVault"
          },
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "shares",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "convertToAssets",
        "inputs": [
          {
            "name": "vault_",
            "type": "address",
            "internalType": "contract IBaseVault"
          },
          {
            "name": "shares",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "assets",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "convertToShares",
        "inputs": [
          {
            "name": "vault_",
            "type": "address",
            "internalType": "contract IBaseVault"
          },
          {
            "name": "assets",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "shares",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "deposit",
        "inputs": [
          {
            "name": "vault_",
            "type": "address",
            "internalType": "contract IBaseVault"
          },
          {
            "name": "assets",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "shares",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "file",
        "inputs": [
          {
            "name": "what",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "data",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "globalEscrow",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IEscrow"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "investments",
        "inputs": [
          {
            "name": "vault",
            "type": "address",
            "internalType": "contract IBaseVault"
          },
          {
            "name": "investor",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "maxMint",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "maxWithdraw",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "depositPrice",
            "type": "uint128",
            "internalType": "D18"
          },
          {
            "name": "redeemPrice",
            "type": "uint128",
            "internalType": "D18"
          },
          {
            "name": "pendingDepositRequest",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "pendingRedeemRequest",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "claimableCancelDepositRequest",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "claimableCancelRedeemRequest",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "pendingCancelDepositRequest",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "pendingCancelRedeemRequest",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "maxDeposit",
        "inputs": [
          {
            "name": "vault_",
            "type": "address",
            "internalType": "contract IBaseVault"
          },
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "assets",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "maxMint",
        "inputs": [
          {
            "name": "vault_",
            "type": "address",
            "internalType": "contract IBaseVault"
          },
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "shares",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "maxRedeem",
        "inputs": [
          {
            "name": "vault_",
            "type": "address",
            "internalType": "contract IBaseVault"
          },
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "shares",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "maxWithdraw",
        "inputs": [
          {
            "name": "vault_",
            "type": "address",
            "internalType": "contract IBaseVault"
          },
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "assets",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "mint",
        "inputs": [
          {
            "name": "vault_",
            "type": "address",
            "internalType": "contract IBaseVault"
          },
          {
            "name": "shares",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "assets",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "pendingCancelDepositRequest",
        "inputs": [
          {
            "name": "vault_",
            "type": "address",
            "internalType": "contract IBaseVault"
          },
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "isPending",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "pendingCancelRedeemRequest",
        "inputs": [
          {
            "name": "vault_",
            "type": "address",
            "internalType": "contract IBaseVault"
          },
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "isPending",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "pendingDepositRequest",
        "inputs": [
          {
            "name": "vault_",
            "type": "address",
            "internalType": "contract IBaseVault"
          },
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "assets",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "pendingRedeemRequest",
        "inputs": [
          {
            "name": "vault_",
            "type": "address",
            "internalType": "contract IBaseVault"
          },
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "shares",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "poolEscrow",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IPoolEscrow"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "priceLastUpdated",
        "inputs": [
          {
            "name": "vault_",
            "type": "address",
            "internalType": "contract IBaseVault"
          }
        ],
        "outputs": [
          {
            "name": "lastUpdated",
            "type": "uint64",
            "internalType": "uint64"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "redeem",
        "inputs": [
          {
            "name": "vault_",
            "type": "address",
            "internalType": "contract IBaseVault"
          },
          {
            "name": "shares",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "assets",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "requestDeposit",
        "inputs": [
          {
            "name": "vault_",
            "type": "address",
            "internalType": "contract IBaseVault"
          },
          {
            "name": "assets",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "requestRedeem",
        "inputs": [
          {
            "name": "vault_",
            "type": "address",
            "internalType": "contract IBaseVault"
          },
          {
            "name": "shares",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "owner",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "sender_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "transfer",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "spoke",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract ISpoke"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "subsidyManager",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract ISubsidyManager"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "trustedCall",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "payload",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "vaultRegistry",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IVaultRegistry"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "wards",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "withdraw",
        "inputs": [
          {
            "name": "vault_",
            "type": "address",
            "internalType": "contract IBaseVault"
          },
          {
            "name": "assets",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "shares",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "event",
        "name": "Deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "File",
        "inputs": [
          {
            "name": "what",
            "type": "bytes32",
            "indexed": true,
            "internalType": "bytes32"
          },
          {
            "name": "data",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "TriggerRedeemRequest",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "uint64"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "bytes16"
          },
          {
            "name": "user",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          },
          {
            "name": "asset",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          },
          {
            "name": "shares",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "AssetMismatch",
        "inputs": []
      },
      {
        "type": "error",
        "name": "CancellationIsPending",
        "inputs": []
      },
      {
        "type": "error",
        "name": "DivisionByZero",
        "inputs": []
      },
      {
        "type": "error",
        "name": "ExceedsDepositLimits",
        "inputs": []
      },
      {
        "type": "error",
        "name": "ExceedsMaxDeposit",
        "inputs": []
      },
      {
        "type": "error",
        "name": "ExceedsMaxRedeem",
        "inputs": []
      },
      {
        "type": "error",
        "name": "ExceedsRedeemLimits",
        "inputs": []
      },
      {
        "type": "error",
        "name": "FailedRedeemRequest",
        "inputs": []
      },
      {
        "type": "error",
        "name": "FileUnrecognizedParam",
        "inputs": []
      },
      {
        "type": "error",
        "name": "MulDiv_Overflow",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NoPendingRequest",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotAVault",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotAuthorized",
        "inputs": []
      },
      {
        "type": "error",
        "name": "PrefixNotZero",
        "inputs": []
      },
      {
        "type": "error",
        "name": "ShareTokenAmountIsZero",
        "inputs": []
      },
      {
        "type": "error",
        "name": "ShareTokenTransferFailed",
        "inputs": []
      },
      {
        "type": "error",
        "name": "SliceOutOfBounds",
        "inputs": []
      },
      {
        "type": "error",
        "name": "TransferNotAllowed",
        "inputs": []
      },
      {
        "type": "error",
        "name": "Uint128_Overflow",
        "inputs": []
      },
      {
        "type": "error",
        "name": "Uint64_Overflow",
        "inputs": []
      },
      {
        "type": "error",
        "name": "UnknownRequestCallbackType",
        "inputs": []
      },
      {
        "type": "error",
        "name": "UnknownRequestCallbackType",
        "inputs": []
      },
      {
        "type": "error",
        "name": "VaultNotLinked",
        "inputs": []
      },
      {
        "type": "error",
        "name": "ZeroAmountNotAllowed",
        "inputs": []
      }
    ],
    "AsyncVault": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "poolId_",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId_",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "asset_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "token_",
            "type": "address",
            "internalType": "contract IShareToken"
          },
          {
            "name": "root_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "manager_",
            "type": "address",
            "internalType": "contract IAsyncRequestManager"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "AUTHORIZE_OPERATOR_TYPEHASH",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "bytes32",
            "internalType": "bytes32"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "DOMAIN_SEPARATOR",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "bytes32",
            "internalType": "bytes32"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "asset",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "asyncManager",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IAsyncRequestManager"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "asyncRedeemManager",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IAsyncRedeemManager"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "authorizations",
        "inputs": [
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "nonce",
            "type": "bytes32",
            "internalType": "bytes32"
          }
        ],
        "outputs": [
          {
            "name": "used",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "authorizeOperator",
        "inputs": [
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "operator",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "approved",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "nonce",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "deadline",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "signature",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "outputs": [
          {
            "name": "success",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "baseManager",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IBaseRequestManager"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "cancelDepositRequest",
        "inputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "cancelRedeemRequest",
        "inputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "claimCancelDepositRequest",
        "inputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "assets",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "claimCancelRedeemRequest",
        "inputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "shares",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "claimableCancelDepositRequest",
        "inputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "claimableAssets",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "claimableCancelRedeemRequest",
        "inputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "claimableShares",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "claimableDepositRequest",
        "inputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "claimableAssets",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "claimableRedeemRequest",
        "inputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "claimableShares",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "convertToAssets",
        "inputs": [
          {
            "name": "shares",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "assets",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "convertToShares",
        "inputs": [
          {
            "name": "assets",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "shares",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "deploymentChainId",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "deposit",
        "inputs": [
          {
            "name": "assets",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "shares",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "deposit",
        "inputs": [
          {
            "name": "assets",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "shares",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "file",
        "inputs": [
          {
            "name": "what",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "data",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "invalidateNonce",
        "inputs": [
          {
            "name": "nonce",
            "type": "bytes32",
            "internalType": "bytes32"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "isOperator",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isPermissioned",
        "inputs": [
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "maxDeposit",
        "inputs": [
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "maxAssets",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "maxMint",
        "inputs": [
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "maxShares",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "maxRedeem",
        "inputs": [
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "maxShares",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "maxWithdraw",
        "inputs": [
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "maxAssets",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "mint",
        "inputs": [
          {
            "name": "shares",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "assets",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "mint",
        "inputs": [
          {
            "name": "shares",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "assets",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "onCancelDepositClaimable",
        "inputs": [
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "assets",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "onCancelRedeemClaimable",
        "inputs": [
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "shares",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "onDepositClaimable",
        "inputs": [
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "assets",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "shares",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "onRedeemClaimable",
        "inputs": [
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "assets",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "shares",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "onRedeemRequest",
        "inputs": [
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "owner",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "shares",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "pendingCancelDepositRequest",
        "inputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "isPending",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "pendingCancelRedeemRequest",
        "inputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "isPending",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "pendingDepositRequest",
        "inputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "pendingAssets",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "pendingRedeemRequest",
        "inputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "pendingShares",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "poolId",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "previewDeposit",
        "inputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "previewMint",
        "inputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "previewRedeem",
        "inputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "previewWithdraw",
        "inputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "priceLastUpdated",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "uint64"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "pricePerShare",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "recoverTokens",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "amount",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "recoverTokens",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "amount",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "redeem",
        "inputs": [
          {
            "name": "shares",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "assets",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "requestDeposit",
        "inputs": [
          {
            "name": "assets",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "owner",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "requestRedeem",
        "inputs": [
          {
            "name": "shares",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "owner",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "root",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IRoot"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "scId",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "bytes16",
            "internalType": "ShareClassId"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "setEndorsedOperator",
        "inputs": [
          {
            "name": "owner",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "approved",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "setOperator",
        "inputs": [
          {
            "name": "operator",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "approved",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "outputs": [
          {
            "name": "success",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "share",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "supportsInterface",
        "inputs": [
          {
            "name": "interfaceId",
            "type": "bytes4",
            "internalType": "bytes4"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "totalAssets",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "vaultKind",
        "inputs": [],
        "outputs": [
          {
            "name": "vaultKind_",
            "type": "uint8",
            "internalType": "enum VaultKind"
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "wards",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "withdraw",
        "inputs": [
          {
            "name": "assets",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "shares",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "event",
        "name": "CancelDepositClaim",
        "inputs": [
          {
            "name": "controller",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "receiver",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "requestId",
            "type": "uint256",
            "indexed": true,
            "internalType": "uint256"
          },
          {
            "name": "sender",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          },
          {
            "name": "assets",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "CancelDepositClaimable",
        "inputs": [
          {
            "name": "controller",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "requestId",
            "type": "uint256",
            "indexed": true,
            "internalType": "uint256"
          },
          {
            "name": "assets",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "CancelDepositRequest",
        "inputs": [
          {
            "name": "controller",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "requestId",
            "type": "uint256",
            "indexed": true,
            "internalType": "uint256"
          },
          {
            "name": "sender",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "CancelRedeemClaim",
        "inputs": [
          {
            "name": "controller",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "receiver",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "requestId",
            "type": "uint256",
            "indexed": true,
            "internalType": "uint256"
          },
          {
            "name": "sender",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          },
          {
            "name": "shares",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "CancelRedeemClaimable",
        "inputs": [
          {
            "name": "controller",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "requestId",
            "type": "uint256",
            "indexed": true,
            "internalType": "uint256"
          },
          {
            "name": "shares",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "CancelRedeemRequest",
        "inputs": [
          {
            "name": "controller",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "requestId",
            "type": "uint256",
            "indexed": true,
            "internalType": "uint256"
          },
          {
            "name": "sender",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Deposit",
        "inputs": [
          {
            "name": "sender",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "owner",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "assets",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          },
          {
            "name": "shares",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "DepositClaimable",
        "inputs": [
          {
            "name": "controller",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "requestId",
            "type": "uint256",
            "indexed": true,
            "internalType": "uint256"
          },
          {
            "name": "assets",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          },
          {
            "name": "shares",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "DepositRequest",
        "inputs": [
          {
            "name": "controller",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "owner",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "requestId",
            "type": "uint256",
            "indexed": true,
            "internalType": "uint256"
          },
          {
            "name": "sender",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          },
          {
            "name": "assets",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "File",
        "inputs": [
          {
            "name": "what",
            "type": "bytes32",
            "indexed": true,
            "internalType": "bytes32"
          },
          {
            "name": "data",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "OperatorSet",
        "inputs": [
          {
            "name": "controller",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "operator",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "approved",
            "type": "bool",
            "indexed": false,
            "internalType": "bool"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "RedeemClaimable",
        "inputs": [
          {
            "name": "controller",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "requestId",
            "type": "uint256",
            "indexed": true,
            "internalType": "uint256"
          },
          {
            "name": "assets",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          },
          {
            "name": "shares",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "RedeemRequest",
        "inputs": [
          {
            "name": "controller",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "owner",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "requestId",
            "type": "uint256",
            "indexed": true,
            "internalType": "uint256"
          },
          {
            "name": "sender",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          },
          {
            "name": "shares",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Withdraw",
        "inputs": [
          {
            "name": "sender",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "receiver",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "owner",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "assets",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          },
          {
            "name": "shares",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "AlreadyUsedAuthorization",
        "inputs": []
      },
      {
        "type": "error",
        "name": "CannotSetSelfAsOperator",
        "inputs": []
      },
      {
        "type": "error",
        "name": "ExpiredAuthorization",
        "inputs": []
      },
      {
        "type": "error",
        "name": "FileUnrecognizedParam",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InsufficientBalance",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidAuthorization",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidController",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidOwner",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidSigner",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NoCode",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotAuthorized",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotEndorsed",
        "inputs": []
      },
      {
        "type": "error",
        "name": "RequestDepositFailed",
        "inputs": []
      },
      {
        "type": "error",
        "name": "RequestRedeemFailed",
        "inputs": []
      },
      {
        "type": "error",
        "name": "SafeTransferEthFailed",
        "inputs": []
      },
      {
        "type": "error",
        "name": "TransferFromFailed",
        "inputs": []
      },
      {
        "type": "error",
        "name": "WrappedError",
        "inputs": [
          {
            "name": "target",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "selector",
            "type": "bytes4",
            "internalType": "bytes4"
          },
          {
            "name": "reason",
            "type": "bytes",
            "internalType": "bytes"
          },
          {
            "name": "details",
            "type": "bytes",
            "internalType": "bytes"
          }
        ]
      }
    ],
    "AsyncVaultFactory": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "root_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "asyncRequestManager_",
            "type": "address",
            "internalType": "contract IAsyncRequestManager"
          },
          {
            "name": "deployer",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "asyncRequestManager",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IAsyncRequestManager"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "newVault",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "asset",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "token",
            "type": "address",
            "internalType": "contract IShareToken"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IVault"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "root",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "wards",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "event",
        "name": "Deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "NotAuthorized",
        "inputs": []
      },
      {
        "type": "error",
        "name": "UnsupportedTokenId",
        "inputs": []
      }
    ],
    "AxelarAdapter": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "entrypoint_",
            "type": "address",
            "internalType": "contract IMessageHandler"
          },
          {
            "name": "axelarGateway_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "axelarGasService_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "deployer",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "RECEIVE_COST",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "axelarGasService",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IAxelarGasService"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "axelarGateway",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IAxelarGateway"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "destinations",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          }
        ],
        "outputs": [
          {
            "name": "axelarId",
            "type": "string",
            "internalType": "string"
          },
          {
            "name": "addr",
            "type": "string",
            "internalType": "string"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "entrypoint",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IMessageHandler"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "estimate",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "payload",
            "type": "bytes",
            "internalType": "bytes"
          },
          {
            "name": "gasLimit",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "execute",
        "inputs": [
          {
            "name": "commandId",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "sourceAxelarId",
            "type": "string",
            "internalType": "string"
          },
          {
            "name": "sourceAddress",
            "type": "string",
            "internalType": "string"
          },
          {
            "name": "payload",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "isWired",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "send",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "payload",
            "type": "bytes",
            "internalType": "bytes"
          },
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "adapterData",
            "type": "bytes32",
            "internalType": "bytes32"
          }
        ],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "sources",
        "inputs": [
          {
            "name": "axelarId",
            "type": "string",
            "internalType": "string"
          }
        ],
        "outputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "addressHash",
            "type": "bytes32",
            "internalType": "bytes32"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "wards",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "wire",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "data",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "event",
        "name": "Deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Wire",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "indexed": true,
            "internalType": "uint16"
          },
          {
            "name": "axelarId",
            "type": "string",
            "indexed": true,
            "internalType": "string"
          },
          {
            "name": "adapter",
            "type": "string",
            "indexed": false,
            "internalType": "string"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "InvalidAddress",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotApprovedByGateway",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotAuthorized",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotEntrypoint",
        "inputs": []
      },
      {
        "type": "error",
        "name": "UnknownChainId",
        "inputs": []
      }
    ],
    "BalanceSheet": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "endorsements_",
            "type": "address",
            "internalType": "contract IEndorsements"
          },
          {
            "name": "deployer",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "availableBalanceOf",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "asset",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "deposit",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "asset",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "amount",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "endorsements",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IEndorsements"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "escrow",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IPoolEscrow"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "executeMulticall",
        "inputs": [
          {
            "name": "data",
            "type": "bytes[]",
            "internalType": "bytes[]"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "file",
        "inputs": [
          {
            "name": "what",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "data",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "gateway",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IGateway"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "issue",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "shares",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "manager",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "multicall",
        "inputs": [
          {
            "name": "data",
            "type": "bytes[]",
            "internalType": "bytes[]"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "noteDeposit",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "asset",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "amount",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "updateEscrow",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "outputs": [
          {
            "name": "pricePoolPerAsset_",
            "type": "uint128",
            "internalType": "D18"
          }
        ],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "noteDeposit",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "asset",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "amount",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "outputs": [
          {
            "name": "pricePoolPerAsset_",
            "type": "uint128",
            "internalType": "D18"
          }
        ],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "noteWithdraw",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "asset",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "amount",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "updateEscrow",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "outputs": [
          {
            "name": "pricePoolPerAsset_",
            "type": "uint128",
            "internalType": "D18"
          }
        ],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "noteWithdraw",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "asset",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "amount",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "outputs": [
          {
            "name": "pricePoolPerAsset_",
            "type": "uint128",
            "internalType": "D18"
          }
        ],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "overridePricePoolPerAsset",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "value",
            "type": "uint128",
            "internalType": "D18"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "overridePricePoolPerShare",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "value",
            "type": "uint128",
            "internalType": "D18"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "poolEscrowProvider",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IPoolEscrowProvider"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "queuedAssets",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "",
            "type": "uint128",
            "internalType": "AssetId"
          }
        ],
        "outputs": [
          {
            "name": "deposits",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "withdrawals",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "queuedShares",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "",
            "type": "bytes16",
            "internalType": "ShareClassId"
          }
        ],
        "outputs": [
          {
            "name": "delta",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "isPositive",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "queuedAssetCounter",
            "type": "uint32",
            "internalType": "uint32"
          },
          {
            "name": "nonce",
            "type": "uint64",
            "internalType": "uint64"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "recoverTokens",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "amount",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "recoverTokens",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "amount",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "reserve",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "asset",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "amount",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "reserver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "reason",
            "type": "uint32",
            "internalType": "uint32"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "resetPricePoolPerAsset",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "resetPricePoolPerShare",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "revoke",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "shares",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "sender",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract ISpokeMessageSender"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "spoke",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract ISpoke"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "submitQueuedAssets",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "extraGasLimit",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "submitQueuedShares",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "extraGasLimit",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "transferSharesFrom",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "sender_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "amount",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "unreserve",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "asset",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "amount",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "reserver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "reason",
            "type": "uint32",
            "internalType": "uint32"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "updateManager",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "who",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "canManage",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "wards",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "withdraw",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "asset",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "amount",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "withdraw",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "asset",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "amount",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "mode",
            "type": "uint8",
            "internalType": "enum WithdrawMode"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "event",
        "name": "Deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Deposit",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "sender",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          },
          {
            "name": "asset",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          },
          {
            "name": "amount",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "File",
        "inputs": [
          {
            "name": "what",
            "type": "bytes32",
            "indexed": true,
            "internalType": "bytes32"
          },
          {
            "name": "data",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Issue",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "sender",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          },
          {
            "name": "pricePoolPerShare",
            "type": "uint128",
            "indexed": false,
            "internalType": "D18"
          },
          {
            "name": "shares",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "NoteDeposit",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "sender",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          },
          {
            "name": "asset",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          },
          {
            "name": "amount",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          },
          {
            "name": "pricePoolPerAsset",
            "type": "uint128",
            "indexed": false,
            "internalType": "D18"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "NoteWithdraw",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "asset",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          },
          {
            "name": "amount",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          },
          {
            "name": "pricePoolPerAsset",
            "type": "uint128",
            "indexed": false,
            "internalType": "D18"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Revoke",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "sender",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          },
          {
            "name": "from",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          },
          {
            "name": "pricePoolPerShare",
            "type": "uint128",
            "indexed": false,
            "internalType": "D18"
          },
          {
            "name": "shares",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "SubmitQueuedAssets",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "indexed": true,
            "internalType": "AssetId"
          },
          {
            "name": "data",
            "type": "tuple",
            "indexed": false,
            "internalType": "struct ISpokeMessageSender.UpdateData",
            "components": [
              {
                "name": "netAmount",
                "type": "uint128",
                "internalType": "uint128"
              },
              {
                "name": "isIncrease",
                "type": "bool",
                "internalType": "bool"
              },
              {
                "name": "isSnapshot",
                "type": "bool",
                "internalType": "bool"
              },
              {
                "name": "nonce",
                "type": "uint64",
                "internalType": "uint64"
              }
            ]
          },
          {
            "name": "pricePoolPerAsset",
            "type": "uint128",
            "indexed": false,
            "internalType": "D18"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "SubmitQueuedShares",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "data",
            "type": "tuple",
            "indexed": false,
            "internalType": "struct ISpokeMessageSender.UpdateData",
            "components": [
              {
                "name": "netAmount",
                "type": "uint128",
                "internalType": "uint128"
              },
              {
                "name": "isIncrease",
                "type": "bool",
                "internalType": "bool"
              },
              {
                "name": "isSnapshot",
                "type": "bool",
                "internalType": "bool"
              },
              {
                "name": "nonce",
                "type": "uint64",
                "internalType": "uint64"
              }
            ]
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "TransferSharesFrom",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "sender",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          },
          {
            "name": "from",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          },
          {
            "name": "amount",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "UpdateManager",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "who",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          },
          {
            "name": "canManage",
            "type": "bool",
            "indexed": false,
            "internalType": "bool"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Withdraw",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "asset",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          },
          {
            "name": "receiver",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          },
          {
            "name": "amount",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          },
          {
            "name": "pricePoolPerAsset",
            "type": "uint128",
            "indexed": false,
            "internalType": "D18"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "AlreadyBatching",
        "inputs": []
      },
      {
        "type": "error",
        "name": "CallFailedWithEmptyRevert",
        "inputs": []
      },
      {
        "type": "error",
        "name": "CannotTransferFromEndorsedContract",
        "inputs": []
      },
      {
        "type": "error",
        "name": "FileUnrecognizedParam",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NoCode",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotAuthorized",
        "inputs": []
      },
      {
        "type": "error",
        "name": "SafeTransferEthFailed",
        "inputs": []
      },
      {
        "type": "error",
        "name": "UnauthorizedSender",
        "inputs": []
      },
      {
        "type": "error",
        "name": "WrappedError",
        "inputs": [
          {
            "name": "target",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "selector",
            "type": "bytes4",
            "internalType": "bytes4"
          },
          {
            "name": "reason",
            "type": "bytes",
            "internalType": "bytes"
          },
          {
            "name": "details",
            "type": "bytes",
            "internalType": "bytes"
          }
        ]
      }
    ],
    "BatchRequestManager": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "hubRegistry_",
            "type": "address",
            "internalType": "contract IHubRegistry"
          },
          {
            "name": "gateway_",
            "type": "address",
            "internalType": "contract IGateway"
          },
          {
            "name": "deployer",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "allowForceDepositCancel",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "investor",
            "type": "bytes32",
            "internalType": "bytes32"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "allowForceRedeemCancel",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "investor",
            "type": "bytes32",
            "internalType": "bytes32"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "approveDeposits",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId_",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "depositAssetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "nowDepositEpochId",
            "type": "uint32",
            "internalType": "uint32"
          },
          {
            "name": "approvedAssetAmount",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "pricePoolPerAsset",
            "type": "uint128",
            "internalType": "D18"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "approveRedeems",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId_",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "payoutAssetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "nowRedeemEpochId",
            "type": "uint32",
            "internalType": "uint32"
          },
          {
            "name": "approvedShareAmount",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "pricePoolPerAsset",
            "type": "uint128",
            "internalType": "D18"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "cancelDepositRequest",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId_",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "investor",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "depositAssetId",
            "type": "uint128",
            "internalType": "AssetId"
          }
        ],
        "outputs": [
          {
            "name": "cancelledAssetAmount",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "cancelRedeemRequest",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId_",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "investor",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "payoutAssetId",
            "type": "uint128",
            "internalType": "AssetId"
          }
        ],
        "outputs": [
          {
            "name": "cancelledShareAmount",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "depositRequest",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "investor",
            "type": "bytes32",
            "internalType": "bytes32"
          }
        ],
        "outputs": [
          {
            "name": "pending",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "lastUpdate",
            "type": "uint32",
            "internalType": "uint32"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "epochId",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "",
            "type": "uint128",
            "internalType": "AssetId"
          }
        ],
        "outputs": [
          {
            "name": "deposit",
            "type": "uint32",
            "internalType": "uint32"
          },
          {
            "name": "issue",
            "type": "uint32",
            "internalType": "uint32"
          },
          {
            "name": "redeem",
            "type": "uint32",
            "internalType": "uint32"
          },
          {
            "name": "revoke",
            "type": "uint32",
            "internalType": "uint32"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "epochInvestAmounts",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "epochId_",
            "type": "uint32",
            "internalType": "uint32"
          }
        ],
        "outputs": [
          {
            "name": "approvedPoolAmount",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "approvedAssetAmount",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "pendingAssetAmount",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "pricePoolPerAsset",
            "type": "uint128",
            "internalType": "D18"
          },
          {
            "name": "pricePoolPerShare",
            "type": "uint128",
            "internalType": "D18"
          },
          {
            "name": "issuedAt",
            "type": "uint64",
            "internalType": "uint64"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "epochRedeemAmounts",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "epochId_",
            "type": "uint32",
            "internalType": "uint32"
          }
        ],
        "outputs": [
          {
            "name": "approvedShareAmount",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "pendingShareAmount",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "pricePoolPerAsset",
            "type": "uint128",
            "internalType": "D18"
          },
          {
            "name": "pricePoolPerShare",
            "type": "uint128",
            "internalType": "D18"
          },
          {
            "name": "payoutAssetAmount",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "revokedAt",
            "type": "uint64",
            "internalType": "uint64"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "executeMulticall",
        "inputs": [
          {
            "name": "data",
            "type": "bytes[]",
            "internalType": "bytes[]"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "file",
        "inputs": [
          {
            "name": "what",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "data",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "forceCancelDepositRequest",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId_",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "investor",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "depositAssetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "forceCancelRedeemRequest",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId_",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "investor",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "payoutAssetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "gateway",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IGateway"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "hub",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IHubRequestManagerCallback"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "hubRegistry",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IHubRegistry"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "issueShares",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId_",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "depositAssetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "nowIssueEpochId",
            "type": "uint32",
            "internalType": "uint32"
          },
          {
            "name": "pricePoolPerShare",
            "type": "uint128",
            "internalType": "D18"
          },
          {
            "name": "extraGasLimit",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "maxDepositClaims",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId_",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "investor",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "depositAssetId",
            "type": "uint128",
            "internalType": "AssetId"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint32",
            "internalType": "uint32"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "maxRedeemClaims",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId_",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "investor",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "payoutAssetId",
            "type": "uint128",
            "internalType": "AssetId"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint32",
            "internalType": "uint32"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "multicall",
        "inputs": [
          {
            "name": "data",
            "type": "bytes[]",
            "internalType": "bytes[]"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "notifyDeposit",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "investor",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "maxClaims",
            "type": "uint32",
            "internalType": "uint32"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "notifyRedeem",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "investor",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "maxClaims",
            "type": "uint32",
            "internalType": "uint32"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "nowDepositEpoch",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId_",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "depositAssetId",
            "type": "uint128",
            "internalType": "AssetId"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint32",
            "internalType": "uint32"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "nowIssueEpoch",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId_",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "depositAssetId",
            "type": "uint128",
            "internalType": "AssetId"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint32",
            "internalType": "uint32"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "nowRedeemEpoch",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId_",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "depositAssetId",
            "type": "uint128",
            "internalType": "AssetId"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint32",
            "internalType": "uint32"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "nowRevokeEpoch",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId_",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "depositAssetId",
            "type": "uint128",
            "internalType": "AssetId"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint32",
            "internalType": "uint32"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "pendingDeposit",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "",
            "type": "uint128",
            "internalType": "AssetId"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "pendingRedeem",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "",
            "type": "uint128",
            "internalType": "AssetId"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "queuedDepositRequest",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "investor",
            "type": "bytes32",
            "internalType": "bytes32"
          }
        ],
        "outputs": [
          {
            "name": "isCancelling",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "amount",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "queuedRedeemRequest",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "investor",
            "type": "bytes32",
            "internalType": "bytes32"
          }
        ],
        "outputs": [
          {
            "name": "isCancelling",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "amount",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "redeemRequest",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "investor",
            "type": "bytes32",
            "internalType": "bytes32"
          }
        ],
        "outputs": [
          {
            "name": "pending",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "lastUpdate",
            "type": "uint32",
            "internalType": "uint32"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "request",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "payload",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "requestDeposit",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId_",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "amount",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "investor",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "depositAssetId",
            "type": "uint128",
            "internalType": "AssetId"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "requestRedeem",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId_",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "amount",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "investor",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "payoutAssetId",
            "type": "uint128",
            "internalType": "AssetId"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "revokeShares",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId_",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "payoutAssetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "nowRevokeEpochId",
            "type": "uint32",
            "internalType": "uint32"
          },
          {
            "name": "pricePoolPerShare",
            "type": "uint128",
            "internalType": "D18"
          },
          {
            "name": "extraGasLimit",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "setEpochIds",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "epochIdData",
            "type": "tuple",
            "internalType": "struct EpochId",
            "components": [
              {
                "name": "deposit",
                "type": "uint32",
                "internalType": "uint32"
              },
              {
                "name": "issue",
                "type": "uint32",
                "internalType": "uint32"
              },
              {
                "name": "redeem",
                "type": "uint32",
                "internalType": "uint32"
              },
              {
                "name": "revoke",
                "type": "uint32",
                "internalType": "uint32"
              }
            ]
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "supportsInterface",
        "inputs": [
          {
            "name": "interfaceId",
            "type": "bytes4",
            "internalType": "bytes4"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "wards",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "event",
        "name": "ApproveDeposits",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "shareClassId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "indexed": true,
            "internalType": "AssetId"
          },
          {
            "name": "epochId",
            "type": "uint32",
            "indexed": false,
            "internalType": "uint32"
          },
          {
            "name": "approvedPoolAmount",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          },
          {
            "name": "approvedAssetAmount",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          },
          {
            "name": "pendingAssetAmount",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "ApproveRedeems",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "shareClassId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "indexed": true,
            "internalType": "AssetId"
          },
          {
            "name": "epochId",
            "type": "uint32",
            "indexed": false,
            "internalType": "uint32"
          },
          {
            "name": "approvedShareAmount",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          },
          {
            "name": "pendingShareAmount",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "ClaimDeposit",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "shareClassId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "epochId",
            "type": "uint32",
            "indexed": true,
            "internalType": "uint32"
          },
          {
            "name": "investor",
            "type": "bytes32",
            "indexed": false,
            "internalType": "bytes32"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "indexed": false,
            "internalType": "AssetId"
          },
          {
            "name": "paymentAssetAmount",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          },
          {
            "name": "pendingAssetAmount",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          },
          {
            "name": "payoutShareAmount",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          },
          {
            "name": "issuedAt",
            "type": "uint64",
            "indexed": false,
            "internalType": "uint64"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "ClaimRedeem",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "shareClassId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "epochId",
            "type": "uint32",
            "indexed": true,
            "internalType": "uint32"
          },
          {
            "name": "investor",
            "type": "bytes32",
            "indexed": false,
            "internalType": "bytes32"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "indexed": false,
            "internalType": "AssetId"
          },
          {
            "name": "paymentShareAmount",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          },
          {
            "name": "pendingShareAmount",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          },
          {
            "name": "payoutAssetAmount",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          },
          {
            "name": "revokedAt",
            "type": "uint64",
            "indexed": false,
            "internalType": "uint64"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "EpochIdModified",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "indexed": true,
            "internalType": "AssetId"
          },
          {
            "name": "epochIdData",
            "type": "tuple",
            "indexed": false,
            "internalType": "struct EpochId",
            "components": [
              {
                "name": "deposit",
                "type": "uint32",
                "internalType": "uint32"
              },
              {
                "name": "issue",
                "type": "uint32",
                "internalType": "uint32"
              },
              {
                "name": "redeem",
                "type": "uint32",
                "internalType": "uint32"
              },
              {
                "name": "revoke",
                "type": "uint32",
                "internalType": "uint32"
              }
            ]
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "File",
        "inputs": [
          {
            "name": "what",
            "type": "bytes32",
            "indexed": false,
            "internalType": "bytes32"
          },
          {
            "name": "addr",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "IssueShares",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "shareClassId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "indexed": true,
            "internalType": "AssetId"
          },
          {
            "name": "epochId",
            "type": "uint32",
            "indexed": false,
            "internalType": "uint32"
          },
          {
            "name": "pricePoolPerShare",
            "type": "uint128",
            "indexed": false,
            "internalType": "D18"
          },
          {
            "name": "priceAssetPerShare",
            "type": "uint128",
            "indexed": false,
            "internalType": "D18"
          },
          {
            "name": "issuedShareAmount",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "RevokeShares",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "shareClassId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "indexed": true,
            "internalType": "AssetId"
          },
          {
            "name": "epochId",
            "type": "uint32",
            "indexed": false,
            "internalType": "uint32"
          },
          {
            "name": "pricePoolPerShare",
            "type": "uint128",
            "indexed": false,
            "internalType": "D18"
          },
          {
            "name": "priceAssetPerShare",
            "type": "uint128",
            "indexed": false,
            "internalType": "D18"
          },
          {
            "name": "approvedShareAmount",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          },
          {
            "name": "payoutAssetAmount",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          },
          {
            "name": "payoutPoolAmount",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "UpdateDepositRequest",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "shareClassId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "indexed": true,
            "internalType": "AssetId"
          },
          {
            "name": "epochId",
            "type": "uint32",
            "indexed": false,
            "internalType": "uint32"
          },
          {
            "name": "investor",
            "type": "bytes32",
            "indexed": false,
            "internalType": "bytes32"
          },
          {
            "name": "pendingAmount",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          },
          {
            "name": "totalPendingAmount",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          },
          {
            "name": "queuedAmount",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          },
          {
            "name": "isQueuedCancellation",
            "type": "bool",
            "indexed": false,
            "internalType": "bool"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "UpdateRedeemRequest",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "shareClassId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "indexed": true,
            "internalType": "AssetId"
          },
          {
            "name": "epochId",
            "type": "uint32",
            "indexed": false,
            "internalType": "uint32"
          },
          {
            "name": "investor",
            "type": "bytes32",
            "indexed": false,
            "internalType": "bytes32"
          },
          {
            "name": "pendingAmount",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          },
          {
            "name": "totalPendingAmount",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          },
          {
            "name": "queuedAmount",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          },
          {
            "name": "isQueuedCancellation",
            "type": "bool",
            "indexed": false,
            "internalType": "bool"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "AlreadyBatching",
        "inputs": []
      },
      {
        "type": "error",
        "name": "CallFailedWithEmptyRevert",
        "inputs": []
      },
      {
        "type": "error",
        "name": "CancellationInitializationRequired",
        "inputs": []
      },
      {
        "type": "error",
        "name": "CancellationQueued",
        "inputs": []
      },
      {
        "type": "error",
        "name": "DivisionByZero",
        "inputs": []
      },
      {
        "type": "error",
        "name": "EpochNotFound",
        "inputs": []
      },
      {
        "type": "error",
        "name": "EpochNotInSequence",
        "inputs": [
          {
            "name": "epochId",
            "type": "uint32",
            "internalType": "uint32"
          },
          {
            "name": "actualEpochId",
            "type": "uint32",
            "internalType": "uint32"
          }
        ]
      },
      {
        "type": "error",
        "name": "FileUnrecognizedParam",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InsufficientPending",
        "inputs": []
      },
      {
        "type": "error",
        "name": "IssuanceRequired",
        "inputs": []
      },
      {
        "type": "error",
        "name": "MulDiv_Overflow",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NoOrderFound",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotAuthorized",
        "inputs": []
      },
      {
        "type": "error",
        "name": "RevocationRequired",
        "inputs": []
      },
      {
        "type": "error",
        "name": "SliceOutOfBounds",
        "inputs": []
      },
      {
        "type": "error",
        "name": "Uint128_Overflow",
        "inputs": []
      },
      {
        "type": "error",
        "name": "Uint64_Overflow",
        "inputs": []
      },
      {
        "type": "error",
        "name": "UnauthorizedSender",
        "inputs": []
      },
      {
        "type": "error",
        "name": "UnknownRequestType",
        "inputs": []
      },
      {
        "type": "error",
        "name": "UnknownRequestType",
        "inputs": []
      },
      {
        "type": "error",
        "name": "ZeroApprovalAmount",
        "inputs": []
      }
    ],
    "ChainlinkAdapter": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "entrypoint_",
            "type": "address",
            "internalType": "contract IMessageHandler"
          },
          {
            "name": "ccipRouter_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "deployer",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "RECEIVE_COST",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "ccipReceive",
        "inputs": [
          {
            "name": "message",
            "type": "tuple",
            "internalType": "struct IClient.Any2EVMMessage",
            "components": [
              {
                "name": "messageId",
                "type": "bytes32",
                "internalType": "bytes32"
              },
              {
                "name": "sourceChainSelector",
                "type": "uint64",
                "internalType": "uint64"
              },
              {
                "name": "sender",
                "type": "bytes",
                "internalType": "bytes"
              },
              {
                "name": "data",
                "type": "bytes",
                "internalType": "bytes"
              },
              {
                "name": "destTokenAmounts",
                "type": "tuple[]",
                "internalType": "struct IClient.EVMTokenAmount[]",
                "components": [
                  {
                    "name": "token",
                    "type": "address",
                    "internalType": "address"
                  },
                  {
                    "name": "amount",
                    "type": "uint256",
                    "internalType": "uint256"
                  }
                ]
              }
            ]
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "ccipRouter",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IRouterClient"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "destinations",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          }
        ],
        "outputs": [
          {
            "name": "chainSelector",
            "type": "uint64",
            "internalType": "uint64"
          },
          {
            "name": "addr",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "entrypoint",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IMessageHandler"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "estimate",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "payload",
            "type": "bytes",
            "internalType": "bytes"
          },
          {
            "name": "gasLimit",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isWired",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "send",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "payload",
            "type": "bytes",
            "internalType": "bytes"
          },
          {
            "name": "gasLimit",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "adapterData",
            "type": "bytes32",
            "internalType": "bytes32"
          }
        ],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "sources",
        "inputs": [
          {
            "name": "chainSelector",
            "type": "uint64",
            "internalType": "uint64"
          }
        ],
        "outputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "addr",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "supportsInterface",
        "inputs": [
          {
            "name": "interfaceId",
            "type": "bytes4",
            "internalType": "bytes4"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "wards",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "wire",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "data",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "event",
        "name": "Deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Wire",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "indexed": true,
            "internalType": "uint16"
          },
          {
            "name": "chainSelector",
            "type": "uint64",
            "indexed": true,
            "internalType": "uint64"
          },
          {
            "name": "adapter",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "InvalidRouter",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidSourceAddress",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidSourceChain",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotAuthorized",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotEntrypoint",
        "inputs": []
      },
      {
        "type": "error",
        "name": "UnknownChainId",
        "inputs": []
      }
    ],
    "CircleDecoder": [
      {
        "type": "fallback",
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "approve",
        "inputs": [
          {
            "name": "spender",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "addressesFound",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "approve",
        "inputs": [
          {
            "name": "spender",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "addressesFound",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "deposit",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "asset",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "outputs": [
          {
            "name": "addressesFound",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "depositForBurn",
        "inputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "destinationDomain",
            "type": "uint32",
            "internalType": "uint32"
          },
          {
            "name": "mintRecipient",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "burnToken",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "addressesFound",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "receiveMessage",
        "inputs": [
          {
            "name": "",
            "type": "bytes",
            "internalType": "bytes"
          },
          {
            "name": "",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "outputs": [
          {
            "name": "addressesFound",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "withdraw",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "asset",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "outputs": [
          {
            "name": "addressesFound",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "error",
        "name": "FunctionNotImplemented",
        "inputs": [
          {
            "name": "_calldata",
            "type": "bytes",
            "internalType": "bytes"
          }
        ]
      }
    ],
    "ContractUpdater": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "deployer",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "trustedCall",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "target",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "update",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "untrustedCall",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "target",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "update",
            "type": "bytes",
            "internalType": "bytes"
          },
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "sender",
            "type": "bytes32",
            "internalType": "bytes32"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "wards",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "event",
        "name": "Deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "TrustedContractUpdate",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "target",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          },
          {
            "name": "payload",
            "type": "bytes",
            "indexed": false,
            "internalType": "bytes"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "UntrustedContractUpdate",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "target",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          },
          {
            "name": "payload",
            "type": "bytes",
            "indexed": false,
            "internalType": "bytes"
          },
          {
            "name": "centrifugeId",
            "type": "uint16",
            "indexed": false,
            "internalType": "uint16"
          },
          {
            "name": "sender",
            "type": "bytes32",
            "indexed": false,
            "internalType": "bytes32"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "NotAuthorized",
        "inputs": []
      }
    ],
    "FreelyTransferable": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "root_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "spoke_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "balanceSheet_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "crosschainSource_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "deployer",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "poolEscrowProvider_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "poolEscrow_",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "FREEZE_BIT",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint8",
            "internalType": "uint8"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "balanceSheet",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IBalanceSheet"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "checkERC20Transfer",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "hookData",
            "type": "tuple",
            "internalType": "struct HookData",
            "components": [
              {
                "name": "from",
                "type": "bytes16",
                "internalType": "bytes16"
              },
              {
                "name": "to",
                "type": "bytes16",
                "internalType": "bytes16"
              }
            ]
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "crosschainSource",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "freeze",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "isCrosschainTransfer",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isCrosschainTransferExecution",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isDepositClaim",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isDepositFulfillment",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isDepositRequestOrIssuance",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isFrozen",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isMember",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "isValid",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "validUntil",
            "type": "uint64",
            "internalType": "uint64"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isPoolEscrow",
        "inputs": [
          {
            "name": "addr",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isRedeemClaimOrRevocation",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isRedeemFulfillment",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isRedeemRequest",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "isSourceMember",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "hookData",
            "type": "tuple",
            "internalType": "struct HookData",
            "components": [
              {
                "name": "from",
                "type": "bytes16",
                "internalType": "bytes16"
              },
              {
                "name": "to",
                "type": "bytes16",
                "internalType": "bytes16"
              }
            ]
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isSourceOrTargetFrozen",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "hookData",
            "type": "tuple",
            "internalType": "struct HookData",
            "components": [
              {
                "name": "from",
                "type": "bytes16",
                "internalType": "bytes16"
              },
              {
                "name": "to",
                "type": "bytes16",
                "internalType": "bytes16"
              }
            ]
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isTargetMember",
        "inputs": [
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "hookData",
            "type": "tuple",
            "internalType": "struct HookData",
            "components": [
              {
                "name": "from",
                "type": "bytes16",
                "internalType": "bytes16"
              },
              {
                "name": "to",
                "type": "bytes16",
                "internalType": "bytes16"
              }
            ]
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "manager",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "onERC20AuthTransfer",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "",
            "type": "tuple",
            "internalType": "struct HookData",
            "components": [
              {
                "name": "from",
                "type": "bytes16",
                "internalType": "bytes16"
              },
              {
                "name": "to",
                "type": "bytes16",
                "internalType": "bytes16"
              }
            ]
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bytes4",
            "internalType": "bytes4"
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "onERC20Transfer",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "value",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "hookData",
            "type": "tuple",
            "internalType": "struct HookData",
            "components": [
              {
                "name": "from",
                "type": "bytes16",
                "internalType": "bytes16"
              },
              {
                "name": "to",
                "type": "bytes16",
                "internalType": "bytes16"
              }
            ]
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bytes4",
            "internalType": "bytes4"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "poolEscrow",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "poolEscrowProvider",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IPoolEscrowProvider"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "root",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IRoot"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "spoke",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract ISpoke"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "supportsInterface",
        "inputs": [
          {
            "name": "interfaceId",
            "type": "bytes4",
            "internalType": "bytes4"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "trustedCall",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "payload",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "unfreeze",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "updateMember",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "validUntil",
            "type": "uint64",
            "internalType": "uint64"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "updateRestriction",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "payload",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "wards",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "event",
        "name": "Deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Freeze",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Unfreeze",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "UpdateHookManager",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "manager",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "canManage",
            "type": "bool",
            "indexed": false,
            "internalType": "bool"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "UpdateMember",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "validUntil",
            "type": "uint64",
            "indexed": false,
            "internalType": "uint64"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "CannotFreezeZeroAddress",
        "inputs": []
      },
      {
        "type": "error",
        "name": "EndorsedUserCannotBeFrozen",
        "inputs": []
      },
      {
        "type": "error",
        "name": "EndorsedUserCannotBeUpdated",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidInputs",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidUpdate",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidValidUntil",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotAuthorized",
        "inputs": []
      },
      {
        "type": "error",
        "name": "PrefixNotZero",
        "inputs": []
      },
      {
        "type": "error",
        "name": "ShareTokenDoesNotExist",
        "inputs": []
      },
      {
        "type": "error",
        "name": "SliceOutOfBounds",
        "inputs": []
      },
      {
        "type": "error",
        "name": "TransferBlocked",
        "inputs": []
      },
      {
        "type": "error",
        "name": "UnknownMessageType",
        "inputs": []
      },
      {
        "type": "error",
        "name": "UnknownTrustedCall",
        "inputs": []
      }
    ],
    "FreezeOnly": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "root_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "spoke_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "balanceSheet_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "crosschainSource_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "deployer",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "poolEscrowProvider_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "poolEscrow_",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "FREEZE_BIT",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint8",
            "internalType": "uint8"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "balanceSheet",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IBalanceSheet"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "checkERC20Transfer",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "hookData",
            "type": "tuple",
            "internalType": "struct HookData",
            "components": [
              {
                "name": "from",
                "type": "bytes16",
                "internalType": "bytes16"
              },
              {
                "name": "to",
                "type": "bytes16",
                "internalType": "bytes16"
              }
            ]
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "crosschainSource",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "freeze",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "isCrosschainTransfer",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isCrosschainTransferExecution",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isDepositClaim",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isDepositFulfillment",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isDepositRequestOrIssuance",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isFrozen",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isMember",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "isValid",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "validUntil",
            "type": "uint64",
            "internalType": "uint64"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isPoolEscrow",
        "inputs": [
          {
            "name": "addr",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isRedeemClaimOrRevocation",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isRedeemFulfillment",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isRedeemRequest",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "isSourceMember",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "hookData",
            "type": "tuple",
            "internalType": "struct HookData",
            "components": [
              {
                "name": "from",
                "type": "bytes16",
                "internalType": "bytes16"
              },
              {
                "name": "to",
                "type": "bytes16",
                "internalType": "bytes16"
              }
            ]
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isSourceOrTargetFrozen",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "hookData",
            "type": "tuple",
            "internalType": "struct HookData",
            "components": [
              {
                "name": "from",
                "type": "bytes16",
                "internalType": "bytes16"
              },
              {
                "name": "to",
                "type": "bytes16",
                "internalType": "bytes16"
              }
            ]
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isTargetMember",
        "inputs": [
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "hookData",
            "type": "tuple",
            "internalType": "struct HookData",
            "components": [
              {
                "name": "from",
                "type": "bytes16",
                "internalType": "bytes16"
              },
              {
                "name": "to",
                "type": "bytes16",
                "internalType": "bytes16"
              }
            ]
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "manager",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "onERC20AuthTransfer",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "",
            "type": "tuple",
            "internalType": "struct HookData",
            "components": [
              {
                "name": "from",
                "type": "bytes16",
                "internalType": "bytes16"
              },
              {
                "name": "to",
                "type": "bytes16",
                "internalType": "bytes16"
              }
            ]
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bytes4",
            "internalType": "bytes4"
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "onERC20Transfer",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "value",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "hookData",
            "type": "tuple",
            "internalType": "struct HookData",
            "components": [
              {
                "name": "from",
                "type": "bytes16",
                "internalType": "bytes16"
              },
              {
                "name": "to",
                "type": "bytes16",
                "internalType": "bytes16"
              }
            ]
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bytes4",
            "internalType": "bytes4"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "poolEscrow",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "poolEscrowProvider",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IPoolEscrowProvider"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "root",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IRoot"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "spoke",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract ISpoke"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "supportsInterface",
        "inputs": [
          {
            "name": "interfaceId",
            "type": "bytes4",
            "internalType": "bytes4"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "trustedCall",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "payload",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "unfreeze",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "updateMember",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "validUntil",
            "type": "uint64",
            "internalType": "uint64"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "updateRestriction",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "payload",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "wards",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "event",
        "name": "Deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Freeze",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Unfreeze",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "UpdateHookManager",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "manager",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "canManage",
            "type": "bool",
            "indexed": false,
            "internalType": "bool"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "UpdateMember",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "validUntil",
            "type": "uint64",
            "indexed": false,
            "internalType": "uint64"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "CannotFreezeZeroAddress",
        "inputs": []
      },
      {
        "type": "error",
        "name": "EndorsedUserCannotBeFrozen",
        "inputs": []
      },
      {
        "type": "error",
        "name": "EndorsedUserCannotBeUpdated",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidInputs",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidUpdate",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidValidUntil",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotAuthorized",
        "inputs": []
      },
      {
        "type": "error",
        "name": "PrefixNotZero",
        "inputs": []
      },
      {
        "type": "error",
        "name": "ShareTokenDoesNotExist",
        "inputs": []
      },
      {
        "type": "error",
        "name": "SliceOutOfBounds",
        "inputs": []
      },
      {
        "type": "error",
        "name": "TransferBlocked",
        "inputs": []
      },
      {
        "type": "error",
        "name": "UnknownMessageType",
        "inputs": []
      },
      {
        "type": "error",
        "name": "UnknownTrustedCall",
        "inputs": []
      }
    ],
    "FullRestrictions": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "root_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "spoke_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "balanceSheet_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "crosschainSource_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "deployer",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "poolEscrowProvider_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "poolEscrow_",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "FREEZE_BIT",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint8",
            "internalType": "uint8"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "balanceSheet",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IBalanceSheet"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "checkERC20Transfer",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "hookData",
            "type": "tuple",
            "internalType": "struct HookData",
            "components": [
              {
                "name": "from",
                "type": "bytes16",
                "internalType": "bytes16"
              },
              {
                "name": "to",
                "type": "bytes16",
                "internalType": "bytes16"
              }
            ]
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "crosschainSource",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "freeze",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "isCrosschainTransfer",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isCrosschainTransferExecution",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isDepositClaim",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isDepositFulfillment",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isDepositRequestOrIssuance",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isFrozen",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isMember",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "isValid",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "validUntil",
            "type": "uint64",
            "internalType": "uint64"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isPoolEscrow",
        "inputs": [
          {
            "name": "addr",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isRedeemClaimOrRevocation",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isRedeemFulfillment",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isRedeemRequest",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "isSourceMember",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "hookData",
            "type": "tuple",
            "internalType": "struct HookData",
            "components": [
              {
                "name": "from",
                "type": "bytes16",
                "internalType": "bytes16"
              },
              {
                "name": "to",
                "type": "bytes16",
                "internalType": "bytes16"
              }
            ]
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isSourceOrTargetFrozen",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "hookData",
            "type": "tuple",
            "internalType": "struct HookData",
            "components": [
              {
                "name": "from",
                "type": "bytes16",
                "internalType": "bytes16"
              },
              {
                "name": "to",
                "type": "bytes16",
                "internalType": "bytes16"
              }
            ]
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isTargetMember",
        "inputs": [
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "hookData",
            "type": "tuple",
            "internalType": "struct HookData",
            "components": [
              {
                "name": "from",
                "type": "bytes16",
                "internalType": "bytes16"
              },
              {
                "name": "to",
                "type": "bytes16",
                "internalType": "bytes16"
              }
            ]
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "manager",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "onERC20AuthTransfer",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "",
            "type": "tuple",
            "internalType": "struct HookData",
            "components": [
              {
                "name": "from",
                "type": "bytes16",
                "internalType": "bytes16"
              },
              {
                "name": "to",
                "type": "bytes16",
                "internalType": "bytes16"
              }
            ]
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bytes4",
            "internalType": "bytes4"
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "onERC20Transfer",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "value",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "hookData",
            "type": "tuple",
            "internalType": "struct HookData",
            "components": [
              {
                "name": "from",
                "type": "bytes16",
                "internalType": "bytes16"
              },
              {
                "name": "to",
                "type": "bytes16",
                "internalType": "bytes16"
              }
            ]
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bytes4",
            "internalType": "bytes4"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "poolEscrow",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "poolEscrowProvider",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IPoolEscrowProvider"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "root",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IRoot"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "spoke",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract ISpoke"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "supportsInterface",
        "inputs": [
          {
            "name": "interfaceId",
            "type": "bytes4",
            "internalType": "bytes4"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "trustedCall",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "payload",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "unfreeze",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "updateMember",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "validUntil",
            "type": "uint64",
            "internalType": "uint64"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "updateRestriction",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "payload",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "wards",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "event",
        "name": "Deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Freeze",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Unfreeze",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "UpdateHookManager",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "manager",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "canManage",
            "type": "bool",
            "indexed": false,
            "internalType": "bool"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "UpdateMember",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "validUntil",
            "type": "uint64",
            "indexed": false,
            "internalType": "uint64"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "CannotFreezeZeroAddress",
        "inputs": []
      },
      {
        "type": "error",
        "name": "EndorsedUserCannotBeFrozen",
        "inputs": []
      },
      {
        "type": "error",
        "name": "EndorsedUserCannotBeUpdated",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidInputs",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidUpdate",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidValidUntil",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotAuthorized",
        "inputs": []
      },
      {
        "type": "error",
        "name": "PrefixNotZero",
        "inputs": []
      },
      {
        "type": "error",
        "name": "ShareTokenDoesNotExist",
        "inputs": []
      },
      {
        "type": "error",
        "name": "SliceOutOfBounds",
        "inputs": []
      },
      {
        "type": "error",
        "name": "TransferBlocked",
        "inputs": []
      },
      {
        "type": "error",
        "name": "UnknownMessageType",
        "inputs": []
      },
      {
        "type": "error",
        "name": "UnknownTrustedCall",
        "inputs": []
      }
    ],
    "GasService": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "txLimits",
            "type": "uint8[32]",
            "internalType": "uint8[32]"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "BASE_COST",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "DEFAULT_SUPPORTED_TX_LIMIT",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "RECOVERY_TOKEN_EXTRA_COST",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "cancelUpgrade",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "executeTransferShares",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "initiateTransferShares",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "maxAssetPriceAge",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "maxBatchGasLimit",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "maxSharePriceAge",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "messageLength",
        "inputs": [
          {
            "name": "message",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint16",
            "internalType": "uint16"
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "messageOverallGasLimit",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "message",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "messagePoolId",
        "inputs": [
          {
            "name": "message",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "messageProcessingGasLimit",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "message",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "notifyPool",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "notifyPricePoolPerAsset",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "notifyPricePoolPerShare",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "notifyShareClass",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "notifyShareMetadata",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "recoverTokens",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "registerAsset",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "request",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "requestCallback",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "scheduleUpgrade",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "setPoolAdapters",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "setRequestManager",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "trustedContractUpdate",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "txLimitsPerCentrifugeId",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "untrustedContractUpdate",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "updateBalanceSheetManager",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "updateGatewayManager",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "updateHoldingAmount",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "updateRestriction",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "updateShareHook",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "updateShares",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "updateVaultDeployAndLink",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "updateVaultLink",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "updateVaultUnlink",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "error",
        "name": "InvalidMessageType",
        "inputs": []
      },
      {
        "type": "error",
        "name": "SliceOutOfBounds",
        "inputs": []
      },
      {
        "type": "error",
        "name": "UnknownMessageType",
        "inputs": []
      }
    ],
    "Gateway": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "localCentrifugeId_",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "pauser_",
            "type": "address",
            "internalType": "contract IProtocolPauser"
          },
          {
            "name": "deployer",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "BATCH_LOCATORS_SLOT",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "bytes32",
            "internalType": "bytes32"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "adapter",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IAdapter"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "blockOutgoing",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "isBlocked",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "failedMessages",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "messageHash",
            "type": "bytes32",
            "internalType": "bytes32"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "file",
        "inputs": [
          {
            "name": "what",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "instance",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "handle",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "batch",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "isBatching",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isOutgoingBlocked",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "localCentrifugeId",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint16",
            "internalType": "uint16"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "lockCallback",
        "inputs": [],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "manager",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "messageProperties",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IMessageProperties"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "pauser",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IProtocolPauser"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "processor",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IMessageHandler"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "recoverTokens",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "amount",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "recoverTokens",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "amount",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "repay",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "batch",
            "type": "bytes",
            "internalType": "bytes"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "retry",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "message",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "send",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "message",
            "type": "bytes",
            "internalType": "bytes"
          },
          {
            "name": "unpaidMode",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "underpaid",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "batchHash",
            "type": "bytes32",
            "internalType": "bytes32"
          }
        ],
        "outputs": [
          {
            "name": "gasLimit",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "counter",
            "type": "uint64",
            "internalType": "uint64"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "updateManager",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "who",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "canManage",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "wards",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "withBatch",
        "inputs": [
          {
            "name": "data",
            "type": "bytes",
            "internalType": "bytes"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "withBatch",
        "inputs": [
          {
            "name": "data",
            "type": "bytes",
            "internalType": "bytes"
          },
          {
            "name": "callbackValue",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "event",
        "name": "BlockOutgoing",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "indexed": false,
            "internalType": "uint16"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": false,
            "internalType": "PoolId"
          },
          {
            "name": "isBlocked",
            "type": "bool",
            "indexed": false,
            "internalType": "bool"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "DepositSubsidy",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "sender",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "amount",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "ExecuteMessage",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "indexed": true,
            "internalType": "uint16"
          },
          {
            "name": "messageHash",
            "type": "bytes32",
            "indexed": false,
            "internalType": "bytes32"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "FailMessage",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "indexed": true,
            "internalType": "uint16"
          },
          {
            "name": "messageHash",
            "type": "bytes32",
            "indexed": false,
            "internalType": "bytes32"
          },
          {
            "name": "error",
            "type": "bytes",
            "indexed": false,
            "internalType": "bytes"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "File",
        "inputs": [
          {
            "name": "what",
            "type": "bytes32",
            "indexed": true,
            "internalType": "bytes32"
          },
          {
            "name": "addr",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "PrepareMessage",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "indexed": true,
            "internalType": "uint16"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": false,
            "internalType": "PoolId"
          },
          {
            "name": "message",
            "type": "bytes",
            "indexed": false,
            "internalType": "bytes"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "RepayBatch",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "indexed": true,
            "internalType": "uint16"
          },
          {
            "name": "batch",
            "type": "bytes",
            "indexed": false,
            "internalType": "bytes"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "SetRefundAddress",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": false,
            "internalType": "PoolId"
          },
          {
            "name": "refund",
            "type": "address",
            "indexed": false,
            "internalType": "contract IRecoverable"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "UnderpaidBatch",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "indexed": true,
            "internalType": "uint16"
          },
          {
            "name": "batch",
            "type": "bytes",
            "indexed": false,
            "internalType": "bytes"
          },
          {
            "name": "batchHash",
            "type": "bytes32",
            "indexed": false,
            "internalType": "bytes32"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "UpdateManager",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": false,
            "internalType": "PoolId"
          },
          {
            "name": "who",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          },
          {
            "name": "canManage",
            "type": "bool",
            "indexed": false,
            "internalType": "bool"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "WithdrawSubsidy",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "sender",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "amount",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "BatchTooExpensive",
        "inputs": []
      },
      {
        "type": "error",
        "name": "CallFailedWithEmptyRevert",
        "inputs": []
      },
      {
        "type": "error",
        "name": "CallbackIsLocked",
        "inputs": []
      },
      {
        "type": "error",
        "name": "CallbackWasNotFromSender",
        "inputs": []
      },
      {
        "type": "error",
        "name": "CallbackWasNotLocked",
        "inputs": []
      },
      {
        "type": "error",
        "name": "CannotRefund",
        "inputs": []
      },
      {
        "type": "error",
        "name": "EmptyMessage",
        "inputs": []
      },
      {
        "type": "error",
        "name": "FileUnrecognizedParam",
        "inputs": []
      },
      {
        "type": "error",
        "name": "MalformedBatch",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NoBatched",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NoCode",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotAuthorized",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotEnoughGas",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotEnoughValueForCallback",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotFailedMessage",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotPayable",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotUnderpaidBatch",
        "inputs": []
      },
      {
        "type": "error",
        "name": "OutgoingBlocked",
        "inputs": []
      },
      {
        "type": "error",
        "name": "Paused",
        "inputs": []
      },
      {
        "type": "error",
        "name": "ReentrantBatchCreation",
        "inputs": []
      },
      {
        "type": "error",
        "name": "SafeTransferEthFailed",
        "inputs": []
      },
      {
        "type": "error",
        "name": "SliceOutOfBounds",
        "inputs": []
      },
      {
        "type": "error",
        "name": "SliceOverflow",
        "inputs": []
      },
      {
        "type": "error",
        "name": "TooLongMessage",
        "inputs": []
      },
      {
        "type": "error",
        "name": "WrappedError",
        "inputs": [
          {
            "name": "target",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "selector",
            "type": "bytes4",
            "internalType": "bytes4"
          },
          {
            "name": "reason",
            "type": "bytes",
            "internalType": "bytes"
          },
          {
            "name": "details",
            "type": "bytes",
            "internalType": "bytes"
          }
        ]
      }
    ],
    "Holdings": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "hubRegistry_",
            "type": "address",
            "internalType": "contract IHubRegistry"
          },
          {
            "name": "deployer",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "accountId",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "kind",
            "type": "uint8",
            "internalType": "uint8"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "AccountId"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "amount",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          }
        ],
        "outputs": [
          {
            "name": "amount_",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "callOnSyncSnapshot",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "callOnTransferSnapshot",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "originCentrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "targetCentrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "amount_",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "decrease",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "pricePoolPerAsset",
            "type": "uint128",
            "internalType": "D18"
          },
          {
            "name": "amount_",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "outputs": [
          {
            "name": "amountValueUnclamped",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "holding",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "",
            "type": "uint128",
            "internalType": "AssetId"
          }
        ],
        "outputs": [
          {
            "name": "assetAmount",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "assetAmountValue",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "valuation",
            "type": "address",
            "internalType": "contract IValuation"
          },
          {
            "name": "isLiability",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "hubRegistry",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IHubRegistry"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "increase",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "pricePoolPerAsset",
            "type": "uint128",
            "internalType": "D18"
          },
          {
            "name": "amount_",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "outputs": [
          {
            "name": "amountValue",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "initialize",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "valuation_",
            "type": "address",
            "internalType": "contract IValuation"
          },
          {
            "name": "isLiability_",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "accounts",
            "type": "tuple[]",
            "internalType": "struct HoldingAccount[]",
            "components": [
              {
                "name": "accountId",
                "type": "uint256",
                "internalType": "AccountId"
              },
              {
                "name": "kind",
                "type": "uint8",
                "internalType": "uint8"
              }
            ]
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "isInitialized",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isLiability",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "setAccountId",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "kind",
            "type": "uint8",
            "internalType": "uint8"
          },
          {
            "name": "accountId_",
            "type": "uint256",
            "internalType": "AccountId"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "setSnapshot",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "isSnapshot",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "nonce",
            "type": "uint64",
            "internalType": "uint64"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "setSnapshotHook",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "hook",
            "type": "address",
            "internalType": "contract ISnapshotHook"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "snapshot",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          }
        ],
        "outputs": [
          {
            "name": "isSnapshot",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "nonce",
            "type": "uint64",
            "internalType": "uint64"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "snapshotHook",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract ISnapshotHook"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "update",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          }
        ],
        "outputs": [
          {
            "name": "isPositive",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "diffValue",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "updateIsLiability",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "isLiability_",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "updateValuation",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "valuation_",
            "type": "address",
            "internalType": "contract IValuation"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "valuation",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IValuation"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "value",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          }
        ],
        "outputs": [
          {
            "name": "value_",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "wards",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "event",
        "name": "Decrease",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "indexed": true,
            "internalType": "AssetId"
          },
          {
            "name": "pricePoolPerAsset",
            "type": "uint128",
            "indexed": false,
            "internalType": "D18"
          },
          {
            "name": "amount",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          },
          {
            "name": "decreasedValue",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Increase",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "indexed": true,
            "internalType": "AssetId"
          },
          {
            "name": "pricePoolPerAsset",
            "type": "uint128",
            "indexed": false,
            "internalType": "D18"
          },
          {
            "name": "amount",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          },
          {
            "name": "increasedValue",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Initialize",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "indexed": true,
            "internalType": "AssetId"
          },
          {
            "name": "valuation",
            "type": "address",
            "indexed": false,
            "internalType": "contract IValuation"
          },
          {
            "name": "isLiability",
            "type": "bool",
            "indexed": false,
            "internalType": "bool"
          },
          {
            "name": "accounts",
            "type": "tuple[]",
            "indexed": false,
            "internalType": "struct HoldingAccount[]",
            "components": [
              {
                "name": "accountId",
                "type": "uint256",
                "internalType": "AccountId"
              },
              {
                "name": "kind",
                "type": "uint8",
                "internalType": "uint8"
              }
            ]
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "SetAccountId",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "indexed": true,
            "internalType": "AssetId"
          },
          {
            "name": "kind",
            "type": "uint8",
            "indexed": false,
            "internalType": "uint8"
          },
          {
            "name": "accountId",
            "type": "uint256",
            "indexed": false,
            "internalType": "AccountId"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "SetSnapshot",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "centrifugeId",
            "type": "uint16",
            "indexed": true,
            "internalType": "uint16"
          },
          {
            "name": "isSnapshot",
            "type": "bool",
            "indexed": false,
            "internalType": "bool"
          },
          {
            "name": "nonce",
            "type": "uint64",
            "indexed": false,
            "internalType": "uint64"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "SetSnapshotHook",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "hook",
            "type": "address",
            "indexed": false,
            "internalType": "contract ISnapshotHook"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Update",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "indexed": true,
            "internalType": "AssetId"
          },
          {
            "name": "isPositive",
            "type": "bool",
            "indexed": false,
            "internalType": "bool"
          },
          {
            "name": "diffValue",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "UpdateIsLiability",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "indexed": true,
            "internalType": "AssetId"
          },
          {
            "name": "isLiability",
            "type": "bool",
            "indexed": false,
            "internalType": "bool"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "UpdateValuation",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "indexed": true,
            "internalType": "AssetId"
          },
          {
            "name": "valuation",
            "type": "address",
            "indexed": false,
            "internalType": "contract IValuation"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "AlreadyInitialized",
        "inputs": []
      },
      {
        "type": "error",
        "name": "HoldingNotFound",
        "inputs": []
      },
      {
        "type": "error",
        "name": "HoldingNotZero",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidNonce",
        "inputs": [
          {
            "name": "expected",
            "type": "uint64",
            "internalType": "uint64"
          },
          {
            "name": "actual",
            "type": "uint64",
            "internalType": "uint64"
          }
        ]
      },
      {
        "type": "error",
        "name": "MulDiv_Overflow",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotAuthorized",
        "inputs": []
      },
      {
        "type": "error",
        "name": "Uint128_Overflow",
        "inputs": []
      },
      {
        "type": "error",
        "name": "WrongAssetId",
        "inputs": []
      },
      {
        "type": "error",
        "name": "WrongShareClassId",
        "inputs": []
      },
      {
        "type": "error",
        "name": "WrongValuation",
        "inputs": []
      }
    ],
    "Hub": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "gateway_",
            "type": "address",
            "internalType": "contract IGateway"
          },
          {
            "name": "holdings_",
            "type": "address",
            "internalType": "contract IHoldings"
          },
          {
            "name": "accounting_",
            "type": "address",
            "internalType": "contract IAccounting"
          },
          {
            "name": "hubRegistry_",
            "type": "address",
            "internalType": "contract IHubRegistry"
          },
          {
            "name": "multiAdapter_",
            "type": "address",
            "internalType": "contract IMultiAdapter"
          },
          {
            "name": "shareClassManager_",
            "type": "address",
            "internalType": "contract IShareClassManager"
          },
          {
            "name": "deployer",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "accounting",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IAccounting"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "addShareClass",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "name",
            "type": "string",
            "internalType": "string"
          },
          {
            "name": "symbol",
            "type": "string",
            "internalType": "string"
          },
          {
            "name": "salt",
            "type": "bytes32",
            "internalType": "bytes32"
          }
        ],
        "outputs": [
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "createAccount",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "account",
            "type": "uint256",
            "internalType": "AccountId"
          },
          {
            "name": "isDebitNormal",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "createPool",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "admin",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "currency",
            "type": "uint128",
            "internalType": "AssetId"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "executeMulticall",
        "inputs": [
          {
            "name": "data",
            "type": "bytes[]",
            "internalType": "bytes[]"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "feeHook",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IFeeHook"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "file",
        "inputs": [
          {
            "name": "what",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "data",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "gateway",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IGateway"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "holdingAccounts",
        "inputs": [
          {
            "name": "assetAccount",
            "type": "uint256",
            "internalType": "AccountId"
          },
          {
            "name": "equityAccount",
            "type": "uint256",
            "internalType": "AccountId"
          },
          {
            "name": "gainAccount",
            "type": "uint256",
            "internalType": "AccountId"
          },
          {
            "name": "lossAccount",
            "type": "uint256",
            "internalType": "AccountId"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "tuple[]",
            "internalType": "struct HoldingAccount[]",
            "components": [
              {
                "name": "accountId",
                "type": "uint256",
                "internalType": "AccountId"
              },
              {
                "name": "kind",
                "type": "uint8",
                "internalType": "uint8"
              }
            ]
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "holdings",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IHoldings"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "hubRegistry",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IHubRegistry"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "initializeHolding",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "valuation",
            "type": "address",
            "internalType": "contract IValuation"
          },
          {
            "name": "assetAccount",
            "type": "uint256",
            "internalType": "AccountId"
          },
          {
            "name": "equityAccount",
            "type": "uint256",
            "internalType": "AccountId"
          },
          {
            "name": "gainAccount",
            "type": "uint256",
            "internalType": "AccountId"
          },
          {
            "name": "lossAccount",
            "type": "uint256",
            "internalType": "AccountId"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "initializeLiability",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "valuation",
            "type": "address",
            "internalType": "contract IValuation"
          },
          {
            "name": "expenseAccount",
            "type": "uint256",
            "internalType": "AccountId"
          },
          {
            "name": "liabilityAccount",
            "type": "uint256",
            "internalType": "AccountId"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "liabilityAccounts",
        "inputs": [
          {
            "name": "expenseAccount",
            "type": "uint256",
            "internalType": "AccountId"
          },
          {
            "name": "liabilityAccount",
            "type": "uint256",
            "internalType": "AccountId"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "tuple[]",
            "internalType": "struct HoldingAccount[]",
            "components": [
              {
                "name": "accountId",
                "type": "uint256",
                "internalType": "AccountId"
              },
              {
                "name": "kind",
                "type": "uint8",
                "internalType": "uint8"
              }
            ]
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "multiAdapter",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IMultiAdapter"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "multicall",
        "inputs": [
          {
            "name": "data",
            "type": "bytes[]",
            "internalType": "bytes[]"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "notifyAssetPrice",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "notifyPool",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "notifyShareClass",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "hook",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "notifyShareMetadata",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "notifySharePrice",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "pricePoolPerAsset",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "D18"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "recoverTokens",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "amount",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "recoverTokens",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "amount",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "requestCallback",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "payload",
            "type": "bytes",
            "internalType": "bytes"
          },
          {
            "name": "extraGasLimit",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "unpaidMode",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "sender",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IHubMessageSender"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "setAccountMetadata",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "account",
            "type": "uint256",
            "internalType": "AccountId"
          },
          {
            "name": "metadata",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "setAdapters",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "localAdapters",
            "type": "address[]",
            "internalType": "contract IAdapter[]"
          },
          {
            "name": "remoteAdapters",
            "type": "bytes32[]",
            "internalType": "bytes32[]"
          },
          {
            "name": "threshold",
            "type": "uint8",
            "internalType": "uint8"
          },
          {
            "name": "recoveryIndex",
            "type": "uint8",
            "internalType": "uint8"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "setHoldingAccountId",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "kind",
            "type": "uint8",
            "internalType": "uint8"
          },
          {
            "name": "accountId",
            "type": "uint256",
            "internalType": "AccountId"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "setMaxAssetPriceAge",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "maxPriceAge",
            "type": "uint64",
            "internalType": "uint64"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "setMaxSharePriceAge",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "maxPriceAge",
            "type": "uint64",
            "internalType": "uint64"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "setPoolMetadata",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "metadata",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "setRequestManager",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "hubManager",
            "type": "address",
            "internalType": "contract IHubRequestManager"
          },
          {
            "name": "spokeManager",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "setSnapshotHook",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "hook",
            "type": "address",
            "internalType": "contract ISnapshotHook"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "shareClassManager",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IShareClassManager"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "updateAccountingAmount",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "isPositive",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "diff",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "updateAccountingValue",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "isPositive",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "diff",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "updateBalanceSheetManager",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "who",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "canManage",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "updateContract",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "target",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "payload",
            "type": "bytes",
            "internalType": "bytes"
          },
          {
            "name": "extraGasLimit",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "updateGatewayManager",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "who",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "canManage",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "updateHoldingIsLiability",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "isLiability",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "updateHoldingValuation",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "valuation",
            "type": "address",
            "internalType": "contract IValuation"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "updateHoldingValue",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "updateHubManager",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "who",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "canManage",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "updateJournal",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "debits",
            "type": "tuple[]",
            "internalType": "struct JournalEntry[]",
            "components": [
              {
                "name": "value",
                "type": "uint128",
                "internalType": "uint128"
              },
              {
                "name": "accountId",
                "type": "uint256",
                "internalType": "AccountId"
              }
            ]
          },
          {
            "name": "credits",
            "type": "tuple[]",
            "internalType": "struct JournalEntry[]",
            "components": [
              {
                "name": "value",
                "type": "uint128",
                "internalType": "uint128"
              },
              {
                "name": "accountId",
                "type": "uint256",
                "internalType": "AccountId"
              }
            ]
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "updateRestriction",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "payload",
            "type": "bytes",
            "internalType": "bytes"
          },
          {
            "name": "extraGasLimit",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "updateShareClassMetadata",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "name",
            "type": "string",
            "internalType": "string"
          },
          {
            "name": "symbol",
            "type": "string",
            "internalType": "string"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "updateShareHook",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "hook",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "updateSharePrice",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "pricePoolPerShare",
            "type": "uint128",
            "internalType": "D18"
          },
          {
            "name": "computedAt",
            "type": "uint64",
            "internalType": "uint64"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "updateVault",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "vaultOrFactory",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "kind",
            "type": "uint8",
            "internalType": "enum VaultUpdateKind"
          },
          {
            "name": "extraGasLimit",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "wards",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "event",
        "name": "Deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "File",
        "inputs": [
          {
            "name": "what",
            "type": "bytes32",
            "indexed": false,
            "internalType": "bytes32"
          },
          {
            "name": "addr",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "ForwardTransferShares",
        "inputs": [
          {
            "name": "fromCentrifugeId",
            "type": "uint16",
            "indexed": true,
            "internalType": "uint16"
          },
          {
            "name": "toCentrifugeId",
            "type": "uint16",
            "indexed": true,
            "internalType": "uint16"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": false,
            "internalType": "ShareClassId"
          },
          {
            "name": "receiver",
            "type": "bytes32",
            "indexed": false,
            "internalType": "bytes32"
          },
          {
            "name": "amount",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "NotifyAssetPrice",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "indexed": true,
            "internalType": "uint16"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": false,
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "indexed": false,
            "internalType": "AssetId"
          },
          {
            "name": "pricePoolPerAsset",
            "type": "uint128",
            "indexed": false,
            "internalType": "D18"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "NotifyPool",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "indexed": true,
            "internalType": "uint16"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "NotifyShareClass",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "indexed": true,
            "internalType": "uint16"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": false,
            "internalType": "ShareClassId"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "NotifyShareMetadata",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "indexed": true,
            "internalType": "uint16"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": false,
            "internalType": "ShareClassId"
          },
          {
            "name": "name",
            "type": "string",
            "indexed": false,
            "internalType": "string"
          },
          {
            "name": "symbol",
            "type": "string",
            "indexed": false,
            "internalType": "string"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "NotifySharePrice",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "indexed": true,
            "internalType": "uint16"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": false,
            "internalType": "ShareClassId"
          },
          {
            "name": "poolPerShare",
            "type": "uint128",
            "indexed": false,
            "internalType": "D18"
          },
          {
            "name": "computedAt",
            "type": "uint64",
            "indexed": false,
            "internalType": "uint64"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "SetMaxAssetPriceAge",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": false,
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "indexed": false,
            "internalType": "AssetId"
          },
          {
            "name": "maxPriceAge",
            "type": "uint64",
            "indexed": false,
            "internalType": "uint64"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "SetMaxSharePriceAge",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "indexed": true,
            "internalType": "uint16"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": false,
            "internalType": "ShareClassId"
          },
          {
            "name": "maxPriceAge",
            "type": "uint64",
            "indexed": false,
            "internalType": "uint64"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "SetSpokeRequestManager",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "indexed": true,
            "internalType": "uint16"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "manager",
            "type": "bytes32",
            "indexed": true,
            "internalType": "bytes32"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "UpdateBalanceSheetManager",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "indexed": true,
            "internalType": "uint16"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "manager",
            "type": "bytes32",
            "indexed": true,
            "internalType": "bytes32"
          },
          {
            "name": "canManage",
            "type": "bool",
            "indexed": false,
            "internalType": "bool"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "UpdateContract",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "indexed": true,
            "internalType": "uint16"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": false,
            "internalType": "ShareClassId"
          },
          {
            "name": "target",
            "type": "bytes32",
            "indexed": false,
            "internalType": "bytes32"
          },
          {
            "name": "payload",
            "type": "bytes",
            "indexed": false,
            "internalType": "bytes"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "UpdateRestriction",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "indexed": true,
            "internalType": "uint16"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": false,
            "internalType": "ShareClassId"
          },
          {
            "name": "payload",
            "type": "bytes",
            "indexed": false,
            "internalType": "bytes"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "UpdateShareHook",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "indexed": true,
            "internalType": "uint16"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": false,
            "internalType": "ShareClassId"
          },
          {
            "name": "hook",
            "type": "bytes32",
            "indexed": false,
            "internalType": "bytes32"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "UpdateVault",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": false,
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "indexed": false,
            "internalType": "AssetId"
          },
          {
            "name": "vaultOrFactory",
            "type": "bytes32",
            "indexed": false,
            "internalType": "bytes32"
          },
          {
            "name": "kind",
            "type": "uint8",
            "indexed": false,
            "internalType": "enum VaultUpdateKind"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "AccountDoesNotExist",
        "inputs": []
      },
      {
        "type": "error",
        "name": "AlreadyBatching",
        "inputs": []
      },
      {
        "type": "error",
        "name": "AssetNotFound",
        "inputs": []
      },
      {
        "type": "error",
        "name": "CallFailedWithEmptyRevert",
        "inputs": []
      },
      {
        "type": "error",
        "name": "FileUnrecognizedParam",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidAccountCombination",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidPoolId",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidRequestManager",
        "inputs": []
      },
      {
        "type": "error",
        "name": "MulDiv_Overflow",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NoCode",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotAuthorized",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotManager",
        "inputs": []
      },
      {
        "type": "error",
        "name": "PoolAlreadyUnlocked",
        "inputs": []
      },
      {
        "type": "error",
        "name": "RequestManagerCallFailed",
        "inputs": []
      },
      {
        "type": "error",
        "name": "SafeTransferEthFailed",
        "inputs": []
      },
      {
        "type": "error",
        "name": "ShareClassNotFound",
        "inputs": []
      },
      {
        "type": "error",
        "name": "Uint128_Overflow",
        "inputs": []
      },
      {
        "type": "error",
        "name": "UnauthorizedSender",
        "inputs": []
      },
      {
        "type": "error",
        "name": "WrappedError",
        "inputs": [
          {
            "name": "target",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "selector",
            "type": "bytes4",
            "internalType": "bytes4"
          },
          {
            "name": "reason",
            "type": "bytes",
            "internalType": "bytes"
          },
          {
            "name": "details",
            "type": "bytes",
            "internalType": "bytes"
          }
        ]
      }
    ],
    "HubHandler": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "hub_",
            "type": "address",
            "internalType": "contract IHub"
          },
          {
            "name": "holdings_",
            "type": "address",
            "internalType": "contract IHoldings"
          },
          {
            "name": "hubRegistry_",
            "type": "address",
            "internalType": "contract IHubRegistry"
          },
          {
            "name": "shareClassManager_",
            "type": "address",
            "internalType": "contract IShareClassManager"
          },
          {
            "name": "deployer",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "file",
        "inputs": [
          {
            "name": "what",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "data",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "holdings",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IHoldings"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "hub",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IHub"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "hubRegistry",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IHubRegistry"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "initiateTransferShares",
        "inputs": [
          {
            "name": "originCentrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "targetCentrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "receiver",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "amount",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "extraGasLimit",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "registerAsset",
        "inputs": [
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "decimals",
            "type": "uint8",
            "internalType": "uint8"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "request",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "payload",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "sender",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IHubMessageSender"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "shareClassManager",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IShareClassManager"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "updateHoldingAmount",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "amount",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "pricePoolPerAsset",
            "type": "uint128",
            "internalType": "D18"
          },
          {
            "name": "isIncrease",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "isSnapshot",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "nonce",
            "type": "uint64",
            "internalType": "uint64"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "updateShares",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "amount",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "isIssuance",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "isSnapshot",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "nonce",
            "type": "uint64",
            "internalType": "uint64"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "wards",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "event",
        "name": "Deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "File",
        "inputs": [
          {
            "name": "what",
            "type": "bytes32",
            "indexed": false,
            "internalType": "bytes32"
          },
          {
            "name": "addr",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "ForwardTransferShares",
        "inputs": [
          {
            "name": "fromCentrifugeId",
            "type": "uint16",
            "indexed": true,
            "internalType": "uint16"
          },
          {
            "name": "toCentrifugeId",
            "type": "uint16",
            "indexed": true,
            "internalType": "uint16"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": false,
            "internalType": "ShareClassId"
          },
          {
            "name": "receiver",
            "type": "bytes32",
            "indexed": false,
            "internalType": "bytes32"
          },
          {
            "name": "amount",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "FileUnrecognizedParam",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidRequestManager",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotAuthorized",
        "inputs": []
      }
    ],
    "HubRegistry": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "deployer",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "currency",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "AssetId"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "decimals",
        "inputs": [
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          }
        ],
        "outputs": [
          {
            "name": "decimals_",
            "type": "uint8",
            "internalType": "uint8"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "decimals",
        "inputs": [
          {
            "name": "asset_",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "decimals_",
            "type": "uint8",
            "internalType": "uint8"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "decimals",
        "inputs": [
          {
            "name": "poolId_",
            "type": "uint64",
            "internalType": "PoolId"
          }
        ],
        "outputs": [
          {
            "name": "decimals_",
            "type": "uint8",
            "internalType": "uint8"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "dependency",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "",
            "type": "bytes32",
            "internalType": "bytes32"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "exists",
        "inputs": [
          {
            "name": "poolId_",
            "type": "uint64",
            "internalType": "PoolId"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "hubRequestManager",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IHubRequestManager"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isRegistered",
        "inputs": [
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "manager",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "metadata",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "poolId",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "postfix",
            "type": "uint48",
            "internalType": "uint48"
          }
        ],
        "outputs": [
          {
            "name": "poolId_",
            "type": "uint64",
            "internalType": "PoolId"
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "registerAsset",
        "inputs": [
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "decimals_",
            "type": "uint8",
            "internalType": "uint8"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "registerPool",
        "inputs": [
          {
            "name": "poolId_",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "manager_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "currency_",
            "type": "uint128",
            "internalType": "AssetId"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "setHubRequestManager",
        "inputs": [
          {
            "name": "poolId_",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "manager_",
            "type": "address",
            "internalType": "contract IHubRequestManager"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "setMetadata",
        "inputs": [
          {
            "name": "poolId_",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "metadata_",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "updateCurrency",
        "inputs": [
          {
            "name": "poolId_",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "currency_",
            "type": "uint128",
            "internalType": "AssetId"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "updateDependency",
        "inputs": [
          {
            "name": "poolId_",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "what",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "dependency_",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "updateManager",
        "inputs": [
          {
            "name": "poolId_",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "manager_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "canManage",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "wards",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "event",
        "name": "Deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "NewAsset",
        "inputs": [
          {
            "name": "assetId",
            "type": "uint128",
            "indexed": true,
            "internalType": "AssetId"
          },
          {
            "name": "decimals",
            "type": "uint8",
            "indexed": false,
            "internalType": "uint8"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "NewPool",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": false,
            "internalType": "PoolId"
          },
          {
            "name": "manager",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "currency",
            "type": "uint128",
            "indexed": true,
            "internalType": "AssetId"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "SetHubRequestManager",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "centrifugeId",
            "type": "uint16",
            "indexed": true,
            "internalType": "uint16"
          },
          {
            "name": "manager",
            "type": "address",
            "indexed": false,
            "internalType": "contract IHubRequestManager"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "SetMetadata",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "metadata",
            "type": "bytes",
            "indexed": false,
            "internalType": "bytes"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "UpdateCurrency",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "currency",
            "type": "uint128",
            "indexed": false,
            "internalType": "AssetId"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "UpdateDependency",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "what",
            "type": "bytes32",
            "indexed": true,
            "internalType": "bytes32"
          },
          {
            "name": "dependency",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "UpdateManager",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "manager",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "canManage",
            "type": "bool",
            "indexed": false,
            "internalType": "bool"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "AssetAlreadyRegistered",
        "inputs": []
      },
      {
        "type": "error",
        "name": "AssetNotFound",
        "inputs": []
      },
      {
        "type": "error",
        "name": "EmptyAccount",
        "inputs": []
      },
      {
        "type": "error",
        "name": "EmptyCurrency",
        "inputs": []
      },
      {
        "type": "error",
        "name": "EmptyShareClassManager",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NonExistingPool",
        "inputs": [
          {
            "name": "id",
            "type": "uint64",
            "internalType": "PoolId"
          }
        ]
      },
      {
        "type": "error",
        "name": "NotAuthorized",
        "inputs": []
      },
      {
        "type": "error",
        "name": "PoolAlreadyRegistered",
        "inputs": []
      },
      {
        "type": "error",
        "name": "Uint128_Overflow",
        "inputs": []
      }
    ],
    "IdentityValuation": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "hubRegistry_",
            "type": "address",
            "internalType": "contract IHubRegistry"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "getPrice",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "",
            "type": "uint128",
            "internalType": "AssetId"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "D18"
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "getQuote",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "baseAmount",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "outputs": [
          {
            "name": "quoteAmount",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "hubRegistry",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IHubRegistry"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "error",
        "name": "MulDiv_Overflow",
        "inputs": []
      },
      {
        "type": "error",
        "name": "Uint128_Overflow",
        "inputs": []
      }
    ],
    "LayerZeroAdapter": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "entrypoint_",
            "type": "address",
            "internalType": "contract IMessageHandler"
          },
          {
            "name": "endpoint_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "delegate",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "deployer",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "RECEIVE_COST",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "allowInitializePath",
        "inputs": [
          {
            "name": "origin",
            "type": "tuple",
            "internalType": "struct Origin",
            "components": [
              {
                "name": "srcEid",
                "type": "uint32",
                "internalType": "uint32"
              },
              {
                "name": "sender",
                "type": "bytes32",
                "internalType": "bytes32"
              },
              {
                "name": "nonce",
                "type": "uint64",
                "internalType": "uint64"
              }
            ]
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "destinations",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          }
        ],
        "outputs": [
          {
            "name": "layerZeroEid",
            "type": "uint32",
            "internalType": "uint32"
          },
          {
            "name": "addr",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "endpoint",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract ILayerZeroEndpointV2"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "entrypoint",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IMessageHandler"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "estimate",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "payload",
            "type": "bytes",
            "internalType": "bytes"
          },
          {
            "name": "gasLimit",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isWired",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "lzReceive",
        "inputs": [
          {
            "name": "origin",
            "type": "tuple",
            "internalType": "struct Origin",
            "components": [
              {
                "name": "srcEid",
                "type": "uint32",
                "internalType": "uint32"
              },
              {
                "name": "sender",
                "type": "bytes32",
                "internalType": "bytes32"
              },
              {
                "name": "nonce",
                "type": "uint64",
                "internalType": "uint64"
              }
            ]
          },
          {
            "name": "",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "payload",
            "type": "bytes",
            "internalType": "bytes"
          },
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "nextNonce",
        "inputs": [
          {
            "name": "",
            "type": "uint32",
            "internalType": "uint32"
          },
          {
            "name": "",
            "type": "bytes32",
            "internalType": "bytes32"
          }
        ],
        "outputs": [
          {
            "name": "nonce",
            "type": "uint64",
            "internalType": "uint64"
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "send",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "payload",
            "type": "bytes",
            "internalType": "bytes"
          },
          {
            "name": "gasLimit",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "adapterData",
            "type": "bytes32",
            "internalType": "bytes32"
          }
        ],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "setDelegate",
        "inputs": [
          {
            "name": "newDelegate",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "sources",
        "inputs": [
          {
            "name": "layerZeroEid",
            "type": "uint32",
            "internalType": "uint32"
          }
        ],
        "outputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "addr",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "wards",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "wire",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "data",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "event",
        "name": "Deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "SetDelegate",
        "inputs": [
          {
            "name": "newDelegate",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Wire",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "indexed": true,
            "internalType": "uint16"
          },
          {
            "name": "layerZeroEid",
            "type": "uint32",
            "indexed": true,
            "internalType": "uint32"
          },
          {
            "name": "adapter",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "InvalidSource",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotAuthorized",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotEntrypoint",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotLayerZeroEndpoint",
        "inputs": []
      },
      {
        "type": "error",
        "name": "PrefixNotZero",
        "inputs": []
      },
      {
        "type": "error",
        "name": "Uint128_Overflow",
        "inputs": []
      },
      {
        "type": "error",
        "name": "Uint16_Overflow",
        "inputs": []
      },
      {
        "type": "error",
        "name": "UnknownChainId",
        "inputs": []
      }
    ],
    "MerkleProofManager": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "poolId_",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "contractUpdater_",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "receive",
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "contractUpdater",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "execute",
        "inputs": [
          {
            "name": "calls",
            "type": "tuple[]",
            "internalType": "struct Call[]",
            "components": [
              {
                "name": "decoder",
                "type": "address",
                "internalType": "address"
              },
              {
                "name": "target",
                "type": "address",
                "internalType": "address"
              },
              {
                "name": "targetData",
                "type": "bytes",
                "internalType": "bytes"
              },
              {
                "name": "value",
                "type": "uint256",
                "internalType": "uint256"
              },
              {
                "name": "proof",
                "type": "bytes32[]",
                "internalType": "bytes32[]"
              }
            ]
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "policy",
        "inputs": [
          {
            "name": "strategist",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "root",
            "type": "bytes32",
            "internalType": "bytes32"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "poolId",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "trustedCall",
        "inputs": [
          {
            "name": "poolId_",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "payload",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "event",
        "name": "ExecuteCall",
        "inputs": [
          {
            "name": "target",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "selector",
            "type": "bytes4",
            "indexed": true,
            "internalType": "bytes4"
          },
          {
            "name": "targetData",
            "type": "bytes",
            "indexed": false,
            "internalType": "bytes"
          },
          {
            "name": "value",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "UpdatePolicy",
        "inputs": [
          {
            "name": "strategist",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "oldRoot",
            "type": "bytes32",
            "indexed": false,
            "internalType": "bytes32"
          },
          {
            "name": "newRoot",
            "type": "bytes32",
            "indexed": false,
            "internalType": "bytes32"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "CallFailed",
        "inputs": []
      },
      {
        "type": "error",
        "name": "DecodingFailed",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InsufficientBalance",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidDecodersLength",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidPoolId",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidProof",
        "inputs": [
          {
            "name": "leaf",
            "type": "tuple",
            "internalType": "struct PolicyLeaf",
            "components": [
              {
                "name": "decoder",
                "type": "address",
                "internalType": "address"
              },
              {
                "name": "target",
                "type": "address",
                "internalType": "address"
              },
              {
                "name": "valueNonZero",
                "type": "bool",
                "internalType": "bool"
              },
              {
                "name": "selector",
                "type": "bytes4",
                "internalType": "bytes4"
              },
              {
                "name": "addresses",
                "type": "bytes",
                "internalType": "bytes"
              }
            ]
          },
          {
            "name": "proof",
            "type": "bytes32[]",
            "internalType": "bytes32[]"
          }
        ]
      },
      {
        "type": "error",
        "name": "InvalidProofLength",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidTargetDataLength",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidValuesLength",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotAStrategist",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotAuthorized",
        "inputs": []
      },
      {
        "type": "error",
        "name": "PrefixNotZero",
        "inputs": []
      },
      {
        "type": "error",
        "name": "WrappedError",
        "inputs": [
          {
            "name": "target",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "selector",
            "type": "bytes4",
            "internalType": "bytes4"
          },
          {
            "name": "reason",
            "type": "bytes",
            "internalType": "bytes"
          },
          {
            "name": "details",
            "type": "bytes",
            "internalType": "bytes"
          }
        ]
      }
    ],
    "MerkleProofManagerFactory": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "contractUpdater_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "balanceSheet_",
            "type": "address",
            "internalType": "contract IBalanceSheet"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "balanceSheet",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IBalanceSheet"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "contractUpdater",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "newManager",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IMerkleProofManager"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "event",
        "name": "DeployMerkleProofManager",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "manager",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "InvalidPoolId",
        "inputs": []
      }
    ],
    "MessageDispatcher": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "localCentrifugeId_",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "scheduleAuth_",
            "type": "address",
            "internalType": "contract IScheduleAuth"
          },
          {
            "name": "gateway_",
            "type": "address",
            "internalType": "contract IGateway"
          },
          {
            "name": "deployer",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "balanceSheet",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IBalanceSheetGatewayHandler"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "contractUpdater",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IContractUpdateGatewayHandler"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "file",
        "inputs": [
          {
            "name": "what",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "data",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "gateway",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IGateway"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "hubHandler",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IHubGatewayHandler"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "localCentrifugeId",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint16",
            "internalType": "uint16"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "multiAdapter",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IMultiAdapter"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "scheduleAuth",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IScheduleAuth"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "sendCancelUpgrade",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "target",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "sendExecuteTransferShares",
        "inputs": [
          {
            "name": "originCentrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "targetCentrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "receiver",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "amount",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "extraGasLimit",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "sendInitiateTransferShares",
        "inputs": [
          {
            "name": "targetCentrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "receiver",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "amount",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "extraGasLimit",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "remoteExtraGasLimit",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "sendNotifyPool",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "sendNotifyPricePoolPerAsset",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "pricePoolPerAsset",
            "type": "uint128",
            "internalType": "D18"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "sendNotifyPricePoolPerShare",
        "inputs": [
          {
            "name": "chainId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "pricePoolPerShare",
            "type": "uint128",
            "internalType": "D18"
          },
          {
            "name": "computedAt",
            "type": "uint64",
            "internalType": "uint64"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "sendNotifyShareClass",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "name",
            "type": "string",
            "internalType": "string"
          },
          {
            "name": "symbol",
            "type": "string",
            "internalType": "string"
          },
          {
            "name": "decimals",
            "type": "uint8",
            "internalType": "uint8"
          },
          {
            "name": "salt",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "hook",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "sendNotifyShareMetadata",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "name",
            "type": "string",
            "internalType": "string"
          },
          {
            "name": "symbol",
            "type": "string",
            "internalType": "string"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "sendRecoverTokens",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "target",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "token",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "to",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "amount",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "sendRegisterAsset",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "decimals",
            "type": "uint8",
            "internalType": "uint8"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "sendRequest",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "payload",
            "type": "bytes",
            "internalType": "bytes"
          },
          {
            "name": "extraGasLimit",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "unpaidMode",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "sendRequestCallback",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "payload",
            "type": "bytes",
            "internalType": "bytes"
          },
          {
            "name": "extraGasLimit",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "unpaidMode",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "sendScheduleUpgrade",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "target",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "sendSetMaxAssetPriceAge",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "maxPriceAge",
            "type": "uint64",
            "internalType": "uint64"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "sendSetMaxSharePriceAge",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "maxPriceAge",
            "type": "uint64",
            "internalType": "uint64"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "sendSetPoolAdapters",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "adapters",
            "type": "bytes32[]",
            "internalType": "bytes32[]"
          },
          {
            "name": "threshold",
            "type": "uint8",
            "internalType": "uint8"
          },
          {
            "name": "recoveryIndex",
            "type": "uint8",
            "internalType": "uint8"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "sendSetRequestManager",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "manager",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "sendTrustedContractUpdate",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "target",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "payload",
            "type": "bytes",
            "internalType": "bytes"
          },
          {
            "name": "extraGasLimit",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "sendUntrustedContractUpdate",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "target",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "payload",
            "type": "bytes",
            "internalType": "bytes"
          },
          {
            "name": "sender",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "extraGasLimit",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "sendUpdateBalanceSheetManager",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "who",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "canManage",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "sendUpdateGatewayManager",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "who",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "canManage",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "sendUpdateHoldingAmount",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "data",
            "type": "tuple",
            "internalType": "struct ISpokeMessageSender.UpdateData",
            "components": [
              {
                "name": "netAmount",
                "type": "uint128",
                "internalType": "uint128"
              },
              {
                "name": "isIncrease",
                "type": "bool",
                "internalType": "bool"
              },
              {
                "name": "isSnapshot",
                "type": "bool",
                "internalType": "bool"
              },
              {
                "name": "nonce",
                "type": "uint64",
                "internalType": "uint64"
              }
            ]
          },
          {
            "name": "pricePoolPerAsset",
            "type": "uint128",
            "internalType": "D18"
          },
          {
            "name": "extraGasLimit",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "sendUpdateRestriction",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "payload",
            "type": "bytes",
            "internalType": "bytes"
          },
          {
            "name": "extraGasLimit",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "sendUpdateShareHook",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "hook",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "sendUpdateShares",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "data",
            "type": "tuple",
            "internalType": "struct ISpokeMessageSender.UpdateData",
            "components": [
              {
                "name": "netAmount",
                "type": "uint128",
                "internalType": "uint128"
              },
              {
                "name": "isIncrease",
                "type": "bool",
                "internalType": "bool"
              },
              {
                "name": "isSnapshot",
                "type": "bool",
                "internalType": "bool"
              },
              {
                "name": "nonce",
                "type": "uint64",
                "internalType": "uint64"
              }
            ]
          },
          {
            "name": "extraGasLimit",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "sendUpdateVault",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "vaultOrFactory",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "kind",
            "type": "uint8",
            "internalType": "enum VaultUpdateKind"
          },
          {
            "name": "extraGasLimit",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "spoke",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract ISpokeGatewayHandler"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "tokenRecoverer",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract ITokenRecoverer"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "vaultRegistry",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IVaultRegistryGatewayHandler"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "wards",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "event",
        "name": "Deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "File",
        "inputs": [
          {
            "name": "what",
            "type": "bytes32",
            "indexed": true,
            "internalType": "bytes32"
          },
          {
            "name": "addr",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "CannotBeSentLocally",
        "inputs": []
      },
      {
        "type": "error",
        "name": "CannotRefund",
        "inputs": []
      },
      {
        "type": "error",
        "name": "FileUnrecognizedParam",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotAuthorized",
        "inputs": []
      },
      {
        "type": "error",
        "name": "PrefixNotZero",
        "inputs": []
      },
      {
        "type": "error",
        "name": "SliceOutOfBounds",
        "inputs": []
      },
      {
        "type": "error",
        "name": "SliceOverflow",
        "inputs": []
      },
      {
        "type": "error",
        "name": "Uint16_Overflow",
        "inputs": []
      },
      {
        "type": "error",
        "name": "Uint64_Overflow",
        "inputs": []
      }
    ],
    "MessageProcessor": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "scheduleAuth_",
            "type": "address",
            "internalType": "contract IScheduleAuth"
          },
          {
            "name": "deployer",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "MAINNET_CENTRIFUGE_ID",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint16",
            "internalType": "uint16"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "balanceSheet",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IBalanceSheetGatewayHandler"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "contractUpdater",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IContractUpdateGatewayHandler"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "file",
        "inputs": [
          {
            "name": "what",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "data",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "gateway",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IGateway"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "handle",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "message",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "hubHandler",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IHubGatewayHandler"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "multiAdapter",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IMultiAdapter"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "scheduleAuth",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IScheduleAuth"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "spoke",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract ISpokeGatewayHandler"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "tokenRecoverer",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract ITokenRecoverer"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "vaultRegistry",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IVaultRegistryGatewayHandler"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "wards",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "event",
        "name": "Deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "File",
        "inputs": [
          {
            "name": "what",
            "type": "bytes32",
            "indexed": true,
            "internalType": "bytes32"
          },
          {
            "name": "addr",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "FileUnrecognizedParam",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidMessage",
        "inputs": [
          {
            "name": "code",
            "type": "uint8",
            "internalType": "uint8"
          }
        ]
      },
      {
        "type": "error",
        "name": "NotAuthorized",
        "inputs": []
      },
      {
        "type": "error",
        "name": "OnlyFromMainnet",
        "inputs": []
      },
      {
        "type": "error",
        "name": "OnlyFromSource",
        "inputs": []
      },
      {
        "type": "error",
        "name": "PrefixNotZero",
        "inputs": []
      },
      {
        "type": "error",
        "name": "SizeNot128",
        "inputs": []
      },
      {
        "type": "error",
        "name": "SliceOutOfBounds",
        "inputs": []
      },
      {
        "type": "error",
        "name": "SliceOverflow",
        "inputs": []
      },
      {
        "type": "error",
        "name": "UnknownMessageType",
        "inputs": []
      }
    ],
    "MultiAdapter": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "localCentrifugeId_",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "gateway_",
            "type": "address",
            "internalType": "contract IMessageHandler"
          },
          {
            "name": "deployer",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "GLOBAL_POOL",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "activeSessionId",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "adapters",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IAdapter"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "estimate",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "payload",
            "type": "bytes",
            "internalType": "bytes"
          },
          {
            "name": "gasLimit",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "total",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "file",
        "inputs": [
          {
            "name": "what",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "instance",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "gateway",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IMessageHandler"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "handle",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "payload",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "inbound",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "payloadHash",
            "type": "bytes32",
            "internalType": "bytes32"
          }
        ],
        "outputs": [
          {
            "name": "sessionId",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "localCentrifugeId",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint16",
            "internalType": "uint16"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "messageProperties",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IMessageProperties"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "quorum",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint8",
            "internalType": "uint8"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "recoveryIndex",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint8",
            "internalType": "uint8"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "send",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "payload",
            "type": "bytes",
            "internalType": "bytes"
          },
          {
            "name": "gasLimit",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bytes32",
            "internalType": "bytes32"
          }
        ],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "setAdapters",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "addresses",
            "type": "address[]",
            "internalType": "contract IAdapter[]"
          },
          {
            "name": "threshold_",
            "type": "uint8",
            "internalType": "uint8"
          },
          {
            "name": "recoveryIndex_",
            "type": "uint8",
            "internalType": "uint8"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "threshold",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint8",
            "internalType": "uint8"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "votes",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "payloadHash",
            "type": "bytes32",
            "internalType": "bytes32"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "int16[8]",
            "internalType": "int16[8]"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "wards",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "event",
        "name": "Deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "File",
        "inputs": [
          {
            "name": "what",
            "type": "bytes32",
            "indexed": true,
            "internalType": "bytes32"
          },
          {
            "name": "addr",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "HandlePayload",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "indexed": true,
            "internalType": "uint16"
          },
          {
            "name": "payloadId",
            "type": "bytes32",
            "indexed": true,
            "internalType": "bytes32"
          },
          {
            "name": "payload",
            "type": "bytes",
            "indexed": false,
            "internalType": "bytes"
          },
          {
            "name": "adapter",
            "type": "address",
            "indexed": false,
            "internalType": "contract IAdapter"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "SendPayload",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "indexed": true,
            "internalType": "uint16"
          },
          {
            "name": "payloadId",
            "type": "bytes32",
            "indexed": true,
            "internalType": "bytes32"
          },
          {
            "name": "payload",
            "type": "bytes",
            "indexed": false,
            "internalType": "bytes"
          },
          {
            "name": "adapter",
            "type": "address",
            "indexed": false,
            "internalType": "contract IAdapter"
          },
          {
            "name": "adapterData",
            "type": "bytes32",
            "indexed": false,
            "internalType": "bytes32"
          },
          {
            "name": "gasLimit",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          },
          {
            "name": "gasPaid",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          },
          {
            "name": "refund",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "SetAdapters",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "indexed": false,
            "internalType": "uint16"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": false,
            "internalType": "PoolId"
          },
          {
            "name": "adapters",
            "type": "address[]",
            "indexed": false,
            "internalType": "contract IAdapter[]"
          },
          {
            "name": "threshold",
            "type": "uint8",
            "indexed": false,
            "internalType": "uint8"
          },
          {
            "name": "recoveryIndex",
            "type": "uint8",
            "indexed": false,
            "internalType": "uint8"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "EmptyAdapterSet",
        "inputs": []
      },
      {
        "type": "error",
        "name": "ExceedsMax",
        "inputs": []
      },
      {
        "type": "error",
        "name": "FileUnrecognizedParam",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidAdapter",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NoDuplicatesAllowed",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotAuthorized",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotEntrypoint",
        "inputs": []
      },
      {
        "type": "error",
        "name": "RecoveryIndexHigherThanQuorum",
        "inputs": []
      },
      {
        "type": "error",
        "name": "ThresholdHigherThanQuorum",
        "inputs": []
      },
      {
        "type": "error",
        "name": "Uint8_Overflow",
        "inputs": []
      },
      {
        "type": "error",
        "name": "UnknownChainId",
        "inputs": []
      }
    ],
    "NAVManager": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "hub_",
            "type": "address",
            "internalType": "contract IHub"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "accounting",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IAccounting"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "assetAccount",
        "inputs": [
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "AccountId"
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "closeGainLoss",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "equityAccount",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "AccountId"
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "expenseAccount",
        "inputs": [
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "AccountId"
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "gainAccount",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "AccountId"
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "holdings",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IHoldings"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "hub",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IHub"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "hubRegistry",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IHubRegistry"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "initializeHolding",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "valuation",
            "type": "address",
            "internalType": "contract IValuation"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "initializeLiability",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "valuation",
            "type": "address",
            "internalType": "contract IValuation"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "initializeNetwork",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "initialized",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "liabilityAccount",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "AccountId"
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "lossAccount",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "AccountId"
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "manager",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "navHook",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract INAVHook"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "netAssetValue",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "onSync",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "onTransfer",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "fromCentrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "toCentrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "sharesTransferred",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "setNAVHook",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "navHook_",
            "type": "address",
            "internalType": "contract INAVHook"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "updateHoldingValuation",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "valuation",
            "type": "address",
            "internalType": "contract IValuation"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "updateHoldingValue",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "updateManager",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "manager_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "canManage",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "event",
        "name": "InitializeHolding",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "indexed": true,
            "internalType": "AssetId"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "InitializeLiability",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "indexed": true,
            "internalType": "AssetId"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "InitializeNetwork",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "centrifugeId",
            "type": "uint16",
            "indexed": true,
            "internalType": "uint16"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "SetNavHook",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "navHook",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Sync",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "centrifugeId",
            "type": "uint16",
            "indexed": true,
            "internalType": "uint16"
          },
          {
            "name": "netAssetValue",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Transfer",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": false,
            "internalType": "ShareClassId"
          },
          {
            "name": "fromCentrifugeId",
            "type": "uint16",
            "indexed": true,
            "internalType": "uint16"
          },
          {
            "name": "toCentrifugeId",
            "type": "uint16",
            "indexed": true,
            "internalType": "uint16"
          },
          {
            "name": "sharesTransferred",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "UpdateManager",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "manager",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "canManage",
            "type": "bool",
            "indexed": false,
            "internalType": "bool"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "AlreadyInitialized",
        "inputs": []
      },
      {
        "type": "error",
        "name": "ExceedsMaxAccounts",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidNAVHook",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidStateOfAccounts",
        "inputs": []
      },
      {
        "type": "error",
        "name": "MismatchedEpochs",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotAuthorized",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotInitialized",
        "inputs": []
      }
    ],
    "OnOfframpManager": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "poolId_",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId_",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "contractUpdater_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "balanceSheet_",
            "type": "address",
            "internalType": "contract IBalanceSheet"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "balanceSheet",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IBalanceSheet"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "contractUpdater",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "deposit",
        "inputs": [
          {
            "name": "asset",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "amount",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "offramp",
        "inputs": [
          {
            "name": "asset",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "isEnabled",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "onramp",
        "inputs": [
          {
            "name": "asset",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "poolId",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "relayer",
        "inputs": [
          {
            "name": "relayer",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "scId",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "bytes16",
            "internalType": "ShareClassId"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "supportsInterface",
        "inputs": [
          {
            "name": "interfaceId",
            "type": "bytes4",
            "internalType": "bytes4"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "trustedCall",
        "inputs": [
          {
            "name": "poolId_",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId_",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "payload",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "withdraw",
        "inputs": [
          {
            "name": "asset",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "amount",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "event",
        "name": "TrustedWithdraw",
        "inputs": [
          {
            "name": "asset",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "amount",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          },
          {
            "name": "receiver",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "UpdateOfframp",
        "inputs": [
          {
            "name": "asset",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "receiver",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          },
          {
            "name": "isEnabled",
            "type": "bool",
            "indexed": false,
            "internalType": "bool"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "UpdateOnramp",
        "inputs": [
          {
            "name": "asset",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "isEnabled",
            "type": "bool",
            "indexed": false,
            "internalType": "bool"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "UpdateRelayer",
        "inputs": [
          {
            "name": "relayer",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "isEnabled",
            "type": "bool",
            "indexed": false,
            "internalType": "bool"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "ERC6909NotSupported",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidAmount",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidOfframpDestination",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidPoolId",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidShareClassId",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NoCode",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotAllowedOnrampAsset",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotContractUpdater",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotRelayer",
        "inputs": []
      },
      {
        "type": "error",
        "name": "PrefixNotZero",
        "inputs": []
      },
      {
        "type": "error",
        "name": "UnknownTrustedCall",
        "inputs": []
      },
      {
        "type": "error",
        "name": "WrappedError",
        "inputs": [
          {
            "name": "target",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "selector",
            "type": "bytes4",
            "internalType": "bytes4"
          },
          {
            "name": "reason",
            "type": "bytes",
            "internalType": "bytes"
          },
          {
            "name": "details",
            "type": "bytes",
            "internalType": "bytes"
          }
        ]
      }
    ],
    "OnOfframpManagerFactory": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "contractUpdater_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "balanceSheet_",
            "type": "address",
            "internalType": "contract IBalanceSheet"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "balanceSheet",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IBalanceSheet"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "contractUpdater",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "newManager",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IOnOfframpManager"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "event",
        "name": "DeployOnOfframpManager",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": false,
            "internalType": "ShareClassId"
          },
          {
            "name": "manager",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      }
    ],
    "OpsGuardian": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "opsSafe_",
            "type": "address",
            "internalType": "contract ISafe"
          },
          {
            "name": "hub_",
            "type": "address",
            "internalType": "contract ICreatePool"
          },
          {
            "name": "multiAdapter_",
            "type": "address",
            "internalType": "contract IMultiAdapter"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "GLOBAL_POOL",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "createPool",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "admin",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "currency",
            "type": "uint128",
            "internalType": "AssetId"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "file",
        "inputs": [
          {
            "name": "what",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "data",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "hub",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract ICreatePool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "initAdapters",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "adapters",
            "type": "address[]",
            "internalType": "contract IAdapter[]"
          },
          {
            "name": "threshold",
            "type": "uint8",
            "internalType": "uint8"
          },
          {
            "name": "recoveryIndex",
            "type": "uint8",
            "internalType": "uint8"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "multiAdapter",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IMultiAdapter"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "opsSafe",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract ISafe"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "wire",
        "inputs": [
          {
            "name": "adapter",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "data",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "event",
        "name": "File",
        "inputs": [
          {
            "name": "what",
            "type": "bytes32",
            "indexed": true,
            "internalType": "bytes32"
          },
          {
            "name": "data",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "AdapterAlreadyWired",
        "inputs": []
      },
      {
        "type": "error",
        "name": "AdaptersAlreadyInitialized",
        "inputs": []
      },
      {
        "type": "error",
        "name": "FileUnrecognizedParam",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotTheAuthorizedSafe",
        "inputs": []
      }
    ],
    "OracleValuation": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "hub_",
            "type": "address",
            "internalType": "contract IHub"
          },
          {
            "name": "hubRegistry_",
            "type": "address",
            "internalType": "contract IHubRegistry"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "feeder",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "getPrice",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "D18"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "getQuote",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "baseAmount",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "outputs": [
          {
            "name": "quoteAmount",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "hub",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IHub"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "hubRegistry",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IHubRegistry"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "pricePoolPerAsset",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "base",
            "type": "uint128",
            "internalType": "AssetId"
          }
        ],
        "outputs": [
          {
            "name": "value",
            "type": "uint128",
            "internalType": "D18"
          },
          {
            "name": "isValid",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "setPrice",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "newPrice",
            "type": "uint128",
            "internalType": "D18"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "updateFeeder",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "feeder_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "canFeed",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "event",
        "name": "UpdateFeeder",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "feeder",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "canFeed",
            "type": "bool",
            "indexed": false,
            "internalType": "bool"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "UpdatePrice",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "indexed": true,
            "internalType": "AssetId"
          },
          {
            "name": "newPrice",
            "type": "uint128",
            "indexed": false,
            "internalType": "D18"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "MulDiv_Overflow",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotFeeder",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotHubManager",
        "inputs": []
      },
      {
        "type": "error",
        "name": "PriceNotSet",
        "inputs": []
      },
      {
        "type": "error",
        "name": "Uint128_Overflow",
        "inputs": []
      }
    ],
    "PoolEscrow": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "poolId_",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "deployer",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "authTransferTo",
        "inputs": [
          {
            "name": "asset",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "amount",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "availableBalanceOf",
        "inputs": [
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "asset",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "deposit",
        "inputs": [
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "asset",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "value",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "holding",
        "inputs": [
          {
            "name": "",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "asset",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "total",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "reserved",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "poolId",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "recoverTokens",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "amount",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "recoverTokens",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "amount",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "reserve",
        "inputs": [
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "asset",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "value",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "caller",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "reason",
            "type": "uint32",
            "internalType": "uint32"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "reservedBy",
        "inputs": [
          {
            "name": "",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "reserver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "reason",
            "type": "uint32",
            "internalType": "uint32"
          },
          {
            "name": "asset",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "unreserve",
        "inputs": [
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "asset",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "value",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "caller",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "reason",
            "type": "uint32",
            "internalType": "uint32"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "wards",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "withdraw",
        "inputs": [
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "asset",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "value",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "event",
        "name": "AuthTransferTo",
        "inputs": [
          {
            "name": "asset",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "indexed": true,
            "internalType": "uint256"
          },
          {
            "name": "receiver",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          },
          {
            "name": "value",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "DecreaseReserve",
        "inputs": [
          {
            "name": "asset",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "indexed": true,
            "internalType": "uint256"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": false,
            "internalType": "ShareClassId"
          },
          {
            "name": "caller",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          },
          {
            "name": "reason",
            "type": "uint32",
            "indexed": false,
            "internalType": "uint32"
          },
          {
            "name": "delta",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          },
          {
            "name": "value",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Deposit",
        "inputs": [
          {
            "name": "asset",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "indexed": true,
            "internalType": "uint256"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": false,
            "internalType": "ShareClassId"
          },
          {
            "name": "value",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "IncreaseReserve",
        "inputs": [
          {
            "name": "asset",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "indexed": true,
            "internalType": "uint256"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": false,
            "internalType": "ShareClassId"
          },
          {
            "name": "caller",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          },
          {
            "name": "reason",
            "type": "uint32",
            "indexed": false,
            "internalType": "uint32"
          },
          {
            "name": "delta",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          },
          {
            "name": "value",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "ReceiveNativeTokens",
        "inputs": [
          {
            "name": "who",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          },
          {
            "name": "amount",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Withdraw",
        "inputs": [
          {
            "name": "asset",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "indexed": true,
            "internalType": "uint256"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": false,
            "internalType": "ShareClassId"
          },
          {
            "name": "receiver",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          },
          {
            "name": "value",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "InsufficientBalance",
        "inputs": [
          {
            "name": "asset",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "value",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "balance",
            "type": "uint256",
            "internalType": "uint256"
          }
        ]
      },
      {
        "type": "error",
        "name": "InsufficientDeposit",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InsufficientReserve",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NoCode",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotAuthorized",
        "inputs": []
      },
      {
        "type": "error",
        "name": "SafeTransferEthFailed",
        "inputs": []
      },
      {
        "type": "error",
        "name": "WrappedError",
        "inputs": [
          {
            "name": "target",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "selector",
            "type": "bytes4",
            "internalType": "bytes4"
          },
          {
            "name": "reason",
            "type": "bytes",
            "internalType": "bytes"
          },
          {
            "name": "details",
            "type": "bytes",
            "internalType": "bytes"
          }
        ]
      }
    ],
    "PoolEscrowFactory": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "root_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "deployer",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "balanceSheet",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "escrow",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IPoolEscrow"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "file",
        "inputs": [
          {
            "name": "what",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "data",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "newEscrow",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IPoolEscrow"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "root",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "wards",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "event",
        "name": "Deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "DeployPoolEscrow",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "escrow",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "File",
        "inputs": [
          {
            "name": "what",
            "type": "bytes32",
            "indexed": false,
            "internalType": "bytes32"
          },
          {
            "name": "data",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "EscrowAlreadyDeployed",
        "inputs": []
      },
      {
        "type": "error",
        "name": "FileUnrecognizedParam",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotAuthorized",
        "inputs": []
      }
    ],
    "ProtocolGuardian": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "safe_",
            "type": "address",
            "internalType": "contract ISafe"
          },
          {
            "name": "root_",
            "type": "address",
            "internalType": "contract IRoot"
          },
          {
            "name": "gateway_",
            "type": "address",
            "internalType": "contract IGateway"
          },
          {
            "name": "sender_",
            "type": "address",
            "internalType": "contract IScheduleAuthMessageSender"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "GLOBAL_POOL",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "blockOutgoing",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "isBlocked",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "cancelRely",
        "inputs": [
          {
            "name": "target",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "cancelUpgrade",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "target",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "file",
        "inputs": [
          {
            "name": "what",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "data",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "gateway",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IGateway"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "pause",
        "inputs": [],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "recoverTokens",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "target",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "amount",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "root",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IRoot"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "safe",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract ISafe"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "scheduleRely",
        "inputs": [
          {
            "name": "target",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "scheduleUpgrade",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "target",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "sender",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IScheduleAuthMessageSender"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "unpause",
        "inputs": [],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "event",
        "name": "File",
        "inputs": [
          {
            "name": "what",
            "type": "bytes32",
            "indexed": true,
            "internalType": "bytes32"
          },
          {
            "name": "data",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "FileUnrecognizedParam",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotTheAuthorizedSafe",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotTheAuthorizedSafeOrItsOwner",
        "inputs": []
      }
    ],
    "QueueManager": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "contractUpdater_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "balanceSheet_",
            "type": "address",
            "internalType": "contract IBalanceSheet"
          },
          {
            "name": "deployer",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "balanceSheet",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IBalanceSheet"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "contractUpdater",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "gateway",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IGateway"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "scQueueState",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "",
            "type": "bytes16",
            "internalType": "ShareClassId"
          }
        ],
        "outputs": [
          {
            "name": "minDelay",
            "type": "uint64",
            "internalType": "uint64"
          },
          {
            "name": "lastSync",
            "type": "uint64",
            "internalType": "uint64"
          },
          {
            "name": "extraGasLimit",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "sync",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetIds",
            "type": "uint128[]",
            "internalType": "AssetId[]"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "syncCallback",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetIds",
            "type": "uint128[]",
            "internalType": "AssetId[]"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "trustedCall",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "payload",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "wards",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "event",
        "name": "Deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "UpdateQueueConfig",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "newMinDelay",
            "type": "uint64",
            "indexed": false,
            "internalType": "uint64"
          },
          {
            "name": "newExtraGasLimit",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "InsufficientFunds",
        "inputs": []
      },
      {
        "type": "error",
        "name": "MinDelayNotElapsed",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NoUpdateForAsset",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotAuthorized",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotContractUpdater",
        "inputs": []
      }
    ],
    "RedemptionRestrictions": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "root_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "spoke_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "balanceSheet_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "crosschainSource_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "deployer",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "poolEscrowProvider_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "poolEscrow_",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "FREEZE_BIT",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint8",
            "internalType": "uint8"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "balanceSheet",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IBalanceSheet"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "checkERC20Transfer",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "hookData",
            "type": "tuple",
            "internalType": "struct HookData",
            "components": [
              {
                "name": "from",
                "type": "bytes16",
                "internalType": "bytes16"
              },
              {
                "name": "to",
                "type": "bytes16",
                "internalType": "bytes16"
              }
            ]
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "crosschainSource",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "freeze",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "isCrosschainTransfer",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isCrosschainTransferExecution",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isDepositClaim",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isDepositFulfillment",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isDepositRequestOrIssuance",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isFrozen",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isMember",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "isValid",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "validUntil",
            "type": "uint64",
            "internalType": "uint64"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isPoolEscrow",
        "inputs": [
          {
            "name": "addr",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isRedeemClaimOrRevocation",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isRedeemFulfillment",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isRedeemRequest",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "isSourceMember",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "hookData",
            "type": "tuple",
            "internalType": "struct HookData",
            "components": [
              {
                "name": "from",
                "type": "bytes16",
                "internalType": "bytes16"
              },
              {
                "name": "to",
                "type": "bytes16",
                "internalType": "bytes16"
              }
            ]
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isSourceOrTargetFrozen",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "hookData",
            "type": "tuple",
            "internalType": "struct HookData",
            "components": [
              {
                "name": "from",
                "type": "bytes16",
                "internalType": "bytes16"
              },
              {
                "name": "to",
                "type": "bytes16",
                "internalType": "bytes16"
              }
            ]
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isTargetMember",
        "inputs": [
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "hookData",
            "type": "tuple",
            "internalType": "struct HookData",
            "components": [
              {
                "name": "from",
                "type": "bytes16",
                "internalType": "bytes16"
              },
              {
                "name": "to",
                "type": "bytes16",
                "internalType": "bytes16"
              }
            ]
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "manager",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "onERC20AuthTransfer",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "",
            "type": "tuple",
            "internalType": "struct HookData",
            "components": [
              {
                "name": "from",
                "type": "bytes16",
                "internalType": "bytes16"
              },
              {
                "name": "to",
                "type": "bytes16",
                "internalType": "bytes16"
              }
            ]
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bytes4",
            "internalType": "bytes4"
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "onERC20Transfer",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "value",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "hookData",
            "type": "tuple",
            "internalType": "struct HookData",
            "components": [
              {
                "name": "from",
                "type": "bytes16",
                "internalType": "bytes16"
              },
              {
                "name": "to",
                "type": "bytes16",
                "internalType": "bytes16"
              }
            ]
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bytes4",
            "internalType": "bytes4"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "poolEscrow",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "poolEscrowProvider",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IPoolEscrowProvider"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "root",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IRoot"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "spoke",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract ISpoke"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "supportsInterface",
        "inputs": [
          {
            "name": "interfaceId",
            "type": "bytes4",
            "internalType": "bytes4"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "trustedCall",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "payload",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "unfreeze",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "updateMember",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "validUntil",
            "type": "uint64",
            "internalType": "uint64"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "updateRestriction",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "payload",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "wards",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "event",
        "name": "Deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Freeze",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Unfreeze",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "UpdateHookManager",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "manager",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "canManage",
            "type": "bool",
            "indexed": false,
            "internalType": "bool"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "UpdateMember",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "validUntil",
            "type": "uint64",
            "indexed": false,
            "internalType": "uint64"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "CannotFreezeZeroAddress",
        "inputs": []
      },
      {
        "type": "error",
        "name": "EndorsedUserCannotBeFrozen",
        "inputs": []
      },
      {
        "type": "error",
        "name": "EndorsedUserCannotBeUpdated",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidInputs",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidUpdate",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidValidUntil",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotAuthorized",
        "inputs": []
      },
      {
        "type": "error",
        "name": "PrefixNotZero",
        "inputs": []
      },
      {
        "type": "error",
        "name": "ShareTokenDoesNotExist",
        "inputs": []
      },
      {
        "type": "error",
        "name": "SliceOutOfBounds",
        "inputs": []
      },
      {
        "type": "error",
        "name": "TransferBlocked",
        "inputs": []
      },
      {
        "type": "error",
        "name": "UnknownMessageType",
        "inputs": []
      },
      {
        "type": "error",
        "name": "UnknownTrustedCall",
        "inputs": []
      }
    ],
    "RefundEscrow": [
      {
        "type": "constructor",
        "inputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "receive",
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "depositFunds",
        "inputs": [],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "wards",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "withdrawFunds",
        "inputs": [
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "value",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "event",
        "name": "Deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "CannotWithdraw",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotAuthorized",
        "inputs": []
      }
    ],
    "RefundEscrowFactory": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "deployer",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "controller",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "file",
        "inputs": [
          {
            "name": "what",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "data",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "get",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IRefundEscrow"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "newEscrow",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          }
        ],
        "outputs": [
          {
            "name": "escrow",
            "type": "address",
            "internalType": "contract IRefundEscrow"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "root",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "wards",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "event",
        "name": "Deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "DeployRefundEscrow",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "escrow",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "File",
        "inputs": [
          {
            "name": "what",
            "type": "bytes32",
            "indexed": false,
            "internalType": "bytes32"
          },
          {
            "name": "data",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "FileUnrecognizedParam",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotAuthorized",
        "inputs": []
      }
    ],
    "Root": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "_delay",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "deployer",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "cancelRely",
        "inputs": [
          {
            "name": "target",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "delay",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "denyContract",
        "inputs": [
          {
            "name": "target",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "endorse",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "endorsed",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "endorsements",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "executeScheduledRely",
        "inputs": [
          {
            "name": "target",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "file",
        "inputs": [
          {
            "name": "what",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "data",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "pause",
        "inputs": [],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "paused",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "relyContract",
        "inputs": [
          {
            "name": "target",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "schedule",
        "inputs": [
          {
            "name": "relyTarget",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "timestamp",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "scheduleRely",
        "inputs": [
          {
            "name": "target",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "unpause",
        "inputs": [],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "veto",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "wards",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "event",
        "name": "CancelRely",
        "inputs": [
          {
            "name": "target",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "DenyContract",
        "inputs": [
          {
            "name": "target",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Endorse",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "File",
        "inputs": [
          {
            "name": "what",
            "type": "bytes32",
            "indexed": true,
            "internalType": "bytes32"
          },
          {
            "name": "data",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Pause",
        "inputs": [],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "RelyContract",
        "inputs": [
          {
            "name": "target",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "ScheduleRely",
        "inputs": [
          {
            "name": "target",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "scheduledTime",
            "type": "uint256",
            "indexed": true,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Unpause",
        "inputs": [],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Veto",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "DelayTooLong",
        "inputs": []
      },
      {
        "type": "error",
        "name": "FileUnrecognizedParam",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotAuthorized",
        "inputs": []
      },
      {
        "type": "error",
        "name": "TargetNotReady",
        "inputs": []
      },
      {
        "type": "error",
        "name": "TargetNotScheduled",
        "inputs": []
      }
    ],
    "ShareClassManager": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "hubRegistry_",
            "type": "address",
            "internalType": "contract IHubRegistry"
          },
          {
            "name": "deployer",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "addShareClass",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "name",
            "type": "string",
            "internalType": "string"
          },
          {
            "name": "symbol",
            "type": "string",
            "internalType": "string"
          },
          {
            "name": "salt",
            "type": "bytes32",
            "internalType": "bytes32"
          }
        ],
        "outputs": [
          {
            "name": "scId_",
            "type": "bytes16",
            "internalType": "ShareClassId"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "exists",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId_",
            "type": "bytes16",
            "internalType": "ShareClassId"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "hubRegistry",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IHubRegistry"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "issuance",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId_",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "issuancePerNetwork",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          }
        ],
        "outputs": [
          {
            "name": "issuances",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "revocations",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "metadata",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "",
            "type": "bytes16",
            "internalType": "ShareClassId"
          }
        ],
        "outputs": [
          {
            "name": "name",
            "type": "string",
            "internalType": "string"
          },
          {
            "name": "symbol",
            "type": "string",
            "internalType": "string"
          },
          {
            "name": "salt",
            "type": "bytes32",
            "internalType": "bytes32"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "previewNextShareClassId",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          }
        ],
        "outputs": [
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "previewShareClassId",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "index",
            "type": "uint32",
            "internalType": "uint32"
          }
        ],
        "outputs": [
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "pricePoolPerShare",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "",
            "type": "bytes16",
            "internalType": "ShareClassId"
          }
        ],
        "outputs": [
          {
            "name": "price",
            "type": "uint128",
            "internalType": "D18"
          },
          {
            "name": "computedAt",
            "type": "uint64",
            "internalType": "uint64"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "salts",
        "inputs": [
          {
            "name": "salt",
            "type": "bytes32",
            "internalType": "bytes32"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "shareClassCount",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint32",
            "internalType": "uint32"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "shareClassIds",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "",
            "type": "bytes16",
            "internalType": "ShareClassId"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "totalIssuance",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "",
            "type": "bytes16",
            "internalType": "ShareClassId"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "updateMetadata",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId_",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "name",
            "type": "string",
            "internalType": "string"
          },
          {
            "name": "symbol",
            "type": "string",
            "internalType": "string"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "updateSharePrice",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId_",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "pricePoolPerShare_",
            "type": "uint128",
            "internalType": "D18"
          },
          {
            "name": "computedAt",
            "type": "uint64",
            "internalType": "uint64"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "updateShares",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId_",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "amount",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "isIssuance",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "wards",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "event",
        "name": "AddShareClass",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "index",
            "type": "uint32",
            "indexed": true,
            "internalType": "uint32"
          },
          {
            "name": "name",
            "type": "string",
            "indexed": false,
            "internalType": "string"
          },
          {
            "name": "symbol",
            "type": "string",
            "indexed": false,
            "internalType": "string"
          },
          {
            "name": "salt",
            "type": "bytes32",
            "indexed": false,
            "internalType": "bytes32"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "RemoteIssueShares",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "indexed": true,
            "internalType": "uint16"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "amount",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "RemoteRevokeShares",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "indexed": true,
            "internalType": "uint16"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "amount",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "UpdateMetadata",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "name",
            "type": "string",
            "indexed": false,
            "internalType": "string"
          },
          {
            "name": "symbol",
            "type": "string",
            "indexed": false,
            "internalType": "string"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "UpdatePricePoolPerShare",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "price",
            "type": "uint128",
            "indexed": false,
            "internalType": "D18"
          },
          {
            "name": "computedAt",
            "type": "uint64",
            "indexed": false,
            "internalType": "uint64"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "AlreadyUsedSalt",
        "inputs": []
      },
      {
        "type": "error",
        "name": "CannotSetFuturePrice",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidMetadataName",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidMetadataSymbol",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidSalt",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NegativeIssuance",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotAuthorized",
        "inputs": []
      },
      {
        "type": "error",
        "name": "ShareClassNotFound",
        "inputs": []
      }
    ],
    "ShareToken": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "decimals_",
            "type": "uint8",
            "internalType": "uint8"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "DOMAIN_SEPARATOR",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "bytes32",
            "internalType": "bytes32"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "PERMIT_TYPEHASH",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "bytes32",
            "internalType": "bytes32"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "allowance",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "approve",
        "inputs": [
          {
            "name": "spender",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "value",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "authTransferFrom",
        "inputs": [
          {
            "name": "sender",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "value",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "success",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "balanceOf",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "burn",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "value",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "checkTransferRestriction",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "value",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "decimals",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint8",
            "internalType": "uint8"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "deploymentChainId",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "detectTransferRestriction",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "value",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint8",
            "internalType": "uint8"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "file",
        "inputs": [
          {
            "name": "what",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "data",
            "type": "string",
            "internalType": "string"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "file",
        "inputs": [
          {
            "name": "what",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "data",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "hook",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "hookDataOf",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bytes16",
            "internalType": "bytes16"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "messageForTransferRestriction",
        "inputs": [
          {
            "name": "restrictionCode",
            "type": "uint8",
            "internalType": "uint8"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "string",
            "internalType": "string"
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "mint",
        "inputs": [
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "value",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "name",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "string",
            "internalType": "string"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "nonces",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "permit",
        "inputs": [
          {
            "name": "owner",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "spender",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "value",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "deadline",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "signature",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "permit",
        "inputs": [
          {
            "name": "owner",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "spender",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "value",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "deadline",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "v",
            "type": "uint8",
            "internalType": "uint8"
          },
          {
            "name": "r",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "s",
            "type": "bytes32",
            "internalType": "bytes32"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "setHookData",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "hookData",
            "type": "bytes16",
            "internalType": "bytes16"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "supportsInterface",
        "inputs": [
          {
            "name": "interfaceId",
            "type": "bytes4",
            "internalType": "bytes4"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "symbol",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "string",
            "internalType": "string"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "totalSupply",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "transfer",
        "inputs": [
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "value",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "success",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "transferFrom",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "value",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "success",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "updateVault",
        "inputs": [
          {
            "name": "asset",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "vault_",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "vault",
        "inputs": [
          {
            "name": "asset",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "wards",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "event",
        "name": "Approval",
        "inputs": [
          {
            "name": "owner",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "spender",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "value",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "File",
        "inputs": [
          {
            "name": "what",
            "type": "bytes32",
            "indexed": true,
            "internalType": "bytes32"
          },
          {
            "name": "data",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "File",
        "inputs": [
          {
            "name": "what",
            "type": "bytes32",
            "indexed": true,
            "internalType": "bytes32"
          },
          {
            "name": "data",
            "type": "string",
            "indexed": false,
            "internalType": "string"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "SetHookData",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "data",
            "type": "bytes16",
            "indexed": false,
            "internalType": "bytes16"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Transfer",
        "inputs": [
          {
            "name": "from",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "to",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "value",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "VaultUpdate",
        "inputs": [
          {
            "name": "asset",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "vault",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "ExceedsMaxSupply",
        "inputs": []
      },
      {
        "type": "error",
        "name": "FileUnrecognizedParam",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InsufficientAllowance",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InsufficientBalance",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidAddress",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidPermit",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidSigner",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotAuthorized",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotAuthorizedOrHook",
        "inputs": []
      },
      {
        "type": "error",
        "name": "PermitExpired",
        "inputs": []
      },
      {
        "type": "error",
        "name": "RestrictionsFailed",
        "inputs": []
      },
      {
        "type": "error",
        "name": "Uint128_Overflow",
        "inputs": []
      }
    ],
    "SimplePriceManager": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "hub_",
            "type": "address",
            "internalType": "contract IHub"
          },
          {
            "name": "navUpdater_",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "hub",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IHub"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "metrics",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          }
        ],
        "outputs": [
          {
            "name": "netAssetValue",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "issuance",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "navUpdater",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "networkMetrics",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          }
        ],
        "outputs": [
          {
            "name": "netAssetValue",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "issuance",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "transferredIn",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "transferredOut",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "issueEpochsBehind",
            "type": "uint32",
            "internalType": "uint32"
          },
          {
            "name": "revokeEpochsBehind",
            "type": "uint32",
            "internalType": "uint32"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "onTransfer",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "fromCentrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "toCentrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "sharesTransferred",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "onUpdate",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "netAssetValue",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "pricePoolPerShare",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "D18"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "shareClassManager",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IShareClassManager"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "event",
        "name": "Transfer",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": false,
            "internalType": "ShareClassId"
          },
          {
            "name": "fromCentrifugeId",
            "type": "uint16",
            "indexed": true,
            "internalType": "uint16"
          },
          {
            "name": "toCentrifugeId",
            "type": "uint16",
            "indexed": true,
            "internalType": "uint16"
          },
          {
            "name": "sharesTransferred",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Update",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": false,
            "internalType": "ShareClassId"
          },
          {
            "name": "newNAV",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          },
          {
            "name": "newIssuance",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          },
          {
            "name": "newPricePoolPerShare",
            "type": "uint128",
            "indexed": false,
            "internalType": "D18"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "InvalidShareClass",
        "inputs": []
      },
      {
        "type": "error",
        "name": "MismatchedEpochs",
        "inputs": []
      },
      {
        "type": "error",
        "name": "MulDiv_Overflow",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotAuthorized",
        "inputs": []
      },
      {
        "type": "error",
        "name": "Uint128_Overflow",
        "inputs": []
      }
    ],
    "Spoke": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "tokenFactory_",
            "type": "address",
            "internalType": "contract ITokenFactory"
          },
          {
            "name": "deployer",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "addPool",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "addShareClass",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "name",
            "type": "string",
            "internalType": "string"
          },
          {
            "name": "symbol",
            "type": "string",
            "internalType": "string"
          },
          {
            "name": "decimals",
            "type": "uint8",
            "internalType": "uint8"
          },
          {
            "name": "salt",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "hook",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "assetToId",
        "inputs": [
          {
            "name": "asset",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "crosschainTransferShares",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "receiver",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "amount",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "remoteExtraGasLimit",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "crosschainTransferShares",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "receiver",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "amount",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "extraGasLimit",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "remoteExtraGasLimit",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "executeTransferShares",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "receiver",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "amount",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "file",
        "inputs": [
          {
            "name": "what",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "data",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "gateway",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IGateway"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "idToAsset",
        "inputs": [
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          }
        ],
        "outputs": [
          {
            "name": "asset",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isPoolActive",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "linkToken",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "shareToken_",
            "type": "address",
            "internalType": "contract IShareToken"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "markersPricePoolPerAsset",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          }
        ],
        "outputs": [
          {
            "name": "computedAt",
            "type": "uint64",
            "internalType": "uint64"
          },
          {
            "name": "maxAge",
            "type": "uint64",
            "internalType": "uint64"
          },
          {
            "name": "validUntil",
            "type": "uint64",
            "internalType": "uint64"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "markersPricePoolPerShare",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          }
        ],
        "outputs": [
          {
            "name": "computedAt",
            "type": "uint64",
            "internalType": "uint64"
          },
          {
            "name": "maxAge",
            "type": "uint64",
            "internalType": "uint64"
          },
          {
            "name": "validUntil",
            "type": "uint64",
            "internalType": "uint64"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "pool",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          }
        ],
        "outputs": [
          {
            "name": "createdAt",
            "type": "uint64",
            "internalType": "uint64"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "poolEscrowFactory",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IPoolEscrowFactory"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "pricePoolPerAsset",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "checkValidity",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "outputs": [
          {
            "name": "price",
            "type": "uint128",
            "internalType": "D18"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "pricePoolPerShare",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "checkValidity",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "outputs": [
          {
            "name": "price",
            "type": "uint128",
            "internalType": "D18"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "pricesPoolPer",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "checkValidity",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "outputs": [
          {
            "name": "pricePoolPerAsset_",
            "type": "uint128",
            "internalType": "D18"
          },
          {
            "name": "pricePoolPerShare_",
            "type": "uint128",
            "internalType": "D18"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "recoverTokens",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "amount",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "recoverTokens",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "amount",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "registerAsset",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "asset",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          }
        ],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "request",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "payload",
            "type": "bytes",
            "internalType": "bytes"
          },
          {
            "name": "extraGasLimit",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "unpaid",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "requestCallback",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "payload",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "requestManager",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IRequestManager"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "sender",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract ISpokeMessageSender"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "setMaxAssetPriceAge",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "maxPriceAge",
            "type": "uint64",
            "internalType": "uint64"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "setMaxSharePriceAge",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "maxPriceAge",
            "type": "uint64",
            "internalType": "uint64"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "setRequestManager",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "manager",
            "type": "address",
            "internalType": "contract IRequestManager"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "setShareTokenVault",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "asset",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "vault",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "shareClass",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "",
            "type": "bytes16",
            "internalType": "ShareClassId"
          }
        ],
        "outputs": [
          {
            "name": "shareToken",
            "type": "address",
            "internalType": "contract IShareToken"
          },
          {
            "name": "pricePoolPerShare",
            "type": "tuple",
            "internalType": "struct Price",
            "components": [
              {
                "name": "price",
                "type": "uint128",
                "internalType": "D18"
              },
              {
                "name": "computedAt",
                "type": "uint64",
                "internalType": "uint64"
              },
              {
                "name": "maxAge",
                "type": "uint64",
                "internalType": "uint64"
              }
            ]
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "shareToken",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IShareToken"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "shareTokenDetails",
        "inputs": [
          {
            "name": "shareToken_",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "tokenFactory",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract ITokenFactory"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "updateContract",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "target",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "payload",
            "type": "bytes",
            "internalType": "bytes"
          },
          {
            "name": "extraGasLimit",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "updatePricePoolPerAsset",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "price",
            "type": "uint128",
            "internalType": "D18"
          },
          {
            "name": "computedAt",
            "type": "uint64",
            "internalType": "uint64"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "updatePricePoolPerShare",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "price",
            "type": "uint128",
            "internalType": "D18"
          },
          {
            "name": "computedAt",
            "type": "uint64",
            "internalType": "uint64"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "updateRestriction",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "update",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "updateShareHook",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "hook",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "updateShareMetadata",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "name",
            "type": "string",
            "internalType": "string"
          },
          {
            "name": "symbol",
            "type": "string",
            "internalType": "string"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "wards",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "event",
        "name": "AddPool",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "AddShareClass",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "token",
            "type": "address",
            "indexed": false,
            "internalType": "contract IShareToken"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "DeployVault",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "asset",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          },
          {
            "name": "factory",
            "type": "address",
            "indexed": false,
            "internalType": "contract IVaultFactory"
          },
          {
            "name": "vault",
            "type": "address",
            "indexed": false,
            "internalType": "contract IVault"
          },
          {
            "name": "kind",
            "type": "uint8",
            "indexed": false,
            "internalType": "enum VaultKind"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "ExecuteTransferShares",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "receiver",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "amount",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "File",
        "inputs": [
          {
            "name": "what",
            "type": "bytes32",
            "indexed": true,
            "internalType": "bytes32"
          },
          {
            "name": "data",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "InitiateTransferShares",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "indexed": false,
            "internalType": "uint16"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "sender",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "destinationAddress",
            "type": "bytes32",
            "indexed": false,
            "internalType": "bytes32"
          },
          {
            "name": "amount",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "LinkVault",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "asset",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          },
          {
            "name": "vault",
            "type": "address",
            "indexed": false,
            "internalType": "contract IVault"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "RegisterAsset",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "indexed": false,
            "internalType": "uint16"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "indexed": true,
            "internalType": "AssetId"
          },
          {
            "name": "asset",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "indexed": true,
            "internalType": "uint256"
          },
          {
            "name": "name",
            "type": "string",
            "indexed": false,
            "internalType": "string"
          },
          {
            "name": "symbol",
            "type": "string",
            "indexed": false,
            "internalType": "string"
          },
          {
            "name": "decimals",
            "type": "uint8",
            "indexed": false,
            "internalType": "uint8"
          },
          {
            "name": "isInitialization",
            "type": "bool",
            "indexed": false,
            "internalType": "bool"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "SetRequestManager",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "manager",
            "type": "address",
            "indexed": false,
            "internalType": "contract IRequestManager"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "UnlinkVault",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "asset",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          },
          {
            "name": "vault",
            "type": "address",
            "indexed": false,
            "internalType": "contract IVault"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "UntrustedContractUpdate",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "indexed": true,
            "internalType": "uint16"
          },
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": false,
            "internalType": "ShareClassId"
          },
          {
            "name": "target",
            "type": "bytes32",
            "indexed": false,
            "internalType": "bytes32"
          },
          {
            "name": "payload",
            "type": "bytes",
            "indexed": false,
            "internalType": "bytes"
          },
          {
            "name": "sender",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "UpdateAssetPrice",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "asset",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          },
          {
            "name": "price",
            "type": "uint128",
            "indexed": false,
            "internalType": "D18"
          },
          {
            "name": "computedAt",
            "type": "uint64",
            "indexed": false,
            "internalType": "uint64"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "UpdateMaxAssetPriceAge",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "asset",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          },
          {
            "name": "maxPriceAge",
            "type": "uint64",
            "indexed": false,
            "internalType": "uint64"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "UpdateMaxSharePriceAge",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "maxPriceAge",
            "type": "uint64",
            "indexed": false,
            "internalType": "uint64"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "UpdateSharePrice",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "price",
            "type": "uint128",
            "indexed": false,
            "internalType": "D18"
          },
          {
            "name": "computedAt",
            "type": "uint64",
            "indexed": false,
            "internalType": "uint64"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "AlreadyLinkedVault",
        "inputs": []
      },
      {
        "type": "error",
        "name": "AlreadyUnlinkedVault",
        "inputs": []
      },
      {
        "type": "error",
        "name": "AssetMissingDecimals",
        "inputs": []
      },
      {
        "type": "error",
        "name": "CannotSetOlderPrice",
        "inputs": []
      },
      {
        "type": "error",
        "name": "CrossChainTransferNotAllowed",
        "inputs": []
      },
      {
        "type": "error",
        "name": "FileUnrecognizedParam",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidFactory",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidHook",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidManager",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidPool",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidPrice",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidRequestManager",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidVault",
        "inputs": []
      },
      {
        "type": "error",
        "name": "LocalTransferNotAllowed",
        "inputs": []
      },
      {
        "type": "error",
        "name": "MalformedVaultUpdateMessage",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NoCode",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotAuthorized",
        "inputs": []
      },
      {
        "type": "error",
        "name": "OldHook",
        "inputs": []
      },
      {
        "type": "error",
        "name": "OldMetadata",
        "inputs": []
      },
      {
        "type": "error",
        "name": "PoolAlreadyAdded",
        "inputs": []
      },
      {
        "type": "error",
        "name": "PrefixNotZero",
        "inputs": []
      },
      {
        "type": "error",
        "name": "RequestManagerNotSet",
        "inputs": []
      },
      {
        "type": "error",
        "name": "SafeTransferEthFailed",
        "inputs": []
      },
      {
        "type": "error",
        "name": "ShareClassAlreadyRegistered",
        "inputs": []
      },
      {
        "type": "error",
        "name": "ShareTokenDoesNotExist",
        "inputs": []
      },
      {
        "type": "error",
        "name": "ShareTokenTransferFailed",
        "inputs": []
      },
      {
        "type": "error",
        "name": "TooFewDecimals",
        "inputs": []
      },
      {
        "type": "error",
        "name": "TooManyDecimals",
        "inputs": []
      },
      {
        "type": "error",
        "name": "TransferFromFailed",
        "inputs": []
      },
      {
        "type": "error",
        "name": "UnauthorizedSender",
        "inputs": []
      },
      {
        "type": "error",
        "name": "UnknownAsset",
        "inputs": []
      },
      {
        "type": "error",
        "name": "UnknownVault",
        "inputs": []
      },
      {
        "type": "error",
        "name": "WrappedError",
        "inputs": [
          {
            "name": "target",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "selector",
            "type": "bytes4",
            "internalType": "bytes4"
          },
          {
            "name": "reason",
            "type": "bytes",
            "internalType": "bytes"
          },
          {
            "name": "details",
            "type": "bytes",
            "internalType": "bytes"
          }
        ]
      }
    ],
    "SubsidyManager": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "refundEscrowFactory_",
            "type": "address",
            "internalType": "contract IRefundEscrowFactory"
          },
          {
            "name": "deployer",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "deposit",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "file",
        "inputs": [
          {
            "name": "what",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "data",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "refundEscrowFactory",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IRefundEscrowFactory"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "trustedCall",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "payload",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "wards",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "withdraw",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "value",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "withdrawAll",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "event",
        "name": "Deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "DepositSubsidy",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "sender",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "amount",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "File",
        "inputs": [
          {
            "name": "what",
            "type": "bytes32",
            "indexed": true,
            "internalType": "bytes32"
          },
          {
            "name": "data",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "WithdrawSubsidy",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "sender",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "amount",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "FileUnrecognizedParam",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotAuthorized",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotEnoughToWithdraw",
        "inputs": []
      },
      {
        "type": "error",
        "name": "PrefixNotZero",
        "inputs": []
      },
      {
        "type": "error",
        "name": "RefundEscrowNotDeployed",
        "inputs": []
      }
    ],
    "SyncDepositVault": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "poolId_",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId_",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "asset_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "token_",
            "type": "address",
            "internalType": "contract IShareToken"
          },
          {
            "name": "root_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "syncDepositManager_",
            "type": "address",
            "internalType": "contract ISyncDepositManager"
          },
          {
            "name": "asyncRedeemManager_",
            "type": "address",
            "internalType": "contract IAsyncRedeemManager"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "AUTHORIZE_OPERATOR_TYPEHASH",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "bytes32",
            "internalType": "bytes32"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "DOMAIN_SEPARATOR",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "bytes32",
            "internalType": "bytes32"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "asset",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "asyncRedeemManager",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IAsyncRedeemManager"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "authorizations",
        "inputs": [
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "nonce",
            "type": "bytes32",
            "internalType": "bytes32"
          }
        ],
        "outputs": [
          {
            "name": "used",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "authorizeOperator",
        "inputs": [
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "operator",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "approved",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "nonce",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "deadline",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "signature",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "outputs": [
          {
            "name": "success",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "baseManager",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IBaseRequestManager"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "cancelRedeemRequest",
        "inputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "claimCancelRedeemRequest",
        "inputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "shares",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "claimableCancelRedeemRequest",
        "inputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "claimableShares",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "claimableRedeemRequest",
        "inputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "claimableShares",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "convertToAssets",
        "inputs": [
          {
            "name": "shares",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "assets",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "convertToShares",
        "inputs": [
          {
            "name": "assets",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "shares",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "deploymentChainId",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "deposit",
        "inputs": [
          {
            "name": "assets",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "shares",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "file",
        "inputs": [
          {
            "name": "what",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "data",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "invalidateNonce",
        "inputs": [
          {
            "name": "nonce",
            "type": "bytes32",
            "internalType": "bytes32"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "isOperator",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isPermissioned",
        "inputs": [
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "maxDeposit",
        "inputs": [
          {
            "name": "owner",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "maxAssets",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "maxMint",
        "inputs": [
          {
            "name": "owner",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "maxShares",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "maxRedeem",
        "inputs": [
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "maxShares",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "maxWithdraw",
        "inputs": [
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "maxAssets",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "mint",
        "inputs": [
          {
            "name": "shares",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "assets",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "onCancelRedeemClaimable",
        "inputs": [
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "shares",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "onRedeemClaimable",
        "inputs": [
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "assets",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "shares",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "onRedeemRequest",
        "inputs": [
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "owner",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "shares",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "pendingCancelRedeemRequest",
        "inputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "isPending",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "pendingRedeemRequest",
        "inputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "pendingShares",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "poolId",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "previewDeposit",
        "inputs": [
          {
            "name": "assets",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "shares",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "previewMint",
        "inputs": [
          {
            "name": "shares",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "assets",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "previewRedeem",
        "inputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "previewWithdraw",
        "inputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "priceLastUpdated",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "uint64"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "pricePerShare",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "recoverTokens",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "amount",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "recoverTokens",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "amount",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "redeem",
        "inputs": [
          {
            "name": "shares",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "assets",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "requestRedeem",
        "inputs": [
          {
            "name": "shares",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "owner",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "root",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IRoot"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "scId",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "bytes16",
            "internalType": "ShareClassId"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "setEndorsedOperator",
        "inputs": [
          {
            "name": "owner",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "approved",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "setOperator",
        "inputs": [
          {
            "name": "operator",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "approved",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "outputs": [
          {
            "name": "success",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "share",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "supportsInterface",
        "inputs": [
          {
            "name": "interfaceId",
            "type": "bytes4",
            "internalType": "bytes4"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "syncDepositManager",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract ISyncDepositManager"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "totalAssets",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "vaultKind",
        "inputs": [],
        "outputs": [
          {
            "name": "vaultKind_",
            "type": "uint8",
            "internalType": "enum VaultKind"
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "wards",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "withdraw",
        "inputs": [
          {
            "name": "assets",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "shares",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "event",
        "name": "CancelRedeemClaim",
        "inputs": [
          {
            "name": "controller",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "receiver",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "requestId",
            "type": "uint256",
            "indexed": true,
            "internalType": "uint256"
          },
          {
            "name": "sender",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          },
          {
            "name": "shares",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "CancelRedeemClaimable",
        "inputs": [
          {
            "name": "controller",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "requestId",
            "type": "uint256",
            "indexed": true,
            "internalType": "uint256"
          },
          {
            "name": "shares",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "CancelRedeemRequest",
        "inputs": [
          {
            "name": "controller",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "requestId",
            "type": "uint256",
            "indexed": true,
            "internalType": "uint256"
          },
          {
            "name": "sender",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Deposit",
        "inputs": [
          {
            "name": "sender",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "owner",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "assets",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          },
          {
            "name": "shares",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "File",
        "inputs": [
          {
            "name": "what",
            "type": "bytes32",
            "indexed": true,
            "internalType": "bytes32"
          },
          {
            "name": "data",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "OperatorSet",
        "inputs": [
          {
            "name": "controller",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "operator",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "approved",
            "type": "bool",
            "indexed": false,
            "internalType": "bool"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "RedeemClaimable",
        "inputs": [
          {
            "name": "controller",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "requestId",
            "type": "uint256",
            "indexed": true,
            "internalType": "uint256"
          },
          {
            "name": "assets",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          },
          {
            "name": "shares",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "RedeemRequest",
        "inputs": [
          {
            "name": "controller",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "owner",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "requestId",
            "type": "uint256",
            "indexed": true,
            "internalType": "uint256"
          },
          {
            "name": "sender",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          },
          {
            "name": "shares",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Withdraw",
        "inputs": [
          {
            "name": "sender",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "receiver",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "owner",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "assets",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          },
          {
            "name": "shares",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "AlreadyUsedAuthorization",
        "inputs": []
      },
      {
        "type": "error",
        "name": "CannotSetSelfAsOperator",
        "inputs": []
      },
      {
        "type": "error",
        "name": "ExpiredAuthorization",
        "inputs": []
      },
      {
        "type": "error",
        "name": "FileUnrecognizedParam",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InsufficientBalance",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidAuthorization",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidController",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidSigner",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NoCode",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotAuthorized",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotEndorsed",
        "inputs": []
      },
      {
        "type": "error",
        "name": "RequestRedeemFailed",
        "inputs": []
      },
      {
        "type": "error",
        "name": "SafeTransferEthFailed",
        "inputs": []
      },
      {
        "type": "error",
        "name": "TransferFromFailed",
        "inputs": []
      },
      {
        "type": "error",
        "name": "WrappedError",
        "inputs": [
          {
            "name": "target",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "selector",
            "type": "bytes4",
            "internalType": "bytes4"
          },
          {
            "name": "reason",
            "type": "bytes",
            "internalType": "bytes"
          },
          {
            "name": "details",
            "type": "bytes",
            "internalType": "bytes"
          }
        ]
      }
    ],
    "SyncDepositVaultFactory": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "root_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "syncDepositManager_",
            "type": "address",
            "internalType": "contract ISyncDepositManager"
          },
          {
            "name": "asyncRedeemManager_",
            "type": "address",
            "internalType": "contract IAsyncRedeemManager"
          },
          {
            "name": "deployer",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "asyncRedeemManager",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IAsyncRedeemManager"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "newVault",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "asset",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "token",
            "type": "address",
            "internalType": "contract IShareToken"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IVault"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "root",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "syncDepositManager",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract ISyncDepositManager"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "wards",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "event",
        "name": "Deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "NotAuthorized",
        "inputs": []
      },
      {
        "type": "error",
        "name": "UnsupportedTokenId",
        "inputs": []
      }
    ],
    "SyncManager": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "deployer",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "balanceSheet",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IBalanceSheet"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "convertToAssets",
        "inputs": [
          {
            "name": "vault_",
            "type": "address",
            "internalType": "contract IBaseVault"
          },
          {
            "name": "shares",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "assets",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "convertToShares",
        "inputs": [
          {
            "name": "vault_",
            "type": "address",
            "internalType": "contract IBaseVault"
          },
          {
            "name": "assets",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "shares",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "deposit",
        "inputs": [
          {
            "name": "vault_",
            "type": "address",
            "internalType": "contract IBaseVault"
          },
          {
            "name": "assets",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "owner",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "shares",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "file",
        "inputs": [
          {
            "name": "what",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "data",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "maxDeposit",
        "inputs": [
          {
            "name": "vault_",
            "type": "address",
            "internalType": "contract IBaseVault"
          },
          {
            "name": "owner",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "assets",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "maxMint",
        "inputs": [
          {
            "name": "vault_",
            "type": "address",
            "internalType": "contract IBaseVault"
          },
          {
            "name": "owner",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "shares",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "maxReserve",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "asset",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "mint",
        "inputs": [
          {
            "name": "vault_",
            "type": "address",
            "internalType": "contract IBaseVault"
          },
          {
            "name": "shares",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "owner",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "assets",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "previewDeposit",
        "inputs": [
          {
            "name": "vault_",
            "type": "address",
            "internalType": "contract IBaseVault"
          },
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "assets",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "shares",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "previewMint",
        "inputs": [
          {
            "name": "vault_",
            "type": "address",
            "internalType": "contract IBaseVault"
          },
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "shares",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "assets",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "pricePoolPerShare",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          }
        ],
        "outputs": [
          {
            "name": "price",
            "type": "uint128",
            "internalType": "D18"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "recoverTokens",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "amount",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "recoverTokens",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "amount",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "setMaxReserve",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "asset",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "maxReserve_",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "setValuation",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "valuation_",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "spoke",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract ISpoke"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "trustedCall",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "payload",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "valuation",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "",
            "type": "bytes16",
            "internalType": "ShareClassId"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract ISyncDepositValuation"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "vaultRegistry",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IVaultRegistry"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "wards",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "event",
        "name": "Deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "File",
        "inputs": [
          {
            "name": "what",
            "type": "bytes32",
            "indexed": true,
            "internalType": "bytes32"
          },
          {
            "name": "data",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "SetMaxReserve",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "asset",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          },
          {
            "name": "maxReserve",
            "type": "uint128",
            "indexed": false,
            "internalType": "uint128"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "SetValuation",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "valuation",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "DivisionByZero",
        "inputs": []
      },
      {
        "type": "error",
        "name": "ExceedsMaxDeposit",
        "inputs": []
      },
      {
        "type": "error",
        "name": "ExceedsMaxMint",
        "inputs": []
      },
      {
        "type": "error",
        "name": "FileUnrecognizedParam",
        "inputs": []
      },
      {
        "type": "error",
        "name": "MulDiv_Overflow",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NoCode",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotAuthorized",
        "inputs": []
      },
      {
        "type": "error",
        "name": "PrefixNotZero",
        "inputs": []
      },
      {
        "type": "error",
        "name": "SafeTransferEthFailed",
        "inputs": []
      },
      {
        "type": "error",
        "name": "SecondaryManagerDoesNotExist",
        "inputs": []
      },
      {
        "type": "error",
        "name": "ShareTokenDoesNotExist",
        "inputs": []
      },
      {
        "type": "error",
        "name": "Uint128_Overflow",
        "inputs": []
      },
      {
        "type": "error",
        "name": "UnknownTrustedCall",
        "inputs": []
      },
      {
        "type": "error",
        "name": "WrappedError",
        "inputs": [
          {
            "name": "target",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "selector",
            "type": "bytes4",
            "internalType": "bytes4"
          },
          {
            "name": "reason",
            "type": "bytes",
            "internalType": "bytes"
          },
          {
            "name": "details",
            "type": "bytes",
            "internalType": "bytes"
          }
        ]
      }
    ],
    "TokenFactory": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "_root",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "deployer",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "file",
        "inputs": [
          {
            "name": "what",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "data",
            "type": "address[]",
            "internalType": "address[]"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "getAddress",
        "inputs": [
          {
            "name": "decimals",
            "type": "uint8",
            "internalType": "uint8"
          },
          {
            "name": "salt",
            "type": "bytes32",
            "internalType": "bytes32"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "newToken",
        "inputs": [
          {
            "name": "name",
            "type": "string",
            "internalType": "string"
          },
          {
            "name": "symbol",
            "type": "string",
            "internalType": "string"
          },
          {
            "name": "decimals",
            "type": "uint8",
            "internalType": "uint8"
          },
          {
            "name": "salt",
            "type": "bytes32",
            "internalType": "bytes32"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IShareToken"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "root",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "tokenWards",
        "inputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "wards",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "event",
        "name": "Deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "File",
        "inputs": [
          {
            "name": "what",
            "type": "bytes32",
            "indexed": false,
            "internalType": "bytes32"
          },
          {
            "name": "addr",
            "type": "address[]",
            "indexed": false,
            "internalType": "address[]"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "FileUnrecognizedParam",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotAuthorized",
        "inputs": []
      }
    ],
    "TokenRecoverer": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "root_",
            "type": "address",
            "internalType": "contract IRoot"
          },
          {
            "name": "deployer",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "recoverTokens",
        "inputs": [
          {
            "name": "target",
            "type": "address",
            "internalType": "contract IRecoverable"
          },
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "amount",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "root",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IRoot"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "wards",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "event",
        "name": "Deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "RecoverTokens",
        "inputs": [
          {
            "name": "target",
            "type": "address",
            "indexed": true,
            "internalType": "contract IRecoverable"
          },
          {
            "name": "token",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          },
          {
            "name": "to",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "amount",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "NotAuthorized",
        "inputs": []
      }
    ],
    "VaultDecoder": [
      {
        "type": "fallback",
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "approve",
        "inputs": [
          {
            "name": "spender",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "addressesFound",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "approve",
        "inputs": [
          {
            "name": "spender",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "addressesFound",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "cancelDepositRequest",
        "inputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "addressesFound",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "cancelRedeemRequest",
        "inputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "addressesFound",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "claimCancelDepositRequest",
        "inputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "addressesFound",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "claimCancelRedeemRequest",
        "inputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "addressesFound",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "deposit",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "asset",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "outputs": [
          {
            "name": "addressesFound",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "deposit",
        "inputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "addressesFound",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "mint",
        "inputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "addressesFound",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "stateMutability": "pure"
      },
      {
        "type": "function",
        "name": "redeem",
        "inputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "owner",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "addressesFound",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "requestDeposit",
        "inputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "owner",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "addressesFound",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "requestRedeem",
        "inputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "owner",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "addressesFound",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "withdraw",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "asset",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "",
            "type": "uint128",
            "internalType": "uint128"
          }
        ],
        "outputs": [
          {
            "name": "addressesFound",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "withdraw",
        "inputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "owner",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "addressesFound",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "error",
        "name": "FunctionNotImplemented",
        "inputs": [
          {
            "name": "_calldata",
            "type": "bytes",
            "internalType": "bytes"
          }
        ]
      }
    ],
    "VaultRegistry": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "initialWard",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "deployVault",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "factory",
            "type": "address",
            "internalType": "contract IVaultFactory"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IVault"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "file",
        "inputs": [
          {
            "name": "what",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "data",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "isLinked",
        "inputs": [
          {
            "name": "vault_",
            "type": "address",
            "internalType": "contract IVault"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "linkVault",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "vault_",
            "type": "address",
            "internalType": "contract IVault"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "recoverTokens",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "amount",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "recoverTokens",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "amount",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "registerVault",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "asset",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "factory",
            "type": "address",
            "internalType": "contract IVaultFactory"
          },
          {
            "name": "vault_",
            "type": "address",
            "internalType": "contract IVault"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "spoke",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract ISpoke"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "unlinkVault",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "vault_",
            "type": "address",
            "internalType": "contract IVault"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "updateVault",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "assetId",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "vaultOrFactory",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "kind",
            "type": "uint8",
            "internalType": "enum VaultUpdateKind"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "vault",
        "inputs": [
          {
            "name": "",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "",
            "type": "uint128",
            "internalType": "AssetId"
          },
          {
            "name": "",
            "type": "address",
            "internalType": "contract IRequestManager"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IVault"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "vaultDetails",
        "inputs": [
          {
            "name": "vault_",
            "type": "address",
            "internalType": "contract IVault"
          }
        ],
        "outputs": [
          {
            "name": "details",
            "type": "tuple",
            "internalType": "struct VaultDetails",
            "components": [
              {
                "name": "assetId",
                "type": "uint128",
                "internalType": "AssetId"
              },
              {
                "name": "asset",
                "type": "address",
                "internalType": "address"
              },
              {
                "name": "tokenId",
                "type": "uint256",
                "internalType": "uint256"
              },
              {
                "name": "isLinked",
                "type": "bool",
                "internalType": "bool"
              }
            ]
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "wards",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "event",
        "name": "Deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "DeployVault",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "asset",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          },
          {
            "name": "factory",
            "type": "address",
            "indexed": false,
            "internalType": "contract IVaultFactory"
          },
          {
            "name": "vault",
            "type": "address",
            "indexed": false,
            "internalType": "contract IVault"
          },
          {
            "name": "kind",
            "type": "uint8",
            "indexed": false,
            "internalType": "enum VaultKind"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "File",
        "inputs": [
          {
            "name": "what",
            "type": "bytes32",
            "indexed": true,
            "internalType": "bytes32"
          },
          {
            "name": "data",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "LinkVault",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "asset",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          },
          {
            "name": "vault",
            "type": "address",
            "indexed": false,
            "internalType": "contract IVault"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "UnlinkVault",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "indexed": true,
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "indexed": true,
            "internalType": "ShareClassId"
          },
          {
            "name": "asset",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          },
          {
            "name": "vault",
            "type": "address",
            "indexed": false,
            "internalType": "contract IVault"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "AlreadyLinkedVault",
        "inputs": []
      },
      {
        "type": "error",
        "name": "AlreadyUnlinkedVault",
        "inputs": []
      },
      {
        "type": "error",
        "name": "FileUnrecognizedParam",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidRequestManager",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidVault",
        "inputs": []
      },
      {
        "type": "error",
        "name": "MalformedVaultUpdateMessage",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NoCode",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotAuthorized",
        "inputs": []
      },
      {
        "type": "error",
        "name": "SafeTransferEthFailed",
        "inputs": []
      },
      {
        "type": "error",
        "name": "UnknownVault",
        "inputs": []
      },
      {
        "type": "error",
        "name": "WrappedError",
        "inputs": [
          {
            "name": "target",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "selector",
            "type": "bytes4",
            "internalType": "bytes4"
          },
          {
            "name": "reason",
            "type": "bytes",
            "internalType": "bytes"
          },
          {
            "name": "details",
            "type": "bytes",
            "internalType": "bytes"
          }
        ]
      }
    ],
    "VaultRouter": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "gateway_",
            "type": "address",
            "internalType": "contract IGateway"
          },
          {
            "name": "spoke_",
            "type": "address",
            "internalType": "contract ISpoke"
          },
          {
            "name": "vaultRegistry_",
            "type": "address",
            "internalType": "contract IVaultRegistry"
          },
          {
            "name": "deployer",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "cancelDepositRequest",
        "inputs": [
          {
            "name": "vault",
            "type": "address",
            "internalType": "contract IAsyncVault"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "cancelRedeemRequest",
        "inputs": [
          {
            "name": "vault",
            "type": "address",
            "internalType": "contract IAsyncVault"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "claimCancelDepositRequest",
        "inputs": [
          {
            "name": "vault",
            "type": "address",
            "internalType": "contract IAsyncVault"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "claimCancelRedeemRequest",
        "inputs": [
          {
            "name": "vault",
            "type": "address",
            "internalType": "contract IAsyncVault"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "claimDeposit",
        "inputs": [
          {
            "name": "vault",
            "type": "address",
            "internalType": "contract IAsyncVault"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "claimRedeem",
        "inputs": [
          {
            "name": "vault",
            "type": "address",
            "internalType": "contract IBaseVault"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "crosschainTransferShares",
        "inputs": [
          {
            "name": "vault",
            "type": "address",
            "internalType": "contract BaseSyncDepositVault"
          },
          {
            "name": "shares",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "receiver",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "owner",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "extraGasLimit",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "remoteExtraGasLimit",
            "type": "uint128",
            "internalType": "uint128"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "deposit",
        "inputs": [
          {
            "name": "vault",
            "type": "address",
            "internalType": "contract BaseSyncDepositVault"
          },
          {
            "name": "assets",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "owner",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "disable",
        "inputs": [
          {
            "name": "vault",
            "type": "address",
            "internalType": "contract IBaseVault"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "enable",
        "inputs": [
          {
            "name": "vault",
            "type": "address",
            "internalType": "contract IBaseVault"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "executeMulticall",
        "inputs": [
          {
            "name": "data",
            "type": "bytes[]",
            "internalType": "bytes[]"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "gateway",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IGateway"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "getVault",
        "inputs": [
          {
            "name": "poolId",
            "type": "uint64",
            "internalType": "PoolId"
          },
          {
            "name": "scId",
            "type": "bytes16",
            "internalType": "ShareClassId"
          },
          {
            "name": "asset",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "hasPermissions",
        "inputs": [
          {
            "name": "vault",
            "type": "address",
            "internalType": "contract IBaseVault"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isEnabled",
        "inputs": [
          {
            "name": "vault",
            "type": "address",
            "internalType": "contract IBaseVault"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "multicall",
        "inputs": [
          {
            "name": "data",
            "type": "bytes[]",
            "internalType": "bytes[]"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "permit",
        "inputs": [
          {
            "name": "asset",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "spender",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "assets",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "deadline",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "v",
            "type": "uint8",
            "internalType": "uint8"
          },
          {
            "name": "r",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "s",
            "type": "bytes32",
            "internalType": "bytes32"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "recoverTokens",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "amount",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "recoverTokens",
        "inputs": [
          {
            "name": "token",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "tokenId",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "receiver",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "amount",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "requestDeposit",
        "inputs": [
          {
            "name": "vault",
            "type": "address",
            "internalType": "contract IAsyncVault"
          },
          {
            "name": "amount",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "owner",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "requestRedeem",
        "inputs": [
          {
            "name": "vault",
            "type": "address",
            "internalType": "contract IAsyncVault"
          },
          {
            "name": "amount",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "controller",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "owner",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "spoke",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract ISpoke"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "vaultRegistry",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IVaultRegistry"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "wards",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "event",
        "name": "Deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "ExecuteLockedDepositRequest",
        "inputs": [
          {
            "name": "vault",
            "type": "address",
            "indexed": true,
            "internalType": "contract IBaseVault"
          },
          {
            "name": "controller",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "sender",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "LockDepositRequest",
        "inputs": [
          {
            "name": "vault",
            "type": "address",
            "indexed": true,
            "internalType": "contract IBaseVault"
          },
          {
            "name": "controller",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "owner",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "sender",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          },
          {
            "name": "amount",
            "type": "uint256",
            "indexed": false,
            "internalType": "uint256"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "UnlockDepositRequest",
        "inputs": [
          {
            "name": "vault",
            "type": "address",
            "indexed": true,
            "internalType": "contract IBaseVault"
          },
          {
            "name": "controller",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          },
          {
            "name": "receiver",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "AlreadyBatching",
        "inputs": []
      },
      {
        "type": "error",
        "name": "CallFailedWithEmptyRevert",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidOwner",
        "inputs": []
      },
      {
        "type": "error",
        "name": "InvalidSender",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NoCode",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NoLockedBalance",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NoLockedRequest",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NonAsyncVault",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NonSyncDepositVault",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotAuthorized",
        "inputs": []
      },
      {
        "type": "error",
        "name": "SafeTransferEthFailed",
        "inputs": []
      },
      {
        "type": "error",
        "name": "UnauthorizedSender",
        "inputs": []
      },
      {
        "type": "error",
        "name": "WrappedError",
        "inputs": [
          {
            "name": "target",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "selector",
            "type": "bytes4",
            "internalType": "bytes4"
          },
          {
            "name": "reason",
            "type": "bytes",
            "internalType": "bytes"
          },
          {
            "name": "details",
            "type": "bytes",
            "internalType": "bytes"
          }
        ]
      },
      {
        "type": "error",
        "name": "ZeroBalance",
        "inputs": []
      }
    ],
    "WormholeAdapter": [
      {
        "type": "constructor",
        "inputs": [
          {
            "name": "entrypoint_",
            "type": "address",
            "internalType": "contract IMessageHandler"
          },
          {
            "name": "relayer_",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "deployer",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "RECEIVE_COST",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "destinations",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          }
        ],
        "outputs": [
          {
            "name": "wormholeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "addr",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "entrypoint",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IMessageHandler"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "estimate",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "",
            "type": "bytes",
            "internalType": "bytes"
          },
          {
            "name": "gasLimit",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "outputs": [
          {
            "name": "nativePriceQuote",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "isWired",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "bool",
            "internalType": "bool"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "localWormholeId",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "uint16",
            "internalType": "uint16"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "receiveWormholeMessages",
        "inputs": [
          {
            "name": "payload",
            "type": "bytes",
            "internalType": "bytes"
          },
          {
            "name": "",
            "type": "bytes[]",
            "internalType": "bytes[]"
          },
          {
            "name": "sourceAddress",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "sourceWormholeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "",
            "type": "bytes32",
            "internalType": "bytes32"
          }
        ],
        "outputs": [],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "relayer",
        "inputs": [],
        "outputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "contract IWormholeRelayer"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "function",
        "name": "send",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "payload",
            "type": "bytes",
            "internalType": "bytes"
          },
          {
            "name": "gasLimit",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "refund",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "adapterData",
            "type": "bytes32",
            "internalType": "bytes32"
          }
        ],
        "stateMutability": "payable"
      },
      {
        "type": "function",
        "name": "sources",
        "inputs": [
          {
            "name": "wormholeId",
            "type": "uint16",
            "internalType": "uint16"
          }
        ],
        "outputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "addr",
            "type": "address",
            "internalType": "address"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "wards",
        "inputs": [
          {
            "name": "",
            "type": "address",
            "internalType": "address"
          }
        ],
        "outputs": [
          {
            "name": "",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "stateMutability": "view"
      },
      {
        "type": "function",
        "name": "wire",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "internalType": "uint16"
          },
          {
            "name": "data",
            "type": "bytes",
            "internalType": "bytes"
          }
        ],
        "outputs": [],
        "stateMutability": "nonpayable"
      },
      {
        "type": "event",
        "name": "Deny",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Rely",
        "inputs": [
          {
            "name": "user",
            "type": "address",
            "indexed": true,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "event",
        "name": "Wire",
        "inputs": [
          {
            "name": "centrifugeId",
            "type": "uint16",
            "indexed": true,
            "internalType": "uint16"
          },
          {
            "name": "wormholeId",
            "type": "uint16",
            "indexed": true,
            "internalType": "uint16"
          },
          {
            "name": "adapter",
            "type": "address",
            "indexed": false,
            "internalType": "address"
          }
        ],
        "anonymous": false
      },
      {
        "type": "error",
        "name": "InvalidSource",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotAuthorized",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotEntrypoint",
        "inputs": []
      },
      {
        "type": "error",
        "name": "NotWormholeRelayer",
        "inputs": []
      },
      {
        "type": "error",
        "name": "PrefixNotZero",
        "inputs": []
      },
      {
        "type": "error",
        "name": "UnknownChainId",
        "inputs": []
      }
    ]
  }
}