Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Reference — Core SDK: Exchanges · Boson Protocol
Skip to content

Exchanges mixin

Class: ExchangesMixin

Source: packages/core-sdk/src/exchanges/mixin.ts

Methods (16)

cancelVoucher, commitToBuyerOffer, commitToConditionalOffer, commitToOffer, completeExchange, completeExchangeBatch, createOfferAndCommit, expireVoucher, getCommittedExchangeIdFromLogs, getExchangeById, getExchanges, getExchangeTokenId, parseTokenId, redeemVoucher, revokeVoucher, signFullOffer

Signatures

cancelVoucher (3 signatures)

Cancels an existing voucher by calling the ExchangeHandlerContract. Callable by buyer.

public async cancelVoucher(
    exchangeId: BigNumberish,
    returnTxInfo: true
  ): Promise<TransactionRequest>
 
public async cancelVoucher(
    exchangeId: BigNumberish,
    returnTxInfo?: false | undefined
  ): Promise<TransactionResponse>
 
public async cancelVoucher(
    exchangeId: BigNumberish,
    returnTxInfo?: boolean
  ): Promise<TransactionResponse | TransactionRequest>

commitToBuyerOffer (3 signatures)

Commits to a buyer initiated offer by calling the ExchangeCommitFacet. This transaction only succeeds if the buyer has deposited enough funds to lock the offer's price.

public async commitToBuyerOffer(
    offerId: BigNumberish,
    sellerParams: SellerOfferArgs,
    overrides: Partial<{
      returnTxInfo: true;
    }>
  ): Promise<TransactionRequest>
 
public async commitToBuyerOffer(
    offerId: BigNumberish,
    sellerParams?: SellerOfferArgs,
    overrides?: Partial<{
      returnTxInfo?: false | undefined;
    }>
  ): Promise<TransactionResponse>
 
public async commitToBuyerOffer(
    offerId: BigNumberish,
    sellerParams: SellerOfferArgs = {},
    overrides: Partial<{
      returnTxInfo?: boolean;
    }> = {}
  ): Promise<TransactionResponse | TransactionRequest>

commitToConditionalOffer (3 signatures)

Commits to a conditional offer by calling the ExchangeHandlerContract. This transaction only succeeds if the seller has deposited funds.

public async commitToConditionalOffer(
    offerId: BigNumberish,
    tokenId: BigNumberish,
    overrides: Partial<{
      buyer: string;
      returnTxInfo: true;
    }>
  ): Promise<TransactionRequest>
 
public async commitToConditionalOffer(
    offerId: BigNumberish,
    tokenId: BigNumberish,
    overrides?: Partial<{
      buyer: string;
      returnTxInfo?: false | undefined;
    }>
  ): Promise<TransactionResponse>
 
public async commitToConditionalOffer(
    offerId: BigNumberish,
    tokenId: BigNumberish,
    overrides: Partial<{
      buyer: string;
      returnTxInfo?: boolean;
    }> = {}
  ): Promise<TransactionResponse | TransactionRequest>

commitToOffer (3 signatures)

Commits to a seller initiated offer by calling the ExchangeCommitFacet. This transaction only succeeds if the seller has deposited enough funds to lock the offer's sellerDeposit.

public async commitToOffer(
    offerId: BigNumberish,
    overrides: Partial<{
      buyer: string;
      returnTxInfo: true;
    }>
  ): Promise<TransactionRequest>
 
public async commitToOffer(
    offerId: BigNumberish,
    overrides?: Partial<{
      buyer: string;
      returnTxInfo?: false | undefined;
    }>
  ): Promise<TransactionResponse>
 
public async commitToOffer(
    offerId: BigNumberish,
    overrides: Partial<{
      buyer: string;
      returnTxInfo?: boolean;
    }> = {}
  ): Promise<TransactionResponse | TransactionRequest>

completeExchange (3 signatures)

Completes an existing voucher by calling the ExchangeHandlerContract. Callable by buyer or seller assistant.

public async completeExchange(
    exchangeId: BigNumberish,
    returnTxInfo: true
  ): Promise<TransactionRequest>
 
public async completeExchange(
    exchangeId: BigNumberish,
    returnTxInfo?: false | undefined
  ): Promise<TransactionResponse>
 
public async completeExchange(
    exchangeId: BigNumberish,
    returnTxInfo?: boolean
  ): Promise<TransactionResponse | TransactionRequest>

completeExchangeBatch (3 signatures)

Completes a batch of existing vouchers by calling the ExchangeHandlerContract. Callable by buyer or seller assistant.

public async completeExchangeBatch(
    exchangeIds: BigNumberish[],
    returnTxInfo: true
  ): Promise<TransactionRequest>
 
public async completeExchangeBatch(
    exchangeIds: BigNumberish[],
    returnTxInfo?: false | undefined
  ): Promise<TransactionResponse>
 
public async completeExchangeBatch(
    exchangeIds: BigNumberish[],
    returnTxInfo?: boolean
  ): Promise<TransactionResponse | TransactionRequest>

createOfferAndCommit (3 signatures)

Overload: returnTxInfo is true → returns TransactionRequest

public async createOfferAndCommit(
    createOfferAndCommitArgs: FullOfferArgs,
    overrides: Partial<{
      contractAddress: string;
      txRequest: TransactionRequest;
      returnTxInfo: true;
    }>
  ): Promise<TransactionRequest>
 
public async createOfferAndCommit(
    createOfferAndCommitArgs: FullOfferArgs,
    overrides?: Partial<{
      contractAddress: string;
      txRequest: TransactionRequest;
      returnTxInfo?: false | undefined;
    }>
  ): Promise<TransactionResponse>
 
public async createOfferAndCommit(
    createOfferAndCommitArgs: FullOfferArgs,
    overrides: Partial<{
      contractAddress: string;
      txRequest: TransactionRequest;
      returnTxInfo?: boolean;
    }> = {}
  ): Promise<TransactionResponse | TransactionRequest>

expireVoucher (3 signatures)

Expires an existing voucher by calling the ExchangeHandlerContract.

public async expireVoucher(
    exchangeId: BigNumberish,
    returnTxInfo: true
  ): Promise<TransactionRequest>
 
public async expireVoucher(
    exchangeId: BigNumberish,
    returnTxInfo?: false | undefined
  ): Promise<TransactionResponse>
 
public async expireVoucher(
    exchangeId: BigNumberish,
    returnTxInfo?: boolean
  ): Promise<TransactionResponse | TransactionRequest>

getCommittedExchangeIdFromLogs (1 signature)

Utility method to retrieve the created exchangeId from logs after calling commitToOffer or commitToBuyerOffer.

public getCommittedExchangeIdFromLogs(logs: Log[]): string | null {
    return (
      getValueFromLogs({
        iface: bosonExchangeHandlerIface,
        logs,
        eventArgsKey: "exchangeId",
        eventName: "BuyerCommitted"
      }) ||
      getValueFromLogs({
        iface: bosonExchangeHandlerIface,
        logs,
        eventArgsKey: "exchangeId",
        eventName: "SellerCommitted"
      })
    )

getExchangeById (1 signature)

Returns exchange entity from subgraph.

public async getExchangeById(
    exchangeId: BigNumberish,
    queryVars?: subgraph.GetExchangeByIdQueryQueryVariables
  ): Promise<subgraph.ExchangeFieldsFragment>

getExchanges (1 signature)

Returns exchange entities from subgraph.

public async getExchanges(
    queryVars?: subgraph.GetExchangesQueryQueryVariables
  ): Promise<subgraph.ExchangeFieldsFragment[]>

getExchangeTokenId (1 signature)

public getExchangeTokenId(
    exchangeId: BigNumberish,
    offerId: BigNumberish
  ): BigNumber

parseTokenId (1 signature)

public parseTokenId(tokenId: BigNumberish): {
    offerId: BigNumber

redeemVoucher (3 signatures)

Redeems an existing voucher by calling the ExchangeHandlerContract. Callable by buyer.

public async redeemVoucher(
    exchangeId: BigNumberish,
    returnTxInfo: true
  ): Promise<TransactionRequest>
 
public async redeemVoucher(
    exchangeId: BigNumberish,
    returnTxInfo?: false | undefined
  ): Promise<TransactionResponse>
 
public async redeemVoucher(
    exchangeId: BigNumberish,
    returnTxInfo?: boolean
  ): Promise<TransactionResponse | TransactionRequest>

revokeVoucher (3 signatures)

Revokes an existing voucher by calling the ExchangeHandlerContract. Callable by seller assistant.

public async revokeVoucher(
    exchangeId: BigNumberish,
    returnTxInfo: true
  ): Promise<TransactionRequest>
 
public async revokeVoucher(
    exchangeId: BigNumberish,
    returnTxInfo?: false | undefined
  ): Promise<TransactionResponse>
 
public async revokeVoucher(
    exchangeId: BigNumberish,
    returnTxInfo?: boolean
  ): Promise<TransactionResponse | TransactionRequest>

signFullOffer (3 signatures)

public async signFullOffer(args: {
    fullOfferArgsUnsigned: Omit<FullOfferArgs, "signature">;
    returnTypedDataToSign: true;
  }): Promise<StructuredData>
 
public async signFullOffer(args: {
    fullOfferArgsUnsigned: Omit<FullOfferArgs, "signature">;
    returnTypedDataToSign?: false;
  }): Promise<ReturnType<typeof getSignatureParameters>>
 
public async signFullOffer(args: {
    fullOfferArgsUnsigned: Omit<FullOfferArgs, "signature">;
    returnTypedDataToSign?: boolean;
  }): Promise<StructuredData | ReturnType<typeof getSignatureParameters>>

Related