{
  "abi": [
    {
      "type": "function",
      "name": "comptroller",
      "inputs": [],
      "outputs": [{ "name": "", "type": "address", "internalType": "contract ISablierComptroller" }],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "computeMerkleVCA",
      "inputs": [
        { "name": "campaignCreator", "type": "address", "internalType": "address" },
        {
          "name": "campaignParams",
          "type": "tuple",
          "internalType": "struct MerkleVCA.ConstructorParams",
          "components": [
            { "name": "aggregateAmount", "type": "uint128", "internalType": "uint128" },
            { "name": "campaignName", "type": "string", "internalType": "string" },
            { "name": "campaignStartTime", "type": "uint40", "internalType": "uint40" },
            { "name": "claimType", "type": "uint8", "internalType": "enum ClaimType" },
            { "name": "enableRedistribution", "type": "bool", "internalType": "bool" },
            { "name": "expiration", "type": "uint40", "internalType": "uint40" },
            { "name": "initialAdmin", "type": "address", "internalType": "address" },
            { "name": "ipfsCID", "type": "string", "internalType": "string" },
            { "name": "merkleRoot", "type": "bytes32", "internalType": "bytes32" },
            { "name": "token", "type": "address", "internalType": "contract IERC20" },
            { "name": "unlockPercentage", "type": "uint256", "internalType": "UD60x18" },
            { "name": "vestingEndTime", "type": "uint40", "internalType": "uint40" },
            { "name": "vestingStartTime", "type": "uint40", "internalType": "uint40" }
          ]
        }
      ],
      "outputs": [{ "name": "merkleVCA", "type": "address", "internalType": "address" }],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "createMerkleVCA",
      "inputs": [
        {
          "name": "campaignParams",
          "type": "tuple",
          "internalType": "struct MerkleVCA.ConstructorParams",
          "components": [
            { "name": "aggregateAmount", "type": "uint128", "internalType": "uint128" },
            { "name": "campaignName", "type": "string", "internalType": "string" },
            { "name": "campaignStartTime", "type": "uint40", "internalType": "uint40" },
            { "name": "claimType", "type": "uint8", "internalType": "enum ClaimType" },
            { "name": "enableRedistribution", "type": "bool", "internalType": "bool" },
            { "name": "expiration", "type": "uint40", "internalType": "uint40" },
            { "name": "initialAdmin", "type": "address", "internalType": "address" },
            { "name": "ipfsCID", "type": "string", "internalType": "string" },
            { "name": "merkleRoot", "type": "bytes32", "internalType": "bytes32" },
            { "name": "token", "type": "address", "internalType": "contract IERC20" },
            { "name": "unlockPercentage", "type": "uint256", "internalType": "UD60x18" },
            { "name": "vestingEndTime", "type": "uint40", "internalType": "uint40" },
            { "name": "vestingStartTime", "type": "uint40", "internalType": "uint40" }
          ]
        },
        { "name": "recipientCount", "type": "uint256", "internalType": "uint256" }
      ],
      "outputs": [{ "name": "merkleVCA", "type": "address", "internalType": "contract ISablierMerkleVCA" }],
      "stateMutability": "nonpayable"
    },
    {
      "type": "function",
      "name": "nativeToken",
      "inputs": [],
      "outputs": [{ "name": "", "type": "address", "internalType": "address" }],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "setComptroller",
      "inputs": [{ "name": "newComptroller", "type": "address", "internalType": "contract ISablierComptroller" }],
      "outputs": [],
      "stateMutability": "nonpayable"
    },
    {
      "type": "function",
      "name": "setNativeToken",
      "inputs": [{ "name": "newNativeToken", "type": "address", "internalType": "address" }],
      "outputs": [],
      "stateMutability": "nonpayable"
    },
    {
      "type": "function",
      "name": "transferFeesToComptroller",
      "inputs": [],
      "outputs": [],
      "stateMutability": "nonpayable"
    },
    {
      "type": "event",
      "name": "CreateMerkleVCA",
      "inputs": [
        { "name": "merkleVCA", "type": "address", "indexed": true, "internalType": "contract ISablierMerkleVCA" },
        {
          "name": "campaignParams",
          "type": "tuple",
          "indexed": false,
          "internalType": "struct MerkleVCA.ConstructorParams",
          "components": [
            { "name": "aggregateAmount", "type": "uint128", "internalType": "uint128" },
            { "name": "campaignName", "type": "string", "internalType": "string" },
            { "name": "campaignStartTime", "type": "uint40", "internalType": "uint40" },
            { "name": "claimType", "type": "uint8", "internalType": "enum ClaimType" },
            { "name": "enableRedistribution", "type": "bool", "internalType": "bool" },
            { "name": "expiration", "type": "uint40", "internalType": "uint40" },
            { "name": "initialAdmin", "type": "address", "internalType": "address" },
            { "name": "ipfsCID", "type": "string", "internalType": "string" },
            { "name": "merkleRoot", "type": "bytes32", "internalType": "bytes32" },
            { "name": "token", "type": "address", "internalType": "contract IERC20" },
            { "name": "unlockPercentage", "type": "uint256", "internalType": "UD60x18" },
            { "name": "vestingEndTime", "type": "uint40", "internalType": "uint40" },
            { "name": "vestingStartTime", "type": "uint40", "internalType": "uint40" }
          ]
        },
        { "name": "recipientCount", "type": "uint256", "indexed": false, "internalType": "uint256" },
        { "name": "comptroller", "type": "address", "indexed": false, "internalType": "address" },
        { "name": "minFeeUSD", "type": "uint256", "indexed": false, "internalType": "uint256" }
      ],
      "anonymous": false
    },
    {
      "type": "event",
      "name": "SetComptroller",
      "inputs": [
        {
          "name": "oldComptroller",
          "type": "address",
          "indexed": false,
          "internalType": "contract ISablierComptroller"
        },
        {
          "name": "newComptroller",
          "type": "address",
          "indexed": false,
          "internalType": "contract ISablierComptroller"
        }
      ],
      "anonymous": false
    },
    {
      "type": "event",
      "name": "SetNativeToken",
      "inputs": [
        { "name": "comptroller", "type": "address", "indexed": true, "internalType": "address" },
        { "name": "nativeToken", "type": "address", "indexed": false, "internalType": "address" }
      ],
      "anonymous": false
    },
    {
      "type": "event",
      "name": "TransferFeesToComptroller",
      "inputs": [
        { "name": "comptroller", "type": "address", "indexed": true, "internalType": "address" },
        { "name": "feeAmount", "type": "uint256", "indexed": false, "internalType": "uint256" }
      ],
      "anonymous": false
    }
  ],
  "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} },
  "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} },
  "methodIdentifiers": {
    "comptroller()": "5fe3b567",
    "computeMerkleVCA(address,(uint128,string,uint40,uint8,bool,uint40,address,string,bytes32,address,uint256,uint40,uint40))": "1be3dd6e",
    "createMerkleVCA((uint128,string,uint40,uint8,bool,uint40,address,string,bytes32,address,uint256,uint40,uint40),uint256)": "ed0595ed",
    "nativeToken()": "e1758bd8",
    "setComptroller(address)": "8bad38dd",
    "setNativeToken(address)": "6da1e102",
    "transferFeesToComptroller()": "78f82ce7"
  },
  "rawMetadata": "{\"compiler\":{\"version\":\"0.8.29+commit.ab55807c\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract ISablierMerkleVCA\",\"name\":\"merkleVCA\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint128\",\"name\":\"aggregateAmount\",\"type\":\"uint128\"},{\"internalType\":\"string\",\"name\":\"campaignName\",\"type\":\"string\"},{\"internalType\":\"uint40\",\"name\":\"campaignStartTime\",\"type\":\"uint40\"},{\"internalType\":\"enum ClaimType\",\"name\":\"claimType\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"enableRedistribution\",\"type\":\"bool\"},{\"internalType\":\"uint40\",\"name\":\"expiration\",\"type\":\"uint40\"},{\"internalType\":\"address\",\"name\":\"initialAdmin\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"ipfsCID\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"merkleRoot\",\"type\":\"bytes32\"},{\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"UD60x18\",\"name\":\"unlockPercentage\",\"type\":\"uint256\"},{\"internalType\":\"uint40\",\"name\":\"vestingEndTime\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"vestingStartTime\",\"type\":\"uint40\"}],\"indexed\":false,\"internalType\":\"struct MerkleVCA.ConstructorParams\",\"name\":\"campaignParams\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"recipientCount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"comptroller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"minFeeUSD\",\"type\":\"uint256\"}],\"name\":\"CreateMerkleVCA\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"contract ISablierComptroller\",\"name\":\"oldComptroller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"contract ISablierComptroller\",\"name\":\"newComptroller\",\"type\":\"address\"}],\"name\":\"SetComptroller\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptroller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nativeToken\",\"type\":\"address\"}],\"name\":\"SetNativeToken\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptroller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"feeAmount\",\"type\":\"uint256\"}],\"name\":\"TransferFeesToComptroller\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"comptroller\",\"outputs\":[{\"internalType\":\"contract ISablierComptroller\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"campaignCreator\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint128\",\"name\":\"aggregateAmount\",\"type\":\"uint128\"},{\"internalType\":\"string\",\"name\":\"campaignName\",\"type\":\"string\"},{\"internalType\":\"uint40\",\"name\":\"campaignStartTime\",\"type\":\"uint40\"},{\"internalType\":\"enum ClaimType\",\"name\":\"claimType\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"enableRedistribution\",\"type\":\"bool\"},{\"internalType\":\"uint40\",\"name\":\"expiration\",\"type\":\"uint40\"},{\"internalType\":\"address\",\"name\":\"initialAdmin\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"ipfsCID\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"merkleRoot\",\"type\":\"bytes32\"},{\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"UD60x18\",\"name\":\"unlockPercentage\",\"type\":\"uint256\"},{\"internalType\":\"uint40\",\"name\":\"vestingEndTime\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"vestingStartTime\",\"type\":\"uint40\"}],\"internalType\":\"struct MerkleVCA.ConstructorParams\",\"name\":\"campaignParams\",\"type\":\"tuple\"}],\"name\":\"computeMerkleVCA\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"merkleVCA\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint128\",\"name\":\"aggregateAmount\",\"type\":\"uint128\"},{\"internalType\":\"string\",\"name\":\"campaignName\",\"type\":\"string\"},{\"internalType\":\"uint40\",\"name\":\"campaignStartTime\",\"type\":\"uint40\"},{\"internalType\":\"enum ClaimType\",\"name\":\"claimType\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"enableRedistribution\",\"type\":\"bool\"},{\"internalType\":\"uint40\",\"name\":\"expiration\",\"type\":\"uint40\"},{\"internalType\":\"address\",\"name\":\"initialAdmin\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"ipfsCID\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"merkleRoot\",\"type\":\"bytes32\"},{\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"UD60x18\",\"name\":\"unlockPercentage\",\"type\":\"uint256\"},{\"internalType\":\"uint40\",\"name\":\"vestingEndTime\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"vestingStartTime\",\"type\":\"uint40\"}],\"internalType\":\"struct MerkleVCA.ConstructorParams\",\"name\":\"campaignParams\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"recipientCount\",\"type\":\"uint256\"}],\"name\":\"createMerkleVCA\",\"outputs\":[{\"internalType\":\"contract ISablierMerkleVCA\",\"name\":\"merkleVCA\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nativeToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ISablierComptroller\",\"name\":\"newComptroller\",\"type\":\"address\"}],\"name\":\"setComptroller\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newNativeToken\",\"type\":\"address\"}],\"name\":\"setNativeToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"transferFeesToComptroller\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"See the documentation in {ISablierMerkleVCA}.\",\"kind\":\"dev\",\"methods\":{\"computeMerkleVCA(address,(uint128,string,uint40,uint8,bool,uint40,address,string,bytes32,address,uint256,uint40,uint40))\":{\"details\":\"Reverts if the requirements from {createMerkleVCA} are not met.\"},\"createMerkleVCA((uint128,string,uint40,uint8,bool,uint40,address,string,bytes32,address,uint256,uint40,uint40),uint256)\":{\"details\":\"Emits a {CreateMerkleVCA} event. Notes: - The contract is created with CREATE2. - The campaign's fee will be set to the min USD fee unless a custom fee is set for `msg.sender`. - Users interested into funding the campaign before its deployment must meet the below requirements, otherwise the campaign deployment will revert. Requirements: - `campaignParams.token` must not be the forbidden native token. - `campaignParams.aggregateAmount` must be greater than 0. - Both `campaignParams.vestingStartTime` and `campaignParams.vestingEndTime` must be greater than 0. - `campaignParams.vestingEndTime` must be greater than `campaignParams.vestingStartTime`. - `campaignParams.expiration` must be greater than 0. - `campaignParams.expiration` must be at least 1 week beyond the end time to ensure loyal recipients have enough time to claim. - `campaignParams.unlockPercentage` must not be greater than 1e18, equivalent to 100%.\",\"params\":{\"campaignParams\":\"Struct encapsulating the {SablierMerkleVCA} parameters.\",\"recipientCount\":\"The total number of recipient addresses eligible for the airdrop.\"},\"returns\":{\"merkleVCA\":\"The address of the newly created MerkleVCA campaign.\"}},\"nativeToken()\":{\"details\":\"The native tokens on some chains have a dual interface as ERC-20. For example, on Polygon the $POL token is the native token and has an ERC-20 version at 0x0000000000000000000000000000000000001010. This means that `address(this).balance` returns the same value as `balanceOf(address(this))`. To avoid any unintended behavior, these tokens cannot be used in Sablier. As an alternative, users can use the Wrapped version of the token, i.e. WMATIC, which is a standard ERC-20 token.\"},\"setComptroller(address)\":{\"details\":\"Emits a {SetComptroller} event. Requirements: - `msg.sender` must be the current comptroller. - The new comptroller must return `true` from {supportsInterface} with the comptroller's minimal interface ID which is defined as the XOR of the following function selectors: 1. {calculateMinFeeWeiFor} 2. {convertUSDFeeToWei} 3. {execute} 4. {getMinFeeUSDFor}\",\"params\":{\"newComptroller\":\"The address of the new comptroller contract.\"}},\"setNativeToken(address)\":{\"details\":\"For more information, see the documentation for {nativeToken}. Emits a {SetNativeToken} event. Requirements: - `msg.sender` must be the comptroller. - `newNativeToken` must not be zero address. - The native token must not be already set.\",\"params\":{\"newNativeToken\":\"The address of the native token.\"}},\"transferFeesToComptroller()\":{\"details\":\"Emits a {TransferFeesToComptroller} event.\"}},\"title\":\"ISablierFactoryMerkleVCA\",\"version\":1},\"userdoc\":{\"events\":{\"CreateMerkleVCA(address,(uint128,string,uint40,uint8,bool,uint40,address,string,bytes32,address,uint256,uint40,uint40),uint256,address,uint256)\":{\"notice\":\"Emitted when a {SablierMerkleVCA} campaign is created.\"},\"SetComptroller(address,address)\":{\"notice\":\"Emitted when the comptroller address is set by the admin.\"},\"SetNativeToken(address,address)\":{\"notice\":\"Emitted when the native token address is set by the comptroller.\"},\"TransferFeesToComptroller(address,uint256)\":{\"notice\":\"Emitted when the fees are transferred to the comptroller contract.\"}},\"kind\":\"user\",\"methods\":{\"comptroller()\":{\"notice\":\"Retrieves the address of the comptroller contract.\"},\"computeMerkleVCA(address,(uint128,string,uint40,uint8,bool,uint40,address,string,bytes32,address,uint256,uint40,uint40))\":{\"notice\":\"Computes the deterministic address where {SablierMerkleVCA} campaign will be deployed.\"},\"createMerkleVCA((uint128,string,uint40,uint8,bool,uint40,address,string,bytes32,address,uint256,uint40,uint40),uint256)\":{\"notice\":\"Creates a new MerkleVCA campaign for variable distribution of tokens.\"},\"nativeToken()\":{\"notice\":\"Retrieves the address of the ERC-20 interface of the native token, if it exists.\"},\"setComptroller(address)\":{\"notice\":\"Sets the comptroller to a new address.\"},\"setNativeToken(address)\":{\"notice\":\"Sets the native token address. Once set, it cannot be changed.\"},\"transferFeesToComptroller()\":{\"notice\":\"Transfers the fees to the comptroller contract.\"}},\"notice\":\"A factory that deploys MerkleVCA campaign contracts.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/interfaces/ISablierFactoryMerkleVCA.sol\":\"ISablierFactoryMerkleVCA\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":60000},\"remappings\":[\":@arbitrum/=node_modules/@arbitrum/\",\":@chainlink/=node_modules/@chainlink/\",\":@eth-optimism/=node_modules/@eth-optimism/\",\":@offchainlabs/=node_modules/@offchainlabs/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@prb/=node_modules/@prb/\",\":@sablier/=node_modules/@sablier/\",\":@scroll-tech/=node_modules/@scroll-tech/\",\":@zksync/=node_modules/@zksync/\",\":forge-std/=node_modules/forge-std/\",\":murky/=node_modules/murky/\",\":openzeppelin-contracts/=node_modules/murky/lib/openzeppelin-contracts/\",\":solady/=node_modules/solady/\",\":solarray/=node_modules/solarray/\"],\"viaIR\":true},\"sources\":{\"node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196\",\"dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"node_modules/@prb/math/src/Common.sol\":{\"keccak256\":\"0x8225a3898d2f11f585da1fb82234800e9717fa080dbe53d450fd429a3a632e99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2dcbf39ca575f68f32f0d1c66391de94082424956e7585e849813966f8c0fc05\",\"dweb:/ipfs/QmYvk8vXFDUJHrmqbtutYXfoLomLBosYLyBzuPoYBxsQ42\"]},\"node_modules/@prb/math/src/UD60x18.sol\":{\"keccak256\":\"0xb98c6f74275914d279e8af6c502c2b1f50d5f6e1ed418d3b0153f5a193206c48\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a750edde2955f160806a51083a12185fb04e20efca0e3a7ebd127dc1acc049a9\",\"dweb:/ipfs/QmeAre3mThopoQPB9mSXZq6jck59QZ7JbDFR83urd2SLvp\"]},\"node_modules/@prb/math/src/sd1x18/Casting.sol\":{\"keccak256\":\"0x5d365f655f01598926c5d4fe5cda277f2cc7736fe38f943c11a32009077ddd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://56b378bd6039819bc12e5f17dabd9492e1410b3281f9df496cf8210539101a11\",\"dweb:/ipfs/QmcMaE64ZWMg9cFhYxdTuG8nfzeDdNuTRHMMoFXi6tSZGu\"]},\"node_modules/@prb/math/src/sd1x18/Constants.sol\":{\"keccak256\":\"0xc14cc32061863d83912f9616de86f3c34f1ac58614b7d504c6ce07ee8efdb8e8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://22483b1282dda6a556b0232f008a5a3296bbfd76b1886e6b72bf351b7c554fab\",\"dweb:/ipfs/QmYX9cYkrFxBbhZNKsb6uUxtrc2chmAj7vuc7UKRPGMwos\"]},\"node_modules/@prb/math/src/sd1x18/Errors.sol\":{\"keccak256\":\"0xc3c8b1ab3d19889c356c222a3a2186d45dfc1d3a17b9ad88159bb64ee457baa6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84fbe57569246403f778330bd7723018dfcb5f0ec50d7b1d82cc983c94a54bca\",\"dweb:/ipfs/QmWssAAnovc2EVjt58rTnxraE9B1RMivwTvYCYgpnr6oSE\"]},\"node_modules/@prb/math/src/sd1x18/ValueType.sol\":{\"keccak256\":\"0xaa9dc7b562faf45264390d80e2ea10c5295bb8a4f10d76261a3f9c04363734c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6ca36acd15f5cb47cf124ddec289f84e1011f2d29056159e4570435629a3353\",\"dweb:/ipfs/QmUKdiLmZpAkNCq2TKxrPbQPUhiRFXGfjGSnY1VeHVu4y6\"]},\"node_modules/@prb/math/src/sd21x18/Casting.sol\":{\"keccak256\":\"0x4a16adddb9ab1f6939dd4567c77205015a11081cb840029b84bbb6fdaf78ee36\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5003b2f4cd2fc1413da36bc63107c6e83a88d29693e8f97b54f300fa78f9c6d2\",\"dweb:/ipfs/QmaNJn91NLrZmeeGqnFQV1FTrLVSW852zHyWTrWJ5pf1pd\"]},\"node_modules/@prb/math/src/sd21x18/Constants.sol\":{\"keccak256\":\"0x501c2d5cfdea9450422182059c8df1cb6a859901a07bd59631c3fa24edcc79d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4669a65001c92919671fd879d33ce0e5030b602a7ba4d36bd2308128d8d1f396\",\"dweb:/ipfs/QmUC3bJ3qdkCmLMw3WHBcEqvuC4tExT2LXzUhgu5KQ3vi3\"]},\"node_modules/@prb/math/src/sd21x18/Errors.sol\":{\"keccak256\":\"0xc5422ee47eb139274e538e758fb40177a1ba22c2113ef3b3446102f0150bfe0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a1981e052e9e86e1b0e4e55a057a7af4739aedd4ead2d60e3eaa40fb703594ee\",\"dweb:/ipfs/QmPK5qSujnyk1R8ues4RhDMy1tRKKyjQ31YJTviTKq7GML\"]},\"node_modules/@prb/math/src/sd21x18/ValueType.sol\":{\"keccak256\":\"0x532bba888370bed393464412f4ef3462d654802e71c953ad02d078e3d2701092\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://922a4e8dd813602f72d165aa1dfdf2c29b971a2abe73bebca7cd81a32ee2c880\",\"dweb:/ipfs/QmTBAJnx1r3sZpbQAuTgQtsTtvjZbpDwhCJRzkhzUumbdf\"]},\"node_modules/@prb/math/src/sd59x18/Casting.sol\":{\"keccak256\":\"0xdf70d8e70c6d6325f3f7eb028c484bc7189ef902f1d4b5b220af2e550bb5fc39\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b15bcd36129c5cb163d57a117435afb171182018dd6d1e766a5f49cf1f4b63d\",\"dweb:/ipfs/QmbjzkMBH4FM2rdxGbx9LQ65wVERijNcu7R9C8dQmH3y4n\"]},\"node_modules/@prb/math/src/sd59x18/Constants.sol\":{\"keccak256\":\"0x9bcb8dd6b3e886d140ad1c32747a4f6d29a492529ceb835be878ae837aa6cc3a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c4045c633e3618e7e90a768d92415b2f20f781fe129b4f4e26fa88f7dbf9201f\",\"dweb:/ipfs/Qmbet95pizwPno82cJ383wJtgQRSQKESmhVZ1vDrgAu7Si\"]},\"node_modules/@prb/math/src/sd59x18/Errors.sol\":{\"keccak256\":\"0x0a79c28c85fc8a450b0801ff2e66114eac4ec565819f5d1d8738904658fe33e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e0d4fd3c998019fb8555d9e26c03bec42a8513bdf4185aeac2da3a000abaebf\",\"dweb:/ipfs/QmahFJHXcX4RwPxaQbUf6LVZEk8NSpjCV3Eif7i9iqC6Mk\"]},\"node_modules/@prb/math/src/sd59x18/Helpers.sol\":{\"keccak256\":\"0x208570f1657cf730cb6c3d81aa14030e0d45cf906cdedea5059369d7df4bb716\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c78ca900edafa9338d4e3649a55ab0c84f76468d8a22fb945ba6d01e70f8fed\",\"dweb:/ipfs/QmeP4hQYfNxcATd1FsasdD4ebyu2vrC9K1N68swxUJzzZD\"]},\"node_modules/@prb/math/src/sd59x18/Math.sol\":{\"keccak256\":\"0xd8e8b51db9b3e2fa31a60f6b8ce4ea0112c3364442ede5992aa0aa7a2c925c84\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c56913970e34ee7b142047b21f1856a511cbdc3473b7c50418a8490e19cd462\",\"dweb:/ipfs/QmfG1F9CBDjPYD7NXora9awFfdpvBMY9SCg5pMLCFRv9tD\"]},\"node_modules/@prb/math/src/sd59x18/ValueType.sol\":{\"keccak256\":\"0x76597ba64d37d66e0178512bc9bbc1a031a7634c45e5d5c6e9da87f46952dc9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36148899ad874814e9292636fb974d2eec61f1bcc0875ec39cf444d70ba40919\",\"dweb:/ipfs/QmadUe4kH2FPcdxvhCKy8yiezCvPWor4VcPzqLYSAaGDDb\"]},\"node_modules/@prb/math/src/ud21x18/Casting.sol\":{\"keccak256\":\"0x3821aa57604f6e5b7c9c5c5cc97a6d71116e673cf3fee5f76fcd42b4cefded65\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a80399c6b38ab45cc10d0a6683d50340cd89d9a085b6d0dcfb81e7c4e5b3ce09\",\"dweb:/ipfs/QmWNW2YD2LMkqrpAtJYeeuHN329Rx7mvfmrjsCo1p6akTL\"]},\"node_modules/@prb/math/src/ud21x18/Constants.sol\":{\"keccak256\":\"0x0997574a1ced6c43bde6d9c9175edc5ad64cbb920a0969a9db68eea543747601\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c09f03345a6779b002b38ffc3954258accbb2b1d0d5506d42c3bd7f117304f60\",\"dweb:/ipfs/QmTeBXRCE7H2HpqKUNsZN7Nk3rdBnFmbAUFom3E1PJeGuV\"]},\"node_modules/@prb/math/src/ud21x18/Errors.sol\":{\"keccak256\":\"0x35a1fb789b90f8c90865884d3023deb17fcca5c7146b5ddef823496d835a5415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0af359d07ba25bdc90de7c05ed6216833932caa75d4a02fcfc51ceeaba5a4e80\",\"dweb:/ipfs/QmavBFw73Xfp1qJiN6P1gk2Dfr8ByWo3dyCPVgDHtko2gq\"]},\"node_modules/@prb/math/src/ud21x18/ValueType.sol\":{\"keccak256\":\"0x24838b2b1da371b9259d8ee21534a9f0cb5796aba75a4efca2374627952bee25\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://897e6b79308651671c7f3c91a0069e778b47356c9ba3f86e238398ab7f2623af\",\"dweb:/ipfs/QmZbLw3tJVRZFQnV9jWQUmF43gna841adSG2TAiwDAifGU\"]},\"node_modules/@prb/math/src/ud2x18/Casting.sol\":{\"keccak256\":\"0x0f3141ed054e7c29dbe1acb4b88b18eb05d60e998fba6b4e503a6799faa356d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1e2468fc4c458082aaf4aa2e35af9ba3702f207e3c8533dd1e7da11ad605eae\",\"dweb:/ipfs/QmSm7iRH1eo4cJCwcAiiXWRH9Hn1urSS4tMdbaFbFGuTyL\"]},\"node_modules/@prb/math/src/ud2x18/Constants.sol\":{\"keccak256\":\"0x29b0e050c865899e1fb9022b460a7829cdee248c44c4299f068ba80695eec3fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbaef16b662fac235349bcf97bc980dd0cba15d4e6230caae61224cdac8ea6d9\",\"dweb:/ipfs/QmZQa5XBhi7k3yhtCd8wVpnwW8htfU4sjXxWhxRypMBYkC\"]},\"node_modules/@prb/math/src/ud2x18/Errors.sol\":{\"keccak256\":\"0x3b27e2a57438cd30d9c130f84aace24d547e5ed58e8689691d7d92ad2db38ddd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://841cf9fb45443899c6b659300bbf503c3fd2c1a1e83b7f0e28620eed457f7437\",\"dweb:/ipfs/QmUqg8WscP5yQPw3UMUCWaB9RLU6nryGzseuyhAjNnDc1i\"]},\"node_modules/@prb/math/src/ud2x18/ValueType.sol\":{\"keccak256\":\"0x975a2e69b48f34a4c0bd80e8a5609ac67b7264c91992c0944f9ebe7b9e3fc9d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65d012521c475295d7e70b7d526fcc0911d0f238ea938719d77251bba00c9b41\",\"dweb:/ipfs/QmexEvTQCCBPYRWAYnomZX5M7C2EkXQRAXqEYMNUZfazCs\"]},\"node_modules/@prb/math/src/ud60x18/Casting.sol\":{\"keccak256\":\"0x0803318ddc98b4ba8fbfe70e5ee08d78387fe6ae00982b9960518085a751d7b6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2e68a2f780b2e33fa5416eb60f9daa81f014c2591119f4b67bed1217d5530780\",\"dweb:/ipfs/QmZe7JTWvbfKqMnu4sxUwWCtLcCay9hH71VZUpoFCdENcr\"]},\"node_modules/@prb/math/src/ud60x18/Constants.sol\":{\"keccak256\":\"0x2b80d26153d3fdcfb3a9ca772d9309d31ed1275f5b8b54c3ffb54d3652b37d90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e3a6673a156f635db94dc176baaa7274db8f9bec4461cd1152596253550ee3b\",\"dweb:/ipfs/Qmc9zT4kNSbMYaXcnbxNVqmb3P3m46ieaQxkwxqLwsvRA5\"]},\"node_modules/@prb/math/src/ud60x18/Conversions.sol\":{\"keccak256\":\"0xd486ecca97abe69acdb28230088f4c7097fbdae5b36c5ae45d5be2faac4c33f2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6080870ec6955ff0f5278f9c480b218a68714daf5f2ee42da0276d08d7b82932\",\"dweb:/ipfs/QmQ1SERHdemJgPrt4USwY8j5r63jZ8fQuJAm1knjMEEQEY\"]},\"node_modules/@prb/math/src/ud60x18/Errors.sol\":{\"keccak256\":\"0xbab6b0e303d32f3a9d9e2fe881f0392b8c59a73051a4d34f21a403b3961b3044\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86a019bcf2510d0691287329dc057479cc0abc48a5e15f245e7f15c03052d2c8\",\"dweb:/ipfs/QmeXe5pbpDHvN5DZ8puXmH2RJ25zDHj55wpiStWtNQPvq6\"]},\"node_modules/@prb/math/src/ud60x18/Helpers.sol\":{\"keccak256\":\"0xf5faff881391d2c060029499a666cc5f0bea90a213150bb476fae8f02a5df268\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76105fa22bb1b5f1fa99abf9c4fbc9577a02c7bc204f271754c407f0d75489f5\",\"dweb:/ipfs/QmVNGZSTniDuZus5DdbFubqJXCLtTaZit7YPm4ntjr5Lgr\"]},\"node_modules/@prb/math/src/ud60x18/Math.sol\":{\"keccak256\":\"0xc4e51dfd9af62938e277e90fa724099f239d33727a35909ed48c292a76faf2fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d731537cbc50b852c21d28625aeb2c329729afc23a7b86ff9d8ee5878f47e9d6\",\"dweb:/ipfs/QmS7Cj4pAdPZcTp7RqYXyxBc9EYX92CT8icfkNigktUsLr\"]},\"node_modules/@prb/math/src/ud60x18/ValueType.sol\":{\"keccak256\":\"0x1b200baf25d01a8b91b97b42114248636f742b5b7028487ef4daef6621e378a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b5708ed017206bda2197654e80bea9f37b3a9993434bb066c903c2865e028f47\",\"dweb:/ipfs/QmTyotZk2J5YvWkNvB2qhXBMgRGWW2UgPqR4JPocrXSr8n\"]},\"node_modules/@sablier/evm-utils/src/interfaces/IAdminable.sol\":{\"keccak256\":\"0x3228d63e9b0b951030c73c42bb071e64f0ff0eadbcbeefad3f29a48366539c26\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://acc90ad2bec0e84349b56611b35b56bfb75a5930fd1babb2bd638fbbb15bd126\",\"dweb:/ipfs/QmSLnHx6bo4BQeBKYferfEhZo1Z4xCXdDF1bzJoHUafHt4\"]},\"node_modules/@sablier/evm-utils/src/interfaces/IComptrollerable.sol\":{\"keccak256\":\"0xdbc32762b87590be38095a84789906fa7a23fd2c2c112859504549ef3be17522\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://14ac13726bb7435ce310dd437a9b58852ca0c35640949e898c803a33a30dee8b\",\"dweb:/ipfs/QmeeKPApvBHbUF3S98qCnB26Aw67KTQF2GFyGQZCxykyMW\"]},\"node_modules/@sablier/evm-utils/src/interfaces/IRoleAdminable.sol\":{\"keccak256\":\"0x391cb4bd4bae01e3efdb84f63635644ed6329b72e8a5105ad53833551e8ba825\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://ccca9da1c044c15cf0b647a4572c05f5d498fb18b3685a85a8836f7110cb1bc4\",\"dweb:/ipfs/QmfAKHqvgKQUgpC6VomTjTkc1tDnsbVJD5bLn8wL8KuTFV\"]},\"node_modules/@sablier/evm-utils/src/interfaces/ISablierComptroller.sol\":{\"keccak256\":\"0x5c52e70a6c083611d4b5518d17d025f70d322ee2c61d81f20f3fe50f4bd824ba\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://5c07b2076065f1c65a59176ada3459be53f78e59a2055d9ae92b226edafa484c\",\"dweb:/ipfs/QmXYRDkBSWUBza1pi439ErzeLoaLUT8Zvj2yWcFZ5F1rgX\"]},\"src/interfaces/ISablierFactoryMerkleBase.sol\":{\"keccak256\":\"0x9f92d9fb4758379e1649a35eec35c0e9b5d1403cac8a9c20403a33ac0de004b8\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://b32cd3982504e7584adae3ca25b927c6fd11d19029f6d5f049a11145aea7dee7\",\"dweb:/ipfs/QmezYhSdiU6ciuosTqMe3kDTFpX8xttgkjayF37j7tUQni\"]},\"src/interfaces/ISablierFactoryMerkleVCA.sol\":{\"keccak256\":\"0xbd226e4c8174b11bd96119fe9110faac0721138599eb5d18beed81abd1f7f95d\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://afec91354d1387e782c21a75682143940c54366deea22eafa129c72a80547a7e\",\"dweb:/ipfs/Qmf9iB57CdwURpX8rMuFmNgsnLisv16kCW1gcQF697JkdQ\"]},\"src/interfaces/ISablierMerkleBase.sol\":{\"keccak256\":\"0xfc4e9b4737765f3f66fb81390154aaff3f21ee63fd21bed441baf553ac090993\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://189aab3a9ddf0e72425cb3b6420129ce971da916967a920c3132e328e546abbb\",\"dweb:/ipfs/QmQZaV1yvBs6MBf5jzgboTYztsVLMi5q3L4JVowyn6Yhrp\"]},\"src/interfaces/ISablierMerkleSignature.sol\":{\"keccak256\":\"0x2e6e8cc3b951ddc10344883c08d662161efbd5fb5bc4672f77b51aa7ed8bf87d\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://dd48f5c162987c93e45f7f942b7f23817d81ef588bb776816a207639c91e6e4e\",\"dweb:/ipfs/QmQHyHxPG6YVt5BVMYKfb5YWX6cQdp5yMVHoP1u2U3E1ut\"]},\"src/interfaces/ISablierMerkleVCA.sol\":{\"keccak256\":\"0x03225dad17bf31b691522a733e1130615adc9530de777abbbcc2b733833b8046\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://e995929a61acde5553c28ad8fbd10598ec7fc3d3ac509b0fdb0f08a60a91227f\",\"dweb:/ipfs/QmYu4eb7dLj6giynvGedCxWDnjD2TDrDh7yDizaJdCu4HX\"]},\"src/types/MerkleBase.sol\":{\"keccak256\":\"0x33004c31ccf302e5da76dbb8476816db31c2c0984fb9c928c45528bbfdef6397\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://55b26d1a6beda8cb76043d2fde56445910ae3e88e8ab20d2c48678e4456beca3\",\"dweb:/ipfs/QmYrMXbpPcjzJen93uFXiBws7fauseuXZcQ9fpbsNbaGN8\"]},\"src/types/MerkleVCA.sol\":{\"keccak256\":\"0xf3a18cb59859a19df261de13f3943f6c572a4ee5397f5871fb68522d35238515\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://d3c5a62c2ef30e6c653f59508e6cdb0f7244eacf6907ae959c1e73618177da89\",\"dweb:/ipfs/QmNYeLAQiY39SHYhfVpTrmacxHmQnN88T92ijLHQEfXamu\"]}},\"version\":1}",
  "metadata": {
    "compiler": { "version": "0.8.29+commit.ab55807c" },
    "language": "Solidity",
    "output": {
      "abi": [
        {
          "inputs": [
            { "internalType": "contract ISablierMerkleVCA", "name": "merkleVCA", "type": "address", "indexed": true },
            {
              "internalType": "struct MerkleVCA.ConstructorParams",
              "name": "campaignParams",
              "type": "tuple",
              "components": [
                { "internalType": "uint128", "name": "aggregateAmount", "type": "uint128" },
                { "internalType": "string", "name": "campaignName", "type": "string" },
                { "internalType": "uint40", "name": "campaignStartTime", "type": "uint40" },
                { "internalType": "enum ClaimType", "name": "claimType", "type": "uint8" },
                { "internalType": "bool", "name": "enableRedistribution", "type": "bool" },
                { "internalType": "uint40", "name": "expiration", "type": "uint40" },
                { "internalType": "address", "name": "initialAdmin", "type": "address" },
                { "internalType": "string", "name": "ipfsCID", "type": "string" },
                { "internalType": "bytes32", "name": "merkleRoot", "type": "bytes32" },
                { "internalType": "contract IERC20", "name": "token", "type": "address" },
                { "internalType": "UD60x18", "name": "unlockPercentage", "type": "uint256" },
                { "internalType": "uint40", "name": "vestingEndTime", "type": "uint40" },
                { "internalType": "uint40", "name": "vestingStartTime", "type": "uint40" }
              ],
              "indexed": false
            },
            { "internalType": "uint256", "name": "recipientCount", "type": "uint256", "indexed": false },
            { "internalType": "address", "name": "comptroller", "type": "address", "indexed": false },
            { "internalType": "uint256", "name": "minFeeUSD", "type": "uint256", "indexed": false }
          ],
          "type": "event",
          "name": "CreateMerkleVCA",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "contract ISablierComptroller",
              "name": "oldComptroller",
              "type": "address",
              "indexed": false
            },
            {
              "internalType": "contract ISablierComptroller",
              "name": "newComptroller",
              "type": "address",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "SetComptroller",
          "anonymous": false
        },
        {
          "inputs": [
            { "internalType": "address", "name": "comptroller", "type": "address", "indexed": true },
            { "internalType": "address", "name": "nativeToken", "type": "address", "indexed": false }
          ],
          "type": "event",
          "name": "SetNativeToken",
          "anonymous": false
        },
        {
          "inputs": [
            { "internalType": "address", "name": "comptroller", "type": "address", "indexed": true },
            { "internalType": "uint256", "name": "feeAmount", "type": "uint256", "indexed": false }
          ],
          "type": "event",
          "name": "TransferFeesToComptroller",
          "anonymous": false
        },
        {
          "inputs": [],
          "stateMutability": "view",
          "type": "function",
          "name": "comptroller",
          "outputs": [{ "internalType": "contract ISablierComptroller", "name": "", "type": "address" }]
        },
        {
          "inputs": [
            { "internalType": "address", "name": "campaignCreator", "type": "address" },
            {
              "internalType": "struct MerkleVCA.ConstructorParams",
              "name": "campaignParams",
              "type": "tuple",
              "components": [
                { "internalType": "uint128", "name": "aggregateAmount", "type": "uint128" },
                { "internalType": "string", "name": "campaignName", "type": "string" },
                { "internalType": "uint40", "name": "campaignStartTime", "type": "uint40" },
                { "internalType": "enum ClaimType", "name": "claimType", "type": "uint8" },
                { "internalType": "bool", "name": "enableRedistribution", "type": "bool" },
                { "internalType": "uint40", "name": "expiration", "type": "uint40" },
                { "internalType": "address", "name": "initialAdmin", "type": "address" },
                { "internalType": "string", "name": "ipfsCID", "type": "string" },
                { "internalType": "bytes32", "name": "merkleRoot", "type": "bytes32" },
                { "internalType": "contract IERC20", "name": "token", "type": "address" },
                { "internalType": "UD60x18", "name": "unlockPercentage", "type": "uint256" },
                { "internalType": "uint40", "name": "vestingEndTime", "type": "uint40" },
                { "internalType": "uint40", "name": "vestingStartTime", "type": "uint40" }
              ]
            }
          ],
          "stateMutability": "view",
          "type": "function",
          "name": "computeMerkleVCA",
          "outputs": [{ "internalType": "address", "name": "merkleVCA", "type": "address" }]
        },
        {
          "inputs": [
            {
              "internalType": "struct MerkleVCA.ConstructorParams",
              "name": "campaignParams",
              "type": "tuple",
              "components": [
                { "internalType": "uint128", "name": "aggregateAmount", "type": "uint128" },
                { "internalType": "string", "name": "campaignName", "type": "string" },
                { "internalType": "uint40", "name": "campaignStartTime", "type": "uint40" },
                { "internalType": "enum ClaimType", "name": "claimType", "type": "uint8" },
                { "internalType": "bool", "name": "enableRedistribution", "type": "bool" },
                { "internalType": "uint40", "name": "expiration", "type": "uint40" },
                { "internalType": "address", "name": "initialAdmin", "type": "address" },
                { "internalType": "string", "name": "ipfsCID", "type": "string" },
                { "internalType": "bytes32", "name": "merkleRoot", "type": "bytes32" },
                { "internalType": "contract IERC20", "name": "token", "type": "address" },
                { "internalType": "UD60x18", "name": "unlockPercentage", "type": "uint256" },
                { "internalType": "uint40", "name": "vestingEndTime", "type": "uint40" },
                { "internalType": "uint40", "name": "vestingStartTime", "type": "uint40" }
              ]
            },
            { "internalType": "uint256", "name": "recipientCount", "type": "uint256" }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "createMerkleVCA",
          "outputs": [{ "internalType": "contract ISablierMerkleVCA", "name": "merkleVCA", "type": "address" }]
        },
        {
          "inputs": [],
          "stateMutability": "view",
          "type": "function",
          "name": "nativeToken",
          "outputs": [{ "internalType": "address", "name": "", "type": "address" }]
        },
        {
          "inputs": [{ "internalType": "contract ISablierComptroller", "name": "newComptroller", "type": "address" }],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "setComptroller"
        },
        {
          "inputs": [{ "internalType": "address", "name": "newNativeToken", "type": "address" }],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "setNativeToken"
        },
        { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "transferFeesToComptroller" }
      ],
      "devdoc": {
        "kind": "dev",
        "methods": {
          "computeMerkleVCA(address,(uint128,string,uint40,uint8,bool,uint40,address,string,bytes32,address,uint256,uint40,uint40))": {
            "details": "Reverts if the requirements from {createMerkleVCA} are not met."
          },
          "createMerkleVCA((uint128,string,uint40,uint8,bool,uint40,address,string,bytes32,address,uint256,uint40,uint40),uint256)": {
            "details": "Emits a {CreateMerkleVCA} event. Notes: - The contract is created with CREATE2. - The campaign's fee will be set to the min USD fee unless a custom fee is set for `msg.sender`. - Users interested into funding the campaign before its deployment must meet the below requirements, otherwise the campaign deployment will revert. Requirements: - `campaignParams.token` must not be the forbidden native token. - `campaignParams.aggregateAmount` must be greater than 0. - Both `campaignParams.vestingStartTime` and `campaignParams.vestingEndTime` must be greater than 0. - `campaignParams.vestingEndTime` must be greater than `campaignParams.vestingStartTime`. - `campaignParams.expiration` must be greater than 0. - `campaignParams.expiration` must be at least 1 week beyond the end time to ensure loyal recipients have enough time to claim. - `campaignParams.unlockPercentage` must not be greater than 1e18, equivalent to 100%.",
            "params": {
              "campaignParams": "Struct encapsulating the {SablierMerkleVCA} parameters.",
              "recipientCount": "The total number of recipient addresses eligible for the airdrop."
            },
            "returns": { "merkleVCA": "The address of the newly created MerkleVCA campaign." }
          },
          "nativeToken()": {
            "details": "The native tokens on some chains have a dual interface as ERC-20. For example, on Polygon the $POL token is the native token and has an ERC-20 version at 0x0000000000000000000000000000000000001010. This means that `address(this).balance` returns the same value as `balanceOf(address(this))`. To avoid any unintended behavior, these tokens cannot be used in Sablier. As an alternative, users can use the Wrapped version of the token, i.e. WMATIC, which is a standard ERC-20 token."
          },
          "setComptroller(address)": {
            "details": "Emits a {SetComptroller} event. Requirements: - `msg.sender` must be the current comptroller. - The new comptroller must return `true` from {supportsInterface} with the comptroller's minimal interface ID which is defined as the XOR of the following function selectors: 1. {calculateMinFeeWeiFor} 2. {convertUSDFeeToWei} 3. {execute} 4. {getMinFeeUSDFor}",
            "params": { "newComptroller": "The address of the new comptroller contract." }
          },
          "setNativeToken(address)": {
            "details": "For more information, see the documentation for {nativeToken}. Emits a {SetNativeToken} event. Requirements: - `msg.sender` must be the comptroller. - `newNativeToken` must not be zero address. - The native token must not be already set.",
            "params": { "newNativeToken": "The address of the native token." }
          },
          "transferFeesToComptroller()": { "details": "Emits a {TransferFeesToComptroller} event." }
        },
        "version": 1
      },
      "userdoc": {
        "kind": "user",
        "methods": {
          "comptroller()": { "notice": "Retrieves the address of the comptroller contract." },
          "computeMerkleVCA(address,(uint128,string,uint40,uint8,bool,uint40,address,string,bytes32,address,uint256,uint40,uint40))": {
            "notice": "Computes the deterministic address where {SablierMerkleVCA} campaign will be deployed."
          },
          "createMerkleVCA((uint128,string,uint40,uint8,bool,uint40,address,string,bytes32,address,uint256,uint40,uint40),uint256)": {
            "notice": "Creates a new MerkleVCA campaign for variable distribution of tokens."
          },
          "nativeToken()": {
            "notice": "Retrieves the address of the ERC-20 interface of the native token, if it exists."
          },
          "setComptroller(address)": { "notice": "Sets the comptroller to a new address." },
          "setNativeToken(address)": { "notice": "Sets the native token address. Once set, it cannot be changed." },
          "transferFeesToComptroller()": { "notice": "Transfers the fees to the comptroller contract." }
        },
        "version": 1
      }
    },
    "settings": {
      "remappings": [
        "@arbitrum/=node_modules/@arbitrum/",
        "@chainlink/=node_modules/@chainlink/",
        "@eth-optimism/=node_modules/@eth-optimism/",
        "@offchainlabs/=node_modules/@offchainlabs/",
        "@openzeppelin/=node_modules/@openzeppelin/",
        "@prb/=node_modules/@prb/",
        "@sablier/=node_modules/@sablier/",
        "@scroll-tech/=node_modules/@scroll-tech/",
        "@zksync/=node_modules/@zksync/",
        "forge-std/=node_modules/forge-std/",
        "murky/=node_modules/murky/",
        "openzeppelin-contracts/=node_modules/murky/lib/openzeppelin-contracts/",
        "solady/=node_modules/solady/",
        "solarray/=node_modules/solarray/"
      ],
      "optimizer": { "enabled": true, "runs": 60000 },
      "metadata": { "bytecodeHash": "ipfs" },
      "compilationTarget": { "src/interfaces/ISablierFactoryMerkleVCA.sol": "ISablierFactoryMerkleVCA" },
      "evmVersion": "shanghai",
      "libraries": {},
      "viaIR": true
    },
    "sources": {
      "node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol": {
        "keccak256": "0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d",
        "urls": [
          "bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196",
          "dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA"
        ],
        "license": "MIT"
      },
      "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": {
        "keccak256": "0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7",
        "urls": [
          "bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db",
          "dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"
        ],
        "license": "MIT"
      },
      "node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol": {
        "keccak256": "0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8",
        "urls": [
          "bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621",
          "dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"
        ],
        "license": "MIT"
      },
      "node_modules/@prb/math/src/Common.sol": {
        "keccak256": "0x8225a3898d2f11f585da1fb82234800e9717fa080dbe53d450fd429a3a632e99",
        "urls": [
          "bzz-raw://2dcbf39ca575f68f32f0d1c66391de94082424956e7585e849813966f8c0fc05",
          "dweb:/ipfs/QmYvk8vXFDUJHrmqbtutYXfoLomLBosYLyBzuPoYBxsQ42"
        ],
        "license": "MIT"
      },
      "node_modules/@prb/math/src/UD60x18.sol": {
        "keccak256": "0xb98c6f74275914d279e8af6c502c2b1f50d5f6e1ed418d3b0153f5a193206c48",
        "urls": [
          "bzz-raw://a750edde2955f160806a51083a12185fb04e20efca0e3a7ebd127dc1acc049a9",
          "dweb:/ipfs/QmeAre3mThopoQPB9mSXZq6jck59QZ7JbDFR83urd2SLvp"
        ],
        "license": "MIT"
      },
      "node_modules/@prb/math/src/sd1x18/Casting.sol": {
        "keccak256": "0x5d365f655f01598926c5d4fe5cda277f2cc7736fe38f943c11a32009077ddd5c",
        "urls": [
          "bzz-raw://56b378bd6039819bc12e5f17dabd9492e1410b3281f9df496cf8210539101a11",
          "dweb:/ipfs/QmcMaE64ZWMg9cFhYxdTuG8nfzeDdNuTRHMMoFXi6tSZGu"
        ],
        "license": "MIT"
      },
      "node_modules/@prb/math/src/sd1x18/Constants.sol": {
        "keccak256": "0xc14cc32061863d83912f9616de86f3c34f1ac58614b7d504c6ce07ee8efdb8e8",
        "urls": [
          "bzz-raw://22483b1282dda6a556b0232f008a5a3296bbfd76b1886e6b72bf351b7c554fab",
          "dweb:/ipfs/QmYX9cYkrFxBbhZNKsb6uUxtrc2chmAj7vuc7UKRPGMwos"
        ],
        "license": "MIT"
      },
      "node_modules/@prb/math/src/sd1x18/Errors.sol": {
        "keccak256": "0xc3c8b1ab3d19889c356c222a3a2186d45dfc1d3a17b9ad88159bb64ee457baa6",
        "urls": [
          "bzz-raw://84fbe57569246403f778330bd7723018dfcb5f0ec50d7b1d82cc983c94a54bca",
          "dweb:/ipfs/QmWssAAnovc2EVjt58rTnxraE9B1RMivwTvYCYgpnr6oSE"
        ],
        "license": "MIT"
      },
      "node_modules/@prb/math/src/sd1x18/ValueType.sol": {
        "keccak256": "0xaa9dc7b562faf45264390d80e2ea10c5295bb8a4f10d76261a3f9c04363734c0",
        "urls": [
          "bzz-raw://c6ca36acd15f5cb47cf124ddec289f84e1011f2d29056159e4570435629a3353",
          "dweb:/ipfs/QmUKdiLmZpAkNCq2TKxrPbQPUhiRFXGfjGSnY1VeHVu4y6"
        ],
        "license": "MIT"
      },
      "node_modules/@prb/math/src/sd21x18/Casting.sol": {
        "keccak256": "0x4a16adddb9ab1f6939dd4567c77205015a11081cb840029b84bbb6fdaf78ee36",
        "urls": [
          "bzz-raw://5003b2f4cd2fc1413da36bc63107c6e83a88d29693e8f97b54f300fa78f9c6d2",
          "dweb:/ipfs/QmaNJn91NLrZmeeGqnFQV1FTrLVSW852zHyWTrWJ5pf1pd"
        ],
        "license": "MIT"
      },
      "node_modules/@prb/math/src/sd21x18/Constants.sol": {
        "keccak256": "0x501c2d5cfdea9450422182059c8df1cb6a859901a07bd59631c3fa24edcc79d4",
        "urls": [
          "bzz-raw://4669a65001c92919671fd879d33ce0e5030b602a7ba4d36bd2308128d8d1f396",
          "dweb:/ipfs/QmUC3bJ3qdkCmLMw3WHBcEqvuC4tExT2LXzUhgu5KQ3vi3"
        ],
        "license": "MIT"
      },
      "node_modules/@prb/math/src/sd21x18/Errors.sol": {
        "keccak256": "0xc5422ee47eb139274e538e758fb40177a1ba22c2113ef3b3446102f0150bfe0a",
        "urls": [
          "bzz-raw://a1981e052e9e86e1b0e4e55a057a7af4739aedd4ead2d60e3eaa40fb703594ee",
          "dweb:/ipfs/QmPK5qSujnyk1R8ues4RhDMy1tRKKyjQ31YJTviTKq7GML"
        ],
        "license": "MIT"
      },
      "node_modules/@prb/math/src/sd21x18/ValueType.sol": {
        "keccak256": "0x532bba888370bed393464412f4ef3462d654802e71c953ad02d078e3d2701092",
        "urls": [
          "bzz-raw://922a4e8dd813602f72d165aa1dfdf2c29b971a2abe73bebca7cd81a32ee2c880",
          "dweb:/ipfs/QmTBAJnx1r3sZpbQAuTgQtsTtvjZbpDwhCJRzkhzUumbdf"
        ],
        "license": "MIT"
      },
      "node_modules/@prb/math/src/sd59x18/Casting.sol": {
        "keccak256": "0xdf70d8e70c6d6325f3f7eb028c484bc7189ef902f1d4b5b220af2e550bb5fc39",
        "urls": [
          "bzz-raw://0b15bcd36129c5cb163d57a117435afb171182018dd6d1e766a5f49cf1f4b63d",
          "dweb:/ipfs/QmbjzkMBH4FM2rdxGbx9LQ65wVERijNcu7R9C8dQmH3y4n"
        ],
        "license": "MIT"
      },
      "node_modules/@prb/math/src/sd59x18/Constants.sol": {
        "keccak256": "0x9bcb8dd6b3e886d140ad1c32747a4f6d29a492529ceb835be878ae837aa6cc3a",
        "urls": [
          "bzz-raw://c4045c633e3618e7e90a768d92415b2f20f781fe129b4f4e26fa88f7dbf9201f",
          "dweb:/ipfs/Qmbet95pizwPno82cJ383wJtgQRSQKESmhVZ1vDrgAu7Si"
        ],
        "license": "MIT"
      },
      "node_modules/@prb/math/src/sd59x18/Errors.sol": {
        "keccak256": "0x0a79c28c85fc8a450b0801ff2e66114eac4ec565819f5d1d8738904658fe33e2",
        "urls": [
          "bzz-raw://9e0d4fd3c998019fb8555d9e26c03bec42a8513bdf4185aeac2da3a000abaebf",
          "dweb:/ipfs/QmahFJHXcX4RwPxaQbUf6LVZEk8NSpjCV3Eif7i9iqC6Mk"
        ],
        "license": "MIT"
      },
      "node_modules/@prb/math/src/sd59x18/Helpers.sol": {
        "keccak256": "0x208570f1657cf730cb6c3d81aa14030e0d45cf906cdedea5059369d7df4bb716",
        "urls": [
          "bzz-raw://4c78ca900edafa9338d4e3649a55ab0c84f76468d8a22fb945ba6d01e70f8fed",
          "dweb:/ipfs/QmeP4hQYfNxcATd1FsasdD4ebyu2vrC9K1N68swxUJzzZD"
        ],
        "license": "MIT"
      },
      "node_modules/@prb/math/src/sd59x18/Math.sol": {
        "keccak256": "0xd8e8b51db9b3e2fa31a60f6b8ce4ea0112c3364442ede5992aa0aa7a2c925c84",
        "urls": [
          "bzz-raw://3c56913970e34ee7b142047b21f1856a511cbdc3473b7c50418a8490e19cd462",
          "dweb:/ipfs/QmfG1F9CBDjPYD7NXora9awFfdpvBMY9SCg5pMLCFRv9tD"
        ],
        "license": "MIT"
      },
      "node_modules/@prb/math/src/sd59x18/ValueType.sol": {
        "keccak256": "0x76597ba64d37d66e0178512bc9bbc1a031a7634c45e5d5c6e9da87f46952dc9d",
        "urls": [
          "bzz-raw://36148899ad874814e9292636fb974d2eec61f1bcc0875ec39cf444d70ba40919",
          "dweb:/ipfs/QmadUe4kH2FPcdxvhCKy8yiezCvPWor4VcPzqLYSAaGDDb"
        ],
        "license": "MIT"
      },
      "node_modules/@prb/math/src/ud21x18/Casting.sol": {
        "keccak256": "0x3821aa57604f6e5b7c9c5c5cc97a6d71116e673cf3fee5f76fcd42b4cefded65",
        "urls": [
          "bzz-raw://a80399c6b38ab45cc10d0a6683d50340cd89d9a085b6d0dcfb81e7c4e5b3ce09",
          "dweb:/ipfs/QmWNW2YD2LMkqrpAtJYeeuHN329Rx7mvfmrjsCo1p6akTL"
        ],
        "license": "MIT"
      },
      "node_modules/@prb/math/src/ud21x18/Constants.sol": {
        "keccak256": "0x0997574a1ced6c43bde6d9c9175edc5ad64cbb920a0969a9db68eea543747601",
        "urls": [
          "bzz-raw://c09f03345a6779b002b38ffc3954258accbb2b1d0d5506d42c3bd7f117304f60",
          "dweb:/ipfs/QmTeBXRCE7H2HpqKUNsZN7Nk3rdBnFmbAUFom3E1PJeGuV"
        ],
        "license": "MIT"
      },
      "node_modules/@prb/math/src/ud21x18/Errors.sol": {
        "keccak256": "0x35a1fb789b90f8c90865884d3023deb17fcca5c7146b5ddef823496d835a5415",
        "urls": [
          "bzz-raw://0af359d07ba25bdc90de7c05ed6216833932caa75d4a02fcfc51ceeaba5a4e80",
          "dweb:/ipfs/QmavBFw73Xfp1qJiN6P1gk2Dfr8ByWo3dyCPVgDHtko2gq"
        ],
        "license": "MIT"
      },
      "node_modules/@prb/math/src/ud21x18/ValueType.sol": {
        "keccak256": "0x24838b2b1da371b9259d8ee21534a9f0cb5796aba75a4efca2374627952bee25",
        "urls": [
          "bzz-raw://897e6b79308651671c7f3c91a0069e778b47356c9ba3f86e238398ab7f2623af",
          "dweb:/ipfs/QmZbLw3tJVRZFQnV9jWQUmF43gna841adSG2TAiwDAifGU"
        ],
        "license": "MIT"
      },
      "node_modules/@prb/math/src/ud2x18/Casting.sol": {
        "keccak256": "0x0f3141ed054e7c29dbe1acb4b88b18eb05d60e998fba6b4e503a6799faa356d6",
        "urls": [
          "bzz-raw://b1e2468fc4c458082aaf4aa2e35af9ba3702f207e3c8533dd1e7da11ad605eae",
          "dweb:/ipfs/QmSm7iRH1eo4cJCwcAiiXWRH9Hn1urSS4tMdbaFbFGuTyL"
        ],
        "license": "MIT"
      },
      "node_modules/@prb/math/src/ud2x18/Constants.sol": {
        "keccak256": "0x29b0e050c865899e1fb9022b460a7829cdee248c44c4299f068ba80695eec3fc",
        "urls": [
          "bzz-raw://cbaef16b662fac235349bcf97bc980dd0cba15d4e6230caae61224cdac8ea6d9",
          "dweb:/ipfs/QmZQa5XBhi7k3yhtCd8wVpnwW8htfU4sjXxWhxRypMBYkC"
        ],
        "license": "MIT"
      },
      "node_modules/@prb/math/src/ud2x18/Errors.sol": {
        "keccak256": "0x3b27e2a57438cd30d9c130f84aace24d547e5ed58e8689691d7d92ad2db38ddd",
        "urls": [
          "bzz-raw://841cf9fb45443899c6b659300bbf503c3fd2c1a1e83b7f0e28620eed457f7437",
          "dweb:/ipfs/QmUqg8WscP5yQPw3UMUCWaB9RLU6nryGzseuyhAjNnDc1i"
        ],
        "license": "MIT"
      },
      "node_modules/@prb/math/src/ud2x18/ValueType.sol": {
        "keccak256": "0x975a2e69b48f34a4c0bd80e8a5609ac67b7264c91992c0944f9ebe7b9e3fc9d0",
        "urls": [
          "bzz-raw://65d012521c475295d7e70b7d526fcc0911d0f238ea938719d77251bba00c9b41",
          "dweb:/ipfs/QmexEvTQCCBPYRWAYnomZX5M7C2EkXQRAXqEYMNUZfazCs"
        ],
        "license": "MIT"
      },
      "node_modules/@prb/math/src/ud60x18/Casting.sol": {
        "keccak256": "0x0803318ddc98b4ba8fbfe70e5ee08d78387fe6ae00982b9960518085a751d7b6",
        "urls": [
          "bzz-raw://2e68a2f780b2e33fa5416eb60f9daa81f014c2591119f4b67bed1217d5530780",
          "dweb:/ipfs/QmZe7JTWvbfKqMnu4sxUwWCtLcCay9hH71VZUpoFCdENcr"
        ],
        "license": "MIT"
      },
      "node_modules/@prb/math/src/ud60x18/Constants.sol": {
        "keccak256": "0x2b80d26153d3fdcfb3a9ca772d9309d31ed1275f5b8b54c3ffb54d3652b37d90",
        "urls": [
          "bzz-raw://7e3a6673a156f635db94dc176baaa7274db8f9bec4461cd1152596253550ee3b",
          "dweb:/ipfs/Qmc9zT4kNSbMYaXcnbxNVqmb3P3m46ieaQxkwxqLwsvRA5"
        ],
        "license": "MIT"
      },
      "node_modules/@prb/math/src/ud60x18/Conversions.sol": {
        "keccak256": "0xd486ecca97abe69acdb28230088f4c7097fbdae5b36c5ae45d5be2faac4c33f2",
        "urls": [
          "bzz-raw://6080870ec6955ff0f5278f9c480b218a68714daf5f2ee42da0276d08d7b82932",
          "dweb:/ipfs/QmQ1SERHdemJgPrt4USwY8j5r63jZ8fQuJAm1knjMEEQEY"
        ],
        "license": "MIT"
      },
      "node_modules/@prb/math/src/ud60x18/Errors.sol": {
        "keccak256": "0xbab6b0e303d32f3a9d9e2fe881f0392b8c59a73051a4d34f21a403b3961b3044",
        "urls": [
          "bzz-raw://86a019bcf2510d0691287329dc057479cc0abc48a5e15f245e7f15c03052d2c8",
          "dweb:/ipfs/QmeXe5pbpDHvN5DZ8puXmH2RJ25zDHj55wpiStWtNQPvq6"
        ],
        "license": "MIT"
      },
      "node_modules/@prb/math/src/ud60x18/Helpers.sol": {
        "keccak256": "0xf5faff881391d2c060029499a666cc5f0bea90a213150bb476fae8f02a5df268",
        "urls": [
          "bzz-raw://76105fa22bb1b5f1fa99abf9c4fbc9577a02c7bc204f271754c407f0d75489f5",
          "dweb:/ipfs/QmVNGZSTniDuZus5DdbFubqJXCLtTaZit7YPm4ntjr5Lgr"
        ],
        "license": "MIT"
      },
      "node_modules/@prb/math/src/ud60x18/Math.sol": {
        "keccak256": "0xc4e51dfd9af62938e277e90fa724099f239d33727a35909ed48c292a76faf2fc",
        "urls": [
          "bzz-raw://d731537cbc50b852c21d28625aeb2c329729afc23a7b86ff9d8ee5878f47e9d6",
          "dweb:/ipfs/QmS7Cj4pAdPZcTp7RqYXyxBc9EYX92CT8icfkNigktUsLr"
        ],
        "license": "MIT"
      },
      "node_modules/@prb/math/src/ud60x18/ValueType.sol": {
        "keccak256": "0x1b200baf25d01a8b91b97b42114248636f742b5b7028487ef4daef6621e378a3",
        "urls": [
          "bzz-raw://b5708ed017206bda2197654e80bea9f37b3a9993434bb066c903c2865e028f47",
          "dweb:/ipfs/QmTyotZk2J5YvWkNvB2qhXBMgRGWW2UgPqR4JPocrXSr8n"
        ],
        "license": "MIT"
      },
      "node_modules/@sablier/evm-utils/src/interfaces/IAdminable.sol": {
        "keccak256": "0x3228d63e9b0b951030c73c42bb071e64f0ff0eadbcbeefad3f29a48366539c26",
        "urls": [
          "bzz-raw://acc90ad2bec0e84349b56611b35b56bfb75a5930fd1babb2bd638fbbb15bd126",
          "dweb:/ipfs/QmSLnHx6bo4BQeBKYferfEhZo1Z4xCXdDF1bzJoHUafHt4"
        ],
        "license": "GPL-3.0-or-later"
      },
      "node_modules/@sablier/evm-utils/src/interfaces/IComptrollerable.sol": {
        "keccak256": "0xdbc32762b87590be38095a84789906fa7a23fd2c2c112859504549ef3be17522",
        "urls": [
          "bzz-raw://14ac13726bb7435ce310dd437a9b58852ca0c35640949e898c803a33a30dee8b",
          "dweb:/ipfs/QmeeKPApvBHbUF3S98qCnB26Aw67KTQF2GFyGQZCxykyMW"
        ],
        "license": "GPL-3.0-or-later"
      },
      "node_modules/@sablier/evm-utils/src/interfaces/IRoleAdminable.sol": {
        "keccak256": "0x391cb4bd4bae01e3efdb84f63635644ed6329b72e8a5105ad53833551e8ba825",
        "urls": [
          "bzz-raw://ccca9da1c044c15cf0b647a4572c05f5d498fb18b3685a85a8836f7110cb1bc4",
          "dweb:/ipfs/QmfAKHqvgKQUgpC6VomTjTkc1tDnsbVJD5bLn8wL8KuTFV"
        ],
        "license": "GPL-3.0-or-later"
      },
      "node_modules/@sablier/evm-utils/src/interfaces/ISablierComptroller.sol": {
        "keccak256": "0x5c52e70a6c083611d4b5518d17d025f70d322ee2c61d81f20f3fe50f4bd824ba",
        "urls": [
          "bzz-raw://5c07b2076065f1c65a59176ada3459be53f78e59a2055d9ae92b226edafa484c",
          "dweb:/ipfs/QmXYRDkBSWUBza1pi439ErzeLoaLUT8Zvj2yWcFZ5F1rgX"
        ],
        "license": "GPL-3.0-or-later"
      },
      "src/interfaces/ISablierFactoryMerkleBase.sol": {
        "keccak256": "0x9f92d9fb4758379e1649a35eec35c0e9b5d1403cac8a9c20403a33ac0de004b8",
        "urls": [
          "bzz-raw://b32cd3982504e7584adae3ca25b927c6fd11d19029f6d5f049a11145aea7dee7",
          "dweb:/ipfs/QmezYhSdiU6ciuosTqMe3kDTFpX8xttgkjayF37j7tUQni"
        ],
        "license": "GPL-3.0-or-later"
      },
      "src/interfaces/ISablierFactoryMerkleVCA.sol": {
        "keccak256": "0xbd226e4c8174b11bd96119fe9110faac0721138599eb5d18beed81abd1f7f95d",
        "urls": [
          "bzz-raw://afec91354d1387e782c21a75682143940c54366deea22eafa129c72a80547a7e",
          "dweb:/ipfs/Qmf9iB57CdwURpX8rMuFmNgsnLisv16kCW1gcQF697JkdQ"
        ],
        "license": "GPL-3.0-or-later"
      },
      "src/interfaces/ISablierMerkleBase.sol": {
        "keccak256": "0xfc4e9b4737765f3f66fb81390154aaff3f21ee63fd21bed441baf553ac090993",
        "urls": [
          "bzz-raw://189aab3a9ddf0e72425cb3b6420129ce971da916967a920c3132e328e546abbb",
          "dweb:/ipfs/QmQZaV1yvBs6MBf5jzgboTYztsVLMi5q3L4JVowyn6Yhrp"
        ],
        "license": "GPL-3.0-or-later"
      },
      "src/interfaces/ISablierMerkleSignature.sol": {
        "keccak256": "0x2e6e8cc3b951ddc10344883c08d662161efbd5fb5bc4672f77b51aa7ed8bf87d",
        "urls": [
          "bzz-raw://dd48f5c162987c93e45f7f942b7f23817d81ef588bb776816a207639c91e6e4e",
          "dweb:/ipfs/QmQHyHxPG6YVt5BVMYKfb5YWX6cQdp5yMVHoP1u2U3E1ut"
        ],
        "license": "GPL-3.0-or-later"
      },
      "src/interfaces/ISablierMerkleVCA.sol": {
        "keccak256": "0x03225dad17bf31b691522a733e1130615adc9530de777abbbcc2b733833b8046",
        "urls": [
          "bzz-raw://e995929a61acde5553c28ad8fbd10598ec7fc3d3ac509b0fdb0f08a60a91227f",
          "dweb:/ipfs/QmYu4eb7dLj6giynvGedCxWDnjD2TDrDh7yDizaJdCu4HX"
        ],
        "license": "GPL-3.0-or-later"
      },
      "src/types/MerkleBase.sol": {
        "keccak256": "0x33004c31ccf302e5da76dbb8476816db31c2c0984fb9c928c45528bbfdef6397",
        "urls": [
          "bzz-raw://55b26d1a6beda8cb76043d2fde56445910ae3e88e8ab20d2c48678e4456beca3",
          "dweb:/ipfs/QmYrMXbpPcjzJen93uFXiBws7fauseuXZcQ9fpbsNbaGN8"
        ],
        "license": "GPL-3.0-or-later"
      },
      "src/types/MerkleVCA.sol": {
        "keccak256": "0xf3a18cb59859a19df261de13f3943f6c572a4ee5397f5871fb68522d35238515",
        "urls": [
          "bzz-raw://d3c5a62c2ef30e6c653f59508e6cdb0f7244eacf6907ae959c1e73618177da89",
          "dweb:/ipfs/QmNYeLAQiY39SHYhfVpTrmacxHmQnN88T92ijLHQEfXamu"
        ],
        "license": "GPL-3.0-or-later"
      }
    },
    "version": 1
  },
  "id": 120
}
