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

Offers mixin

Class: OfferMixin

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

Methods (27)

approveExchangeToken, checkExchangePolicy, checkTokenGatedCondition, createOffer, createOfferBatch, extendOffer, extendOfferBatch, getCreatedBuyerIdFromLogs, getCreatedGroupIdsFromLogs, getCreatedOfferIdFromLogs, getCreatedOfferIdsFromLogs, getCreatedSellerIdFromLogs, getExchangeTokenAllowance, getExchangeTokenInfo, getOfferById, getOfferHash, getOffers, getProtocolAllowance, renderContractualAgreement, renderContractualAgreementForOffer, reserveRange, updateOfferRoyaltyRecipients, updateOfferRoyaltyRecipientsBatch, voidNonListedOffer, voidNonListedOfferBatch, voidOffer, voidOfferBatch

Signatures

approveExchangeToken (3 signatures)

Overload: returnTxInfo is true → returns TransactionRequest

public async approveExchangeToken(
    exchangeToken: string,
    value: BigNumberish,
    overrides: Partial<{
      spender: string;
      returnTxInfo: true;
    }>
  ): Promise<TransactionRequest>
 
public async approveExchangeToken(
    exchangeToken: string,
    value: BigNumberish,
    overrides?: Partial<{
      spender: string;
      returnTxInfo?: false | undefined;
    }>
  ): Promise<TransactionResponse>
 
public async approveExchangeToken(
    exchangeToken: string,
    value: BigNumberish,
    overrides: Partial<{
      spender: string;
      returnTxInfo?: boolean;
    }> = {}
  ): Promise<TransactionResponse | TransactionRequest>

checkExchangePolicy (1 signature)

Check a given offer meets ExchangePolicy rules.

public async checkExchangePolicy(
    offerId: BigNumberish,
    rules: offers.CheckExchangePolicyRules
  ): Promise<offers.CheckExchangePolicyResult>

checkTokenGatedCondition (1 signature)

public async checkTokenGatedCondition(
    offerId: subgraph.OfferFieldsFragment["id"],
    buyerAddress: string
  ): Promise<boolean>

createOffer (3 signatures)

Overload: returnTxInfo is true → returns TransactionRequest

public async createOffer(
    offerToCreate: offers.CreateOfferArgs,
    overrides: Partial<{
      contractAddress: string;
      txRequest: TransactionRequest;
      returnTxInfo: true;
    }>
  ): Promise<TransactionRequest>
 
public async createOffer(
    offerToCreate: offers.CreateOfferArgs,
    overrides?: Partial<{
      contractAddress: string;
      txRequest: TransactionRequest;
      returnTxInfo?: false | undefined;
    }>
  ): Promise<TransactionResponse>
 
public async createOffer(
    offerToCreate: offers.CreateOfferArgs,
    overrides: Partial<{
      contractAddress: string;
      txRequest: TransactionRequest;
      returnTxInfo?: boolean;
    }> = {}
  ): Promise<TransactionResponse | TransactionRequest>

createOfferBatch (3 signatures)

Overload: returnTxInfo is true → returns TransactionRequest

public async createOfferBatch(
    offersToCreate: offers.CreateOfferArgs[],
    overrides: Partial<{
      contractAddress: string;
      returnTxInfo: true;
    }>
  ): Promise<TransactionRequest>
 
public async createOfferBatch(
    offersToCreate: offers.CreateOfferArgs[],
    overrides?: Partial<{
      contractAddress: string;
      returnTxInfo?: false | undefined;
    }>
  ): Promise<TransactionResponse>
 
public async createOfferBatch(
    offersToCreate: offers.CreateOfferArgs[],
    overrides: Partial<{
      contractAddress: string;
      returnTxInfo?: boolean;
    }> = {}
  ): Promise<TransactionResponse | TransactionRequest>

extendOffer (3 signatures)

Overload: returnTxInfo is true → returns TransactionRequest

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

extendOfferBatch (3 signatures)

Overload: returnTxInfo is true → returns TransactionRequest

public async extendOfferBatch(
    offerIds: BigNumberish[],
    validUntil: BigNumberish,
    overrides: Partial<{
      contractAddress: string;
      returnTxInfo: true;
    }>
  ): Promise<TransactionRequest>
 
public async extendOfferBatch(
    offerIds: BigNumberish[],
    validUntil: BigNumberish,
    overrides?: Partial<{
      contractAddress: string;
      returnTxInfo?: false | undefined;
    }>
  ): Promise<TransactionResponse>
 
public async extendOfferBatch(
    offerIds: BigNumberish[],
    validUntil: BigNumberish,
    overrides: Partial<{
      contractAddress: string;
      returnTxInfo?: boolean;
    }> = {}
  ): Promise<TransactionResponse | TransactionRequest>

getCreatedBuyerIdFromLogs (1 signature)

Utility method to retrieve the created buyerId from logs after calling createBuyer

public getCreatedBuyerIdFromLogs(logs: Log[]): string | null {
    const buyerId = getValueFromLogs<BigNumber>({
      iface: accounts.iface.bosonAccountHandlerIface,
      logs,
      eventArgsKey: "buyerId",
      eventName: "BuyerCreated"
    })

getCreatedGroupIdsFromLogs (1 signature)

Utility method to retrieve the created groupIds from logs after calling createGroup

public getCreatedGroupIdsFromLogs(logs: Log[]): string[] {
    return getValuesFromLogs<BigNumber>({
      iface: groups.iface.bosonGroupHandlerIface,
      logs,
      eventArgsKey: "groupId",
      eventName: "GroupCreated"
    }).map((g) => g.toString())

getCreatedOfferIdFromLogs (1 signature)

Utility method to retrieve the created offerId from logs after calling createOffer or createOfferAndSeller.

public getCreatedOfferIdFromLogs(logs: Log[]): string | null {
    const offerId = getValueFromLogs<BigNumber>({
      iface: offers.iface.bosonOfferHandlerIface,
      logs,
      eventArgsKey: "offerId",
      eventName: "OfferCreated"
    })

getCreatedOfferIdsFromLogs (1 signature)

Utility method to retrieve the created offerIds from logs after calling createOfferBatch

public getCreatedOfferIdsFromLogs(logs: Log[]): string[] {
    return getValuesFromLogs<BigNumber>({
      iface: offers.iface.bosonOfferHandlerIface,
      logs,
      eventArgsKey: "offerId",
      eventName: "OfferCreated"
    }).map((o) => o.toString())

getCreatedSellerIdFromLogs (1 signature)

Utility method to retrieve the created sellerId from logs after calling createSeller or createOfferAndSeller.

public getCreatedSellerIdFromLogs(logs: Log[]): string | null {
    const sellerId = getValueFromLogs<BigNumber>({
      iface: accounts.iface.bosonAccountHandlerIface,
      logs,
      eventArgsKey: "sellerId",
      eventName: "SellerCreated"
    })

getExchangeTokenAllowance (1 signature)

Returns the current allowance of the given token by calling the contract.

public async getExchangeTokenAllowance(
    exchangeToken: string,
    overrides: Partial<{
      spender: string;
      owner: string;
    }> = {}
  ): Promise<string>

getExchangeTokenInfo (1 signature)

Returns name, decimals and symbol of the given token by calling the contract.

public async getExchangeTokenInfo(
    exchangeToken: string
  ): Promise<ITokenInfo | undefined>

getOfferById (1 signature)

Returns offer from subgraph.

public async getOfferById(
    offerId: BigNumberish,
    queryVars?: offers.subgraph.SingleOfferQueryVariables
  ): Promise<subgraph.OfferFieldsFragment>

getOfferHash (1 signature)

public async getOfferHash(
    fullOfferArgsUnsigned: Omit<FullOfferArgs, "signature">,
    overrides: Partial<{
      contractAddress: string;
    }> = {}
  )

getOffers (1 signature)

Returns offers from subgraph.

public async getOffers(
    queryVars?: subgraph.GetOffersQueryQueryVariables
  ): Promise<subgraph.OfferFieldsFragment[]>

getProtocolAllowance (1 signature)

public async getProtocolAllowance(
    exchangeToken: string,
    overrides: Partial<{
      spender: string;
      owner: string;
    }> = {}
  ): Promise<string>

renderContractualAgreement (1 signature)

Renders contractual agreement for given offer.

public async renderContractualAgreement(
    template: string,
    offerData: offers.CreateOfferArgs,
    offerMetadata: offers.AdditionalOfferMetadata
  ): Promise<string>

renderContractualAgreementForOffer (1 signature)

Renders contractual agreement for given offer.

public async renderContractualAgreementForOffer(
    offerId: BigNumberish
  ): Promise<string>

reserveRange (3 signatures)

Overload: returnTxInfo is true → returns TransactionRequest

public async reserveRange(
    offerId: BigNumberish,
    length: BigNumberish,
    to: "seller" | "contract",
    overrides: Partial<{
      contractAddress: string;
      returnTxInfo: true;
    }>
  ): Promise<TransactionRequest>
 
public async reserveRange(
    offerId: BigNumberish,
    length: BigNumberish,
    to: "seller" | "contract",
    overrides?: Partial<{
      contractAddress: string;
      returnTxInfo?: false | undefined;
    }>
  ): Promise<TransactionResponse>
 
public async reserveRange(
    offerId: BigNumberish,
    length: BigNumberish,
    to: "seller" | "contract",
    overrides: Partial<{
      contractAddress: string;
      returnTxInfo?: boolean;
    }> = {}
  ): Promise<TransactionResponse | TransactionRequest>

updateOfferRoyaltyRecipients (3 signatures)

Overload: returnTxInfo is true → returns TransactionRequest

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

updateOfferRoyaltyRecipientsBatch (3 signatures)

Overload: returnTxInfo is true → returns TransactionRequest

public async updateOfferRoyaltyRecipientsBatch(
    offerIds: BigNumberish[],
    royaltyInfo: RoyaltyInfo,
    overrides: Partial<{
      contractAddress: string;
      returnTxInfo: true;
    }>
  ): Promise<TransactionRequest>
 
public async updateOfferRoyaltyRecipientsBatch(
    offerIds: BigNumberish[],
    royaltyInfo: RoyaltyInfo,
    overrides?: Partial<{
      contractAddress: string;
      returnTxInfo?: false | undefined;
    }>
  ): Promise<TransactionResponse>
 
public async updateOfferRoyaltyRecipientsBatch(
    offerIds: BigNumberish[],
    royaltyInfo: RoyaltyInfo,
    overrides: Partial<{
      contractAddress: string;
      returnTxInfo?: boolean;
    }> = {}
  ): Promise<TransactionResponse | TransactionRequest>

voidNonListedOffer (3 signatures)

Overload: returnTxInfo is true → returns TransactionRequest

public async voidNonListedOffer(
    fullOffer: Omit<
      FullOfferArgs,
      | "offerCreator"
      | "committer"
      | "signature"
      | "conditionalTokenId"
      | "sellerOfferParams"
    >,
    overrides: Partial<{
      contractAddress: string;
      returnTxInfo: true;
    }>
  ): Promise<TransactionRequest>
 
public async voidNonListedOffer(
    fullOffer: Omit<
      FullOfferArgs,
      | "offerCreator"
      | "committer"
      | "signature"
      | "conditionalTokenId"
      | "sellerOfferParams"
    >,
    overrides?: Partial<{
      contractAddress: string;
      returnTxInfo?: false | undefined;
    }>
  ): Promise<TransactionResponse>
 
public async voidNonListedOffer(
    fullOffer: Omit<
      FullOfferArgs,
      | "offerCreator"
      | "committer"
      | "signature"
      | "conditionalTokenId"
      | "sellerOfferParams"
    >,
    overrides: Partial<{
      contractAddress: string;
      returnTxInfo?: boolean;
    }> = {}
  ): Promise<TransactionResponse | TransactionRequest>

voidNonListedOfferBatch (3 signatures)

Overload: returnTxInfo is true → returns TransactionRequest

public async voidNonListedOfferBatch(
    fullOffers: Omit<
      FullOfferArgs,
      | "offerCreator"
      | "committer"
      | "signature"
      | "conditionalTokenId"
      | "sellerOfferParams"
    >[],
    overrides: Partial<{
      contractAddress: string;
      returnTxInfo: true;
    }>
  ): Promise<TransactionRequest>
 
public async voidNonListedOfferBatch(
    fullOffers: Omit<
      FullOfferArgs,
      | "offerCreator"
      | "committer"
      | "signature"
      | "conditionalTokenId"
      | "sellerOfferParams"
    >[],
    overrides?: Partial<{
      contractAddress: string;
      returnTxInfo?: false | undefined;
    }>
  ): Promise<TransactionResponse>
 
public async voidNonListedOfferBatch(
    fullOffers: Omit<
      FullOfferArgs,
      | "offerCreator"
      | "committer"
      | "signature"
      | "conditionalTokenId"
      | "sellerOfferParams"
    >[],
    overrides: Partial<{
      contractAddress: string;
      returnTxInfo?: boolean;
    }> = {}
  ): Promise<TransactionResponse | TransactionRequest>

voidOffer (3 signatures)

Overload: returnTxInfo is true → returns TransactionRequest

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

voidOfferBatch (3 signatures)

Overload: returnTxInfo is true → returns TransactionRequest

public async voidOfferBatch(
    offerIds: BigNumberish[],
    overrides: Partial<{
      contractAddress: string;
      returnTxInfo: true;
    }>
  ): Promise<TransactionRequest>
 
public async voidOfferBatch(
    offerIds: BigNumberish[],
    overrides?: Partial<{
      contractAddress: string;
      returnTxInfo?: false | undefined;
    }>
  ): Promise<TransactionResponse>
 
public async voidOfferBatch(
    offerIds: BigNumberish[],
    overrides: Partial<{
      contractAddress: string;
      returnTxInfo?: boolean;
    }> = {}
  ): Promise<TransactionResponse | TransactionRequest>

Related