{
  "abi": [
    {
      "type": "function",
      "name": "CAMPAIGN_START_TIME",
      "inputs": [],
      "outputs": [{ "name": "", "type": "uint40", "internalType": "uint40" }],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "CLAIM_TYPE",
      "inputs": [],
      "outputs": [{ "name": "", "type": "uint8", "internalType": "enum ClaimType" }],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "COMPTROLLER",
      "inputs": [],
      "outputs": [{ "name": "", "type": "address", "internalType": "address" }],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "EXPIRATION",
      "inputs": [],
      "outputs": [{ "name": "", "type": "uint40", "internalType": "uint40" }],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "IS_SABLIER_MERKLE",
      "inputs": [],
      "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "MERKLE_ROOT",
      "inputs": [],
      "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "SABLIER_LOCKUP",
      "inputs": [],
      "outputs": [{ "name": "", "type": "address", "internalType": "contract ISablierLockup" }],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "STREAM_CANCELABLE",
      "inputs": [],
      "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "STREAM_TRANSFERABLE",
      "inputs": [],
      "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "TOKEN",
      "inputs": [],
      "outputs": [{ "name": "", "type": "address", "internalType": "contract IERC20" }],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "VESTING_START_TIME",
      "inputs": [],
      "outputs": [{ "name": "", "type": "uint40", "internalType": "uint40" }],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "admin",
      "inputs": [],
      "outputs": [{ "name": "", "type": "address", "internalType": "address" }],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "attestor",
      "inputs": [],
      "outputs": [{ "name": "", "type": "address", "internalType": "address" }],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "calculateMinFeeWei",
      "inputs": [],
      "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "campaignName",
      "inputs": [],
      "outputs": [{ "name": "", "type": "string", "internalType": "string" }],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "claim",
      "inputs": [
        { "name": "index", "type": "uint256", "internalType": "uint256" },
        { "name": "recipient", "type": "address", "internalType": "address" },
        { "name": "amount", "type": "uint128", "internalType": "uint128" },
        { "name": "merkleProof", "type": "bytes32[]", "internalType": "bytes32[]" }
      ],
      "outputs": [],
      "stateMutability": "payable"
    },
    {
      "type": "function",
      "name": "claimTo",
      "inputs": [
        { "name": "index", "type": "uint256", "internalType": "uint256" },
        { "name": "to", "type": "address", "internalType": "address" },
        { "name": "amount", "type": "uint128", "internalType": "uint128" },
        { "name": "merkleProof", "type": "bytes32[]", "internalType": "bytes32[]" }
      ],
      "outputs": [],
      "stateMutability": "payable"
    },
    {
      "type": "function",
      "name": "claimViaAttestation",
      "inputs": [
        { "name": "index", "type": "uint256", "internalType": "uint256" },
        { "name": "to", "type": "address", "internalType": "address" },
        { "name": "amount", "type": "uint128", "internalType": "uint128" },
        { "name": "expireAt", "type": "uint40", "internalType": "uint40" },
        { "name": "merkleProof", "type": "bytes32[]", "internalType": "bytes32[]" },
        { "name": "attestation", "type": "bytes", "internalType": "bytes" }
      ],
      "outputs": [],
      "stateMutability": "payable"
    },
    {
      "type": "function",
      "name": "claimViaSig",
      "inputs": [
        { "name": "index", "type": "uint256", "internalType": "uint256" },
        { "name": "recipient", "type": "address", "internalType": "address" },
        { "name": "to", "type": "address", "internalType": "address" },
        { "name": "amount", "type": "uint128", "internalType": "uint128" },
        { "name": "validFrom", "type": "uint40", "internalType": "uint40" },
        { "name": "merkleProof", "type": "bytes32[]", "internalType": "bytes32[]" },
        { "name": "signature", "type": "bytes", "internalType": "bytes" }
      ],
      "outputs": [],
      "stateMutability": "payable"
    },
    {
      "type": "function",
      "name": "claimedStreams",
      "inputs": [{ "name": "recipient", "type": "address", "internalType": "address" }],
      "outputs": [{ "name": "", "type": "uint256[]", "internalType": "uint256[]" }],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "clawback",
      "inputs": [
        { "name": "to", "type": "address", "internalType": "address" },
        { "name": "amount", "type": "uint128", "internalType": "uint128" }
      ],
      "outputs": [],
      "stateMutability": "nonpayable"
    },
    {
      "type": "function",
      "name": "domainSeparator",
      "inputs": [],
      "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "firstClaimTime",
      "inputs": [],
      "outputs": [{ "name": "", "type": "uint40", "internalType": "uint40" }],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "hasClaimed",
      "inputs": [{ "name": "index", "type": "uint256", "internalType": "uint256" }],
      "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "hasExpired",
      "inputs": [],
      "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "ipfsCID",
      "inputs": [],
      "outputs": [{ "name": "", "type": "string", "internalType": "string" }],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "lowerMinFeeUSD",
      "inputs": [{ "name": "newMinFeeUSD", "type": "uint256", "internalType": "uint256" }],
      "outputs": [],
      "stateMutability": "nonpayable"
    },
    {
      "type": "function",
      "name": "minFeeUSD",
      "inputs": [],
      "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "setAttestor",
      "inputs": [{ "name": "newAttestor", "type": "address", "internalType": "address" }],
      "outputs": [],
      "stateMutability": "nonpayable"
    },
    {
      "type": "function",
      "name": "sponsor",
      "inputs": [
        { "name": "token", "type": "address", "internalType": "contract IERC20" },
        { "name": "amount", "type": "uint128", "internalType": "uint128" },
        { "name": "biller", "type": "address", "internalType": "address" }
      ],
      "outputs": [],
      "stateMutability": "nonpayable"
    },
    {
      "type": "function",
      "name": "streamShape",
      "inputs": [],
      "outputs": [{ "name": "", "type": "string", "internalType": "string" }],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "tranchesWithPercentages",
      "inputs": [],
      "outputs": [
        {
          "name": "",
          "type": "tuple[]",
          "internalType": "struct MerkleLT.TrancheWithPercentage[]",
          "components": [
            { "name": "unlockPercentage", "type": "uint64", "internalType": "UD2x18" },
            { "name": "duration", "type": "uint40", "internalType": "uint40" }
          ]
        }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "transferAdmin",
      "inputs": [{ "name": "newAdmin", "type": "address", "internalType": "address" }],
      "outputs": [],
      "stateMutability": "nonpayable"
    },
    {
      "type": "event",
      "name": "ClaimLTWithTransfer",
      "inputs": [
        { "name": "index", "type": "uint256", "indexed": false, "internalType": "uint256" },
        { "name": "recipient", "type": "address", "indexed": true, "internalType": "address" },
        { "name": "amount", "type": "uint128", "indexed": false, "internalType": "uint128" },
        { "name": "to", "type": "address", "indexed": false, "internalType": "address" },
        { "name": "viaSig", "type": "bool", "indexed": false, "internalType": "bool" }
      ],
      "anonymous": false
    },
    {
      "type": "event",
      "name": "ClaimLTWithVesting",
      "inputs": [
        { "name": "index", "type": "uint256", "indexed": false, "internalType": "uint256" },
        { "name": "recipient", "type": "address", "indexed": true, "internalType": "address" },
        { "name": "amount", "type": "uint128", "indexed": false, "internalType": "uint128" },
        { "name": "streamId", "type": "uint256", "indexed": true, "internalType": "uint256" },
        { "name": "to", "type": "address", "indexed": false, "internalType": "address" },
        { "name": "viaSig", "type": "bool", "indexed": false, "internalType": "bool" }
      ],
      "anonymous": false
    },
    {
      "type": "event",
      "name": "Clawback",
      "inputs": [
        { "name": "admin", "type": "address", "indexed": true, "internalType": "address" },
        { "name": "to", "type": "address", "indexed": true, "internalType": "address" },
        { "name": "amount", "type": "uint128", "indexed": false, "internalType": "uint128" }
      ],
      "anonymous": false
    },
    {
      "type": "event",
      "name": "LowerMinFeeUSD",
      "inputs": [
        { "name": "comptroller", "type": "address", "indexed": true, "internalType": "address" },
        { "name": "newMinFeeUSD", "type": "uint256", "indexed": false, "internalType": "uint256" },
        { "name": "previousMinFeeUSD", "type": "uint256", "indexed": false, "internalType": "uint256" }
      ],
      "anonymous": false
    },
    {
      "type": "event",
      "name": "SetAttestor",
      "inputs": [
        { "name": "caller", "type": "address", "indexed": true, "internalType": "address" },
        { "name": "previousAttestor", "type": "address", "indexed": true, "internalType": "address" },
        { "name": "newAttestor", "type": "address", "indexed": true, "internalType": "address" }
      ],
      "anonymous": false
    },
    {
      "type": "event",
      "name": "Sponsor",
      "inputs": [
        { "name": "caller", "type": "address", "indexed": true, "internalType": "address" },
        { "name": "token", "type": "address", "indexed": true, "internalType": "contract IERC20" },
        { "name": "amount", "type": "uint128", "indexed": false, "internalType": "uint128" },
        { "name": "biller", "type": "address", "indexed": true, "internalType": "address" }
      ],
      "anonymous": false
    },
    {
      "type": "event",
      "name": "TransferAdmin",
      "inputs": [
        { "name": "oldAdmin", "type": "address", "indexed": true, "internalType": "address" },
        { "name": "newAdmin", "type": "address", "indexed": true, "internalType": "address" }
      ],
      "anonymous": false
    }
  ],
  "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} },
  "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} },
  "methodIdentifiers": {
    "CAMPAIGN_START_TIME()": "7ca3944d",
    "CLAIM_TYPE()": "eb8cd775",
    "COMPTROLLER()": "5f82c67e",
    "EXPIRATION()": "bb4b5734",
    "IS_SABLIER_MERKLE()": "7423649b",
    "MERKLE_ROOT()": "51e75e8b",
    "SABLIER_LOCKUP()": "f3ffe13f",
    "STREAM_CANCELABLE()": "cbe9e5ef",
    "STREAM_TRANSFERABLE()": "bf44497a",
    "TOKEN()": "82bfefc8",
    "VESTING_START_TIME()": "6c0b1e8c",
    "admin()": "f851a440",
    "attestor()": "cada25c2",
    "calculateMinFeeWei()": "3a12a5bc",
    "campaignName()": "0724fda9",
    "claim(uint256,address,uint128,bytes32[])": "3f31ae3f",
    "claimTo(uint256,address,uint128,bytes32[])": "0854a79c",
    "claimViaAttestation(uint256,address,uint128,uint40,bytes32[],bytes)": "e74f822d",
    "claimViaSig(uint256,address,address,uint128,uint40,bytes32[],bytes)": "20743583",
    "claimedStreams(address)": "76c30a95",
    "clawback(address,uint128)": "1686c909",
    "domainSeparator()": "f698da25",
    "firstClaimTime()": "82d72f7f",
    "hasClaimed(uint256)": "ce516507",
    "hasExpired()": "90e64d13",
    "ipfsCID()": "49fc73dd",
    "lowerMinFeeUSD(uint256)": "8ec68869",
    "minFeeUSD()": "4e0bb8cc",
    "setAttestor(address)": "f5770b1f",
    "sponsor(address,uint128,address)": "2481a13a",
    "streamShape()": "23e53367",
    "tranchesWithPercentages()": "496500a8",
    "transferAdmin(address)": "75829def"
  },
  "rawMetadata": "{\"compiler\":{\"version\":\"0.8.29+commit.ab55807c\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"viaSig\",\"type\":\"bool\"}],\"name\":\"ClaimLTWithTransfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"viaSig\",\"type\":\"bool\"}],\"name\":\"ClaimLTWithVesting\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"}],\"name\":\"Clawback\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptroller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newMinFeeUSD\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"previousMinFeeUSD\",\"type\":\"uint256\"}],\"name\":\"LowerMinFeeUSD\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousAttestor\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newAttestor\",\"type\":\"address\"}],\"name\":\"SetAttestor\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"biller\",\"type\":\"address\"}],\"name\":\"Sponsor\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldAdmin\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"TransferAdmin\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CAMPAIGN_START_TIME\",\"outputs\":[{\"internalType\":\"uint40\",\"name\":\"\",\"type\":\"uint40\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"CLAIM_TYPE\",\"outputs\":[{\"internalType\":\"enum ClaimType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"COMPTROLLER\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EXPIRATION\",\"outputs\":[{\"internalType\":\"uint40\",\"name\":\"\",\"type\":\"uint40\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_SABLIER_MERKLE\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MERKLE_ROOT\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SABLIER_LOCKUP\",\"outputs\":[{\"internalType\":\"contract ISablierLockup\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STREAM_CANCELABLE\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STREAM_TRANSFERABLE\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TOKEN\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VESTING_START_TIME\",\"outputs\":[{\"internalType\":\"uint40\",\"name\":\"\",\"type\":\"uint40\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"attestor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"calculateMinFeeWei\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"campaignName\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"},{\"internalType\":\"bytes32[]\",\"name\":\"merkleProof\",\"type\":\"bytes32[]\"}],\"name\":\"claim\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"},{\"internalType\":\"bytes32[]\",\"name\":\"merkleProof\",\"type\":\"bytes32[]\"}],\"name\":\"claimTo\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"},{\"internalType\":\"uint40\",\"name\":\"expireAt\",\"type\":\"uint40\"},{\"internalType\":\"bytes32[]\",\"name\":\"merkleProof\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"attestation\",\"type\":\"bytes\"}],\"name\":\"claimViaAttestation\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"},{\"internalType\":\"uint40\",\"name\":\"validFrom\",\"type\":\"uint40\"},{\"internalType\":\"bytes32[]\",\"name\":\"merkleProof\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"claimViaSig\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"claimedStreams\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"}],\"name\":\"clawback\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"domainSeparator\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"firstClaimTime\",\"outputs\":[{\"internalType\":\"uint40\",\"name\":\"\",\"type\":\"uint40\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"hasClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"hasExpired\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ipfsCID\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newMinFeeUSD\",\"type\":\"uint256\"}],\"name\":\"lowerMinFeeUSD\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"minFeeUSD\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newAttestor\",\"type\":\"address\"}],\"name\":\"setAttestor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"},{\"internalType\":\"address\",\"name\":\"biller\",\"type\":\"address\"}],\"name\":\"sponsor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"streamShape\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tranchesWithPercentages\",\"outputs\":[{\"components\":[{\"internalType\":\"UD2x18\",\"name\":\"unlockPercentage\",\"type\":\"uint64\"},{\"internalType\":\"uint40\",\"name\":\"duration\",\"type\":\"uint40\"}],\"internalType\":\"struct MerkleLT.TrancheWithPercentage[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"transferAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"TransferAdmin(address,address)\":{\"params\":{\"newAdmin\":\"The address of the new admin.\",\"oldAdmin\":\"The address of the old admin.\"}}},\"kind\":\"dev\",\"methods\":{\"CAMPAIGN_START_TIME()\":{\"details\":\"This is an immutable state variable.\"},\"CLAIM_TYPE()\":{\"details\":\"This is an immutable state variable.\"},\"EXPIRATION()\":{\"details\":\"This is an immutable state variable.\"},\"IS_SABLIER_MERKLE()\":{\"details\":\"This is a constant state variable.\"},\"MERKLE_ROOT()\":{\"details\":\"This is an immutable state variable.\"},\"STREAM_CANCELABLE()\":{\"details\":\"This is an immutable state variable.\"},\"STREAM_TRANSFERABLE()\":{\"details\":\"This is an immutable state variable.\"},\"TOKEN()\":{\"details\":\"This is an immutable state variable.\"},\"claim(uint256,address,uint128,bytes32[])\":{\"details\":\"It emits either {ClaimLTWithTransfer} or {ClaimLTWithVesting} event. Requirements: - `CLAIM_TYPE` must be `DEFAULT`. - The current time must be greater than or equal to the campaign start time. - The campaign must not have expired. - `msg.value` must not be less than the value returned by {COMPTROLLER.calculateMinFeeWei}. - The `index` must not be claimed already. - The Merkle proof must be valid. - All requirements from {ISablierLockupTranched.createWithTimestampsLT} must be met.\",\"params\":{\"amount\":\"The amount of ERC-20 tokens allocated to the recipient.\",\"index\":\"The index of the recipient in the Merkle tree.\",\"merkleProof\":\"The proof of inclusion in the Merkle tree.\",\"recipient\":\"The address of the airdrop recipient.\"}},\"claimTo(uint256,address,uint128,bytes32[])\":{\"details\":\"It emits either {ClaimLTWithTransfer} or {ClaimLTWithVesting} event. Requirements: - `CLAIM_TYPE` must be `DEFAULT`. - `msg.sender` must be the airdrop recipient. - The `to` must not be the zero address. - Refer to the requirements in {claim}.\",\"params\":{\"amount\":\"The amount of ERC-20 tokens allocated to the `msg.sender`.\",\"index\":\"The index of the `msg.sender` in the Merkle tree.\",\"merkleProof\":\"The proof of inclusion in the Merkle tree.\",\"to\":\"The address to which Lockup stream or ERC-20 tokens will be sent on behalf of `msg.sender`.\"}},\"claimViaAttestation(uint256,address,uint128,uint40,bytes32[],bytes)\":{\"details\":\"It emits either {ClaimLTWithTransfer} or {ClaimLTWithVesting} event. Notes: - The attestation must be an EIP-712 signature from the attestor. - See the example in the {claimViaSig} function. - If the attestor is not set in the campaign, the attestor from the comptroller is used. Requirements: - `msg.sender` must be the airdrop recipient. - `CLAIM_TYPE` must be `ATTEST`. - The `to` must not be the zero address. - The attestor must not be the zero address. - The `expireAt` timestamp must not be in the past. - The attestation signature must be valid. - Refer to the requirements in {claim}.\",\"params\":{\"amount\":\"The amount of ERC-20 tokens allocated to the `msg.sender`.\",\"attestation\":\"The EIP-712 signature from the attestor.\",\"expireAt\":\"The timestamp after which the attestation signature is no longer valid.\",\"index\":\"The index of the `msg.sender` in the Merkle tree.\",\"merkleProof\":\"The proof of inclusion in the Merkle tree.\",\"to\":\"The address to which Lockup stream or ERC-20 tokens will be sent on behalf of `msg.sender`.\"}},\"claimViaSig(uint256,address,address,uint128,uint40,bytes32[],bytes)\":{\"details\":\"It emits either {ClaimLTWithTransfer} or {ClaimLTWithVesting} event. Requirements: - `CLAIM_TYPE` must be `DEFAULT`. - If `recipient` is an EOA, it must match the recovered signer. - If `recipient` is a contract, it must implement the IERC-1271 interface. - The `to` must not be the zero address. - The `validFrom` must be less than or equal to the current block timestamp. - Refer to the requirements in {claim}. Below is the example of typed data to be signed by the airdrop recipient, referenced from https://docs.metamask.io/wallet/how-to/sign-data/#example. ```json types: {   EIP712Domain: [     { name: \\\"name\\\", type: \\\"string\\\" },     { name: \\\"chainId\\\", type: \\\"uint256\\\" },     { name: \\\"verifyingContract\\\", type: \\\"address\\\" },   ],   Claim: [     { name: \\\"index\\\", type: \\\"uint256\\\" },     { name: \\\"recipient\\\", type: \\\"address\\\" },     { name: \\\"to\\\", type: \\\"address\\\" },     { name: \\\"amount\\\", type: \\\"uint128\\\" },     { name: \\\"validFrom\\\", type: \\\"uint40\\\" },   ], }, domain: {   name: \\\"Sablier Airdrops Protocol\\\",   chainId: 1, // Chain on which the contract is deployed   verifyingContract: \\\"0xTheAddressOfThisContract\\\", // The address of this contract }, primaryType: \\\"Claim\\\", message: {   index: 2, // The index of the signer in the Merkle tree   recipient: \\\"0xTheAddressOfTheRecipient\\\", // The address of the airdrop recipient   to: \\\"0xTheAddressReceivingTheTokens\\\", // The address where recipient wants to transfer the tokens   amount: \\\"1000000000000000000000\\\", // The amount of tokens allocated to the recipient   validFrom: 1752425637 // The timestamp from which the claim signature is valid }, ```\",\"params\":{\"amount\":\"The amount of ERC-20 tokens allocated to the recipient.\",\"index\":\"The index of the recipient in the Merkle tree.\",\"merkleProof\":\"The proof of inclusion in the Merkle tree.\",\"recipient\":\"The address of the airdrop recipient who is providing the signature.\",\"signature\":\"The EIP-712 or EIP-1271 signature from the airdrop recipient.\",\"to\":\"The address to which Lockup stream or ERC-20 tokens will be sent on behalf of the recipient.\",\"validFrom\":\"The timestamp from which the claim signature is valid.\"}},\"clawback(address,uint128)\":{\"details\":\"Emits a {Clawback} event. Requirements: - `msg.sender` must be the admin. - No claim must be made, OR   The current timestamp must not exceed 7 days after the first claim, OR   The campaign must be expired.\",\"params\":{\"amount\":\"The amount of tokens to claw back.\",\"to\":\"The address to receive the tokens.\"}},\"hasClaimed(uint256)\":{\"details\":\"Uses a bitmap to save gas.\",\"params\":{\"index\":\"The index of the recipient to check.\"}},\"ipfsCID()\":{\"details\":\"An empty value may break certain UI features that depend upon the IPFS CID.\"},\"lowerMinFeeUSD(uint256)\":{\"details\":\"Emits a {LowerMinFeeUSD} event. Requirements: - `msg.sender` must be the comptroller. - The new fee must be less than the current {minFeeUSD}.\",\"params\":{\"newMinFeeUSD\":\"The new min USD fee to set, denominated in 8 decimals.\"}},\"minFeeUSD()\":{\"details\":\"The denomination is based on Chainlink's 8-decimal format for USD prices, where 1e8 is $1.\"},\"setAttestor(address)\":{\"details\":\"Emits a {SetAttestor} event. Requirements: - `msg.sender` must be either the comptroller or the campaign admin.\",\"params\":{\"newAttestor\":\"The new attestor address. If zero, the attestor from the comptroller will be used.\"}},\"sponsor(address,uint128,address)\":{\"details\":\"Emits a {Sponsor} event. Notes: - This function only makes the payment. The claim fees are updated only after the payment has been verified off-chain. - Refer to the Sablier website in order to sponsor with the correct token, otherwise the sponsorship may be ignored. Requirements: - `biller` must not be the zero address. - `amount` must be greater than zero. - `token` must not be the zero address and must be a valid ERC20 token. - `msg.sender` must have approved the contract to spend the tokens.\",\"params\":{\"amount\":\"The amount of tokens to transfer.\",\"biller\":\"The address to receive the tokens.\",\"token\":\"The ERC-20 token to transfer.\"}},\"transferAdmin(address)\":{\"details\":\"Notes: - Does not revert if the admin is the same. - This function can potentially leave the contract without an admin, thereby removing any functionality that is only available to the admin. Requirements: - `msg.sender` must be the contract admin.\",\"params\":{\"newAdmin\":\"The address of the new admin.\"}}},\"title\":\"ISablierMerkleLT\",\"version\":1},\"userdoc\":{\"events\":{\"ClaimLTWithTransfer(uint256,address,uint128,address,bool)\":{\"notice\":\"Emitted when an airdrop is claimed using direct transfer on behalf of an eligible recipient.\"},\"ClaimLTWithVesting(uint256,address,uint128,uint256,address,bool)\":{\"notice\":\"Emitted when an airdrop is claimed using Lockup Tranched stream on behalf of an eligible recipient.\"},\"Clawback(address,address,uint128)\":{\"notice\":\"Emitted when the admin claws back the unclaimed tokens.\"},\"LowerMinFeeUSD(address,uint256,uint256)\":{\"notice\":\"Emitted when the min USD fee is lowered by the comptroller.\"},\"SetAttestor(address,address,address)\":{\"notice\":\"Emitted when the address of the attestor is set in this contract.\"},\"Sponsor(address,address,uint128,address)\":{\"notice\":\"Emitted when campaign owner sponsors the claim fees for eligible recipients.\"},\"TransferAdmin(address,address)\":{\"notice\":\"Emitted when the admin is transferred.\"}},\"kind\":\"user\",\"methods\":{\"CAMPAIGN_START_TIME()\":{\"notice\":\"The timestamp at which campaign starts and claim begins.\"},\"CLAIM_TYPE()\":{\"notice\":\"Retrieves the claim type supported by the campaign.\"},\"COMPTROLLER()\":{\"notice\":\"Retrieves the address of the comptroller contract.\"},\"EXPIRATION()\":{\"notice\":\"The cut-off point for the campaign, as a Unix timestamp. A value of zero means there is no expiration.\"},\"IS_SABLIER_MERKLE()\":{\"notice\":\"Returns `true` indicating that this campaign contract is deployed using the Sablier Factory.\"},\"MERKLE_ROOT()\":{\"notice\":\"The root of the Merkle tree used to validate the proofs of inclusion.\"},\"SABLIER_LOCKUP()\":{\"notice\":\"The address of the {SablierLockup} contract.\"},\"STREAM_CANCELABLE()\":{\"notice\":\"A flag indicating whether the streams can be canceled.\"},\"STREAM_TRANSFERABLE()\":{\"notice\":\"A flag indicating whether the stream NFTs are transferable.\"},\"TOKEN()\":{\"notice\":\"The ERC-20 token to distribute.\"},\"VESTING_START_TIME()\":{\"notice\":\"Retrieves the start time of the vesting stream, as a Unix timestamp. Zero is a sentinel value for `block.timestamp`.\"},\"admin()\":{\"notice\":\"The address of the admin account or contract.\"},\"attestor()\":{\"notice\":\"Retrieves the attestor address used for creating attestation signatures.\"},\"calculateMinFeeWei()\":{\"notice\":\"Calculates the minimum fee in wei required to claim the airdrop.\"},\"campaignName()\":{\"notice\":\"Retrieves the name of the campaign.\"},\"claim(uint256,address,uint128,bytes32[])\":{\"notice\":\"Claim airdrop on behalf of eligible recipient. If the vesting end time is in the future, it creates a Lockup Tranched stream, otherwise it transfers the tokens directly to the recipient address.\"},\"claimTo(uint256,address,uint128,bytes32[])\":{\"notice\":\"Claim airdrop. If the vesting end time is in the future, it creates a Lockup Tranched stream with `to` address as the stream recipient, otherwise it transfers the tokens directly to the `to` address.\"},\"claimViaAttestation(uint256,address,uint128,uint40,bytes32[],bytes)\":{\"notice\":\"Claim airdrop using an external attestation from a trusted attestor (e.g., KYC verifier). If the vesting end time is in the future, it creates a Lockup Tranched stream with `to` address as the stream recipient, otherwise it transfers the tokens directly to the `to` address.\"},\"claimViaSig(uint256,address,address,uint128,uint40,bytes32[],bytes)\":{\"notice\":\"Claim airdrop on behalf of eligible recipient using an EIP-712 or EIP-1271 signature. If the vesting end time is in the future, it creates a Lockup Tranched stream with `to` address as the stream recipient, otherwise it transfers the tokens directly to the `to` address.\"},\"claimedStreams(address)\":{\"notice\":\"Retrieves the stream IDs associated with the airdrops claimed by the provided recipient. In practice, most campaigns will only have one stream per recipient.\"},\"clawback(address,uint128)\":{\"notice\":\"Claws back the unclaimed tokens.\"},\"domainSeparator()\":{\"notice\":\"The domain separator, as required by EIP-712 and EIP-1271, used for signing claims to prevent replay attacks across different campaigns.\"},\"firstClaimTime()\":{\"notice\":\"Retrieves the timestamp when the first claim is made, and zero if no claim was made yet.\"},\"hasClaimed(uint256)\":{\"notice\":\"Returns a flag indicating whether a claim has been made for a given index.\"},\"hasExpired()\":{\"notice\":\"Returns a flag indicating whether the campaign has expired.\"},\"ipfsCID()\":{\"notice\":\"The content identifier for indexing the campaign on IPFS.\"},\"lowerMinFeeUSD(uint256)\":{\"notice\":\"Lowers the min USD fee.\"},\"minFeeUSD()\":{\"notice\":\"Retrieves the min USD fee required to claim the airdrop, denominated in 8 decimals.\"},\"setAttestor(address)\":{\"notice\":\"Sets the attestor address used for verifying attestation signatures.\"},\"sponsor(address,uint128,address)\":{\"notice\":\"Sponsors the claim fees for eligible recipients.\"},\"streamShape()\":{\"notice\":\"Retrieves the shape of the Lockup stream created upon claiming.\"},\"tranchesWithPercentages()\":{\"notice\":\"Retrieves the tranches with their respective unlock percentages and durations.\"},\"transferAdmin(address)\":{\"notice\":\"Transfers the contract admin to a new address.\"}},\"notice\":\"MerkleLT enables an airdrop model with a vesting period powered by the Lockup Tranched model.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/interfaces/ISablierMerkleLT.sol\":\"ISablierMerkleLT\"},\"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/@chainlink/contracts/src/v0.8/shared/interfaces/AggregatorV3Interface.sol\":{\"keccak256\":\"0x257a8d28fa83d3d942547c8e129ef465e4b5f3f31171e7be4739a4c98da6b4f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d39e11b1dc7b9b8ccdabbc9be442ab7cda4a81c748f57e316dcb1bcb4a28bf9\",\"dweb:/ipfs/QmaG6vz6W6iEUBsbHSBob5mdcitYxWjoygxREHpsJHfWrS\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC4906.sol\":{\"keccak256\":\"0x1b8691e244f6e11d987459993671db0af33e6a29f7805eac6a9925cc6b601957\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9e2a5efc2e14e98f5fe91bbab769199b4987a40dd3b96075b04957fda2ae80f\",\"dweb:/ipfs/QmbAjrSSVBiJ6MbgF7Jkr53m674iGMZ6haWbbRrWDZJraK\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC721.sol\":{\"keccak256\":\"0xc4d7ebf63eb2f6bf3fee1b6c0ee775efa9f31b4843a5511d07eea147e212932d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01c66a2fad66bc710db7510419a7eee569b40b67cd9f01b70a3fc90d6f76c03b\",\"dweb:/ipfs/QmT1CjJZq4eTNA4nu8E9ZrWfaZu6ReUsDbjcK8DbEFqwx5\"]},\"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/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5dc63d1c6a12fe1b17793e1745877b2fcbe1964c3edfd0a482fac21ca8f18261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6b7f97c5960a50fd1822cb298551ffc908e37b7893a68d6d08bce18a11cb0f11\",\"dweb:/ipfs/QmQQvxBytoY1eBt3pRQDmvH2hZ2yjhs12YqVfzGm7KSURq\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x37d1aaaa5a2908a09e9dcf56a26ddf762ecf295afb5964695937344fc6802ce1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed0bfc1b92153c5000e50f4021367b931bbe96372ac6facec3c4961b72053d02\",\"dweb:/ipfs/Qmbwp8VDerjS5SV1quwHH1oMXxPQ93fzfLVqJ2RCqbowGE\"]},\"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/UD2x18.sol\":{\"keccak256\":\"0xfb624e24cd8bb790fa08e7827819de85504a86e20e961fa4ad126c65b6d90641\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dd795b8df250e7eedc68e2dba1afbb60357ce8f22f21bed212b5a9046d2057d2\",\"dweb:/ipfs/QmUHtrSr8Gb6bvSe2rCWPA5YrJq72UiJARYr1gZqFVRsYH\"]},\"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/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/IBatch.sol\":{\"keccak256\":\"0x6d3aab84cb0529afc1e8b4a2ad4f89feb15c76b6a515a14fdf4b98887d856ae4\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://77e68471ec663dda763ac40bb7c35d47b2a87e262461dad9a2f03377f928e758\",\"dweb:/ipfs/QmdvAq7XyNAUA8uLhnFrWuBgZAjNjoq6BaY5AyjFKvC8Xh\"]},\"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\"]},\"node_modules/@sablier/lockup/src/interfaces/ILockupNFTDescriptor.sol\":{\"keccak256\":\"0x3e1fb86bb2eaedf90a54188e40001f384a299ec4fbf035798e1cea8e16e7879b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://5143e01ff4d6cdce5b61111d6902cfa6f8fdc0951977c891ceb13125fdfb41a1\",\"dweb:/ipfs/QmebeHZ4hbVQchqCovZPhTPAQHBownj2JScty7GWsd6tAG\"]},\"node_modules/@sablier/lockup/src/interfaces/ISablierLockup.sol\":{\"keccak256\":\"0x264d5a952277e3ac152f60a4ecc0c141b864f4de99b8e38e1491bfacf27a64f9\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://b34a03d39fb0b1b9dbaea22cec2d4077e4c9a4eb9b551d921bffa9ea772ef5a7\",\"dweb:/ipfs/Qmf6u87ERkoXixSpT5PMWYSfndKGmsMBhnxfnAvYBowspQ\"]},\"node_modules/@sablier/lockup/src/interfaces/ISablierLockupDynamic.sol\":{\"keccak256\":\"0x63816321d519914c91624f986696b2dea14a757f89f44b8b11da4b0e14ecb367\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://f9a15ddd4469f2056e6e145fb7cc55aa185c2263b188e3cae82bedd4d2770fdf\",\"dweb:/ipfs/QmVaFmdZZ6Y6YoLKh4b93jgPNotUkh8hpJc2KBHdrYYr4F\"]},\"node_modules/@sablier/lockup/src/interfaces/ISablierLockupLinear.sol\":{\"keccak256\":\"0x1ba923a48b2dce454e604876d9eece3e12923d8c13470d624c7daf1f51385192\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://52c19e1ba7ed8243cd6e4f9a2d15cd8abea6a65367dd240b3d1e718f421f22f0\",\"dweb:/ipfs/QmdjtYh7FyBUpbbibKXTdRmggEoC6T7GTPA4sdmD4pXiQG\"]},\"node_modules/@sablier/lockup/src/interfaces/ISablierLockupPriceGated.sol\":{\"keccak256\":\"0x148f4ec76fdf08a2f8da86a6e3bbfc8470feb515b536d51a6f4c5d40f031772f\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://a46bce7c3d30ee2f78844ef2be7173c75804481d73a932894275c9ab6cae2c6a\",\"dweb:/ipfs/Qmbdwvq6kKgywzQ25zqnxxy1Nq7EgQRxU4DrfzFFrEG5yH\"]},\"node_modules/@sablier/lockup/src/interfaces/ISablierLockupState.sol\":{\"keccak256\":\"0x6916791cf7e336d007e3a9411f07d0bbf1f7bf663b3d60390dedcda62bd9975e\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://df473f29ae2ddc52c881106685e1df9621979372dbf77479c5f6724aa09348cb\",\"dweb:/ipfs/QmY7MWAgkxqcPqHY8XfgWfYPUvhcQoqXWpCFVygPQoUZdh\"]},\"node_modules/@sablier/lockup/src/interfaces/ISablierLockupTranched.sol\":{\"keccak256\":\"0xc595654dbad9b09f7a1413017df760923224c6c8804d70c8ffdb8e81dadd774b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://98b212a9273cc6d4fd8f4ac63673a87ae644afb16f670954fdf35ba4126f237b\",\"dweb:/ipfs/QmYuQHHvFkUxeDR54eW6xv1kNMGwJyDPJHB1NqCNsaSJLL\"]},\"node_modules/@sablier/lockup/src/types/Lockup.sol\":{\"keccak256\":\"0x6d1abd8003c52a1d8a32be07765bb032bcce8c5bb28e0da9cfa4bc5305c7b4f4\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://55c4f20ecdcb936d582dbf11b397e442b69731db64de0e0581838ffb893194d9\",\"dweb:/ipfs/QmQrcPDaMM8sejpfmzVXDzRL7NrBc5D2ikAkLm1u4KSvru\"]},\"node_modules/@sablier/lockup/src/types/LockupDynamic.sol\":{\"keccak256\":\"0x3c5fbce95af3de27830d7f196a28de9eadae89f2d7dfe1f4cfbe7425d3fa2933\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://23330570fe2520a47669431c11341af72bce4e7e64a6c440a67b93910d24a000\",\"dweb:/ipfs/QmS2DvMeXM3hHZoqsHze1DYRRVGKxqKcPu6s1y1VWbPshu\"]},\"node_modules/@sablier/lockup/src/types/LockupLinear.sol\":{\"keccak256\":\"0x4392ba8a5f4892b391fb00e5531dd2bbc33ef27d59a053e3f75600d4331b0dcf\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://4d61f0b43ec1e8c5c41d9b275c14fadf6e8757000b27b52c323c0334ab417141\",\"dweb:/ipfs/QmZWhQXjusT6X7AVMupoaLYzxNTgmsJkm32Jk2fuRvn3P4\"]},\"node_modules/@sablier/lockup/src/types/LockupPriceGated.sol\":{\"keccak256\":\"0x751d269b3fd1e195832478685c3eeba53f1d94477aa2b20a05ea8ab0d52cc1c5\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://b6ac2834b8667e7123c753d0ef64cfdb4a637242bb9ca6b246198d314dbae8b0\",\"dweb:/ipfs/QmWK9vZBye4pP3vVbHeVHf6wmduideEAzetLS4UuPexFrh\"]},\"node_modules/@sablier/lockup/src/types/LockupTranched.sol\":{\"keccak256\":\"0xc2c7c41b7cfcb37dd10a5ab522c784e3236927056e870e111c866da3cbf7cc31\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://9abba4dea165619e4ff2d6f46d1ca8e77b21bc7d3c964fc0a3f2fd57a8f57a1c\",\"dweb:/ipfs/Qmd1sLEuDbLJgqE8C8QoTahodbbTmazLFhCeoFvWE6EAJR\"]},\"src/interfaces/ISablierMerkleBase.sol\":{\"keccak256\":\"0xfc4e9b4737765f3f66fb81390154aaff3f21ee63fd21bed441baf553ac090993\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://189aab3a9ddf0e72425cb3b6420129ce971da916967a920c3132e328e546abbb\",\"dweb:/ipfs/QmQZaV1yvBs6MBf5jzgboTYztsVLMi5q3L4JVowyn6Yhrp\"]},\"src/interfaces/ISablierMerkleLT.sol\":{\"keccak256\":\"0xf35047d6d07d7e7bd3d76951b1350c3157b95a1e3beedd14a142f640b7839282\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://752e331b31d79be2e58f371a70e4bdb439bf3423cb2a4a4208da53d04ce9383e\",\"dweb:/ipfs/QmTZVD47k7X2TTWtY6oA4cxmLRtxErAyUzRH3yqNtmi3YC\"]},\"src/interfaces/ISablierMerkleLockup.sol\":{\"keccak256\":\"0x84f981ea3772e5fbf5a4847a24493a75c9a65c46e29c786ad3cc8ca64d97610a\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://dc2b662b44fe03da33f54514bc3e7d54d454a98c276adcbe282c64ab0acdf77f\",\"dweb:/ipfs/QmQ42uPTXVH3QWgWN5T6RuLkSGsd7h4qCvbMHd6VFi1c9U\"]},\"src/interfaces/ISablierMerkleSignature.sol\":{\"keccak256\":\"0x2e6e8cc3b951ddc10344883c08d662161efbd5fb5bc4672f77b51aa7ed8bf87d\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://dd48f5c162987c93e45f7f942b7f23817d81ef588bb776816a207639c91e6e4e\",\"dweb:/ipfs/QmQHyHxPG6YVt5BVMYKfb5YWX6cQdp5yMVHoP1u2U3E1ut\"]},\"src/types/MerkleBase.sol\":{\"keccak256\":\"0x33004c31ccf302e5da76dbb8476816db31c2c0984fb9c928c45528bbfdef6397\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://55b26d1a6beda8cb76043d2fde56445910ae3e88e8ab20d2c48678e4456beca3\",\"dweb:/ipfs/QmYrMXbpPcjzJen93uFXiBws7fauseuXZcQ9fpbsNbaGN8\"]},\"src/types/MerkleLT.sol\":{\"keccak256\":\"0xf6b6a43cd469f3a3d97d93f08bde61e99e152943ffa674ab6765c130f1fdf955\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://29daf4234845cb12b7c36a27f19102e35d23cc953cdeca7786e01bf8f3803818\",\"dweb:/ipfs/QmcDwDUHaNXbDF6TKgtiFmM5i6GVjJ4SbxrSaBfvp5Vngr\"]}},\"version\":1}",
  "metadata": {
    "compiler": { "version": "0.8.29+commit.ab55807c" },
    "language": "Solidity",
    "output": {
      "abi": [
        {
          "inputs": [
            { "internalType": "uint256", "name": "index", "type": "uint256", "indexed": false },
            { "internalType": "address", "name": "recipient", "type": "address", "indexed": true },
            { "internalType": "uint128", "name": "amount", "type": "uint128", "indexed": false },
            { "internalType": "address", "name": "to", "type": "address", "indexed": false },
            { "internalType": "bool", "name": "viaSig", "type": "bool", "indexed": false }
          ],
          "type": "event",
          "name": "ClaimLTWithTransfer",
          "anonymous": false
        },
        {
          "inputs": [
            { "internalType": "uint256", "name": "index", "type": "uint256", "indexed": false },
            { "internalType": "address", "name": "recipient", "type": "address", "indexed": true },
            { "internalType": "uint128", "name": "amount", "type": "uint128", "indexed": false },
            { "internalType": "uint256", "name": "streamId", "type": "uint256", "indexed": true },
            { "internalType": "address", "name": "to", "type": "address", "indexed": false },
            { "internalType": "bool", "name": "viaSig", "type": "bool", "indexed": false }
          ],
          "type": "event",
          "name": "ClaimLTWithVesting",
          "anonymous": false
        },
        {
          "inputs": [
            { "internalType": "address", "name": "admin", "type": "address", "indexed": true },
            { "internalType": "address", "name": "to", "type": "address", "indexed": true },
            { "internalType": "uint128", "name": "amount", "type": "uint128", "indexed": false }
          ],
          "type": "event",
          "name": "Clawback",
          "anonymous": false
        },
        {
          "inputs": [
            { "internalType": "address", "name": "comptroller", "type": "address", "indexed": true },
            { "internalType": "uint256", "name": "newMinFeeUSD", "type": "uint256", "indexed": false },
            { "internalType": "uint256", "name": "previousMinFeeUSD", "type": "uint256", "indexed": false }
          ],
          "type": "event",
          "name": "LowerMinFeeUSD",
          "anonymous": false
        },
        {
          "inputs": [
            { "internalType": "address", "name": "caller", "type": "address", "indexed": true },
            { "internalType": "address", "name": "previousAttestor", "type": "address", "indexed": true },
            { "internalType": "address", "name": "newAttestor", "type": "address", "indexed": true }
          ],
          "type": "event",
          "name": "SetAttestor",
          "anonymous": false
        },
        {
          "inputs": [
            { "internalType": "address", "name": "caller", "type": "address", "indexed": true },
            { "internalType": "contract IERC20", "name": "token", "type": "address", "indexed": true },
            { "internalType": "uint128", "name": "amount", "type": "uint128", "indexed": false },
            { "internalType": "address", "name": "biller", "type": "address", "indexed": true }
          ],
          "type": "event",
          "name": "Sponsor",
          "anonymous": false
        },
        {
          "inputs": [
            { "internalType": "address", "name": "oldAdmin", "type": "address", "indexed": true },
            { "internalType": "address", "name": "newAdmin", "type": "address", "indexed": true }
          ],
          "type": "event",
          "name": "TransferAdmin",
          "anonymous": false
        },
        {
          "inputs": [],
          "stateMutability": "view",
          "type": "function",
          "name": "CAMPAIGN_START_TIME",
          "outputs": [{ "internalType": "uint40", "name": "", "type": "uint40" }]
        },
        {
          "inputs": [],
          "stateMutability": "view",
          "type": "function",
          "name": "CLAIM_TYPE",
          "outputs": [{ "internalType": "enum ClaimType", "name": "", "type": "uint8" }]
        },
        {
          "inputs": [],
          "stateMutability": "view",
          "type": "function",
          "name": "COMPTROLLER",
          "outputs": [{ "internalType": "address", "name": "", "type": "address" }]
        },
        {
          "inputs": [],
          "stateMutability": "view",
          "type": "function",
          "name": "EXPIRATION",
          "outputs": [{ "internalType": "uint40", "name": "", "type": "uint40" }]
        },
        {
          "inputs": [],
          "stateMutability": "view",
          "type": "function",
          "name": "IS_SABLIER_MERKLE",
          "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }]
        },
        {
          "inputs": [],
          "stateMutability": "view",
          "type": "function",
          "name": "MERKLE_ROOT",
          "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }]
        },
        {
          "inputs": [],
          "stateMutability": "view",
          "type": "function",
          "name": "SABLIER_LOCKUP",
          "outputs": [{ "internalType": "contract ISablierLockup", "name": "", "type": "address" }]
        },
        {
          "inputs": [],
          "stateMutability": "view",
          "type": "function",
          "name": "STREAM_CANCELABLE",
          "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }]
        },
        {
          "inputs": [],
          "stateMutability": "view",
          "type": "function",
          "name": "STREAM_TRANSFERABLE",
          "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }]
        },
        {
          "inputs": [],
          "stateMutability": "view",
          "type": "function",
          "name": "TOKEN",
          "outputs": [{ "internalType": "contract IERC20", "name": "", "type": "address" }]
        },
        {
          "inputs": [],
          "stateMutability": "view",
          "type": "function",
          "name": "VESTING_START_TIME",
          "outputs": [{ "internalType": "uint40", "name": "", "type": "uint40" }]
        },
        {
          "inputs": [],
          "stateMutability": "view",
          "type": "function",
          "name": "admin",
          "outputs": [{ "internalType": "address", "name": "", "type": "address" }]
        },
        {
          "inputs": [],
          "stateMutability": "view",
          "type": "function",
          "name": "attestor",
          "outputs": [{ "internalType": "address", "name": "", "type": "address" }]
        },
        {
          "inputs": [],
          "stateMutability": "view",
          "type": "function",
          "name": "calculateMinFeeWei",
          "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }]
        },
        {
          "inputs": [],
          "stateMutability": "view",
          "type": "function",
          "name": "campaignName",
          "outputs": [{ "internalType": "string", "name": "", "type": "string" }]
        },
        {
          "inputs": [
            { "internalType": "uint256", "name": "index", "type": "uint256" },
            { "internalType": "address", "name": "recipient", "type": "address" },
            { "internalType": "uint128", "name": "amount", "type": "uint128" },
            { "internalType": "bytes32[]", "name": "merkleProof", "type": "bytes32[]" }
          ],
          "stateMutability": "payable",
          "type": "function",
          "name": "claim"
        },
        {
          "inputs": [
            { "internalType": "uint256", "name": "index", "type": "uint256" },
            { "internalType": "address", "name": "to", "type": "address" },
            { "internalType": "uint128", "name": "amount", "type": "uint128" },
            { "internalType": "bytes32[]", "name": "merkleProof", "type": "bytes32[]" }
          ],
          "stateMutability": "payable",
          "type": "function",
          "name": "claimTo"
        },
        {
          "inputs": [
            { "internalType": "uint256", "name": "index", "type": "uint256" },
            { "internalType": "address", "name": "to", "type": "address" },
            { "internalType": "uint128", "name": "amount", "type": "uint128" },
            { "internalType": "uint40", "name": "expireAt", "type": "uint40" },
            { "internalType": "bytes32[]", "name": "merkleProof", "type": "bytes32[]" },
            { "internalType": "bytes", "name": "attestation", "type": "bytes" }
          ],
          "stateMutability": "payable",
          "type": "function",
          "name": "claimViaAttestation"
        },
        {
          "inputs": [
            { "internalType": "uint256", "name": "index", "type": "uint256" },
            { "internalType": "address", "name": "recipient", "type": "address" },
            { "internalType": "address", "name": "to", "type": "address" },
            { "internalType": "uint128", "name": "amount", "type": "uint128" },
            { "internalType": "uint40", "name": "validFrom", "type": "uint40" },
            { "internalType": "bytes32[]", "name": "merkleProof", "type": "bytes32[]" },
            { "internalType": "bytes", "name": "signature", "type": "bytes" }
          ],
          "stateMutability": "payable",
          "type": "function",
          "name": "claimViaSig"
        },
        {
          "inputs": [{ "internalType": "address", "name": "recipient", "type": "address" }],
          "stateMutability": "view",
          "type": "function",
          "name": "claimedStreams",
          "outputs": [{ "internalType": "uint256[]", "name": "", "type": "uint256[]" }]
        },
        {
          "inputs": [
            { "internalType": "address", "name": "to", "type": "address" },
            { "internalType": "uint128", "name": "amount", "type": "uint128" }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "clawback"
        },
        {
          "inputs": [],
          "stateMutability": "view",
          "type": "function",
          "name": "domainSeparator",
          "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }]
        },
        {
          "inputs": [],
          "stateMutability": "view",
          "type": "function",
          "name": "firstClaimTime",
          "outputs": [{ "internalType": "uint40", "name": "", "type": "uint40" }]
        },
        {
          "inputs": [{ "internalType": "uint256", "name": "index", "type": "uint256" }],
          "stateMutability": "view",
          "type": "function",
          "name": "hasClaimed",
          "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }]
        },
        {
          "inputs": [],
          "stateMutability": "view",
          "type": "function",
          "name": "hasExpired",
          "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }]
        },
        {
          "inputs": [],
          "stateMutability": "view",
          "type": "function",
          "name": "ipfsCID",
          "outputs": [{ "internalType": "string", "name": "", "type": "string" }]
        },
        {
          "inputs": [{ "internalType": "uint256", "name": "newMinFeeUSD", "type": "uint256" }],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "lowerMinFeeUSD"
        },
        {
          "inputs": [],
          "stateMutability": "view",
          "type": "function",
          "name": "minFeeUSD",
          "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }]
        },
        {
          "inputs": [{ "internalType": "address", "name": "newAttestor", "type": "address" }],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "setAttestor"
        },
        {
          "inputs": [
            { "internalType": "contract IERC20", "name": "token", "type": "address" },
            { "internalType": "uint128", "name": "amount", "type": "uint128" },
            { "internalType": "address", "name": "biller", "type": "address" }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "sponsor"
        },
        {
          "inputs": [],
          "stateMutability": "view",
          "type": "function",
          "name": "streamShape",
          "outputs": [{ "internalType": "string", "name": "", "type": "string" }]
        },
        {
          "inputs": [],
          "stateMutability": "view",
          "type": "function",
          "name": "tranchesWithPercentages",
          "outputs": [
            {
              "internalType": "struct MerkleLT.TrancheWithPercentage[]",
              "name": "",
              "type": "tuple[]",
              "components": [
                { "internalType": "UD2x18", "name": "unlockPercentage", "type": "uint64" },
                { "internalType": "uint40", "name": "duration", "type": "uint40" }
              ]
            }
          ]
        },
        {
          "inputs": [{ "internalType": "address", "name": "newAdmin", "type": "address" }],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "transferAdmin"
        }
      ],
      "devdoc": {
        "kind": "dev",
        "methods": {
          "CAMPAIGN_START_TIME()": { "details": "This is an immutable state variable." },
          "CLAIM_TYPE()": { "details": "This is an immutable state variable." },
          "EXPIRATION()": { "details": "This is an immutable state variable." },
          "IS_SABLIER_MERKLE()": { "details": "This is a constant state variable." },
          "MERKLE_ROOT()": { "details": "This is an immutable state variable." },
          "STREAM_CANCELABLE()": { "details": "This is an immutable state variable." },
          "STREAM_TRANSFERABLE()": { "details": "This is an immutable state variable." },
          "TOKEN()": { "details": "This is an immutable state variable." },
          "claim(uint256,address,uint128,bytes32[])": {
            "details": "It emits either {ClaimLTWithTransfer} or {ClaimLTWithVesting} event. Requirements: - `CLAIM_TYPE` must be `DEFAULT`. - The current time must be greater than or equal to the campaign start time. - The campaign must not have expired. - `msg.value` must not be less than the value returned by {COMPTROLLER.calculateMinFeeWei}. - The `index` must not be claimed already. - The Merkle proof must be valid. - All requirements from {ISablierLockupTranched.createWithTimestampsLT} must be met.",
            "params": {
              "amount": "The amount of ERC-20 tokens allocated to the recipient.",
              "index": "The index of the recipient in the Merkle tree.",
              "merkleProof": "The proof of inclusion in the Merkle tree.",
              "recipient": "The address of the airdrop recipient."
            }
          },
          "claimTo(uint256,address,uint128,bytes32[])": {
            "details": "It emits either {ClaimLTWithTransfer} or {ClaimLTWithVesting} event. Requirements: - `CLAIM_TYPE` must be `DEFAULT`. - `msg.sender` must be the airdrop recipient. - The `to` must not be the zero address. - Refer to the requirements in {claim}.",
            "params": {
              "amount": "The amount of ERC-20 tokens allocated to the `msg.sender`.",
              "index": "The index of the `msg.sender` in the Merkle tree.",
              "merkleProof": "The proof of inclusion in the Merkle tree.",
              "to": "The address to which Lockup stream or ERC-20 tokens will be sent on behalf of `msg.sender`."
            }
          },
          "claimViaAttestation(uint256,address,uint128,uint40,bytes32[],bytes)": {
            "details": "It emits either {ClaimLTWithTransfer} or {ClaimLTWithVesting} event. Notes: - The attestation must be an EIP-712 signature from the attestor. - See the example in the {claimViaSig} function. - If the attestor is not set in the campaign, the attestor from the comptroller is used. Requirements: - `msg.sender` must be the airdrop recipient. - `CLAIM_TYPE` must be `ATTEST`. - The `to` must not be the zero address. - The attestor must not be the zero address. - The `expireAt` timestamp must not be in the past. - The attestation signature must be valid. - Refer to the requirements in {claim}.",
            "params": {
              "amount": "The amount of ERC-20 tokens allocated to the `msg.sender`.",
              "attestation": "The EIP-712 signature from the attestor.",
              "expireAt": "The timestamp after which the attestation signature is no longer valid.",
              "index": "The index of the `msg.sender` in the Merkle tree.",
              "merkleProof": "The proof of inclusion in the Merkle tree.",
              "to": "The address to which Lockup stream or ERC-20 tokens will be sent on behalf of `msg.sender`."
            }
          },
          "claimViaSig(uint256,address,address,uint128,uint40,bytes32[],bytes)": {
            "details": "It emits either {ClaimLTWithTransfer} or {ClaimLTWithVesting} event. Requirements: - `CLAIM_TYPE` must be `DEFAULT`. - If `recipient` is an EOA, it must match the recovered signer. - If `recipient` is a contract, it must implement the IERC-1271 interface. - The `to` must not be the zero address. - The `validFrom` must be less than or equal to the current block timestamp. - Refer to the requirements in {claim}. Below is the example of typed data to be signed by the airdrop recipient, referenced from https://docs.metamask.io/wallet/how-to/sign-data/#example. ```json types: {   EIP712Domain: [     { name: \"name\", type: \"string\" },     { name: \"chainId\", type: \"uint256\" },     { name: \"verifyingContract\", type: \"address\" },   ],   Claim: [     { name: \"index\", type: \"uint256\" },     { name: \"recipient\", type: \"address\" },     { name: \"to\", type: \"address\" },     { name: \"amount\", type: \"uint128\" },     { name: \"validFrom\", type: \"uint40\" },   ], }, domain: {   name: \"Sablier Airdrops Protocol\",   chainId: 1, // Chain on which the contract is deployed   verifyingContract: \"0xTheAddressOfThisContract\", // The address of this contract }, primaryType: \"Claim\", message: {   index: 2, // The index of the signer in the Merkle tree   recipient: \"0xTheAddressOfTheRecipient\", // The address of the airdrop recipient   to: \"0xTheAddressReceivingTheTokens\", // The address where recipient wants to transfer the tokens   amount: \"1000000000000000000000\", // The amount of tokens allocated to the recipient   validFrom: 1752425637 // The timestamp from which the claim signature is valid }, ```",
            "params": {
              "amount": "The amount of ERC-20 tokens allocated to the recipient.",
              "index": "The index of the recipient in the Merkle tree.",
              "merkleProof": "The proof of inclusion in the Merkle tree.",
              "recipient": "The address of the airdrop recipient who is providing the signature.",
              "signature": "The EIP-712 or EIP-1271 signature from the airdrop recipient.",
              "to": "The address to which Lockup stream or ERC-20 tokens will be sent on behalf of the recipient.",
              "validFrom": "The timestamp from which the claim signature is valid."
            }
          },
          "clawback(address,uint128)": {
            "details": "Emits a {Clawback} event. Requirements: - `msg.sender` must be the admin. - No claim must be made, OR   The current timestamp must not exceed 7 days after the first claim, OR   The campaign must be expired.",
            "params": { "amount": "The amount of tokens to claw back.", "to": "The address to receive the tokens." }
          },
          "hasClaimed(uint256)": {
            "details": "Uses a bitmap to save gas.",
            "params": { "index": "The index of the recipient to check." }
          },
          "ipfsCID()": { "details": "An empty value may break certain UI features that depend upon the IPFS CID." },
          "lowerMinFeeUSD(uint256)": {
            "details": "Emits a {LowerMinFeeUSD} event. Requirements: - `msg.sender` must be the comptroller. - The new fee must be less than the current {minFeeUSD}.",
            "params": { "newMinFeeUSD": "The new min USD fee to set, denominated in 8 decimals." }
          },
          "minFeeUSD()": {
            "details": "The denomination is based on Chainlink's 8-decimal format for USD prices, where 1e8 is $1."
          },
          "setAttestor(address)": {
            "details": "Emits a {SetAttestor} event. Requirements: - `msg.sender` must be either the comptroller or the campaign admin.",
            "params": {
              "newAttestor": "The new attestor address. If zero, the attestor from the comptroller will be used."
            }
          },
          "sponsor(address,uint128,address)": {
            "details": "Emits a {Sponsor} event. Notes: - This function only makes the payment. The claim fees are updated only after the payment has been verified off-chain. - Refer to the Sablier website in order to sponsor with the correct token, otherwise the sponsorship may be ignored. Requirements: - `biller` must not be the zero address. - `amount` must be greater than zero. - `token` must not be the zero address and must be a valid ERC20 token. - `msg.sender` must have approved the contract to spend the tokens.",
            "params": {
              "amount": "The amount of tokens to transfer.",
              "biller": "The address to receive the tokens.",
              "token": "The ERC-20 token to transfer."
            }
          },
          "transferAdmin(address)": {
            "details": "Notes: - Does not revert if the admin is the same. - This function can potentially leave the contract without an admin, thereby removing any functionality that is only available to the admin. Requirements: - `msg.sender` must be the contract admin.",
            "params": { "newAdmin": "The address of the new admin." }
          }
        },
        "version": 1
      },
      "userdoc": {
        "kind": "user",
        "methods": {
          "CAMPAIGN_START_TIME()": { "notice": "The timestamp at which campaign starts and claim begins." },
          "CLAIM_TYPE()": { "notice": "Retrieves the claim type supported by the campaign." },
          "COMPTROLLER()": { "notice": "Retrieves the address of the comptroller contract." },
          "EXPIRATION()": {
            "notice": "The cut-off point for the campaign, as a Unix timestamp. A value of zero means there is no expiration."
          },
          "IS_SABLIER_MERKLE()": {
            "notice": "Returns `true` indicating that this campaign contract is deployed using the Sablier Factory."
          },
          "MERKLE_ROOT()": { "notice": "The root of the Merkle tree used to validate the proofs of inclusion." },
          "SABLIER_LOCKUP()": { "notice": "The address of the {SablierLockup} contract." },
          "STREAM_CANCELABLE()": { "notice": "A flag indicating whether the streams can be canceled." },
          "STREAM_TRANSFERABLE()": { "notice": "A flag indicating whether the stream NFTs are transferable." },
          "TOKEN()": { "notice": "The ERC-20 token to distribute." },
          "VESTING_START_TIME()": {
            "notice": "Retrieves the start time of the vesting stream, as a Unix timestamp. Zero is a sentinel value for `block.timestamp`."
          },
          "admin()": { "notice": "The address of the admin account or contract." },
          "attestor()": { "notice": "Retrieves the attestor address used for creating attestation signatures." },
          "calculateMinFeeWei()": { "notice": "Calculates the minimum fee in wei required to claim the airdrop." },
          "campaignName()": { "notice": "Retrieves the name of the campaign." },
          "claim(uint256,address,uint128,bytes32[])": {
            "notice": "Claim airdrop on behalf of eligible recipient. If the vesting end time is in the future, it creates a Lockup Tranched stream, otherwise it transfers the tokens directly to the recipient address."
          },
          "claimTo(uint256,address,uint128,bytes32[])": {
            "notice": "Claim airdrop. If the vesting end time is in the future, it creates a Lockup Tranched stream with `to` address as the stream recipient, otherwise it transfers the tokens directly to the `to` address."
          },
          "claimViaAttestation(uint256,address,uint128,uint40,bytes32[],bytes)": {
            "notice": "Claim airdrop using an external attestation from a trusted attestor (e.g., KYC verifier). If the vesting end time is in the future, it creates a Lockup Tranched stream with `to` address as the stream recipient, otherwise it transfers the tokens directly to the `to` address."
          },
          "claimViaSig(uint256,address,address,uint128,uint40,bytes32[],bytes)": {
            "notice": "Claim airdrop on behalf of eligible recipient using an EIP-712 or EIP-1271 signature. If the vesting end time is in the future, it creates a Lockup Tranched stream with `to` address as the stream recipient, otherwise it transfers the tokens directly to the `to` address."
          },
          "claimedStreams(address)": {
            "notice": "Retrieves the stream IDs associated with the airdrops claimed by the provided recipient. In practice, most campaigns will only have one stream per recipient."
          },
          "clawback(address,uint128)": { "notice": "Claws back the unclaimed tokens." },
          "domainSeparator()": {
            "notice": "The domain separator, as required by EIP-712 and EIP-1271, used for signing claims to prevent replay attacks across different campaigns."
          },
          "firstClaimTime()": {
            "notice": "Retrieves the timestamp when the first claim is made, and zero if no claim was made yet."
          },
          "hasClaimed(uint256)": {
            "notice": "Returns a flag indicating whether a claim has been made for a given index."
          },
          "hasExpired()": { "notice": "Returns a flag indicating whether the campaign has expired." },
          "ipfsCID()": { "notice": "The content identifier for indexing the campaign on IPFS." },
          "lowerMinFeeUSD(uint256)": { "notice": "Lowers the min USD fee." },
          "minFeeUSD()": {
            "notice": "Retrieves the min USD fee required to claim the airdrop, denominated in 8 decimals."
          },
          "setAttestor(address)": { "notice": "Sets the attestor address used for verifying attestation signatures." },
          "sponsor(address,uint128,address)": { "notice": "Sponsors the claim fees for eligible recipients." },
          "streamShape()": { "notice": "Retrieves the shape of the Lockup stream created upon claiming." },
          "tranchesWithPercentages()": {
            "notice": "Retrieves the tranches with their respective unlock percentages and durations."
          },
          "transferAdmin(address)": { "notice": "Transfers the contract admin to a new address." }
        },
        "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/ISablierMerkleLT.sol": "ISablierMerkleLT" },
      "evmVersion": "shanghai",
      "libraries": {},
      "viaIR": true
    },
    "sources": {
      "node_modules/@chainlink/contracts/src/v0.8/shared/interfaces/AggregatorV3Interface.sol": {
        "keccak256": "0x257a8d28fa83d3d942547c8e129ef465e4b5f3f31171e7be4739a4c98da6b4f0",
        "urls": [
          "bzz-raw://6d39e11b1dc7b9b8ccdabbc9be442ab7cda4a81c748f57e316dcb1bcb4a28bf9",
          "dweb:/ipfs/QmaG6vz6W6iEUBsbHSBob5mdcitYxWjoygxREHpsJHfWrS"
        ],
        "license": "MIT"
      },
      "node_modules/@openzeppelin/contracts/interfaces/IERC165.sol": {
        "keccak256": "0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724",
        "urls": [
          "bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a",
          "dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS"
        ],
        "license": "MIT"
      },
      "node_modules/@openzeppelin/contracts/interfaces/IERC4906.sol": {
        "keccak256": "0x1b8691e244f6e11d987459993671db0af33e6a29f7805eac6a9925cc6b601957",
        "urls": [
          "bzz-raw://a9e2a5efc2e14e98f5fe91bbab769199b4987a40dd3b96075b04957fda2ae80f",
          "dweb:/ipfs/QmbAjrSSVBiJ6MbgF7Jkr53m674iGMZ6haWbbRrWDZJraK"
        ],
        "license": "MIT"
      },
      "node_modules/@openzeppelin/contracts/interfaces/IERC721.sol": {
        "keccak256": "0xc4d7ebf63eb2f6bf3fee1b6c0ee775efa9f31b4843a5511d07eea147e212932d",
        "urls": [
          "bzz-raw://01c66a2fad66bc710db7510419a7eee569b40b67cd9f01b70a3fc90d6f76c03b",
          "dweb:/ipfs/QmT1CjJZq4eTNA4nu8E9ZrWfaZu6ReUsDbjcK8DbEFqwx5"
        ],
        "license": "MIT"
      },
      "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/token/ERC721/IERC721.sol": {
        "keccak256": "0x5dc63d1c6a12fe1b17793e1745877b2fcbe1964c3edfd0a482fac21ca8f18261",
        "urls": [
          "bzz-raw://6b7f97c5960a50fd1822cb298551ffc908e37b7893a68d6d08bce18a11cb0f11",
          "dweb:/ipfs/QmQQvxBytoY1eBt3pRQDmvH2hZ2yjhs12YqVfzGm7KSURq"
        ],
        "license": "MIT"
      },
      "node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol": {
        "keccak256": "0x37d1aaaa5a2908a09e9dcf56a26ddf762ecf295afb5964695937344fc6802ce1",
        "urls": [
          "bzz-raw://ed0bfc1b92153c5000e50f4021367b931bbe96372ac6facec3c4961b72053d02",
          "dweb:/ipfs/Qmbwp8VDerjS5SV1quwHH1oMXxPQ93fzfLVqJ2RCqbowGE"
        ],
        "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/UD2x18.sol": {
        "keccak256": "0xfb624e24cd8bb790fa08e7827819de85504a86e20e961fa4ad126c65b6d90641",
        "urls": [
          "bzz-raw://dd795b8df250e7eedc68e2dba1afbb60357ce8f22f21bed212b5a9046d2057d2",
          "dweb:/ipfs/QmUHtrSr8Gb6bvSe2rCWPA5YrJq72UiJARYr1gZqFVRsYH"
        ],
        "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/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/IBatch.sol": {
        "keccak256": "0x6d3aab84cb0529afc1e8b4a2ad4f89feb15c76b6a515a14fdf4b98887d856ae4",
        "urls": [
          "bzz-raw://77e68471ec663dda763ac40bb7c35d47b2a87e262461dad9a2f03377f928e758",
          "dweb:/ipfs/QmdvAq7XyNAUA8uLhnFrWuBgZAjNjoq6BaY5AyjFKvC8Xh"
        ],
        "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"
      },
      "node_modules/@sablier/lockup/src/interfaces/ILockupNFTDescriptor.sol": {
        "keccak256": "0x3e1fb86bb2eaedf90a54188e40001f384a299ec4fbf035798e1cea8e16e7879b",
        "urls": [
          "bzz-raw://5143e01ff4d6cdce5b61111d6902cfa6f8fdc0951977c891ceb13125fdfb41a1",
          "dweb:/ipfs/QmebeHZ4hbVQchqCovZPhTPAQHBownj2JScty7GWsd6tAG"
        ],
        "license": "GPL-3.0-or-later"
      },
      "node_modules/@sablier/lockup/src/interfaces/ISablierLockup.sol": {
        "keccak256": "0x264d5a952277e3ac152f60a4ecc0c141b864f4de99b8e38e1491bfacf27a64f9",
        "urls": [
          "bzz-raw://b34a03d39fb0b1b9dbaea22cec2d4077e4c9a4eb9b551d921bffa9ea772ef5a7",
          "dweb:/ipfs/Qmf6u87ERkoXixSpT5PMWYSfndKGmsMBhnxfnAvYBowspQ"
        ],
        "license": "GPL-3.0-or-later"
      },
      "node_modules/@sablier/lockup/src/interfaces/ISablierLockupDynamic.sol": {
        "keccak256": "0x63816321d519914c91624f986696b2dea14a757f89f44b8b11da4b0e14ecb367",
        "urls": [
          "bzz-raw://f9a15ddd4469f2056e6e145fb7cc55aa185c2263b188e3cae82bedd4d2770fdf",
          "dweb:/ipfs/QmVaFmdZZ6Y6YoLKh4b93jgPNotUkh8hpJc2KBHdrYYr4F"
        ],
        "license": "GPL-3.0-or-later"
      },
      "node_modules/@sablier/lockup/src/interfaces/ISablierLockupLinear.sol": {
        "keccak256": "0x1ba923a48b2dce454e604876d9eece3e12923d8c13470d624c7daf1f51385192",
        "urls": [
          "bzz-raw://52c19e1ba7ed8243cd6e4f9a2d15cd8abea6a65367dd240b3d1e718f421f22f0",
          "dweb:/ipfs/QmdjtYh7FyBUpbbibKXTdRmggEoC6T7GTPA4sdmD4pXiQG"
        ],
        "license": "GPL-3.0-or-later"
      },
      "node_modules/@sablier/lockup/src/interfaces/ISablierLockupPriceGated.sol": {
        "keccak256": "0x148f4ec76fdf08a2f8da86a6e3bbfc8470feb515b536d51a6f4c5d40f031772f",
        "urls": [
          "bzz-raw://a46bce7c3d30ee2f78844ef2be7173c75804481d73a932894275c9ab6cae2c6a",
          "dweb:/ipfs/Qmbdwvq6kKgywzQ25zqnxxy1Nq7EgQRxU4DrfzFFrEG5yH"
        ],
        "license": "GPL-3.0-or-later"
      },
      "node_modules/@sablier/lockup/src/interfaces/ISablierLockupState.sol": {
        "keccak256": "0x6916791cf7e336d007e3a9411f07d0bbf1f7bf663b3d60390dedcda62bd9975e",
        "urls": [
          "bzz-raw://df473f29ae2ddc52c881106685e1df9621979372dbf77479c5f6724aa09348cb",
          "dweb:/ipfs/QmY7MWAgkxqcPqHY8XfgWfYPUvhcQoqXWpCFVygPQoUZdh"
        ],
        "license": "GPL-3.0-or-later"
      },
      "node_modules/@sablier/lockup/src/interfaces/ISablierLockupTranched.sol": {
        "keccak256": "0xc595654dbad9b09f7a1413017df760923224c6c8804d70c8ffdb8e81dadd774b",
        "urls": [
          "bzz-raw://98b212a9273cc6d4fd8f4ac63673a87ae644afb16f670954fdf35ba4126f237b",
          "dweb:/ipfs/QmYuQHHvFkUxeDR54eW6xv1kNMGwJyDPJHB1NqCNsaSJLL"
        ],
        "license": "GPL-3.0-or-later"
      },
      "node_modules/@sablier/lockup/src/types/Lockup.sol": {
        "keccak256": "0x6d1abd8003c52a1d8a32be07765bb032bcce8c5bb28e0da9cfa4bc5305c7b4f4",
        "urls": [
          "bzz-raw://55c4f20ecdcb936d582dbf11b397e442b69731db64de0e0581838ffb893194d9",
          "dweb:/ipfs/QmQrcPDaMM8sejpfmzVXDzRL7NrBc5D2ikAkLm1u4KSvru"
        ],
        "license": "GPL-3.0-or-later"
      },
      "node_modules/@sablier/lockup/src/types/LockupDynamic.sol": {
        "keccak256": "0x3c5fbce95af3de27830d7f196a28de9eadae89f2d7dfe1f4cfbe7425d3fa2933",
        "urls": [
          "bzz-raw://23330570fe2520a47669431c11341af72bce4e7e64a6c440a67b93910d24a000",
          "dweb:/ipfs/QmS2DvMeXM3hHZoqsHze1DYRRVGKxqKcPu6s1y1VWbPshu"
        ],
        "license": "GPL-3.0-or-later"
      },
      "node_modules/@sablier/lockup/src/types/LockupLinear.sol": {
        "keccak256": "0x4392ba8a5f4892b391fb00e5531dd2bbc33ef27d59a053e3f75600d4331b0dcf",
        "urls": [
          "bzz-raw://4d61f0b43ec1e8c5c41d9b275c14fadf6e8757000b27b52c323c0334ab417141",
          "dweb:/ipfs/QmZWhQXjusT6X7AVMupoaLYzxNTgmsJkm32Jk2fuRvn3P4"
        ],
        "license": "GPL-3.0-or-later"
      },
      "node_modules/@sablier/lockup/src/types/LockupPriceGated.sol": {
        "keccak256": "0x751d269b3fd1e195832478685c3eeba53f1d94477aa2b20a05ea8ab0d52cc1c5",
        "urls": [
          "bzz-raw://b6ac2834b8667e7123c753d0ef64cfdb4a637242bb9ca6b246198d314dbae8b0",
          "dweb:/ipfs/QmWK9vZBye4pP3vVbHeVHf6wmduideEAzetLS4UuPexFrh"
        ],
        "license": "GPL-3.0-or-later"
      },
      "node_modules/@sablier/lockup/src/types/LockupTranched.sol": {
        "keccak256": "0xc2c7c41b7cfcb37dd10a5ab522c784e3236927056e870e111c866da3cbf7cc31",
        "urls": [
          "bzz-raw://9abba4dea165619e4ff2d6f46d1ca8e77b21bc7d3c964fc0a3f2fd57a8f57a1c",
          "dweb:/ipfs/Qmd1sLEuDbLJgqE8C8QoTahodbbTmazLFhCeoFvWE6EAJR"
        ],
        "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/ISablierMerkleLT.sol": {
        "keccak256": "0xf35047d6d07d7e7bd3d76951b1350c3157b95a1e3beedd14a142f640b7839282",
        "urls": [
          "bzz-raw://752e331b31d79be2e58f371a70e4bdb439bf3423cb2a4a4208da53d04ce9383e",
          "dweb:/ipfs/QmTZVD47k7X2TTWtY6oA4cxmLRtxErAyUzRH3yqNtmi3YC"
        ],
        "license": "GPL-3.0-or-later"
      },
      "src/interfaces/ISablierMerkleLockup.sol": {
        "keccak256": "0x84f981ea3772e5fbf5a4847a24493a75c9a65c46e29c786ad3cc8ca64d97610a",
        "urls": [
          "bzz-raw://dc2b662b44fe03da33f54514bc3e7d54d454a98c276adcbe282c64ab0acdf77f",
          "dweb:/ipfs/QmQ42uPTXVH3QWgWN5T6RuLkSGsd7h4qCvbMHd6VFi1c9U"
        ],
        "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/types/MerkleBase.sol": {
        "keccak256": "0x33004c31ccf302e5da76dbb8476816db31c2c0984fb9c928c45528bbfdef6397",
        "urls": [
          "bzz-raw://55b26d1a6beda8cb76043d2fde56445910ae3e88e8ab20d2c48678e4456beca3",
          "dweb:/ipfs/QmYrMXbpPcjzJen93uFXiBws7fauseuXZcQ9fpbsNbaGN8"
        ],
        "license": "GPL-3.0-or-later"
      },
      "src/types/MerkleLT.sol": {
        "keccak256": "0xf6b6a43cd469f3a3d97d93f08bde61e99e152943ffa674ab6765c130f1fdf955",
        "urls": [
          "bzz-raw://29daf4234845cb12b7c36a27f19102e35d23cc953cdeca7786e01bf8f3803818",
          "dweb:/ipfs/QmcDwDUHaNXbDF6TKgtiFmM5i6GVjJ4SbxrSaBfvp5Vngr"
        ],
        "license": "GPL-3.0-or-later"
      }
    },
    "version": 1
  },
  "id": 125
}
