Hierarchy (View Summary)

Constructors

Properties

apiKey?: string
apiUrl: string
cluster: ICluster
commitment: Commitment | ConnectionConfig
connection: Connection
feeConfigPublicKey: PublicKey
merkleDistributorProgram: Program<MerkleDistributor>
partnerOracle: Program<PartnerOracle>
partnerOracleProgramId: PublicKey
programId: PublicKey
sendThrottler: PQueue

Methods

  • Get all defaults fees applied by the protocol.

    Returns Promise<
        {
            allocationFactor: number;
            claimMaxFee: number;
            claimMinFee: number;
            clawbackTokenFeePercent: number;
            creationFee: number;
            priceOracleFee: number;
            pubkey: PublicKey;
        },
    >

  • Parameters

    Returns Promise<
        (
            | null
            | {
                admin: PublicKey;
                allocationFactor: number;
                buffer: number[];
                bump: number;
                canUpdateDuration: boolean;
                claimFeeClaimed: boolean;
                claimMaxFee: number;
                claimMinFee: number;
                claimsClosableByAdmin: boolean;
                claimsClosableByClaimant: boolean;
                claimsLimit: number;
                clawbackFeeClaimed: boolean;
                clawbackReceiver: PublicKey;
                clawbackStartTs: BN;
                clawbackTokenFeePercent: number;
                clawedBack: boolean;
                clawedBackTs: BN;
                creationFee: number;
                creationFeeClaimed: boolean;
                endTs: BN;
                lastDurationUpdateTs: BN;
                maxNumNodes: BN;
                maxTotalClaim: BN;
                mint: PublicKey;
                numNodesClaimed: BN;
                programVersion: number;
                root: number[];
                startTs: BN;
                tokenPriceLamports: BN;
                tokenVault: PublicKey;
                totalAmountClaimed: BN;
                totalAmountLocked: BN;
                totalAmountUnlocked: BN;
                totalClaimablePreUpdate: BN;
                unlockPeriod: BN;
                version: BN;
            }
        )[],
    >

  • Fetch Fee Config for the Airdrop protocol from Partner Oracle.

    Returns Promise<
        {
            allocationFactor: number;
            buffer: number[];
            claimMaxFee: number;
            claimMinFee: number;
            clawbackTokenFeePercent: number;
            creationFee: number;
            partners: {
                allocationFactor: number;
                buffer: number[];
                claimMaxFee: number;
                claimMinFee: number;
                clawbackTokenFeePercent: number;
                creationFee: number;
                expiryTs: BN;
                priceOracleFee: number;
                pubkey: PublicKey;
            }[];
            priceOracleFee: number;
            solanaPrice: BN;
            usdMultiplier: number;
            version: number;
        },
    >

  • Get fees for a given wallet.

    Parameters

    • pubkey: PublicKey

      partner to search fees for

    Returns Promise<
        | null
        | {
            allocationFactor: number;
            claimMaxFee: number;
            claimMinFee: number;
            clawbackTokenFeePercent: number;
            creationFee: number;
            priceOracleFee: number;
            pubkey: PublicKey;
        },
    >

  • Parameters

    • data: ICreateDistributorData
    • accounts: Required<
          ResolvedAccounts<
              | {
                  docs: ["[MerkleDistributor]."];
                  name: "distributor";
                  pda: {
                      seeds: [
                          {
                              kind: "const";
                              value: [
                                  77,
                                  101,
                                  114,
                                  107,
                                  108,
                                  101,
                                  68,
                                  105,
                                  115,
                                  116,
                                  114,
                                  105,
                                  98,
                                  117,
                                  116,
                                  111,
                                  114,
                              ];
                          },
                          { kind: "account"; path: "mint" },
                          { kind: "arg"; path: "version" },
                      ];
                  };
                  writable: true;
              }
              | {
                  docs: ["Clawback receiver token account"];
                  name: "clawbackReceiver";
                  writable: true;
              }
              | { docs: ["The mint to distribute."]; name: "mint" }
              | {
                  docs: ["Token vault"];
                  name: "tokenVault";
                  pda: {
                      program: {
                          kind: "const";
                          value: [
                              140,
                              151,
                              37,
                              143,
                              78,
                              36,
                              137,
                              241,
                              187,
                              61,
                              16,
                              41,
                              20,
                              142,
                              13,
                              131,
                              11,
                              90,
                              19,
                              153,
                              218,
                              255,
                              16,
                              132,
                              4,
                              142,
                              123,
                              216,
                              219,
                              233,
                              248,
                              89,
                          ];
                      };
                      seeds: [
                          { kind: "account"; path: "distributor" },
                          { kind: "account"; path: "tokenProgram" },
                          { kind: "account"; path: "mint" },
                      ];
                  };
                  writable: true;
              }
              | {
                  docs: [
                      "Admin wallet, responsible for creating the distributor and paying for the transaction.",
                      "Also has the authority to set the clawback receiver and change itself.",
                  ];
                  name: "admin";
                  signer: true;
                  writable: true;
              }
              | {
                  address: "11111111111111111111111111111111";
                  docs: ["The [System] program."];
                  name: "systemProgram";
              }
              | {
                  address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
                  docs: ["The [Associated Token] program."];
                  name: "associatedTokenProgram";
              }
              | { docs: ["The [Token] program."]; name: "tokenProgram" }
              | {
                  name: "partnerOracleConfig";
                  pda: {
                      program: {
                          kind: "const";
                          value: [
                              12,
                              48,
                              148,
                              48,
                              221,
                              89,
                              2,
                              209,
                              180,
                              126,
                              151,
                              216,
                              166,
                              3,
                              112,
                              50,
                              177,
                              192,
                              141,
                              218,
                              37,
                              78,
                              51,
                              109,
                              243,
                              106,
                              174,
                              122,
                              93,
                              121,
                              191,
                              119,
                          ];
                      };
                      seeds: [
                          {
                              kind: "const";
                              value: [
                                  97,
                                  105,
                                  114,
                                  100,
                                  114,
                                  111,
                                  112,
                                  95,
                                  99,
                                  111,
                                  110,
                                  102,
                                  105,
                                  103,
                              ];
                          },
                      ];
                  };
              }
              | {
                  address: "pardpVtPjC8nLj1Dwncew62mUzfChdCX1EaoZe8oCAa";
                  docs: ["Partner Oracle program that stores fees"];
                  name: "partnerOracle";
              },
          >,
      >

    Returns Promise<TransactionInstruction>

  • Parameters

    • payer: PublicKey
    • fee: bigint = AIRDROP_CLAIM_FEE

    Returns TransactionInstruction

  • Parameters

    Returns Promise<
        IProgramAccount<
            {
                admin: PublicKey;
                allocationFactor: number;
                buffer: number[];
                bump: number;
                canUpdateDuration: boolean;
                claimFeeClaimed: boolean;
                claimMaxFee: number;
                claimMinFee: number;
                claimsClosableByAdmin: boolean;
                claimsClosableByClaimant: boolean;
                claimsLimit: number;
                clawbackFeeClaimed: boolean;
                clawbackReceiver: PublicKey;
                clawbackStartTs: BN;
                clawbackTokenFeePercent: number;
                clawedBack: boolean;
                clawedBackTs: BN;
                creationFee: number;
                creationFeeClaimed: boolean;
                endTs: BN;
                lastDurationUpdateTs: BN;
                maxNumNodes: BN;
                maxTotalClaim: BN;
                mint: PublicKey;
                numNodesClaimed: BN;
                programVersion: number;
                root: number[];
                startTs: BN;
                tokenPriceLamports: BN;
                tokenVault: PublicKey;
                totalAmountClaimed: BN;
                totalAmountLocked: BN;
                totalAmountUnlocked: BN;
                totalClaimablePreUpdate: BN;
                unlockPeriod: BN;
                version: BN;
            },
        >[],
    >