Function getOnChainQuote

  • Gets a quote for an on-chain transaction from the MEE service. This method is used when the payment token doesn't support ERC20Permit or when a standard on-chain transaction is preferred.

    Parameters

    • client: {
          account: MultichainSmartAccount;
          extend: (<const client, const extendedHttpClient>(fn) => never);
          info: GetInfoPayload;
          pollingInterval: number;
          request: (<T>(params) => Promise<T>);
      }

      The base MEE client instance

      • account: MultichainSmartAccount
      • extend: (<const client, const extendedHttpClient>(fn) => never)

        Extends the client with additional functionality

        Returns

        Extended client with both base and new functionality

          • <const client, const extendedHttpClient>(fn): never
          • Type Parameters

            • const client extends {
                  extend?: undefined;
                  request?: undefined;
              }
            • const extendedHttpClient extends HttpClient

            Parameters

            Returns never

      • info: GetInfoPayload
      • pollingInterval: number
      • request: (<T>(params) => Promise<T>)

        Makes HTTP requests to the Http node

          • <T>(params): Promise<T>
          • Type Parameters

            • T

            Parameters

            • params: RequestParams

            Returns Promise<T>

    • parameters: GetOnChainQuoteParams

      Parameters for the quote request

    Returns Promise<GetOnChainQuotePayload>

    Promise resolving to quote payload with trigger information

    Example

    const quote = await getOnChainQuote(meeClient, {
    instructions: [
    mcNexus.build({
    type: "default",
    data: {
    calls: [
    {
    to: "0x0000000000000000000000000000000000000000",
    gasLimit: 50000n,
    value: 0n
    }
    ],
    chainId: base.id
    }
    })
    ],
    trigger: {
    paymentToken: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", // USDC
    amount: "1000000" // 1 USDC (6 decimals)
    }
    });

    Throws

    Will throw an error if the token does not support ERC20Permit