import { MetaTxConfig, TransactionResponse, Web3LibAdapter } from "@bosonprotocol/common"; import { BigNumberish } from "@ethersproject/bignumber"; import { BytesLike } from "@ethersproject/bytes"; import { handler } from "."; import { BaseCoreSDK } from "./../mixins/base-core-sdk"; import { GetRetriedHashesData } from "./biconomy"; import { accounts } from ".."; import { SignedMetaTx, UnsignedMetaTx } from "./handler"; import { TransferAuthorization } from "../erc20/handler"; export declare class MetaTxMixin extends BaseCoreSDK { /** * Encodes and signs a meta transaction that can be relayed. * @param args - Meta transaction args. * @returns Signature. */ signMetaTx(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign: true; }): Promise; signMetaTx(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign?: false | undefined; }): Promise; /** * Encodes and signs a meta transaction for `createSeller` that can be relayed. * @param args - Meta transaction args. * @returns Signature. */ signMetaTxCreateSeller(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign: true; }): Promise; signMetaTxCreateSeller(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign?: false | undefined; }): Promise; signMetaTxUpdateSeller(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign: true; }): Promise; signMetaTxUpdateSeller(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign?: false | undefined; }): Promise; signMetaTxOptInToSellerUpdate(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign: true; }): Promise; signMetaTxOptInToSellerUpdate(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign?: false | undefined; }): Promise; signMetaTxUpdateSellerAndOptIn(sellerUpdates: accounts.UpdateSellerArgs): Promise; /** * Encodes and signs a meta transaction for `createOffer` that can be relayed. * @param args - Meta transaction args. * @returns Signature. */ signMetaTxCreateOffer(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign: true; }): Promise; signMetaTxCreateOffer(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign?: false | undefined; }): Promise; /** * Encodes and signs a meta transaction for `createOfferBatch` that can be relayed. * @param args - Meta transaction args. * @returns Signature. */ signMetaTxCreateOfferBatch(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign: true; }): Promise; signMetaTxCreateOfferBatch(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign?: false | undefined; }): Promise; /** * Encodes and signs a meta transaction for `createGroup` that can be relayed. * @param args - Meta transaction args. * @returns Signature. */ signMetaTxCreateGroup(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign: true; }): Promise; signMetaTxCreateGroup(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign?: false | undefined; }): Promise; signMetaTxReserveRange(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId" | "to"> & { to: "seller" | "contract"; returnTypedDataToSign: true; }): Promise; signMetaTxReserveRange(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId" | "to"> & { to: "seller" | "contract"; returnTypedDataToSign?: false | undefined; }): Promise; signMetaTxPreMint(args: Omit[0], "web3Lib" | "bosonVoucherAddress" | "chainId" | "forwarderAddress" | "batchId" | "forwarderAbi" | "relayerUrl">, overrides?: Partial<{ batchId: BigNumberish; }>): Promise; signMetaTxSetApprovalForAll(args: Omit[0], "web3Lib" | "bosonVoucherAddress" | "chainId" | "nonce" | "forwarderAddress" | "batchId" | "forwarderAbi" | "relayerUrl">, overrides?: Partial<{ batchId: BigNumberish; }>): Promise; signMetaTxSetApprovalForAllToContract(args: Omit[0], "web3Lib" | "bosonVoucherAddress" | "chainId" | "nonce" | "forwarderAddress" | "batchId" | "forwarderAbi" | "relayerUrl"> & { bosonVoucherAddress?: string; }, overrides?: Partial<{ batchId?: BigNumberish; txGas?: number; }>): Promise; signMetaTxCallExternalContract(args: Omit[0], "web3Lib" | "bosonVoucherAddress" | "chainId" | "nonce" | "forwarderAddress" | "batchId" | "forwarderAbi" | "relayerUrl">, overrides?: Partial<{ batchId?: BigNumberish; txGas?: number; }>): Promise; relayBiconomyMetaTransaction(contractAddress: string, metaTxParams: { request: Parameters<(typeof handler)["relayBiconomyMetaTransaction"]>[0]["metaTx"]["params"]["request"]; domainSeparator: Parameters<(typeof handler)["relayBiconomyMetaTransaction"]>[0]["metaTx"]["params"]["domainSeparator"]; signature: Parameters<(typeof handler)["relayBiconomyMetaTransaction"]>[0]["metaTx"]["params"]["signature"]; }, overrides?: Partial<{ userAddress: string; metaTxConfig: Partial & { apiId: string; }>; metaTransactionMethod: string; }>): Promise; /** * Encodes and signs a meta transaction for `createOfferWithCondition` that can be relayed. * @param args - Meta transaction args. * @returns Signature. */ signMetaTxCreateOfferWithCondition(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign: true; }): Promise; signMetaTxCreateOfferWithCondition(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign?: false | undefined; }): Promise; /** * Encodes and signs a meta transaction for `voidOffer` that can be relayed. * @param args - Meta transaction args. * @returns Signature. */ signMetaTxVoidOffer(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign: true; }): Promise; signMetaTxVoidOffer(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign?: false | undefined; }): Promise; /** * Encodes and signs a meta transaction for `voidOfferBatch` that can be relayed. * @param args - Meta transaction args. * @returns Signature. */ signMetaTxVoidOfferBatch(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign: true; }): Promise; signMetaTxVoidOfferBatch(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign?: false | undefined; }): Promise; /** * Encodes and signs a meta transaction for `extendOffer` that can be relayed. * @param args - Meta transaction args. * @returns Signature. */ signMetaTxExtendOffer(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign: true; }): Promise; signMetaTxExtendOffer(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign?: false | undefined; }): Promise; /** * Encodes and signs a meta transaction for `extendOfferBatch` that can be relayed. * @param args - Meta transaction args. * @returns Signature. */ signMetaTxExtendOfferBatch(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign: true; }): Promise; signMetaTxExtendOfferBatch(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign?: false | undefined; }): Promise; /** * Encodes and signs a meta transaction for `completeExchange` that can be relayed. * @param args - Meta transaction args. * @returns Signature. */ signMetaTxCompleteExchange(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign: true; }): Promise; signMetaTxCompleteExchange(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign?: false | undefined; }): Promise; /** * Encodes and signs a meta transaction for `completeExchangeBatch` that can be relayed. * @param args - Meta transaction args. * @returns Signature. */ signMetaTxCompleteExchangeBatch(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign: true; }): Promise; signMetaTxCompleteExchangeBatch(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign?: false | undefined; }): Promise; /** * Encodes and signs a meta transaction for `commitToOffer` that can be relayed. * @param args - Meta transaction args. * @returns Signature. */ signMetaTxCommitToOffer(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign: true; }): Promise; signMetaTxCommitToOffer(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign?: false | undefined; }): Promise; /** * Encodes and signs a meta transaction for `commitToConditionalOffer` that can be relayed. * @param args - Meta transaction args. * @returns Signature. */ signMetaTxCommitToConditionalOffer(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign: true; }): Promise; signMetaTxCommitToConditionalOffer(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign?: false | undefined; }): Promise; /** * Encodes and signs a meta transaction for `commitToBuyerOffer` that can be relayed. * @param args - Meta transaction args. * @returns Signature. */ signMetaTxCommitToBuyerOffer(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign: true; }): Promise; signMetaTxCommitToBuyerOffer(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign?: false | undefined; }): Promise; /** * Encodes and signs a meta transaction for `createOfferAndCommit` that can be relayed. * @param args - Meta transaction args. * @returns Signature. */ signMetaTxCreateOfferAndCommit(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign: true; }): Promise; signMetaTxCreateOfferAndCommit(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign?: false | undefined; }): Promise; /** * Encodes and signs a meta transaction for `commitToOfferAndRedeemVoucher` * that can be relayed. * @param args - Meta transaction args. * @returns Signature. */ signMetaTxCommitToOfferAndRedeemVoucher(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign: true; }): Promise; signMetaTxCommitToOfferAndRedeemVoucher(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign?: false | undefined; }): Promise; /** * Encodes and signs a meta transaction for * `commitToConditionalOfferAndRedeemVoucher` that can be relayed. * @param args - Meta transaction args. * @returns Signature. */ signMetaTxCommitToConditionalOfferAndRedeemVoucher(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign: true; }): Promise; signMetaTxCommitToConditionalOfferAndRedeemVoucher(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign?: false | undefined; }): Promise; /** * Encodes and signs a meta transaction for `createOfferCommitAndRedeem` that * can be relayed. * @param args - Meta transaction args. * @returns Signature. */ signMetaTxCreateOfferCommitAndRedeem(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign: true; }): Promise; signMetaTxCreateOfferCommitAndRedeem(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign?: false | undefined; }): Promise; /** * Encodes and signs a meta transaction for `cancelVoucher` that can be relayed. * @param args - Meta transaction args. * @returns Signature. */ signMetaTxCancelVoucher(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign: true; }): Promise; signMetaTxCancelVoucher(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign?: false | undefined; }): Promise; /** * Encodes and signs a meta transaction for `redeemVoucher` that can be relayed. * @param args - Meta transaction args. * @returns Signature. */ signMetaTxRedeemVoucher(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign: true; }): Promise; signMetaTxRedeemVoucher(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign?: false | undefined; }): Promise; /** * Encodes and signs a meta transaction for `expireVoucher` that can be relayed. * @param args - Meta transaction args. * @returns Signature. */ signMetaTxExpireVoucher(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign: true; }): Promise; signMetaTxExpireVoucher(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign?: false | undefined; }): Promise; /** * Encodes and signs a meta transaction for `revokeVoucher` that can be relayed. * @param args - Meta transaction args. * @returns Signature. */ signMetaTxRevokeVoucher(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign: true; }): Promise; signMetaTxRevokeVoucher(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign?: false | undefined; }): Promise; /** * Encodes and signs a meta transaction for `retractDispute` that can be relayed. * @param args - Meta transaction args. * @returns Signature. */ signMetaTxRetractDispute(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign: true; }): Promise; signMetaTxRetractDispute(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign?: false | undefined; }): Promise; /** * Encodes and signs a meta transaction for `escalateDispute` that can be relayed. * @param args - Meta transaction args. * @returns Signature. */ signMetaTxEscalateDispute(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign: true; }): Promise; signMetaTxEscalateDispute(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign?: false | undefined; }): Promise; /** * Encodes and signs a meta transaction for `raiseDispute` that can be relayed. * @param args - Meta transaction args. * @returns Signature. */ signMetaTxRaiseDispute(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign: true; }): Promise; signMetaTxRaiseDispute(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign?: false | undefined; }): Promise; /** * Encodes and signs a meta transaction for `resolveDispute` that can be relayed. * @param args - Meta transaction args. * @returns Signature. */ signMetaTxResolveDispute(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign: true; }): Promise; signMetaTxResolveDispute(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign?: false | undefined; }): Promise; /** * Encodes and signs a meta transaction for `extendDisputeTimeout` that can be relayed. * @param args - Meta transaction args. * @returns Signature. */ signMetaTxExtendDisputeTimeout(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign: true; }): Promise; signMetaTxExtendDisputeTimeout(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign?: false | undefined; }): Promise; /** * Encodes and signs a meta transaction for `withdrawFunds` that can be relayed. * @param args - Meta transaction args. * @returns Signature. */ signMetaTxWithdrawFunds(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign: true; }): Promise; signMetaTxWithdrawFunds(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign?: false | undefined; }): Promise; /** * Encodes and signs a meta transaction for `depositFunds` that can be relayed. * @param args - Meta transaction args. * @returns Signature. */ signMetaTxDepositFunds(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign: true; }): Promise; signMetaTxDepositFunds(args: Omit[0], "web3Lib" | "metaTxHandlerAddress" | "chainId"> & { returnTypedDataToSign?: false | undefined; }): Promise; /** * Relay a meta transaction, * @param metaTxParams - Required params for meta transaction. * @param overrides - Optional overrides. * @returns Transaction response. */ relayMetaTransaction(metaTxParams: { functionName: string; functionSignature: BytesLike; nonce: BigNumberish; sigR: BytesLike; sigS: BytesLike; sigV: BigNumberish; transferAuthorizations?: TransferAuthorization[]; }, overrides?: Partial<{ userAddress: string; contractAddress: string; metaTxConfig: Partial & { apiId: string; }>; metaTransactionMethod: string; }>): Promise; /** * Execute a signed meta transaction directly on-chain (no Biconomy relayer). * Routes to `executeMetaTransaction` or `executeMetaTransactionWithTokenTransferAuthorization` * depending on whether `transferAuthorizations` is provided and non-empty. * The wallet backing the SDK pays the gas; pass `overrides.userAddress` when * the meta-tx signer differs from that wallet. * @param metaTxParams - Required params for meta transaction. * @param overrides - Optional overrides. * @returns Transaction response. */ executeMetaTransaction(metaTxParams: { functionName: string; functionSignature: BytesLike; nonce: BigNumberish; sigR: BytesLike; sigS: BytesLike; sigV: BigNumberish; transferAuthorizations?: TransferAuthorization[]; }, overrides?: Partial<{ userAddress: string; contractAddress: string; }>): Promise; /** * Returns information of submitted meta transaction. * See https://docs.biconomy.io/api/native-meta-tx/get-retried-hashes. * @param originalMetaTxHash - Original meta transaction as returned by `coreSDK.relayMetaTransaction` * @param overrides - Optional overrides for meta transaction config. * @returns - Additional meta transaction information. */ getResubmittedMetaTx(originalMetaTxHash: string, overrides?: Partial<{ contractAddress: string; metaTxConfig: Partial & { apiId: string; }>; metaTransactionMethod: string; }>): Promise; } //# sourceMappingURL=mixin.d.ts.map