{"mappings":"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AG;QACD;YACE,SAAS;YACT,SAAS,CAAA,GAAA,kBAAA;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;QACD;YACE,SAAS;YACT,SAAS;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;QACD;YACE,SAAS;YACT,SAAS;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;KACF;IAED,WAAW;IACX,IAAI;QACF;YACE,SAAS;YACT,SAAS,CAAA,GAAA,kBAAA;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;QACD;YACE,SAAS;YACT,SAAS;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;QACD;YACE,SAAS;YACT,SAAS;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;KACF;IAED,UAAU;IACV,KAAK;QACH;YACE,SAAS;YACT,SAAS,CAAA,GAAA,kBAAA;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;QACD;YACE,SAAS;YACT,SAAS;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;QACD;YACE,SAAS;YACT,SAAS;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;KACF;IAED,OAAO;IACP,OAAO;QACL;YACE,SAAS;YACT,SAAS,CAAA,GAAA,kBAAA;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;QACD;YACE,SAAS;YACT,SAAS;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;KACF;IAED,WAAW;IACX,OAAO;QACL;YACE,SAAS;YACT,SAAS,CAAA,GAAA,kBAAA;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;QACD;YACE,SAAS;YACT,SAAS;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;QACD;YACE,SAAS;YACT,SAAS;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;KACF;IAED,gBAAgB;IAChB,OAAO;QACL;YACE,SAAS;YACT,SAAS,CAAA,GAAA,kBAAA;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;QACD;YACE,SAAS;YACT,SAAS;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;QACD;YACE,SAAS;YACT,SAAS;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;KACF;IAED,YAAY;IACZ,OAAO;QACL;YACE,SAAS;YACT,SAAS,CAAA,GAAA,kBAAA;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;QACD;YACE,SAAS;YACT,SAAS;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;QACD;YACE,SAAS;YACT,SAAS;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;KACF;IAED,UAAU;IACV,UAAU;QACR;YACE,SAAS;YACT,SAAS,CAAA,GAAA,kBAAA;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;QACD;YACE,SAAS;YACT,SAAS;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;KACF;IAED,OAAO;IACP,MAAM;QACJ;YACE,SAAS;YACT,SAAS,CAAA,GAAA,kBAAA;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;QACD;YACE,SAAS;YACT,SAAS;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;QACD;YACE,SAAS;YACT,SAAS;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;KACF;IAED,eAAe;IACf,OAAO;QACL;YACE,SAAS;YACT,SAAS,CAAA,GAAA,kBAAA;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;QACD;YACE,SAAS;YACT,SAAS;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;KACF;IAED,iBAAiB;IACjB,QAAQ;QACN;YACE,SAAS;YACT,SAAS,CAAA,GAAA,kBAAA;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;QACD;YACE,SAAS;YACT,SAAS;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;QACD;YACE,SAAS;YACT,SAAS;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;KACF;IAED,SAAS;IACT,QAAQ;QACN;YACE,SAAS;YACT,SAAS,CAAA,GAAA,kBAAA;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;QACD;YACE,SAAS;YACT,SAAS;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;KACF;IAED,QAAQ;IACR,OAAO;QACL;YACE,SAAS;YACT,SAAS,CAAA,GAAA,kBAAA;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;QACD;YACE,SAAS;YACT,SAAS;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;QACD;YACE,SAAS;YACT,SAAS;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;KACF;IAED,UAAU;IACV,MAAM;QACJ;YACE,SAAS;YACT,SAAS,CAAA,GAAA,kBAAA;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;QACD;YACE,SAAS;YACT,SAAS;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;KACF;IAED,MAAM;IACN,IAAI;QACF;YACE,SAAS;YACT,SAAS,CAAA,GAAA,kBAAA;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;QACD;YACE,SAAS;YACT,SAAS;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;QACD;YACE,SAAS;YACT,SAAS;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;KACF;IACD,OAAO;IACP,KAAK;QACH;YACE,SAAS;YACT,SAAS,CAAA,GAAA,kBAAA;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;QACD;YACE,SAAS;YACT,SAAS;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;KACF;IACD,OAAO;IACP,SAAS;QACP;YACE,SAAS;YACT,SAAS,CAAA,GAAA,kBAAA;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;QACD;YACE,SAAS;YACT,SAAS;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;KACF;IAED,eAAe;IACf,KAAK;QACH;YACE,SAAS;YACT,SAAS,CAAA,GAAA,kBAAA;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;QACD;YACE,SAAS;YACT,SAAS;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;KACF;IAED,SAAS;IACT,KAAK;QACH;YACE,SAAS;YACT,SAAS,CAAA,GAAA,kBAAA;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;QACD;YACE,SAAS;YACT,SAAS;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;KACF;IAED,eAAe;IACf,MAAM;QACJ;YACE,SAAS;YACT,SAAS,CAAA,GAAA,kBAAA;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;QACD;YACE,SAAS;YACT,SAAS;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;KACF;IAED,WAAW;IACX,WAAW;QACT;YACE,SAAS;YACT,SAAS,CAAA,GAAA,kBAAA;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;QACD;YACE,SAAS;YACT,SAAS;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;KACF;IAED,mBAAmB;IACnB,UAAU;QACR;YACE,SAAS;YACT,SAAS,CAAA,GAAA,kBAAA;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;QACD;YACE,SAAS;YACT,SAAS;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;KACF;IAED,gBAAgB;IAChB,UAAU;QACR;YACE,SAAS;YACT,SAAS,CAAA,GAAA,kBAAA;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;QACD;YACE,SAAS;YACT,SAAS;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;KACF;IAED,UAAU;IACV,OAAO;QACL;YACE,SAAS;YACT,SAAS,CAAA,GAAA,kBAAA;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;QACD;YACE,SAAS;YACT,SAAS;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;KACF;IAED,kBAAkB;IAClB,OAAO;QACL;YACE,SAAS;YACT,SAAS,CAAA,GAAA,kBAAA;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;QACD;YACE,SAAS;YACT,SAAS;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;KACF;IAED,OAAO;IACP,OAAO;QACL;YACE,SAAS;YACT,SAAS,CAAA,GAAA,kBAAA;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;QACD;YACE,SAAS;YACT,SAAS;YACT,QAAQ;YACR,MAAM;YACN,UAAU;QACX;KACF;IACD,eAAe;IACf,W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CA;kBACA;eACA;aACA;UACA;iBACA;SACA;WACA;mBACA;YACA;WACA;UACA;iBACA;YACA;kBACA;cACA;qBACA;kBACA;kBACA;aACA;oBACA;WACA;gBACA;YACA;cACA;sBACA;WACA;SACA;YACA;gBACA;WACA;cACA;SACA;eACA;oBACA;WACA;kBACA;UACA;WACA;oBACA;QACA;cACA;YACA;WACA;kBACA;qBACA;YACA;aACA;oBACA;UACA;UACA;iBACA;cACA;kBACA;iBACA;WACA;oBACA;aACA;kBACA;kBACA;SACA;eACA;WACA;AACD;;;;;;ACxmBM,MAAM,2CAAS;IACpB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;CACD;","sources":["packages/sdk/src/index.ts","packages/sdk/src/actions/index.ts","packages/sdk/src/actions/actions.ts","packages/sdk/src/actions/acceptOffer.ts","packages/sdk/src/utils/viemWallet.ts","packages/sdk/src/utils/customChains.ts","packages/sdk/src/utils/logger.ts","packages/sdk/src/utils/request.ts","packages/sdk/src/utils/axios.ts","packages/sdk/package.json","packages/sdk/src/utils/executeSteps.ts","packages/sdk/src/utils/pollApi.ts","packages/sdk/src/utils/params.ts","packages/sdk/src/utils/events.ts","packages/sdk/src/utils/transaction.ts","packages/sdk/src/errors/index.ts","packages/sdk/src/utils/executeResults.ts","packages/sdk/src/utils/refreshLiquidity.ts","packages/sdk/src/actions/buyToken.ts","packages/sdk/src/actions/cancelOrder.ts","packages/sdk/src/actions/listToken.ts","packages/sdk/src/actions/placeBid.ts","packages/sdk/src/actions/transferTokens.ts","packages/sdk/src/actions/mintToken.ts","packages/sdk/src/actions/call.ts","packages/sdk/src/utils/prepareCallTransaction.ts","packages/sdk/src/utils/index.ts","packages/sdk/src/utils/paymentTokens.ts","packages/sdk/src/types/index.ts","packages/sdk/src/types/api.ts","packages/sdk/src/utils/reservoirChains.ts","packages/sdk/src/routes/index.ts"],"sourcesContent":["export * from './actions'\nexport * from './utils'\nexport * from './types'\nexport * from './errors'\nexport * from './utils/reservoirChains'\nexport * from './routes'\n","import actions from './actions'\nimport * as utils from '../utils'\nimport { version } from '../../package.json'\nimport { LogLevel, log as logUtil } from '../utils/logger'\nimport { ReservoirEvent } from '../utils/events'\nimport { PaymentToken, chainPaymentTokensMap } from '../utils/paymentTokens'\n\nexport type ReservoirChain = {\n  id: number\n  name: string\n  baseApiUrl: string\n  active: boolean\n  paymentTokens?: PaymentToken[]\n  marketplaceFees?: string[]\n  websocketUrl?: string\n  checkPollingInterval?: number\n}\n\nexport type ReservoirEventListener = (\n  event: ReservoirEvent,\n  chainId: number\n) => void\n\n/**\n * ReservoirClient Configuration Options\n * @param chains List of chain objects with configuration (id, name, baseApiUrl, paymentTokens and if it's the default)\n * @param source Used to manually override the source domain used to attribute local orders\n * @param automatedRoyalties If true, royalties will be automatically included, defaults to true. Only relevant for creating orders.\n * @param marketplaceFees A list of fee strings representing a recipient and the fee in BPS delimited by a colon: [\"0xabc:100\"] used when creating an order (listing or bid)\n * @param normalizeRoyalties Normalize orders that don't have royalties by apply royalties on top of them\n * @param bountyReferrer Referrer address to collect bounties when filling orders (applies to zora, manifold, etc)\n * @param logLevel Log level from 0-4, the higher the more verbose.\n * @param maxPollingAttemptsBeforeTimeout The maximum number of attempts the synced api is polled before timing out. The api is polled every 5 secs (default is 30)\n */\nexport type ReservoirClientOptions = {\n  chains: ReservoirChain[]\n  apiKey?: string\n  uiVersion?: string\n  source?: string\n  automatedRoyalties?: boolean\n  marketplaceFees?: string[]\n  normalizeRoyalties?: boolean\n  bountyReferrer?: string\n  logLevel?: LogLevel\n  maxPollingAttemptsBeforeTimeout?: number\n  synchronousStepItemExecution?: boolean\n}\n\nexport type ReservoirClientActions = typeof actions\n\nlet _client: ReservoirClient\nlet _eventListeners: ReservoirEventListener[] = []\n\nexport class ReservoirClient {\n  version: string\n  chains: ReservoirChain[]\n  apiKey?: string\n  source?: string\n  uiVersion?: string\n  marketplaceFees?: string[]\n  automatedRoyalties?: boolean\n  normalizeRoyalties?: boolean\n  bountyReferrer?: string\n  logLevel: LogLevel\n  maxPollingAttemptsBeforeTimeout?: number\n  synchronousStepItemExecution?: boolean\n  log(\n    message: Parameters<typeof logUtil>['0'],\n    level: LogLevel = LogLevel.Info\n  ) {\n    return logUtil(message, level, this.logLevel)\n  }\n\n  readonly utils = { ...utils }\n  readonly actions: ReservoirClientActions = actions\n\n  constructor(options: ReservoirClientOptions) {\n    this.version = version\n    this.chains = options.chains.map((chain) => ({\n      ...chain,\n      baseApiUrl: chain.baseApiUrl.replace(/\\/$/, ''),\n      paymentTokens: chain?.paymentTokens\n        ? chain?.paymentTokens\n        : chainPaymentTokensMap[chain.id],\n    }))\n    this.apiKey = options.apiKey\n    this.uiVersion = options.uiVersion\n    this.automatedRoyalties = options.automatedRoyalties\n    this.marketplaceFees = options.marketplaceFees\n    this.normalizeRoyalties = options.normalizeRoyalties\n    this.source = options.source\n    this.bountyReferrer = options.bountyReferrer\n    this.logLevel =\n      options.logLevel !== undefined ? options.logLevel : LogLevel.None\n    this.maxPollingAttemptsBeforeTimeout =\n      options.maxPollingAttemptsBeforeTimeout\n    this.synchronousStepItemExecution =\n      options.synchronousStepItemExecution ?? false\n  }\n\n  configure(options: ReservoirClientOptions) {\n    this.source = options.source ? options.source : this.source\n    this.uiVersion = options.uiVersion ? options.uiVersion : this.uiVersion\n    this.chains = options.chains\n      ? options.chains.map((chain) => ({\n          ...chain,\n          baseApiUrl: chain.baseApiUrl.replace(/\\/$/, ''),\n          paymentTokens: chain?.paymentTokens\n            ? chain?.paymentTokens\n            : chainPaymentTokensMap[chain.id],\n        }))\n      : this.chains\n    this.marketplaceFees = options.marketplaceFees\n      ? options.marketplaceFees\n      : this.marketplaceFees\n    this.automatedRoyalties = options.automatedRoyalties\n    this.normalizeRoyalties =\n      options.normalizeRoyalties !== undefined\n        ? options.normalizeRoyalties\n        : this.normalizeRoyalties\n    this.bountyReferrer =\n      options.bountyReferrer !== undefined\n        ? options.bountyReferrer\n        : this.bountyReferrer\n    this.logLevel =\n      options.logLevel !== undefined ? options.logLevel : LogLevel.None\n    this.maxPollingAttemptsBeforeTimeout =\n      options.maxPollingAttemptsBeforeTimeout !== undefined\n        ? options.maxPollingAttemptsBeforeTimeout\n        : this.maxPollingAttemptsBeforeTimeout\n    this.synchronousStepItemExecution =\n      options.synchronousStepItemExecution !== undefined\n        ? options.synchronousStepItemExecution\n        : this.synchronousStepItemExecution\n  }\n\n  currentChain() {\n    if (this.chains && this.chains.length > 0) {\n      const defaultChain = this.chains.find((chain) => chain.active)\n      if (defaultChain) {\n        return defaultChain\n      }\n      return this.chains[0]\n    }\n    return null\n  }\n\n  /**\n   * Add an Event Listener\n   * @param listener A function to callback whenever an event is emitted\n   */\n  addEventListener(listener: ReservoirEventListener) {\n    _eventListeners.push(listener)\n  }\n\n  /**\n   * Remove an Event Listener\n   * @param listener The listener function to remove\n   */\n  removeEventListener(listener: ReservoirEventListener) {\n    _eventListeners = _eventListeners.filter((item) => listener !== item)\n  }\n\n  /**\n   * Remove all Event Listeners\n   */\n  clearEventListeners() {\n    _eventListeners = []\n  }\n\n  /**\n   * Internal method to send events to listeners, not to be used directly\n   * @param listener A function to callback whenever an event is emitted\n   */\n  _sendEvent(event: ReservoirEvent, chainId: number) {\n    this.log(\n      [\n        `ReservoirClient: Sending Event to ${_eventListeners.length} listeners`,\n        event,\n        chainId,\n      ],\n      LogLevel.Verbose\n    )\n    _eventListeners.forEach((listener) => {\n      try {\n        listener(event, chainId)\n      } catch (e) {\n        this.log(\n          [`ReservoirClient: Listener error`, event, chainId, e],\n          LogLevel.Verbose\n        )\n      }\n    })\n  }\n}\n\nexport function getClient() {\n  return _client\n}\n\nexport function createClient(options: ReservoirClientOptions) {\n  if (!_client) {\n    _client = new ReservoirClient(options)\n  } else {\n    _client.configure(options)\n  }\n\n  return _client\n}\n\nexport type { BuyTokenBodyParameters } from './buyToken'\n","import { acceptOffer } from './acceptOffer'\nimport { buyToken } from './buyToken'\nimport { cancelOrder } from './cancelOrder'\nimport { listToken } from './listToken'\nimport { placeBid } from './placeBid'\nimport { transferTokens } from './transferTokens'\nimport { mintToken } from './mintToken'\nimport { call } from './call'\n\nconst actions = {\n  acceptOffer,\n  buyToken,\n  mintToken,\n  cancelOrder,\n  listToken,\n  placeBid,\n  transferTokens,\n  call,\n}\n\nexport default actions\n","import { getClient } from '.'\nimport { Execute, paths, ReservoirWallet, ExpectedPrice } from '../types'\nimport {\n  executeSteps,\n  adaptViemWallet,\n  isAPIError,\n  APIError,\n  refreshLiquidity,\n} from '../utils'\nimport { WalletClient } from 'viem'\nimport { axios } from '../utils'\nimport { AxiosRequestConfig } from 'axios'\nimport { isViemWalletClient } from '../utils/viemWallet'\n\ntype AcceptOfferBodyParameters =\n  paths['/execute/sell/v7']['post']['parameters']['body']['body']\n\nexport type AcceptOfferOptions = Omit<\n  NonNullable<AcceptOfferBodyParameters>,\n  'items'\n>\n\ntype Data = {\n  items: NonNullable<AcceptOfferBodyParameters>['items']\n  options?: Partial<AcceptOfferOptions>\n  expectedPrice?: Record<string, ExpectedPrice>\n  wallet: ReservoirWallet | WalletClient\n  chainId?: number\n  onProgress: (steps: Execute['steps'], path: Execute['path']) => any\n  precheck?: boolean\n  gas?: string\n}\n\n/**\n * Accept an offer to buy your token\n * @param data.items Items being accepted\n * @param data.expectedPrice Token price data used to protect buyer from price moves. Pass an object detailing the amount or/and raw amount with currency details. The raw amount will be more precise.\n * @param data.wallet ReservoirWallet object that adheres to the ReservoirWallet interface or a viem WalletClient\n * @param data.options Additional options to pass into the accept request\n * @param data.chainId Override the current active chain\n * @param data.onProgress Callback to update UI state as execution progresses\n * @param data.precheck Set to true to skip executing steps and just to get the initial steps/path\n * @param data.gas String of the gas provided for the transaction execution. It will return unused gas\n */\nexport async function acceptOffer(data: Data) {\n  const { items, expectedPrice, wallet, chainId, onProgress, precheck, gas } =\n    data\n  const reservoirWallet: ReservoirWallet = isViemWalletClient(wallet)\n    ? adaptViemWallet(wallet)\n    : wallet\n\n  const taker = await reservoirWallet.address()\n\n  const client = getClient()\n  const options = data.options || {}\n  let baseApiUrl = client.currentChain()?.baseApiUrl\n\n  if (chainId) {\n    baseApiUrl =\n      client.chains.find((chain) => chain.id === chainId)?.baseApiUrl ||\n      baseApiUrl\n  }\n\n  if (!client.currentChain()) {\n    throw new ReferenceError('ReservoirClient missing chain configuration')\n  }\n\n  try {\n    const params: AcceptOfferBodyParameters = {\n      items,\n      taker: taker,\n      source: client.source || undefined,\n      ...options,\n    }\n\n    if (\n      client.normalizeRoyalties !== undefined &&\n      params.normalizeRoyalties === undefined\n    ) {\n      params.normalizeRoyalties = client.normalizeRoyalties\n    }\n\n    const request: AxiosRequestConfig = {\n      url: `${baseApiUrl}/execute/sell/v7`,\n      method: 'post',\n      data: params,\n    }\n\n    if (precheck) {\n      const apiKey = client?.apiKey\n      if (!request.headers) {\n        request.headers = {}\n      }\n\n      if (apiKey && request.headers) {\n        request.headers['x-api-key'] = apiKey\n      }\n      if (client?.uiVersion && request.headers) {\n        request.headers['x-rkui-version'] = client.uiVersion\n      }\n\n      const res = await axios.request(request)\n      if (res.status !== 200)\n        throw new APIError(res?.data?.message, res.status, res.data)\n      const data = res.data as Execute\n      onProgress(data['steps'], data['path'])\n      return data\n    } else {\n      await executeSteps(\n        request,\n        reservoirWallet,\n        onProgress,\n        undefined,\n        expectedPrice,\n        chainId,\n        gas\n      )\n      return true\n    }\n  } catch (err: any) {\n    if (isAPIError(err)) {\n      items.forEach(({ token }) => {\n        if (baseApiUrl) {\n          refreshLiquidity(baseApiUrl, token)\n        }\n      })\n    }\n    throw err\n  }\n}\n","import { ReservoirWallet } from '../types'\nimport { LogLevel, customChains, getClient } from '../'\nimport { Account, Hex, WalletClient, custom, hexToBigInt } from 'viem'\nimport * as allChains from 'viem/chains'\n\nexport function isViemWalletClient(\n  wallet: WalletClient | ReservoirWallet\n): wallet is WalletClient {\n  return (wallet as WalletClient).getChainId !== undefined\n}\n\nexport const adaptViemWallet = (wallet: WalletClient): ReservoirWallet => {\n  return {\n    transport: custom(wallet.transport),\n    address: async () => {\n      let address = wallet.account?.address\n      if (!address) {\n        ;[address] = await wallet.getAddresses()\n      }\n      return address\n    },\n    handleSignMessageStep: async (stepItem) => {\n      const client = getClient()\n      const signData = stepItem.data?.sign\n      let signature: string | undefined\n      if (signData) {\n        if (signData.signatureKind === 'eip191') {\n          client.log(['Execute Steps: Signing with eip191'], LogLevel.Verbose)\n          if (signData.message.match(/0x[0-9a-fA-F]{64}/)) {\n            // If the message represents a hash, we need to convert it to raw bytes first\n            signature = await wallet.signMessage({\n              account: wallet.account as Account,\n              message: {\n                raw: signData.message as Hex,\n              },\n            })\n          } else {\n            signature = await wallet.signMessage({\n              account: wallet.account as Account,\n              message: signData.message,\n            })\n          }\n        } else if (signData.signatureKind === 'eip712') {\n          client.log(['Execute Steps: Signing with eip712'], LogLevel.Verbose)\n          signature = await wallet.signTypedData({\n            account: wallet.account as Account,\n            domain: signData.domain as any,\n            types: signData.types as any,\n            primaryType: signData.primaryType,\n            message: signData.value,\n          })\n        }\n      }\n      return signature\n    },\n    handleSendTransactionStep: async (chainId, stepItem) => {\n      let viemChain: allChains.Chain\n      const customChain = Object.values(customChains).find(\n        (chain) => chain.id === (chainId || 1)\n      )\n      if (customChain) {\n        viemChain = customChain\n      } else {\n        viemChain =\n          Object.values(allChains).find(\n            (chain) => chain.id === (chainId || 1)\n          ) || allChains.mainnet\n      }\n      const stepData = stepItem.data\n\n      return await wallet.sendTransaction({\n        chain: viemChain,\n        data: stepData.data,\n        account: wallet.account ?? stepData.from, // use signer.account if it's defined\n        to: stepData.to,\n        value: hexToBigInt((stepData.value as any) || 0),\n        ...(stepData.maxFeePerGas && {\n          maxFeePerGas: hexToBigInt(stepData.maxFeePerGas as any),\n        }),\n        ...(stepData.maxPriorityFeePerGas && {\n          maxPriorityFeePerGas: hexToBigInt(\n            stepData.maxPriorityFeePerGas as any\n          ),\n        }),\n        ...(stepData.gas && {\n          gas: hexToBigInt(stepData.gas as any),\n        }),\n      })\n    },\n  }\n}\n","import { Chain } from 'viem'\n\nexport const mainnet = {\n  id: 1,\n  name: 'Ethereum',\n  nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: [\n        'https://ethereum-rpc.publicnode.com',\n        'https://mainnet.gateway.tenderly.co',\n        'https://rpc.flashbots.net',\n        'https://rpc.mevblocker.io',\n        'https://eth.drpc.org',\n      ],\n    },\n  },\n  blockExplorers: {\n    default: {\n      name: 'Etherscan',\n      url: 'https://etherscan.io',\n      apiUrl: 'https://api.etherscan.io/api',\n    },\n  },\n  contracts: {\n    ensRegistry: {\n      address: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',\n    },\n    ensUniversalResolver: {\n      address: '0xce01f8eee7E479C928F8919abD53E553a36CeF67',\n      blockCreated: 19_258_213,\n    },\n    multicall3: {\n      address: '0xca11bde05977b3631167028862be2a173976ca11',\n      blockCreated: 14_353_601,\n    },\n  },\n} as const satisfies Chain\n\nexport const ancient8 = {\n  id: 888888888,\n  name: 'Ancient8',\n  nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: ['https://rpc.ancient8.gg'],\n      webSocket: ['wss://rpc.ancient8.gg'],\n    },\n    public: {\n      http: ['https://rpc.ancient8.gg'],\n      webSocket: ['wss://rpc.ancient8.gg'],\n    },\n  },\n  blockExplorers: {\n    etherscan: {\n      name: 'a8scan',\n      url: 'https://scan.ancient8.gg',\n    },\n    default: {\n      name: 'a8scan',\n      url: 'https://scan.ancient8.gg',\n    },\n  },\n} as const satisfies Chain\n\nexport const ancient8Testnet = {\n  id: 28122024,\n  name: 'Ancient8 Testnet',\n  nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: ['https://rpcv2-testnet.ancient8.gg'],\n      webSocket: ['wss://rpcv2-testnet.ancient8.gg'],\n    },\n    public: {\n      http: ['https://rpcv2-testnet.ancient8.gg'],\n      webSocket: ['wss://rpcv2-testnet.ancient8.gg'],\n    },\n  },\n  blockExplorers: {\n    etherscan: {\n      name: 'a8scan',\n      url: 'https://scanv2-testnet.ancient8.gg/',\n    },\n    default: {\n      name: 'a8scan',\n      url: 'https://scanv2-testnet.ancient8.gg/',\n    },\n  },\n} as const satisfies Chain\n\nexport const frameTestnet = {\n  id: 68840142,\n  name: 'Frame Testnet',\n  nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: ['https://rpc.testnet.frame.xyz/http'],\n      webSocket: ['https://rpc.testnet.frame.xyz/http'],\n    },\n    public: {\n      http: ['https://rpc.testnet.frame.xyz/http'],\n      webSocket: ['https://rpc.testnet.frame.xyz/http'],\n    },\n  },\n  blockExplorers: {\n    etherscan: {\n      name: 'Frame Explorer',\n      url: 'https://explorer.testnet.frame.xyz',\n    },\n    default: {\n      name: 'Frame Explorer',\n      url: 'https://explorer.testnet.frame.xyz',\n    },\n  },\n} as const satisfies Chain\n\nexport const blastSepolia = {\n  id: 168587773,\n  name: 'Blast Sepolia',\n  nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: ['https://sepolia.blast.io'],\n    },\n    public: {\n      http: ['https://sepolia.blast.io'],\n    },\n  },\n  blockExplorers: {\n    etherscan: {\n      name: 'BlastScan Sepolia',\n      url: 'https://testnet.blastscan.io',\n    },\n    default: {\n      name: 'BlastScan Sepolia',\n      url: 'https://testnet.blastscan.io',\n    },\n  },\n} as const satisfies Chain\n\nexport const apexPop = {\n  id: 70700,\n  name: 'Apex',\n  nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: ['https://rpc.apex.proofofplay.com'],\n    },\n    public: {\n      http: ['https://rpc.apex.proofofplay.com'],\n    },\n  },\n  blockExplorers: {\n    etherscan: {\n      name: 'Apex',\n      url: 'https://explorer.apex.proofofplay.com',\n    },\n    default: {\n      name: 'Apex',\n      url: 'https://explorer.apex.proofofplay.com',\n    },\n  },\n}\n\nexport const apexPopTestnet = {\n  id: 70800,\n  name: 'Apex Testnet',\n  nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: ['https://rpc-pop-testnet-barret-oxaolmcfss.t.conduit.xyz'],\n    },\n    public: {\n      http: ['https://rpc-pop-testnet-barret-oxaolmcfss.t.conduit.xyz'],\n    },\n  },\n  blockExplorers: {\n    etherscan: {\n      name: 'Apex Testnet',\n      url: 'https://explorerl2new-pop-testnet-barret-oxaolmcfss.t.conduit.xyz',\n    },\n    default: {\n      name: 'Apex Testnet',\n      url: 'https://explorerl2new-pop-testnet-barret-oxaolmcfss.t.conduit.xyz',\n    },\n  },\n}\n\nexport const blast = {\n  id: 81457,\n  name: 'Blast',\n  nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: ['https://rpc.blast.io'],\n    },\n    public: {\n      http: ['https://rpc.blast.io'],\n    },\n  },\n  blockExplorers: {\n    etherscan: {\n      name: 'Blastscan',\n      url: 'https://blastscan.io',\n    },\n    default: {\n      name: 'Blastscan',\n      url: 'https://blastscan.io',\n    },\n  },\n} as const satisfies Chain\n\nexport const astarZkEVM = {\n  id: 3776,\n  name: 'Astar ZkEVM',\n  nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: ['https://rpc.startale.com/astar-zkevm'],\n    },\n    public: {\n      http: ['https://rpc.startale.com/astar-zkevm'],\n    },\n  },\n  blockExplorers: {\n    etherscan: {\n      name: 'Astar zkEVM',\n      url: 'https://astar-zkevm.explorer.startale.com',\n    },\n    default: {\n      name: 'Astar zkEVM',\n      url: 'https://astar-zkevm.explorer.startale.com',\n    },\n  },\n} as const satisfies Chain\n\nexport const garnet = {\n  id: 17069,\n  name: 'Garnet',\n  nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: ['https://rpc.garnet.qry.live'],\n    },\n    public: {\n      http: ['https://rpc.garnet.qry.live'],\n    },\n  },\n  blockExplorers: {\n    etherscan: {\n      name: 'Garnet',\n      url: 'https://explorer.garnet.qry.live',\n    },\n    default: {\n      name: 'Garnet',\n      url: 'https://explorer.garnet.qry.live',\n    },\n  },\n} as const satisfies Chain\n\nexport const redstone = {\n  id: 690,\n  name: 'Redstone',\n  nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: ['https://rpc.redstonechain.com'],\n    },\n    public: {\n      http: ['https://rpc.redstonechain.com'],\n    },\n  },\n  blockExplorers: {\n    etherscan: {\n      name: 'Redstone',\n      url: 'https://explorer.redstone.xyz',\n    },\n    default: {\n      name: 'Redstone',\n      url: 'https://explorer.redstone.xyz',\n    },\n  },\n} as const satisfies Chain\n\nexport const degen = {\n  id: 666666666,\n  name: 'Degen',\n  nativeCurrency: { name: 'DEGEN', symbol: 'DEGEN', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: ['https://rpc.degen.tips'],\n    },\n    public: {\n      http: ['https://rpc.degen.tips'],\n    },\n  },\n  blockExplorers: {\n    etherscan: {\n      name: 'Degen Chain Explorer',\n      url: 'https://explorer.degen.tips',\n    },\n    default: {\n      name: 'Degen Chain Explorer',\n      url: 'https://explorer.degen.tips',\n    },\n  },\n} as const satisfies Chain\n\nexport const xai = {\n  id: 660279,\n  name: 'Xai',\n  nativeCurrency: { name: 'Xai', symbol: 'XAI', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: ['https://xai-chain.net/rpc'],\n    },\n    public: {\n      http: ['https://xai-chain.net/rpc'],\n    },\n  },\n  blockExplorers: {\n    etherscan: {\n      name: 'Xai',\n      url: 'https://explorer.xai-chain.net',\n    },\n    default: {\n      name: 'Xai',\n      url: 'https://explorer.xai-chain.net',\n    },\n  },\n} as const satisfies Chain\n\nexport const seiTestnet = {\n  id: 713715,\n  name: 'Sei Testnet',\n  nativeCurrency: { name: 'Sei', symbol: 'SEI', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: ['https://evm-rpc-arctic-1.sei-apis.com'],\n    },\n    public: {\n      http: ['https://evm-rpc-arctic-1.sei-apis.com'],\n    },\n  },\n  blockExplorers: {\n    etherscan: {\n      name: 'Sei Testnet',\n      url: 'https://seistream.app',\n    },\n    default: {\n      name: 'Sei Testnet',\n      url: 'https://seistream.app',\n    },\n  },\n} as const satisfies Chain\n\nexport const cyber = {\n  id: 7560,\n  name: 'Cyber',\n  nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: ['https://cyber.alt.technology'],\n    },\n    public: {\n      http: ['https://cyber.alt.technology'],\n    },\n  },\n  blockExplorers: {\n    etherscan: {\n      name: 'Cyber Explorer',\n      url: 'https://cyberscan.co',\n    },\n    default: {\n      name: 'Cyber Explorer',\n      url: 'https://cyberscan.co',\n    },\n  },\n} as const satisfies Chain\n\nexport const bitlayer = {\n  id: 200901,\n  name: 'Bitlayer',\n  nativeCurrency: { name: 'Bitcoin', symbol: 'BTC', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: ['https://rpc.bitlayer.org'],\n    },\n    public: {\n      http: ['https://rpc.bitlayer.org'],\n    },\n  },\n  blockExplorers: {\n    etherscan: {\n      name: 'Bitlayer Scan',\n      url: 'https://www.btrscan.com',\n    },\n    default: {\n      name: 'Bitlayer Scan',\n      url: 'https://www.btrscan.com',\n    },\n  },\n} as const satisfies Chain\n\nexport const sei = {\n  id: 1329,\n  name: 'Sei',\n  nativeCurrency: { name: 'Sei', symbol: 'SEI', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: ['https://evm-rpc.sei-apis.com'],\n    },\n    public: {\n      http: ['https://evm-rpc.sei-apis.com'],\n    },\n  },\n  blockExplorers: {\n    etherscan: {\n      name: 'Sei Scan',\n      url: 'https://seitrace.com',\n    },\n    default: {\n      name: 'Sei Scan',\n      url: 'https://seitrace.com',\n    },\n  },\n} as const satisfies Chain\n\nexport const nebula = {\n  id: 1482601649,\n  name: 'Nebula',\n  nativeCurrency: { name: 'sFUEL', symbol: 'sFUEL', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: ['https://mainnet.skalenodes.com/v1/green-giddy-denebola'],\n    },\n    public: {\n      http: ['https://mainnet.skalenodes.com/v1/green-giddy-denebola'],\n    },\n  },\n  blockExplorers: {\n    etherscan: {\n      name: 'SKALE Explorer',\n      url: 'https://green-giddy-denebola.explorer.mainnet.skalenodes.com',\n    },\n    default: {\n      name: 'SKALE Explorer',\n      url: 'https://green-giddy-denebola.explorer.mainnet.skalenodes.com',\n    },\n  },\n} as const satisfies Chain\n\nexport const b3Testnet = {\n  id: 1993,\n  name: 'B3 Testnet',\n  nativeCurrency: { name: 'ETH', symbol: 'ETH', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: ['https://sepolia.b3.fun/http'],\n    },\n    public: {\n      http: ['https://sepolia.b3.fun/http'],\n    },\n  },\n  blockExplorers: {\n    etherscan: {\n      name: 'B3 Sepolia Explorer',\n      url: 'https://sepolia.explorer.b3.fun',\n    },\n    default: {\n      name: 'B3 Sepolia Explorer',\n      url: 'https://sepolia.explorer.b3.fun',\n    },\n  },\n} as const satisfies Chain\n\nexport const flowPreviewnet = {\n  id: 646,\n  name: 'Flow Previewnet',\n  nativeCurrency: { name: 'Flow', symbol: 'FLOW', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: ['https://previewnet.evm.nodes.onflow.org'],\n    },\n    public: {\n      http: ['https://previewnet.evm.nodes.onflow.org'],\n    },\n  },\n  blockExplorers: {\n    etherscan: {\n      name: 'Flow Previewnet Explorer',\n      url: 'https://eth.flowscan.io/',\n    },\n    default: {\n      name: 'Flow Previewnet Explorer',\n      url: 'https://eth.flowscan.io/',\n    },\n  },\n} as const satisfies Chain\n\nexport const cloud = {\n  id: 70805,\n  name: 'Cloud',\n  nativeCurrency: { name: 'Eth', symbol: 'ETH', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: ['https://rpc-pop-testnet-cloud-fmg1z6e0a9.t.conduit.xyz'],\n    },\n    public: {\n      http: ['https://rpc-pop-testnet-cloud-fmg1z6e0a9.t.conduit.xyz'],\n    },\n  },\n  blockExplorers: {\n    etherscan: {\n      name: 'Cloud Explorer',\n      url: 'https://explorer-pop-testnet-cloud-fmg1z6e0a9.t.conduit.xyz',\n    },\n    default: {\n      name: 'Cloud Explorer',\n      url: 'https://explorer-pop-testnet-cloud-fmg1z6e0a9.t.conduit.xyz',\n    },\n  },\n} as const satisfies Chain\n\nexport const game7Testnet = {\n  id: 13746,\n  name: 'Game7 Testnet',\n  nativeCurrency: { name: 'TG7T', symbol: 'TG7T', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: ['https://rpc-game7-testnet-0ilneybprf.t.conduit.xyz'],\n    },\n    public: {\n      http: ['https://rpc-game7-testnet-0ilneybprf.t.conduit.xyz'],\n    },\n  },\n  blockExplorers: {\n    etherscan: {\n      name: 'Game7 Testnet Explorer',\n      url: 'https://explorer-game7-testnet-0ilneybprf.t.conduit.xyz',\n    },\n    default: {\n      name: 'Game7 Testnet Explorer',\n      url: 'https://explorer-game7-testnet-0ilneybprf.t.conduit.xyz',\n    },\n  },\n} as const satisfies Chain\n\nexport const boss = {\n  id: 70701,\n  name: 'Boss',\n  nativeCurrency: { name: 'ETH', symbol: 'ETH', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: ['https://rpc.boss.proofofplay.com'],\n    },\n    public: {\n      http: ['https://rpc.boss.proofofplay.com'],\n    },\n  },\n  blockExplorers: {\n    etherscan: {\n      name: 'Boss Explorer',\n      url: 'https://explorer.boss.proofofplay.com',\n    },\n    default: {\n      name: 'Boss Explorer',\n      url: 'https://explorer.boss.proofofplay.com',\n    },\n  },\n} as const satisfies Chain\n\nexport const forma = {\n  id: 984122,\n  name: 'Forma',\n  nativeCurrency: { name: 'TIA', symbol: 'TIA', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: ['https://rpc.forma.art'],\n    },\n    public: {\n      http: ['https://rpc.forma.art'],\n    },\n  },\n  blockExplorers: {\n    etherscan: {\n      name: 'Forma Explorer',\n      url: 'https://explorer.forma.art',\n    },\n    default: {\n      name: 'Forma Explorer',\n      url: 'https://explorer.forma.art',\n    },\n  },\n} as const satisfies Chain\n\nexport const formaSketchpad = {\n  id: 984123,\n  name: 'Forma Sketchpad',\n  nativeCurrency: { name: 'TIA', symbol: 'TIA', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: ['https://rpc.sketchpad-1.forma.art'],\n    },\n    public: {\n      http: ['https://rpc.sketchpad-1.forma.art'],\n    },\n  },\n  blockExplorers: {\n    etherscan: {\n      name: 'Forma Sketchpad Explorer',\n      url: 'https://explorer.sketchpad-1.forma.art',\n    },\n    default: {\n      name: 'Forma Sketchpad Explorer',\n      url: 'https://explorer.sketchpad-1.forma.art',\n    },\n  },\n} as const satisfies Chain\n\nexport const b3 = {\n  id: 8333,\n  name: 'B3',\n  nativeCurrency: { name: 'ETH', symbol: 'ETH', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: ['https://mainnet-rpc.b3.fun/http'],\n    },\n    public: {\n      http: ['https://mainnet-rpc.b3.fun/http'],\n    },\n  },\n  blockExplorers: {\n    etherscan: {\n      name: 'B3 Explorer',\n      url: 'https://explorer.b3.fun',\n    },\n    default: {\n      name: 'B3 Explorer',\n      url: 'https://explorer.b3.fun',\n    },\n  },\n} as const satisfies Chain\n\nexport const apechain = {\n  id: 33139,\n  name: 'Apechain',\n  nativeCurrency: { name: 'ApeCoin', symbol: 'APE', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: ['https://apechain.calderachain.xyz/http'],\n    },\n    public: {\n      http: ['https://apechain.calderachain.xyz/http'],\n    },\n  },\n  blockExplorers: {\n    etherscan: {\n      name: 'Apechain Explorer',\n      url: 'https://apescan.io',\n    },\n    default: {\n      name: 'Apechain Explorer',\n      url: 'https://apescan.io',\n    },\n  },\n} as const satisfies Chain\n\nexport const curtis = {\n  id: 33111,\n  name: 'Curtis',\n  nativeCurrency: { name: 'ApeCoin', symbol: 'APE', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: ['https://curtis.rpc.caldera.xyz/http'],\n    },\n    public: {\n      http: ['https://curtis.rpc.caldera.xyz/http'],\n    },\n  },\n  blockExplorers: {\n    etherscan: {\n      name: 'Curtis Explorer',\n      url: 'https://curtis.explorer.caldera.xyz',\n    },\n    default: {\n      name: 'Curtis Explorer',\n      url: 'https://curtis.explorer.caldera.xyz',\n    },\n  },\n} as const satisfies Chain\n\nexport const shape = {\n  id: 360,\n  name: 'Shape',\n  nativeCurrency: { name: 'ETH', symbol: 'ETH', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: ['https://mainnet.shape.network'],\n    },\n    public: {\n      http: ['https://mainnet.shape.network'],\n    },\n  },\n  blockExplorers: {\n    etherscan: {\n      name: 'Shape Explorer',\n      url: 'https://shapescan.xyz',\n    },\n    default: {\n      name: 'Shape Explorer',\n      url: 'https://shapescan.xyz',\n    },\n  },\n} as const satisfies Chain\n\nexport const shapeSepolia = {\n  id: 11011,\n  name: 'Shape Sepolia',\n  nativeCurrency: { name: 'ETH', symbol: 'ETH', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: ['https://sepolia.shape.network'],\n    },\n    public: {\n      http: ['https://sepolia.shape.network'],\n    },\n  },\n  blockExplorers: {\n    etherscan: {\n      name: 'Shape Sepolia Explorer',\n      url: 'https://explorer-sepolia.shape.network',\n    },\n    default: {\n      name: 'Shape Sepolia Explorer',\n      url: 'https://explorer-sepolia.shape.network',\n    },\n  },\n} as const satisfies Chain\n\nexport const abstractTestnet = {\n  id: 11124,\n  name: 'Abstract Testnet',\n  nativeCurrency: { name: 'ETH', symbol: 'ETH', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: ['https://api.testnet.abs.xyz'],\n    },\n    public: {\n      http: ['https://api.testnet.abs.xyz'],\n    },\n  },\n  blockExplorers: {\n    etherscan: {\n      name: 'Abstract Testnet Explorer',\n      url: 'https://explorer.testnet.abs.xyz',\n    },\n    default: {\n      name: 'Abstract Testnet Explorer',\n      url: 'https://explorer.testnet.abs.xyz',\n    },\n  },\n} as const satisfies Chain\n\nexport const minato = {\n  id: 1946,\n  name: 'Minato',\n  nativeCurrency: { name: 'ETH', symbol: 'ETH', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: ['https://rpc.minato.soneium.org'],\n    },\n    public: {\n      http: ['https://rpc.minato.soneium.org'],\n    },\n  },\n  blockExplorers: {\n    etherscan: {\n      name: 'Minato Explorer',\n      url: 'https://soneium-minato.blockscout.com',\n    },\n    default: {\n      name: 'Minato Explorer',\n      url: 'https://soneium-minato.blockscout.com',\n    },\n  },\n} as const satisfies Chain\n\nexport const hychain = {\n  id: 2911,\n  name: 'Hychain',\n  nativeCurrency: { name: 'Hychain', symbol: 'TOPIA', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: ['https://rpc.hychain.com/http'],\n    },\n    public: {\n      http: ['https://rpc.hychain.com/http'],\n    },\n  },\n  blockExplorers: {\n    etherscan: {\n      name: 'Hychain Explorer',\n      url: 'https://explorer.hychain.com',\n    },\n    default: {\n      name: 'Hychain Explorer',\n      url: 'https://explorer.hychain.com',\n    },\n  },\n} as const satisfies Chain\n\nexport const hychainTestnet = {\n  id: 29112,\n  name: 'Hychain Testnet',\n  nativeCurrency: { name: 'Hychain', symbol: 'TOPIA', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: ['https://testnet-rpc.hychain.com/http'],\n    },\n    public: {\n      http: ['https://testnet-rpc.hychain.com/http'],\n    },\n  },\n  blockExplorers: {\n    etherscan: {\n      name: 'Hychain Testnet Explorer',\n      url: 'https://testnet.explorer.hychain.com',\n    },\n    default: {\n      name: 'Hychain Testnet Explorer',\n      url: 'https://testnet.explorer.hychain.com',\n    },\n  },\n} as const satisfies Chain\n\nexport const flow = {\n  id: 747,\n  name: 'Flow',\n  nativeCurrency: { name: 'Flow', symbol: 'FLOW', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: ['https://mainnet.evm.nodes.onflow.org'],\n    },\n    public: {\n      http: ['https://mainnet.evm.nodes.onflow.org'],\n    },\n  },\n  blockExplorers: {\n    etherscan: {\n      name: 'Flow Explorer',\n      url: 'https://evm.flowscan.io',\n    },\n    default: {\n      name: 'Flow Explorer',\n      url: 'https://evm.flowscan.io',\n    },\n  },\n} as const satisfies Chain\n\nexport const zero = {\n  id: 543210,\n  name: 'Zero',\n  nativeCurrency: { name: 'ETH', symbol: 'ETH', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: ['https://zero-network.calderachain.xyz'],\n    },\n    public: {\n      http: ['https://zero-network.calderachain.xyz'],\n    },\n  },\n  blockExplorers: {\n    etherscan: {\n      name: 'Zero Explorer',\n      url: 'https://explorer.zero.network',\n    },\n    default: {\n      name: 'Zero Explorer',\n      url: 'https://explorer.zero.network',\n    },\n  },\n} as const satisfies Chain\n\nexport const zeroTestnet = {\n  id: 43210,\n  name: 'Zero Testnet',\n  nativeCurrency: { name: 'ETH', symbol: 'ETH', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: ['https://zerion-testnet-proofs.rpc.caldera.xyz/http'],\n    },\n    public: {\n      http: ['https://zerion-testnet-proofs.rpc.caldera.xyz/http'],\n    },\n  },\n  blockExplorers: {\n    etherscan: {\n      name: 'Zero Testnet Explorer',\n      url: 'https://zerion-testnet-proofs.explorer.caldera.xyz',\n    },\n    default: {\n      name: 'Zero Testnet Explorer',\n      url: 'https://zerion-testnet-proofs.explorer.caldera.xyz',\n    },\n  },\n} as const satisfies Chain\n\nexport const abstract = {\n  id: 2741,\n  name: 'Abstract',\n  nativeCurrency: { name: 'ETH', symbol: 'ETH', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: ['https://rpc.fsd.adfasd32442ds.com'],\n    },\n    public: {\n      http: ['https://rpc.fsd.adfasd32442ds.com'],\n    },\n  },\n  blockExplorers: {\n    etherscan: {\n      name: 'Abstract Explorer',\n      url: 'https://abscan.org',\n    },\n    default: {\n      name: 'Abstract Explorer',\n      url: 'https://abscan.org',\n    },\n  },\n} as const satisfies Chain\n\nexport const animeTestnet = {\n  id: 6900,\n  name: 'Anime Testnet',\n  nativeCurrency: { name: 'ANIME', symbol: 'ANIME', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: ['https://rpc-animechain-testnet-i8yja6a1a0.t.conduit.xyz'],\n    },\n    public: {\n      http: ['https://rpc-animechain-testnet-i8yja6a1a0.t.conduit.xyz'],\n    },\n  },\n  blockExplorers: {\n    etherscan: {\n      name: 'Anime Testnet Explorer',\n      url: 'https://testnet-explorer.anime.xyz',\n    },\n    default: {\n      name: 'Anime Testnet Explorer',\n      url: 'https://testnet-explorer.anime.xyz',\n    },\n  },\n} as const satisfies Chain\n\nexport const monadDevnet = {\n  id: 41454,\n  name: 'Monad Devnet',\n  nativeCurrency: { name: 'MON', symbol: 'MON', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: [\n        'https://devnet1.monad.xyz/rpc/diJoIRvXonYUWPhZNBtJAv1ffPjrkYBXXewh4PZe',\n      ],\n    },\n    public: {\n      http: [\n        'https://devnet1.monad.xyz/rpc/diJoIRvXonYUWPhZNBtJAv1ffPjrkYBXXewh4PZe',\n      ],\n    },\n  },\n  blockExplorers: {\n    etherscan: {\n      name: 'Monad Devnet Explorer',\n      url: 'https://brightstar-884.devnet1.monad.xyz',\n    },\n    default: {\n      name: 'Monad Devnet Explorer',\n      url: 'https://brightstar-884.devnet1.monad.xyz',\n    },\n  },\n} as const satisfies Chain\n\nexport const game7 = {\n  id: 2187,\n  name: 'game7',\n  nativeCurrency: { name: 'Game7', symbol: 'G7', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: ['https://mainnet-rpc.game7.io'],\n    },\n    public: {\n      http: ['https://mainnet-rpc.game7.io'],\n    },\n  },\n  blockExplorers: {\n    etherscan: {\n      name: 'G7 Network Explorer',\n      url: 'https://mainnet.game7.io',\n    },\n    default: {\n      name: 'G7 Network Explorer',\n      url: 'https://mainnet.game7.io',\n    },\n  },\n} as const satisfies Chain\n\nexport const creatorTestnet = {\n  id: 4654,\n  name: 'Creator Testnet',\n  nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: ['https://creator-testnet.rpc.caldera.xyz/http'],\n    },\n    public: {\n      http: ['https://creator-testnet.rpc.caldera.xyz/http'],\n    },\n  },\n  blockExplorers: {\n    etherscan: {\n      name: 'Creator Testnet Explorer',\n      url: 'https://creator-testnet.explorer.caldera.xyz',\n    },\n    default: {\n      name: 'Creator Testnet Explorer',\n      url: 'https://creator-testnet.explorer.caldera.xyz',\n    },\n  },\n} as const satisfies Chain\n\nexport const soneium = {\n  id: 1868,\n  name: 'Soneium',\n  nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: ['https://yellow-flash-rpc.dwellir.com'],\n    },\n    public: {\n      http: ['https://yellow-flash-rpc.dwellir.com'],\n    },\n  },\n  blockExplorers: {\n    etherscan: {\n      name: 'Soneium Explorer',\n      url: 'https://vk9a3tgpne6qmub8.blockscout.com',\n    },\n    default: {\n      name: 'Soneium Explorer',\n      url: 'https://vk9a3tgpne6qmub8.blockscout.com',\n    },\n  },\n} as const satisfies Chain\n\nexport const storyOdyssey = {\n  id: 1516,\n  name: 'Story Odyssey',\n  nativeCurrency: { name: 'IP', symbol: 'IP', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: ['https://rpc.odyssey.storyrpc.io'],\n    },\n    public: {\n      http: ['https://rpc.odyssey.storyrpc.io'],\n    },\n  },\n  blockExplorers: {\n    etherscan: {\n      name: 'Story Odyssey Explorer',\n      url: 'https://odyssey.storyscan.xyz',\n    },\n    default: {\n      name: 'Story Odyssey Explorer',\n      url: 'https://odyssey.storyscan.xyz',\n    },\n  },\n} as const satisfies Chain\n\nexport const monadTestnet = {\n  id: 10143,\n  name: 'Monad Testnet',\n  nativeCurrency: { name: 'Monad', symbol: 'MON', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: ['https://testnet-rpc.monad.xyz'],\n    },\n    public: {\n      http: ['https://testnet-rpc.monad.xyz'],\n    },\n  },\n  blockExplorers: {\n    etherscan: {\n      name: 'Monad Testnet Explorer',\n      url: 'https://testnet.monadexplorer.com',\n    },\n    default: {\n      name: 'Monad Testnet Explorer',\n      url: 'https://testnet.monadexplorer.com',\n    },\n  },\n} as const satisfies Chain\n\nexport const ink = {\n  id: 57073,\n  name: 'Ink',\n  nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: ['https://rpc-gel.inkonchain.com'],\n    },\n    public: {\n      http: ['https://rpc-gel.inkonchain.com'],\n    },\n  },\n  blockExplorers: {\n    etherscan: {\n      name: 'Ink Explorer',\n      url: 'https://explorer.inkonchain.com',\n    },\n    default: {\n      name: 'Ink Explorer',\n      url: 'https://explorer.inkonchain.com',\n    },\n  },\n} as const satisfies Chain\n\nexport const berachain = {\n  id: 80094,\n  name: 'Berachain',\n  nativeCurrency: { name: 'Bera', symbol: 'BERA', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: ['https://rpc.berachain.com'],\n    },\n    public: {\n      http: ['https://rpc.berachain.com'],\n    },\n  },\n  blockExplorers: {\n    etherscan: {\n      name: 'Berachain Explorer',\n      url: 'https://berascan.com',\n    },\n    default: {\n      name: 'Berachain Explorer',\n      url: 'https://berascan.com',\n    },\n  },\n} as const satisfies Chain\n\nexport const anime = {\n  id: 69000,\n  name: 'Anime',\n  nativeCurrency: { name: 'Anime', symbol: 'ANIME', decimals: 18 },\n  rpcUrls: {\n    default: {\n      http: ['https://rpc-animechain-39xf6m45e3.t.conduit.xyz'],\n    },\n    public: {\n      http: ['https://rpc-animechain-39xf6m45e3.t.conduit.xyz'],\n    },\n  },\n} as const satisfies Chain\n\nexport const customChains = {\n  ancient8,\n  ancient8Testnet,\n  frameTestnet,\n  blastSepolia,\n  apexPop,\n  apexPopTestnet,\n  blast,\n  astarZkEVM,\n  garnet,\n  redstone,\n  degen,\n  xai,\n  seiTestnet,\n  cyber,\n  bitlayer,\n  sei,\n  nebula,\n  b3Testnet,\n  flowPreviewnet,\n  cloud,\n  game7Testnet,\n  boss,\n  forma,\n  formaSketchpad,\n  b3,\n  apechain,\n  curtis,\n  shape,\n  shapeSepolia,\n  abstractTestnet,\n  minato,\n  hychain,\n  hychainTestnet,\n  flow,\n  zero,\n  zeroTestnet,\n  abstract,\n  animeTestnet,\n  monadDevnet,\n  game7,\n  creatorTestnet,\n  soneium,\n  storyOdyssey,\n  monadTestnet,\n  ink,\n  berachain,\n  anime,\n} as const satisfies Record<string, Chain>\n","export enum LogLevel {\n  Verbose = 4,\n  Info = 3,\n  Warn = 2,\n  Error = 1,\n  None = 0,\n}\n\nexport const log = (params: any[], level: LogLevel, currentLevel: LogLevel) => {\n  if (currentLevel >= level) {\n    const data = params.reduce((params, param, i) => {\n      if ((i + 1) % 2) {\n        params.push('\\n')\n      }\n      params.push(param)\n      return params\n    }, [])\n    switch (level) {\n      case LogLevel.Info:\n        console.info(...data)\n        break\n      case LogLevel.Error:\n        console.error(...data)\n        break\n      case LogLevel.Warn:\n        console.warn(...data)\n        break\n      default:\n        console.log(...data)\n        break\n    }\n  }\n}\n","import { axios } from '../utils'\nimport { AxiosRequestConfig, AxiosRequestHeaders } from 'axios'\nimport { version } from '../../package.json'\nimport { getClient } from '../'\n\nexport function request(config: AxiosRequestConfig = {}) {\n  const client = getClient()\n\n  const headers = {\n    'Content-Type': 'application/json',\n    'x-rkc-version': version,\n  } as any as AxiosRequestHeaders\n  if (client?.apiKey) {\n    headers['x-api-key'] = client.apiKey\n  }\n  return axios.request({ headers: headers, ...config })\n}\n\nexport function isAPIError(error?: Error) {\n  return error && error.cause === 'APIError'\n}\n\nexport class APIError extends Error {\n  type: string\n  statusCode: number | undefined\n  rawError: any\n  requestUrl: string | undefined\n\n  constructor(\n    message: string = 'Unknown Reason',\n    statusCode: number,\n    rawError?: any,\n    requestUrl?: string,\n    type: string = 'APIError',\n    options: any = {}\n  ) {\n    super(message, { ...options, cause: 'APIError' })\n    this.name = 'APIError'\n    this.type = type\n    this.statusCode = statusCode\n    this.rawError = rawError\n    this.requestUrl = requestUrl\n  }\n}\n","import _axios, { AxiosResponse } from 'axios'\nimport { APIError } from './request'\n\nexport const axios = _axios.create()\n\naxios.interceptors.response.use(\n  (_res: AxiosResponse) => {\n    if (_res.headers['Deprecation'] === 'true') {\n      console.warn(\n        `Warning: API ${_res.config.url} is deprecated. Stability and performance may be affected.`\n      )\n    }\n\n    return _res\n  },\n  (error) => {\n    const message =\n      error.response?.data?.message ||\n      error.response?.data?.error ||\n      error?.message\n\n    const statusCode =\n      error?.response?.data?.statusCode || error?.response?.status\n\n    const requestUrl = error?.config?.url || error?.request?.responseURL\n\n    return Promise.reject(\n      new APIError(message, statusCode, error.response?.data, requestUrl)\n    )\n  }\n)\n","{\n    \"name\": \"@reservoir0x/reservoir-sdk\",\n    \"version\": \"2.5.7\",\n    \"description\": \"An SDK that can be used in any javascript/typescript context to easily interact with Reservoir liquidity APIs\",\n    \"author\": \"Reservoir Protocol\",\n    \"license\": \"MIT\",\n    \"exports\": {\n        \".\": {\n            \"import\": \"./dist/index.mjs\",\n            \"require\": \"./dist/index.js\",\n            \"types\": \"./dist/index.d.ts\"\n        }\n    },\n    \"source\": \"./src/index.ts\",\n    \"main\": \"./dist/index.js\",\n    \"module\": \"./dist/index.mjs\",\n    \"types\": \"./dist/index.d.ts\",\n    \"files\": [\n        \"dist\"\n    ],\n    \"scripts\": {\n        \"clean\": \"rm -rf dist\",\n        \"test\": \"jest\",\n        \"syncApi\": \"node ./sync-api.mjs\"\n    },\n    \"repository\": {\n        \"type\": \"git\",\n        \"url\": \"https://github.com/reservoirprotocol/reservoir-kit\"\n    },\n    \"sideEffects\": false,\n    \"keywords\": [\n        \"nft\",\n        \"reservoir\",\n        \"reservoir-sdk\",\n        \"reservoirkit\",\n        \"protocol\",\n        \"sdk\"\n    ],\n    \"dependencies\": {\n        \"axios\": \"^1.6.7\"\n    },\n    \"publishConfig\": {\n        \"access\": \"public\"\n    },\n    \"devDependencies\": {\n        \"@types/jest\": \"^29.5.2\",\n        \"jest\": \"^29.5.0\",\n        \"openapi-typescript\": \"^5.4.1\",\n        \"ts-jest\": \"^29.1.0\"\n    },\n    \"peerDependencies\": {\n        \"viem\": \"~2.22.8\"\n    }\n}\n","import {\n  BuyPath,\n  Execute,\n  ExpectedPrice,\n  paths,\n  ReservoirWallet,\n  TransactionStepItem,\n} from '../types'\nimport { pollUntilHasData, pollUntilOk } from './pollApi'\nimport { Address, createPublicClient, fallback, formatUnits, http } from 'viem'\nimport { axios } from '../utils'\nimport { customChains } from '../utils/customChains'\nimport { AxiosRequestConfig, AxiosRequestHeaders } from 'axios'\nimport { getClient } from '../actions/index'\nimport { setParams } from './params'\nimport { version } from '../../package.json'\nimport { LogLevel } from '../utils/logger'\nimport { generateEvent } from '../utils/events'\nimport { sendTransactionSafely } from './transaction'\nimport * as allChains from 'viem/chains'\nimport { executeResults } from './executeResults'\n\ntype ExpectedQuote = {\n  raw: bigint\n  amount: number\n  currencyDecimals: number\n}\n\nfunction checkExpectedPrice(\n  quote: ExpectedQuote,\n  isSell: boolean,\n  isBuy: boolean,\n  expectedPrice?: ExpectedPrice\n) {\n  const baseError = {\n    type: 'price mismatch',\n    message: '',\n  }\n  let error: null | Error | { type: string; message: string } = null\n  if (expectedPrice === undefined) {\n    error = {\n      ...baseError,\n      message: `Attention: the offer price of this token is now ${quote.amount}`,\n    }\n    return\n  }\n  const rawQuoteThreshold =\n    BigInt(10 ** (quote?.currencyDecimals || 18)) / BigInt(100000)\n\n  // Check if the user is selling\n  if (isSell) {\n    if (expectedPrice.raw) {\n      if (quote.raw - expectedPrice.raw < rawQuoteThreshold * BigInt(-1)) {\n        error = {\n          ...baseError,\n          message: `Attention: the offer price of this token is now ${formatUnits(\n            quote.raw,\n            quote.currencyDecimals || 18\n          )}`,\n        }\n      }\n    } else if (expectedPrice.amount) {\n      if (Number((quote.amount - expectedPrice.amount).toFixed(6)) < -0.00001) {\n        error = {\n          ...baseError,\n          message: `Attention: the offer price of this token is now ${quote.amount}`,\n        }\n      }\n    }\n  }\n\n  // Check if the user is buying\n  if (isBuy) {\n    if (expectedPrice.raw) {\n      if (quote.raw - expectedPrice.raw > rawQuoteThreshold) {\n        error = {\n          ...baseError,\n          message: `Attention: the total price is now ${formatUnits(\n            quote.raw,\n            quote.currencyDecimals || 18\n          )}`,\n        }\n      }\n    } else if (expectedPrice.amount) {\n      if (Number((quote.amount - expectedPrice.amount).toFixed(6)) > 0.00001) {\n        error = {\n          ...baseError,\n          message: `Attention: the total price is now ${quote}`,\n        }\n      }\n    }\n  }\n  return error\n}\n\n/**\n * When attempting to perform actions, such as, selling a token or\n * buying a token, the user's account needs to meet certain requirements. For\n * example, if the user attempts to buy a token the Reservoir API checks if the\n * user has enough balance, before providing the transaction to be signed by\n * the user. This function executes all transactions, in order, to complete the\n * action.\n * @param request AxiosRequestConfig object with at least a url set\n * @param wallet ReservoirWallet object that adheres to the ReservoirWallet interface\n * @param setState Callback to update UI state has execution progresses\n * @param newJson Data passed around, which contains steps and items etc\n * @param expectedPrice Expected price to check for price moves before starting to process the steps. An object representing currency contract address to expected price object. Include the raw amount and the currency details\n * @param chainId Optional parameter to override the default chain\n * @returns A promise you can await on\n */\n\nexport async function executeSteps(\n  request: AxiosRequestConfig,\n  wallet: ReservoirWallet,\n  setState: (\n    steps: Execute['steps'],\n    path: Execute['path'],\n    fees?: Execute['fees']\n  ) => any,\n  newJson?: Execute,\n  expectedPrice?: Record<string, ExpectedPrice>,\n  chainId?: number,\n  gas?: string\n) {\n  const client = getClient()\n  let reservoirChain = client?.currentChain()\n\n  if (chainId) {\n    reservoirChain = client.chains.find((chain) => chain.id == chainId) || null\n  }\n\n  const pollingInterval = reservoirChain?.checkPollingInterval ?? 5000\n\n  const maximumAttempts =\n    client.maxPollingAttemptsBeforeTimeout ??\n    (2.5 * 60 * 1000) / pollingInterval // default to 2 minutes and 30 seconds worth of attempts\n\n  let viemChain: allChains.Chain\n  const customChain = Object.values(customChains).find(\n    (chain) => chain.id == (reservoirChain?.id || 1)\n  )\n  if (customChain) {\n    viemChain = customChain\n  } else {\n    viemChain =\n      Object.values(allChains).find(\n        (chain) => chain.id == (reservoirChain?.id || 1)\n      ) || allChains.mainnet\n  }\n\n  const viemClient = createPublicClient({\n    chain: viemChain,\n    transport: wallet.transport ? fallback([wallet.transport, http()]) : http(),\n  })\n\n  let json = newJson\n  try {\n    if (!request.headers) {\n      request.headers = {}\n    }\n\n    if (reservoirChain?.baseApiUrl) {\n      request.baseURL = reservoirChain.baseApiUrl\n    }\n    if (client?.apiKey) {\n      request.headers['x-api-key'] = client.apiKey\n    }\n    if (client?.uiVersion) {\n      request.headers['x-rkui-version'] = client.uiVersion\n    }\n    request.headers['x-rkc-version'] = version\n\n    if (!json) {\n      client.log(['Execute Steps: Fetching Steps', request], LogLevel.Verbose)\n      const res = await axios.request(request)\n      json = res.data as Execute\n      if (res.status !== 200) throw json\n      client.log(['Execute Steps: Steps retrieved', json], LogLevel.Verbose)\n    }\n\n    // Handle errors\n    if (json.error || !json.steps) throw json\n\n    const isBuy = request.url?.includes('/execute/buy') || false\n    const isSell = request.url?.includes('/execute/sell') || false\n    const isMint = request.url?.includes('/execute/mint') || false\n\n    // Handle price changes to protect users from paying more\n    // than expected when buying and selling for less than expected\n    const path = json.path as BuyPath\n    const relayerFee = json.fees?.relayer\n\n    if (path && expectedPrice) {\n      client.log(\n        [\n          'Execute Steps: checking expected price',\n          'expected price',\n          expectedPrice,\n          'path',\n          path,\n        ],\n        LogLevel.Verbose\n      )\n      let error: ReturnType<typeof checkExpectedPrice>\n      const quotes = path.reduce(\n        (\n          quotes,\n          {\n            quote,\n            rawQuote,\n            currency,\n            currencyDecimals,\n            buyInQuote,\n            buyInRawQuote,\n            buyInCurrency,\n            buyInCurrencyDecimals,\n          }\n        ) => {\n          const currencyKey = buyInCurrency || currency\n          if (currencyKey) {\n            if (!quotes[currencyKey]) {\n              quotes[currencyKey] = {\n                raw: BigInt(buyInRawQuote || rawQuote || 0),\n                amount: buyInQuote || quote || 0,\n                currencyDecimals:\n                  buyInCurrencyDecimals || currencyDecimals || 18,\n              }\n            } else if (\n              !(relayerFee && relayerFee?.currency?.contract === currency)\n            ) {\n              quotes[currencyKey].raw += BigInt(buyInRawQuote || rawQuote || 0)\n              quotes[currencyKey].amount += buyInQuote || quote || 0\n            }\n          }\n          return quotes\n        },\n        {} as Record<string, ExpectedQuote>\n      )\n      const quoteEntries = Object.entries(quotes)\n      for (let i = 0; i < quoteEntries.length; i++) {\n        let [currency, quote] = quoteEntries[i]\n        if (relayerFee && relayerFee?.currency?.contract === currency) {\n          quote.raw -= BigInt(relayerFee?.amount?.raw ?? 0)\n          quote.amount -= relayerFee?.amount?.decimal ?? 0\n        }\n        error = checkExpectedPrice(\n          quote,\n          isSell,\n          isBuy || isMint,\n          expectedPrice[currency]\n        )\n        if (error) {\n          break\n        }\n      }\n\n      if (error) {\n        json.steps[0].error = error.message\n        json.steps[0].errorData = error\n        setState([...json?.steps], path, { ...json?.fees })\n        throw error\n      }\n    }\n\n    // Update state on first call or recursion\n    setState([...json?.steps], path, { ...json?.fees })\n\n    let incompleteStepIndex = -1\n    let incompleteStepItemIndex = -1\n    json.steps.find((step, i) => {\n      if (!step.items) {\n        return false\n      }\n\n      incompleteStepItemIndex = step.items.findIndex(\n        (item) => item.status == 'incomplete'\n      )\n      if (incompleteStepItemIndex !== -1) {\n        incompleteStepIndex = i\n        return true\n      }\n    })\n\n    // There are no more incomplete steps\n    if (incompleteStepIndex === -1) {\n      client.log(['Execute Steps: all steps complete'], LogLevel.Verbose)\n      client._sendEvent(generateEvent(request, json), reservoirChain?.id || 1)\n      return\n    }\n\n    const step = json.steps[incompleteStepIndex]\n    let stepItems = json.steps[incompleteStepIndex].items\n\n    if (!stepItems) {\n      client.log(\n        ['Execute Steps: skipping step, no items in step'],\n        LogLevel.Verbose\n      )\n      return\n    }\n\n    let { kind } = step\n    let stepItem = stepItems[incompleteStepItemIndex]\n    // If step item is missing data, poll until it is ready\n    if (!stepItem.data) {\n      client.log(\n        ['Execute Steps: step item data is missing, begin polling'],\n        LogLevel.Verbose\n      )\n      json = (await pollUntilHasData(request, (json) => {\n        client.log(\n          ['Execute Steps: step item data is missing, polling', json],\n          LogLevel.Verbose\n        )\n        const data = json as Execute\n        // An item is ready if:\n        // - data became available\n        // - the status changed to \"completed\"\n        return data?.steps?.[incompleteStepIndex].items?.[\n          incompleteStepItemIndex\n        ].data ||\n          data?.steps?.[incompleteStepIndex].items?.[incompleteStepItemIndex]\n            .status === 'complete'\n          ? true\n          : false\n      })) as Execute\n      if (!json.steps || !json.steps[incompleteStepIndex].items) throw json\n      const items = json.steps[incompleteStepIndex].items\n      if (\n        !items ||\n        !items[incompleteStepItemIndex] ||\n        !items[incompleteStepItemIndex].data\n      ) {\n        throw json\n      }\n      stepItems = items\n      stepItem = items[incompleteStepItemIndex]\n      setState([...json?.steps], path, { ...json?.fees })\n    }\n    client.log(\n      [`Execute Steps: Begin processing step items for: ${step.action}`],\n      LogLevel.Verbose\n    )\n\n    const items = stepItems.filter(\n      (stepItem) => stepItem.status === 'incomplete'\n    )\n    const pendingPromises: Promise<any>[] = []\n    for (var i = 0; i < items.length; i++) {\n      const promise = new Promise(async (resolve, reject) => {\n        try {\n          const stepItem = items[i]\n          const stepData = stepItem.data\n\n          if (!json) {\n            return\n          }\n          // Handle each step based on it's kind\n          switch (kind) {\n            // Make an on-chain transaction\n            case 'transaction': {\n              try {\n                client.log(\n                  [\n                    'Execute Steps: Begin transaction step for, sending transaction',\n                  ],\n                  LogLevel.Verbose\n                )\n                if (gas !== undefined) {\n                  stepItem.data.gas = gas\n                }\n                const headers = {\n                  'x-rkc-version': version,\n                } as any as AxiosRequestHeaders\n\n                if (request.headers && request.headers['x-api-key']) {\n                  headers['x-api-key'] = request.headers['x-api-key']\n                }\n\n                if (request.headers && client?.uiVersion) {\n                  request.headers['x-rkui-version'] = client.uiVersion\n                }\n\n                // if chainId is present in the tx data field then you should relay the tx on that chain\n                // otherwise, it's assumed the chain id matched the network the api request was made on\n                const transactionChainId =\n                  stepItem?.data?.chainId ?? reservoirChain?.id ?? 1\n\n                const isCrossChainIntent =\n                  stepItem?.data?.chainId &&\n                  stepItem?.data?.chainId != reservoirChain?.id\n\n                const crossChainIntentChainId = reservoirChain?.id\n\n                await sendTransactionSafely(\n                  transactionChainId,\n                  stepItem as TransactionStepItem,\n                  step,\n                  wallet,\n                  (txHashes) => {\n                    client.log(\n                      [\n                        'Execute Steps: Transaction step, got transactions',\n                        txHashes,\n                      ],\n                      LogLevel.Verbose\n                    )\n                    stepItem.txHashes = txHashes\n                    if (json) {\n                      setState([...json.steps], path, { ...json?.fees })\n                    }\n                  },\n                  (internalTxHashes) => {\n                    stepItem.internalTxHashes = internalTxHashes\n                    if (json) {\n                      setState([...json.steps], path, { ...json?.fees })\n                    }\n                  },\n                  request,\n                  headers,\n                  isCrossChainIntent,\n                  crossChainIntentChainId\n                )\n\n                stepItem?.txHashes?.forEach((hash) => {\n                  executeResults({\n                    request,\n                    stepId: step.id,\n                    requestId: json?.requestId,\n                    txHash: hash.txHash,\n                  })\n                })\n              } catch (e) {\n                stepItem?.txHashes?.forEach((hash) => {\n                  executeResults({\n                    request,\n                    stepId: step.id,\n                    requestId: json?.requestId,\n                    txHash: hash.txHash,\n                  })\n                })\n\n                throw e\n              }\n              break\n            }\n\n            // Sign a message\n            case 'signature': {\n              let signature: string | undefined\n              const signData = stepData['sign']\n              const postData = stepData['post']\n              client.log(\n                ['Execute Steps: Begin signature step'],\n                LogLevel.Verbose\n              )\n              if (signData) {\n                signature = await wallet.handleSignMessageStep(stepItem, step)\n\n                if (signature) {\n                  request.params = {\n                    ...request.params,\n                    signature,\n                  }\n                }\n              }\n\n              if (postData) {\n                client.log(['Execute Steps: Posting order'], LogLevel.Verbose)\n                const postOrderUrl = new URL(\n                  `${request.baseURL}${postData.endpoint}`\n                )\n\n                try {\n                  const headers = {\n                    'Content-Type': 'application/json',\n                    'x-rkc-version': version,\n                  } as any as AxiosRequestHeaders\n                  if (request.headers && request.headers['x-api-key']) {\n                    headers['x-api-key'] = request.headers['x-api-key']\n                  }\n                  const getData = async function () {\n                    let response = await axios.post(\n                      postOrderUrl.href,\n                      JSON.stringify(postData.body),\n                      {\n                        method: postData.method,\n                        headers,\n                        params: request.params,\n                      }\n                    )\n\n                    return response\n                  }\n\n                  const res = await getData()\n\n                  // If check, poll check until validated\n                  if (stepItem?.check) {\n                    await pollUntilOk(\n                      {\n                        url: `${request.baseURL}${stepItem?.check.endpoint}`,\n                        method: stepItem?.check.method,\n                        headers: headers,\n                        data: stepItem?.check?.body,\n                      },\n                      (res) => {\n                        client.log(\n                          [\n                            `Execute Steps: Polling execute status to check if indexed`,\n                            res,\n                          ],\n                          LogLevel.Verbose\n                        )\n                        if (\n                          res?.data?.status === 'success' &&\n                          res?.data?.txHashes\n                        ) {\n                          const chainTxHashes: NonNullable<\n                            Execute['steps'][0]['items']\n                          >[0]['txHashes'] = res.data?.txHashes?.map(\n                            (hash: Address) => {\n                              return {\n                                txHash: hash,\n                                chainId: reservoirChain?.id,\n                              }\n                            }\n                          )\n                          stepItem.txHashes = chainTxHashes\n                          return true\n                        } else if (res?.data?.status === 'failure') {\n                          throw Error(\n                            res?.data?.details || 'Transaction failed'\n                          )\n                        }\n                        return false\n                      },\n                      maximumAttempts,\n                      0,\n                      pollingInterval\n                    )\n                  }\n\n                  if (res.status > 299 || res.status < 200) throw res.data\n\n                  if (res.data.results) {\n                    stepItem.orderData = res.data.results\n                  } else if (res.data && res.data.orderId) {\n                    stepItem.orderData = [\n                      {\n                        orderId: res.data.orderId,\n                        crossPostingOrderId: res.data.crossPostingOrderId,\n                        orderIndex: res.data.orderIndex || 0,\n                      },\n                    ]\n                  }\n                  setState([...json?.steps], path, { ...json?.fees })\n                } catch (err) {\n                  throw err\n                }\n              }\n\n              break\n            }\n\n            default:\n              break\n          }\n\n          //Confirm that on-chain tx has been picked up by the indexer\n          if (\n            (step.id === 'sale' || step.id === 'order-signature') &&\n            stepItem.txHashes &&\n            (isSell || isBuy || isMint)\n          ) {\n            // @TODO: global headers declaration\n            const headers = {\n              'x-rkc-version': version,\n            } as any as AxiosRequestHeaders\n\n            if (request.headers && request.headers['x-api-key']) {\n              headers['x-api-key'] = request.headers['x-api-key']\n            }\n\n            if (request.headers && client?.uiVersion) {\n              request.headers['x-rkui-version'] = client.uiVersion\n            }\n\n            client.log(\n              [\n                'Execute Steps: Polling transfers to verify transaction was indexed',\n              ],\n              LogLevel.Verbose\n            )\n            const indexerConfirmationUrl = new URL(\n              `${request.baseURL}/transactions/synced/v2`\n            )\n\n            const queryParams: paths['/transactions/synced/v2']['get']['parameters']['query'] =\n              {\n                txHash: stepItem.txHashes?.map((hash) => hash.txHash),\n                includeTransfers: true,\n              }\n            setParams(indexerConfirmationUrl, queryParams)\n            let transactionsData: paths['/transactions/synced/v2']['get']['responses']['200']['schema'] =\n              {}\n            await pollUntilOk(\n              {\n                url: indexerConfirmationUrl.href,\n                method: 'get',\n                headers: headers,\n              },\n              (res) => {\n                client.log(\n                  [\n                    'Execute Steps: Polling transactions to check if indexed',\n                    res,\n                  ],\n                  LogLevel.Verbose\n                )\n                if (res.status === 200) {\n                  transactionsData = res.data\n\n                  const transactionTxHashes =\n                    transactionsData?.transactions?.map(\n                      (transaction) => transaction.hash\n                    )\n\n                  return transactionsData.transactions &&\n                    transactionsData.transactions.length > 0 &&\n                    stepItem.txHashes?.every((hash) =>\n                      transactionTxHashes?.includes(hash.txHash)\n                    ) &&\n                    transactionsData.transactions.every(\n                      (transaction) => transaction.synced\n                    )\n                    ? true\n                    : false\n                }\n                return false\n              },\n              maximumAttempts,\n              0,\n              pollingInterval\n            )\n\n            const taker = await wallet.address()\n            const contracts = path\n              ?.filter((order) => order.contract)\n              .map((order) => order.contract?.toLowerCase())\n            stepItem.transfersData = transactionsData?.transactions?.reduce(\n              (transfers, transaction) => {\n                const validTransfers = transaction.transfers?.filter(\n                  (transfer) =>\n                    contracts?.includes(\n                      transfer.token?.contract?.toLowerCase()\n                    ) && isSell\n                      ? transfer.from?.toLowerCase() === taker.toLowerCase()\n                      : transfer.to?.toLowerCase() === taker.toLowerCase()\n                )\n                validTransfers?.forEach((transfer) => {\n                  ;(transfer as any).txHash = transaction.hash\n                })\n                transfers = validTransfers\n                  ? validTransfers.concat(transfers)\n                  : transfers\n                return transfers\n              },\n              [] as NonNullable<\n                NonNullable<\n                  (typeof transactionsData)['transactions']\n                >['0']['transfers']\n              >\n            )\n\n            setState([...json?.steps], path, { ...json?.fees })\n          }\n\n          stepItem.status = 'complete'\n          setState([...json?.steps], path)\n          resolve(stepItem)\n        } catch (e) {\n          const error = e as Error\n          const errorMessage = error\n            ? error.message\n            : 'Error: something went wrong'\n\n          if (error && json?.steps) {\n            json.steps[incompleteStepIndex].error = errorMessage\n            stepItem.error = errorMessage\n            stepItem.errorData = (e as any)?.response?.data || e\n            setState([...json?.steps], path, { ...json?.fees })\n          }\n          reject(error)\n        }\n      })\n\n      if (client.synchronousStepItemExecution) {\n        await promise\n      } else {\n        pendingPromises.push(promise)\n      }\n    }\n\n    if (pendingPromises.length > 0) {\n      await Promise.all(pendingPromises)\n    }\n\n    // Recursively call executeSteps()\n    await executeSteps(request, wallet, setState, json, undefined, chainId)\n  } catch (err: any) {\n    let blockNumber = 0n\n    try {\n      blockNumber = await viemClient.getBlockNumber()\n    } catch (blockError) {\n      client.log(\n        ['Execute Steps: Failed to get block number', blockError],\n        LogLevel.Error\n      )\n    }\n    client.log(\n      ['Execute Steps: An error occurred', err, 'Block Number:', blockNumber],\n      LogLevel.Error\n    )\n\n    if (json) {\n      json.error = err && err?.response?.data ? err.response.data : err\n      setState([...json?.steps], json.path, { ...json?.fees })\n    } else {\n      json = {\n        error: err && err?.response?.data ? err.response.data : err,\n        path: undefined,\n        steps: [],\n      }\n    }\n\n    client._sendEvent(generateEvent(request, json), reservoirChain?.id || 1)\n\n    throw err\n  }\n}\n","import { AxiosRequestConfig, AxiosResponse } from 'axios'\nimport { axios } from '../utils'\n\n/**\n * Poll the URL with a 5 second interval until the step has data\n * available\n * @param url an URL object\n * @param index The index of the step to be polled for\n * @param maximumAttempts The maximum amount of tries for this poll\n * @param attemptCount The amount of attempts already done by the poll, should be left blank\n * @returns The updated JSON response\n */\nexport async function pollUntilHasData(\n  request: AxiosRequestConfig,\n  dataParser: (json: any) => boolean,\n  maximumAttempts: number = 15,\n  attemptCount: number = 0\n) {\n  if (attemptCount >= maximumAttempts) {\n    throw `Failed to get data after ${attemptCount} attempt(s), aborting`\n  }\n  async function getData() {\n    let res = await axios.request(request)\n\n    return res.data\n  }\n\n  const json = await getData()\n\n  // Check if the data exists\n  const dataExists = dataParser(json)\n  if (dataExists) return json\n\n  // The response is still unchanged. Check again in five seconds\n  await new Promise((resolve) => setTimeout(resolve, 5000))\n  attemptCount++\n  await pollUntilHasData(request, dataParser, maximumAttempts, attemptCount)\n}\n\n/**\n * Poll the URL with a 5 second interval until it responds with success\n * @param url An URL object\n * @param validate A function that checks if the request is \"ok\" or valid\n * @param maximumAttempts The maximum amount of tries for this poll\n * @param attemptCount The amount of attempts already done by the poll, should be left blank\n * @param pollingInterval The frequency the api will be polled\n * @returns When it has finished polling\n */\nexport async function pollUntilOk(\n  request: AxiosRequestConfig,\n  validate?: (res: AxiosResponse) => boolean,\n  maximumAttempts: number = 15,\n  attemptCount: number = 0,\n  pollingInterval: number = 5000\n) {\n  if (attemptCount >= maximumAttempts) {\n    throw `Failed to get an ok response after ${attemptCount} attempt(s), aborting`\n  }\n  const res = await axios.request(request)\n\n  if (!validate) {\n    validate = (res) => res.status === 200\n  }\n\n  // Check that the response from an endpoint updated\n  if (validate(res)) {\n    return true\n  } else {\n    // The response is still unchanged\n    await new Promise((resolve) => setTimeout(resolve, pollingInterval))\n    attemptCount++\n    await pollUntilOk(\n      request,\n      validate,\n      maximumAttempts,\n      attemptCount,\n      pollingInterval\n    )\n  }\n}\n","/**\n *  Set URL query params using a typed objects\n *\n * This will convert an object\n *\n * ```js\n *  {\n *    foo: 'bar',\n *    age: 50,\n *  }\n * ```\n *\n * into a query string\n *\n * `?foo=bar&age=50`\n *\n * and append it to URL provided\n *\n * `https://api.example.com/tokens?foo=bar&age=50`\n *\n * @param url An URL instance\n * @param query An object containing all needed query params.\n */\n\nexport function setParams(url: URL, query: { [x: string]: any }) {\n  Object.keys(query).map((key) => {\n    let value = query[key]\n    if (value !== undefined) {\n      if (Array.isArray(value)) {\n        value.forEach((item) => {\n          url.searchParams.append(key, item)\n        })\n      } else {\n        url.searchParams.append(key, query[key]?.toString())\n      }\n    }\n    return url\n  })\n}\n","import { AxiosRequestConfig } from 'axios'\nimport { Execute } from '../types/index'\n\nexport type ReservoirEventName =\n  | 'purchase_error'\n  | 'purchase_complete'\n  | 'accept_offer_error'\n  | 'accept_offer_complete'\n  | 'offer_error'\n  | 'offer_complete'\n  | 'listing_error'\n  | 'listing_complete'\n  | 'cancel_error'\n  | 'cancel_complete'\n  | 'unknown'\n\nexport type ReservoirEvent = {\n  name: ReservoirEventName\n  data: any\n}\n\nexport const generateEvent = (\n  request: AxiosRequestConfig,\n  data?: Execute\n): ReservoirEvent => {\n  const isBuy = request.url?.includes('/execute/buy')\n  const isSell = request.url?.includes('/execute/sell')\n  const isBid = request.url?.includes('/execute/bid')\n  const isList = request.url?.includes('/execute/list')\n  const isCancel = request.url?.includes('/execute/cancel')\n  let name: ReservoirEventName | undefined\n  const hasError = data?.error || data?.steps.some((step) => step.error)\n\n  if (isBuy) {\n    name = hasError ? 'purchase_error' : 'purchase_complete'\n  } else if (isSell) {\n    name = hasError ? 'accept_offer_error' : 'accept_offer_complete'\n  } else if (isBid) {\n    name = hasError ? 'offer_error' : 'offer_complete'\n  } else if (isList) {\n    name = hasError ? 'listing_error' : 'listing_complete'\n  } else if (isCancel) {\n    name = hasError ? 'cancel_error' : 'cancel_complete'\n  } else {\n    name = 'unknown'\n  }\n\n  return {\n    name,\n    data,\n  }\n}\n","import { Address, createPublicClient, fallback, http } from 'viem'\nimport { LogLevel, getClient } from '..'\nimport { Execute, ReservoirWallet, TransactionStepItem } from '../types'\nimport { CrossChainTransactionError, TransactionTimeoutError } from '../errors'\nimport axios, {\n  AxiosRequestConfig,\n  AxiosRequestHeaders,\n  AxiosResponse,\n} from 'axios'\nimport { customChains } from './customChains'\nimport * as allChains from 'viem/chains'\n\n/**\n * Safe txhash.wait which handles replacements when users speed up the transaction\n * @param url an URL object\n * @returns A Promise to wait on\n */\nexport async function sendTransactionSafely(\n  chainId: number,\n  item: TransactionStepItem,\n  step: Execute['steps'][0],\n  wallet: ReservoirWallet,\n  setTxHashes: (\n    tx: NonNullable<Execute['steps'][0]['items']>[0]['txHashes']\n  ) => void,\n  setInternalTxHashes: (\n    tx: NonNullable<Execute['steps'][0]['items']>[0]['internalTxHashes']\n  ) => void,\n  request: AxiosRequestConfig,\n  headers: AxiosRequestHeaders,\n  isCrossChainIntent?: boolean,\n  crossChainIntentChainId?: number\n) {\n  const client = getClient()\n  const reservoirChain =\n    client.chains.find((chain) => chain.id == chainId) || null\n  let receipt:\n    | Awaited<ReturnType<typeof viemClient.waitForTransactionReceipt>>\n    | undefined\n  let transactionCancelled = false\n  const pollingInterval = reservoirChain?.checkPollingInterval ?? 5000\n  const maximumAttempts =\n    client.maxPollingAttemptsBeforeTimeout ??\n    (2.5 * 60 * 1000) / pollingInterval // default to 2 minutes and 30 seconds worth of attempts\n  let waitingForConfirmation = true\n  let attemptCount = 0\n\n  let txHash = await wallet.handleSendTransactionStep(chainId, item, step)\n\n  if (!txHash) {\n    throw Error('Transaction hash not returned from sendTransaction method')\n  }\n  setTxHashes([{ txHash: txHash, chainId: chainId }])\n\n  const viemChain =\n    Object.values(customChains).find(\n      (chain) => chain.id === (reservoirChain?.id || 1)\n    ) ||\n    Object.values(allChains).find(\n      (chain) => chain.id === (reservoirChain?.id || 1)\n    ) ||\n    allChains.mainnet\n\n  const viemClient = createPublicClient({\n    chain: viemChain,\n    transport: wallet.transport ? fallback([wallet.transport, http()]) : http(),\n  })\n\n  const validate = (res: AxiosResponse) => {\n    getClient()?.log(\n      ['Execute Steps: Polling for confirmation', res],\n      LogLevel.Verbose\n    )\n    if (res.status !== 200 || !res.data) {\n      return false\n    }\n\n    if (res.data.status === 'failure') {\n      throw Error('Transaction failed')\n    }\n\n    if (res.data.status === 'success') {\n      if (txHash) {\n        setInternalTxHashes([{ txHash: txHash, chainId: chainId }])\n      }\n\n      if (res.data.txHashes) {\n        const chainTxHashes = res.data.txHashes.map((hash: Address) => {\n          return { txHash: hash, chainId: crossChainIntentChainId || chainId }\n        })\n        setTxHashes(chainTxHashes)\n      }\n      return true\n    }\n\n    if (res.data.transactions) {\n      return res.data.transactions.every(\n        (transaction: any) => transaction.synced\n      )\n    } else {\n      return res.data.synced || false\n    }\n  }\n\n  const pollForConfirmation = async () => {\n    // Poll the confirmation url to confirm the transaction went through\n    while (\n      waitingForConfirmation &&\n      attemptCount < maximumAttempts &&\n      !transactionCancelled\n    ) {\n      let res\n\n      if (item?.check?.endpoint) {\n        res = await axios.request({\n          url: `${request.baseURL}${item?.check?.endpoint}`,\n          method: item?.check?.method ?? 'POST',\n          headers: headers,\n          data: {\n            // @ts-ignore\n            kind: item?.check?.body?.kind,\n            // @ts-ignore\n            chainId: item?.check?.body?.chainId,\n            // @ts-ignore\n            id: item?.check?.body?.id ?? txHash,\n          },\n        })\n      } else {\n        res = await axios.request({\n          url: `${request.baseURL}/transactions/synced/v2?txHash=${txHash}`,\n          method: 'get',\n          headers: headers,\n        })\n      }\n\n      if (validate(res)) {\n        waitingForConfirmation = false // transaction confirmed\n      } else {\n        if (\n          !isCrossChainIntent ||\n          (isCrossChainIntent && res.data.status !== 'pending')\n        ) {\n          attemptCount++\n        }\n\n        await new Promise((resolve) => setTimeout(resolve, pollingInterval))\n      }\n    }\n\n    if (attemptCount >= maximumAttempts) {\n      if (isCrossChainIntent) {\n        throw new CrossChainTransactionError()\n      } else {\n        const wagmiChain: allChains.Chain | undefined = Object.values({\n          ...allChains,\n          ...customChains,\n        }).find(({ id }) => id === chainId)\n\n        throw new TransactionTimeoutError(\n          txHash as Address,\n          attemptCount,\n          wagmiChain?.blockExplorers?.default.url\n        )\n      }\n    }\n\n    if (transactionCancelled) {\n      throw Error('Transaction was cancelled')\n    }\n\n    return true\n  }\n\n  const waitForTransaction = () => {\n    const controller = new AbortController()\n    const signal = controller.signal\n    // Handle transaction replacements and cancellations\n    return {\n      promise: viemClient\n        .waitForTransactionReceipt({\n          hash: txHash as Address,\n          onReplaced: (replacement) => {\n            if (signal.aborted) {\n              return\n            }\n            if (replacement.reason === 'cancelled') {\n              transactionCancelled = true\n              throw Error('Transaction cancelled')\n            }\n\n            setTxHashes([\n              { txHash: replacement.transaction.hash, chainId: chainId },\n            ])\n            txHash = replacement.transaction.hash\n            attemptCount = 0 // reset attempt count\n            getClient()?.log(\n              ['Transaction replaced', replacement],\n              LogLevel.Verbose\n            )\n          },\n        })\n        .then((data) => {\n          if (signal.aborted) {\n            return\n          }\n          receipt = data\n          getClient()?.log(\n            ['Transaction Receipt obtained', receipt],\n            LogLevel.Verbose\n          )\n        })\n        .catch((error) => {\n          getClient()?.log(\n            ['Error in waitForTransactionReceipt', error],\n            LogLevel.Error\n          )\n        }),\n      controller,\n    }\n  }\n\n  //Sequence internal functions\n  if (step.id === 'approval' && crossChainIntentChainId) {\n    await waitForTransaction().promise\n  } else {\n    const { promise: receiptPromise, controller: receiptController } =\n      waitForTransaction()\n\n    const confirmationPromise = pollForConfirmation()\n\n    await Promise.race([receiptPromise, confirmationPromise])\n\n    if (waitingForConfirmation) {\n      await confirmationPromise\n    }\n\n    if (!receipt) {\n      receiptController.abort()\n    }\n  }\n\n  return true\n}\n","export class TransactionTimeoutError extends Error {\n  txHash: `0x${string}`\n  blockExplorerBaseUrl?: string\n\n  constructor(\n    txHash: `0x${string}`,\n    attemptCount: number,\n    blockExplorerBaseUrl?: string\n  ) {\n    super(\n      `Failed to receive a successful response for transaction with hash '${txHash}' after ${attemptCount} attempt(s).`\n    )\n    this.name = 'TransactionTimeoutError'\n    this.txHash = txHash\n    this.blockExplorerBaseUrl = blockExplorerBaseUrl\n  }\n}\n\nexport class CrossChainTransactionError extends Error {\n  constructor() {\n    super(\n      'Cross-chain purchase failed and funds have been refunded. Please try again.'\n    )\n    this.name = 'CrossChainTransactionError'\n  }\n}\n","import { AxiosRequestConfig, AxiosRequestHeaders } from 'axios'\nimport { axios } from './axios'\nimport { getClient } from '../actions/index'\nimport { version } from '../../package.json'\nimport { paths } from '../types'\nimport { LogLevel } from './logger'\n\ntype ResultData = {\n  request: AxiosRequestConfig\n  stepId: string\n  error?: any\n  requestId?: string\n  txHash?: string\n}\n\nexport function executeResults(data: ResultData) {\n  const client = getClient()\n  const { request, stepId, error, requestId, txHash } = data\n\n  if (!requestId) {\n    client.log(\n      ['Execute Results: skipping reporting results, missing requestId'],\n      LogLevel.Verbose\n    )\n    return null\n  }\n\n  const headers = {\n    'x-rkc-version': version,\n  } as any as AxiosRequestHeaders\n\n  if (request.headers && request.headers['x-api-key']) {\n    headers['x-api-key'] = request.headers['x-api-key']\n  }\n\n  if (request.headers && client?.uiVersion) {\n    request.headers['x-rkui-version'] = client.uiVersion\n  }\n\n  const params: paths['/execute/results/v1']['post']['parameters']['body']['body'] =\n    {\n      requestId,\n      txHash,\n      stepId,\n    }\n\n  if (error && error.message) {\n    params.errorMessage = error.message as string\n  } else if (error) {\n    try {\n      params.errorMessage = JSON.stringify(error)\n    } catch (e) {\n      params.errorMessage = 'Unknown error'\n    }\n  }\n\n  client.log(['Execute Results: posting results', params], LogLevel.Verbose)\n  return axios\n    .post(`${request.baseURL}/execute/results/v1`, params, { headers })\n    .catch((e) => {\n      client.log(\n        ['Execute Results: failed to post results', e],\n        LogLevel.Verbose\n      )\n    })\n}\n","import { paths } from '../types/api'\nimport { request } from '../utils/request'\n\nconst refreshLiquidity = (baseApiUrl: string, token: string) => {\n  const data: paths['/tokens/refresh/v2']['post']['parameters']['body']['body'] =\n    {\n      tokens: [token],\n      liquidityOnly: true,\n    }\n  request({\n    method: 'POST',\n    url: `${baseApiUrl}/tokens/refresh/v2`,\n    data: JSON.stringify(data),\n  }).catch(() => {})\n}\n\nexport default refreshLiquidity\n","import { Execute, ExpectedPrice, paths, ReservoirWallet } from '../types'\nimport { getClient } from '.'\nimport {\n  executeSteps,\n  adaptViemWallet,\n  APIError,\n  isAPIError,\n  refreshLiquidity,\n} from '../utils'\nimport { axios } from '../utils'\nimport { AxiosRequestConfig } from 'axios'\nimport { WalletClient } from 'viem'\nimport { isViemWalletClient } from '../utils/viemWallet'\n\nexport type BuyTokenBodyParameters = NonNullable<\n  paths['/execute/buy/v7']['post']['parameters']['body']['body']\n>\n\nexport type BuyTokenOptions = Partial<\n  Omit<BuyTokenBodyParameters, 'source' | 'items'>\n>\n\ntype Data = {\n  items: BuyTokenBodyParameters['items']\n  expectedPrice?: Record<string, ExpectedPrice>\n  options?: BuyTokenOptions\n  wallet: ReservoirWallet | WalletClient\n  chainId?: number\n  onProgress: (steps: Execute['steps'], path: Execute['path']) => any\n  precheck?: boolean\n  gas?: string\n}\n\n/**\n * Instantly buy a token\n * @param data.items Array of tokens to be purchased, can also supply an order id or rawOrders to execute\n * @param data.expectedPrice Token price data used to protect buyer from price moves. Pass an object detailing the amount or/and raw amount with currency details. The raw amount will be more precise.\n * @param data.options Additional options to pass into the buy request\n * @param data.wallet ReservoirWallet object that adheres to the ReservoirWallet interface or a viem WalletClient\n * @param data.chainId Override the current active chain\n * @param data.onProgress Callback to update UI state as execution progresses\n * @param data.precheck Set to true to skip executing steps and just to get the initial steps/path\n * @param data.gas String of the gas provided for the transaction execution. It will return unused gas\n */\nexport async function buyToken(data: Data) {\n  const { items, expectedPrice, wallet, chainId, onProgress, precheck, gas } =\n    data\n  const client = getClient()\n  const reservoirWallet: ReservoirWallet = isViemWalletClient(wallet)\n    ? adaptViemWallet(wallet)\n    : wallet\n  const taker = await reservoirWallet.address()\n  const options = data.options || {}\n\n  let baseApiUrl = client.currentChain()?.baseApiUrl\n  if (chainId) {\n    baseApiUrl =\n      client.chains.find((chain) => chain.id === chainId)?.baseApiUrl ||\n      baseApiUrl\n  }\n\n  if (!baseApiUrl) {\n    throw new ReferenceError('ReservoirClient missing chain configuration')\n  }\n\n  try {\n    const params: BuyTokenBodyParameters = {\n      items,\n      taker: taker,\n      source: client.source || undefined,\n      ...options,\n    }\n\n    if (\n      client.normalizeRoyalties !== undefined &&\n      params.normalizeRoyalties === undefined\n    ) {\n      params.normalizeRoyalties = client.normalizeRoyalties\n    }\n\n    if (client.bountyReferrer !== undefined && params.referrer === undefined) {\n      params.referrer = client.bountyReferrer\n    }\n\n    const request: AxiosRequestConfig = {\n      url: `${baseApiUrl}/execute/buy/v7`,\n      method: 'post',\n      data: params,\n    }\n\n    if (precheck) {\n      const apiKey = client?.apiKey\n      if (!request.headers) {\n        request.headers = {}\n      }\n\n      if (apiKey && request.headers) {\n        request.headers['x-api-key'] = apiKey\n      }\n      if (client?.uiVersion && request.headers) {\n        request.headers['x-rkui-version'] = client.uiVersion\n      }\n\n      const res = await axios.request(request)\n      if (res.status !== 200)\n        throw new APIError(res?.data?.message, res.status, res.data)\n      const data = res.data as Execute\n      onProgress(data['steps'], data['path'])\n      return data\n    } else {\n      await executeSteps(\n        request,\n        reservoirWallet,\n        onProgress,\n        undefined,\n        expectedPrice,\n        chainId,\n        gas\n      )\n      return true\n    }\n  } catch (err: any) {\n    if (isAPIError(err)) {\n      items.forEach(({ token }) => {\n        if (baseApiUrl && token) {\n          refreshLiquidity(baseApiUrl, token)\n        }\n      })\n    }\n    throw err\n  }\n}\n","import { Execute, paths, ReservoirWallet } from '../types'\nimport { executeSteps, adaptViemWallet } from '../utils'\nimport { getClient } from '.'\nimport { WalletClient } from 'viem'\nimport { isViemWalletClient } from '../utils/viemWallet'\n\ntype CancelOrderBodyParameters =\n  paths['/execute/cancel/v3']['post']['parameters']['body']\n\nexport type CancelOrderOptions = Omit<\n  NonNullable<CancelOrderBodyParameters['body']>,\n  'orderIds'\n>\n\ntype Data = {\n  ids: string[]\n  wallet: ReservoirWallet | WalletClient\n  options?: CancelOrderOptions\n  chainId?: number\n  onProgress: (steps: Execute['steps']) => any\n  gas?: string\n}\n\n/**\n * Cancel offers or listings\n * @param data.ids Ids of the orders to cancel\n * @param data.wallet ReservoirWallet object that adheres to the ReservoirWallet interface or a viem WalletClient\n * @param data.options Additional options to pass into the cancel request\n * @param data.chainId Override the current active chain\n * @param data.onProgress Callback to update UI state has execution progresses\n * @param data.gas String of the gas provided for the transaction execution. It will return unused gas\n */\nexport async function cancelOrder(data: Data) {\n  const { ids, wallet, chainId, onProgress, gas } = data\n  const client = getClient()\n  const reservoirWallet: ReservoirWallet = isViemWalletClient(wallet)\n    ? adaptViemWallet(wallet)\n    : wallet\n  const options = data.options || {}\n  let baseApiUrl = client.currentChain()?.baseApiUrl\n\n  if (chainId) {\n    baseApiUrl =\n      client.chains.find((chain) => chain.id === chainId)?.baseApiUrl ||\n      baseApiUrl\n  }\n\n  if (!baseApiUrl) {\n    throw new ReferenceError('ReservoirClient missing chain configuration')\n  }\n\n  if (ids.length === 0) {\n    throw {\n      message: 'No order ids specified',\n    }\n  }\n\n  try {\n    await executeSteps(\n      {\n        method: 'post',\n        url: `${baseApiUrl}/execute/cancel/v3`,\n        data: {\n          orderIds: ids,\n          ...options,\n        } as NonNullable<CancelOrderBodyParameters['body']>,\n      },\n      reservoirWallet,\n      onProgress,\n      undefined,\n      undefined,\n      chainId,\n      gas\n    )\n    return true\n  } catch (err: any) {\n    console.error(err)\n    throw err\n  }\n}\n","import { Execute, paths, ReservoirWallet } from '../types'\nimport { getClient } from '.'\nimport { executeSteps, adaptViemWallet } from '../utils'\nimport { axios } from '../utils'\nimport { AxiosRequestConfig } from 'axios'\nimport { version } from '../../package.json'\nimport { isViemWalletClient } from '../utils/viemWallet'\nimport { WalletClient } from 'viem'\n\ntype ListTokenBody = NonNullable<\n  paths['/execute/list/v5']['post']['parameters']['body']['body']\n>\n\ntype Data = {\n  listings: Required<ListTokenBody>['params']\n  wallet: ReservoirWallet | WalletClient\n  chainId?: number\n  precheck?: boolean\n  onProgress?: (steps: Execute['steps']) => any\n}\n\n/**\n * List a token for sale\n * @param data.listings Listings data to be processed\n * @param data.wallet ReservoirWallet object that adheres to the ReservoirWallet interface or a viem WalletClient\n * @param data.chainId Override the current active chain\n * @param data.precheck Set to true to skip executing steps and just to get the initial steps required\n * @param data.onProgress Callback to update UI state as execution progresses\n */\n\nexport async function listToken(\n  data: Data\n): Promise<Execute['steps'] | boolean> {\n  const { listings, wallet, chainId, onProgress = () => {}, precheck } = data\n  const client = getClient()\n  const reservoirWallet: ReservoirWallet = isViemWalletClient(wallet)\n    ? adaptViemWallet(wallet)\n    : wallet\n  const maker = await reservoirWallet.address()\n  const chain = client.currentChain()\n\n  let baseApiUrl = chain?.baseApiUrl\n\n  if (chainId) {\n    baseApiUrl =\n      client.chains.find((chain) => chain.id === chainId)?.baseApiUrl ||\n      baseApiUrl\n  }\n\n  if (!baseApiUrl) {\n    throw new ReferenceError('ReservoirClient missing chain configuration')\n  }\n\n  try {\n    const data: ListTokenBody = {\n      maker,\n      source: client.source || undefined,\n    }\n\n    listings.forEach((listing) => {\n      if (\n        (!listing.orderbook || listing.orderbook === 'reservoir') &&\n        !('fees' in listing) &&\n        !('marketplaceFees' in listing)\n      ) {\n        if (chain?.marketplaceFees && chain?.marketplaceFees?.length > 0) {\n          listing.marketplaceFees = chain.marketplaceFees\n        } else if (client.marketplaceFees && client?.marketplaceFees?.length > 0) {\n          listing.marketplaceFees = client.marketplaceFees\n        }\n      }\n\n      if (\n        !('automatedRoyalties' in listing) &&\n        'automatedRoyalties' in client\n      ) {\n        listing.automatedRoyalties = client.automatedRoyalties\n      }\n    })\n\n    data.params = listings\n\n    const request: AxiosRequestConfig = {\n      url: `${baseApiUrl}/execute/list/v5`,\n      method: 'post',\n      data,\n      headers: {\n        'x-rkc-version': version,\n      },\n    }\n\n    if (precheck) {\n      const apiKey = client?.apiKey\n      if (apiKey && request.headers) {\n        request.headers['x-api-key'] = apiKey\n      }\n      if (client?.uiVersion && request.headers) {\n        request.headers['x-rkui-version'] = client.uiVersion\n      }\n\n      const res = await axios.request(request)\n      if (res.status !== 200) throw res.data\n      const data = res.data as Execute\n      onProgress(data['steps'])\n      return data['steps']\n    } else {\n      await executeSteps(\n        request,\n        reservoirWallet,\n        onProgress,\n        undefined,\n        undefined,\n        chainId\n      )\n    }\n\n    return true\n  } catch (err: any) {\n    console.error(err)\n    throw err\n  }\n}\n","import { Execute, paths, ReservoirWallet } from '../types'\nimport { executeSteps, adaptViemWallet } from '../utils'\nimport { getClient } from '.'\nimport { WalletClient } from 'viem'\nimport { isViemWalletClient } from '../utils/viemWallet'\n\ntype PlaceBidBody = NonNullable<\n  paths['/execute/bid/v5']['post']['parameters']['body']['body']\n>\n\ntype Data = {\n  bids: Required<PlaceBidBody>['params']\n  wallet: ReservoirWallet | WalletClient\n  chainId?: number\n  onProgress: (steps: Execute['steps']) => any\n}\n\n/**\n * Place a bid on a token\n * @param data.bids Bidding data to be processed\n * @param data.wallet ReservoirWallet object that adheres to the ReservoirWallet interface or a viem WalletClient\n * @param data.chainId Override the current active chain\n * @param data.onProgress Callback to update UI state as execution progresses\n */\nexport async function placeBid({ bids, wallet, chainId, onProgress }: Data) {\n  const client = getClient()\n  const reservoirWallet: ReservoirWallet = isViemWalletClient(wallet)\n    ? adaptViemWallet(wallet)\n    : wallet\n  const maker = await reservoirWallet.address()\n  const chain = client.currentChain()\n  let baseApiUrl = chain?.baseApiUrl\n\n  if (chainId) {\n    baseApiUrl =\n      client.chains.find((chain) => chain.id === chainId)?.baseApiUrl ||\n      baseApiUrl\n  }\n\n  if (!baseApiUrl) {\n    throw new ReferenceError('ReservoirClient missing configuration')\n  }\n\n  try {\n    const data: PlaceBidBody = {\n      maker,\n      source: client.source || undefined,\n    }\n\n    bids.forEach((bid) => {\n      if (\n        !bid.token &&\n        !bid.collection &&\n        !bid.tokenSetId &&\n        (!bid.attributeKey || !bid.attributeValue)\n      ) {\n        throw {\n          message: 'Some bid data is missing',\n          data: bid,\n        }\n      }\n      if (\n        (!bid.orderbook || bid.orderbook === 'reservoir') &&\n        !('fees' in bid) &&\n        !('marketplaceFees' in bid)\n      ) {\n        if (chain?.marketplaceFees && chain?.marketplaceFees?.length > 0) {\n          bid.marketplaceFees = chain.marketplaceFees\n        } else if (client.marketplaceFees && client?.marketplaceFees?.length > 0) {\n          bid.marketplaceFees = client.marketplaceFees\n        }\n      }\n\n      if (!('automatedRoyalties' in bid) && 'automatedRoyalties' in client) {\n        bid.automatedRoyalties = client.automatedRoyalties\n      }\n    })\n\n    data.params = bids\n\n    await executeSteps(\n      { url: `${baseApiUrl}/execute/bid/v5`, method: 'post', data },\n      reservoirWallet,\n      onProgress,\n      undefined,\n      undefined,\n      chainId\n    )\n    return true\n  } catch (err: any) {\n    console.error(err)\n    throw err\n  }\n}\n","import { Execute, paths, ReservoirWallet } from '../types'\nimport { getClient } from '.'\nimport { executeSteps, adaptViemWallet, APIError } from '../utils'\nimport { axios } from '../utils'\nimport { AxiosRequestConfig } from 'axios'\nimport { Address, WalletClient } from 'viem'\nimport { isViemWalletClient } from '../utils/viemWallet'\n\ntype TransferTokenBody = NonNullable<\n  paths['/execute/transfer/v1']['post']['parameters']['body']['body']\n>\n\ntype Data = {\n  to: Address\n  items: TransferTokenBody['items']\n  wallet: ReservoirWallet | WalletClient\n  chainId?: number\n  precheck?: boolean\n  onProgress?: (steps: Execute['steps']) => any\n}\n\n/**\n * Batch transfer tokens\n * @param data.to Address to transfer tokens to\n * @param data.items List of items to transfer\n * @param data.wallet ReservoirWallet object that adheres to the ReservoirWallet interface or a viem WalletClient\n * @param data.chainId Override the current active chain\n * @param data.precheck Set to true to skip executing steps and just to get the initial steps required\n * @param data.onProgress Callback to update UI state as execution progresses\n */\nexport async function transferTokens(data: Data) {\n  const { to, items, wallet, chainId, onProgress = () => {}, precheck } = data\n  const client = getClient()\n  const reservoirWallet: ReservoirWallet = isViemWalletClient(wallet)\n    ? adaptViemWallet(wallet)\n    : wallet\n  const maker = await reservoirWallet.address()\n  let baseApiUrl = client.currentChain()?.baseApiUrl\n\n  if (chainId) {\n    baseApiUrl =\n      client.chains.find((chain) => chain.id === chainId)?.baseApiUrl ||\n      baseApiUrl\n  }\n\n  if (!baseApiUrl) {\n    throw new ReferenceError('ReservoirClient missing chain configuration')\n  }\n\n  try {\n    const data: TransferTokenBody = {\n      to,\n      from: maker,\n      items,\n    }\n\n    const request: AxiosRequestConfig = {\n      url: `${baseApiUrl}/execute/transfer/v1`,\n      method: 'post',\n      data,\n    }\n\n    if (precheck) {\n      const apiKey = client?.apiKey\n      if (!request.headers) {\n        request.headers = {}\n      }\n\n      if (apiKey && request.headers) {\n        request.headers['x-api-key'] = apiKey\n      }\n      if (client?.uiVersion && request.headers) {\n        request.headers['x-rkui-version'] = client.uiVersion\n      }\n\n      const res = await axios.request(request)\n      if (res.status !== 200)\n        throw new APIError(res?.data?.message, res.status, res.data)\n      const data = res.data as Execute\n      onProgress(data['steps'])\n      return data['steps']\n    } else {\n      await executeSteps(\n        request,\n        reservoirWallet,\n        onProgress,\n        undefined,\n        undefined,\n        chainId\n      )\n      return true\n    }\n  } catch (err: any) {\n    console.error(err)\n    throw err\n  }\n}\n","import { Execute, ExpectedPrice, paths, ReservoirWallet } from '../types'\nimport { getClient } from '.'\nimport {\n  executeSteps,\n  adaptViemWallet,\n  APIError,\n  isAPIError,\n  refreshLiquidity,\n} from '../utils'\nimport { AxiosRequestConfig } from 'axios'\nimport { WalletClient } from 'viem'\nimport { isViemWalletClient } from '../utils/viemWallet'\nimport { request as apiRequest } from '../utils'\n\ntype MintTokenBodyParameters = NonNullable<\n  paths['/execute/mint/v1']['post']['parameters']['body']['body']\n>\n\nexport type MintTokenOptions = Partial<\n  Omit<MintTokenBodyParameters, 'source' | 'items'>\n>\n\ntype Data = {\n  items: MintTokenBodyParameters['items']\n  expectedPrice?: Record<string, ExpectedPrice>\n  options?: MintTokenOptions\n  wallet: ReservoirWallet | WalletClient\n  chainId?: number\n  onProgress: (steps: Execute['steps'], path: Execute['path']) => any\n  precheck?: boolean\n  gas?: string\n}\n\n/**\n * Instantly buy a token\n * @param data.items Array of tokens to be purchased, can also supply an order id or rawOrders to execute\n * @param data.expectedPrice Token price data used to protect buyer from price moves. Pass an object detailing the amount or/and raw amount with currency details. The raw amount will be more precise.\n * @param data.options Additional options to pass into the buy request\n * @param data.wallet ReservoirWallet object that adheres to the ReservoirWallet interface or a viem WalletClient\n * @param data.chainId Override the current active chain\n * @param data.onProgress Callback to update UI state as execution progresses\n * @param data.precheck Set to true to skip executing steps and just to get the initial steps/path\n * @param data.gas String of the gas provided for the transaction execution. It will return unused gas\n */\nexport async function mintToken(data: Data) {\n  const { items, expectedPrice, wallet, chainId, onProgress, precheck, gas } =\n    data\n  const client = getClient()\n  const reservoirWallet: ReservoirWallet = isViemWalletClient(wallet)\n    ? adaptViemWallet(wallet)\n    : wallet\n  const taker = await reservoirWallet.address()\n  const options = data.options || {}\n\n  let baseApiUrl = client.currentChain()?.baseApiUrl\n  if (chainId) {\n    baseApiUrl =\n      client.chains.find((chain) => chain.id === chainId)?.baseApiUrl ||\n      baseApiUrl\n  }\n\n  if (!baseApiUrl) {\n    throw new ReferenceError('ReservoirClient missing chain configuration')\n  }\n\n  try {\n    const params: MintTokenBodyParameters = {\n      items,\n      taker: taker,\n      source: client.source || undefined,\n      ...options,\n    }\n\n    if (client.bountyReferrer !== undefined && params.referrer === undefined) {\n      params.referrer = client.bountyReferrer\n    }\n\n    const request: AxiosRequestConfig = {\n      url: `${baseApiUrl}/execute/mint/v1`,\n      method: 'post',\n      data: params,\n    }\n\n    if (precheck) {\n      const apiKey = client?.apiKey\n      if (!request.headers) {\n        request.headers = {}\n      }\n\n      if (apiKey && request.headers) {\n        request.headers['x-api-key'] = apiKey\n      }\n      if (client?.uiVersion && request.headers) {\n        request.headers['x-rkui-version'] = client.uiVersion\n      }\n\n      const res = await apiRequest(request)\n      if (res.status !== 200)\n        throw new APIError(res?.data?.message, res.status, res.data)\n      const data = res.data as Execute\n      onProgress(data['steps'], data['path'])\n      return data\n    } else {\n      await executeSteps(\n        request,\n        reservoirWallet,\n        onProgress,\n        undefined,\n        expectedPrice,\n        chainId,\n        gas\n      )\n      return true\n    }\n  } catch (err: any) {\n    if (isAPIError(err)) {\n      items.forEach(({ token }) => {\n        if (baseApiUrl && token) {\n          refreshLiquidity(baseApiUrl, token)\n        }\n      })\n    }\n    throw err\n  }\n}\n","import { AxiosRequestConfig } from 'axios'\nimport { WalletClient, WriteContractParameters } from 'viem'\nimport { getClient } from '.'\nimport { Execute, ReservoirWallet, paths } from '../types'\nimport {\n  APIError,\n  adaptViemWallet,\n  axios,\n  executeSteps,\n  prepareCallTransaction,\n} from '../utils'\nimport { isViemWalletClient } from '../utils/viemWallet'\n\ntype CallBody = NonNullable<\n  paths['/execute/call/v1']['post']['parameters']['body']['body']\n>\n\ntype SimulateContractRequest = WriteContractParameters<any>\n\ntype Data = {\n  txs: [CallBody['txs'][0] | SimulateContractRequest]\n  wallet: ReservoirWallet | WalletClient\n  toChainId: number\n  options?: CallBody\n  chainId?: number\n  precheck?: boolean\n  onProgress?: (steps: Execute['steps'], fees?: Execute['fees']) => any\n}\n\nfunction isSimulateContractRequest(tx: any): tx is SimulateContractRequest {\n  return (tx as SimulateContractRequest).abi !== undefined\n}\n\n/**\n * Do anything crosschain by specifying txs to be executed on the target chain.\n * @param data.txs An array of either transaction objects (made up of a to, data and value properties) or viem request objects returned from viem's simulateContract function.\n * @param data.wallet ReservoirWallet object that adheres to the ReservoirWallet interface or a viem WalletClient\n * @param data.originChainId The chain to pay the solver on\n * @param data.chainId Override the current active chain\n * @param data.precheck Set to true to skip executing steps and just to get the initial steps required\n * @param\n * @param data.onProgress Callback to update UI state as execution progresses\n */\nexport async function call(data: Data) {\n  const {\n    toChainId,\n    txs,\n    wallet,\n    chainId,\n    options,\n    onProgress = () => {},\n    precheck,\n  } = data\n  const client = getClient()\n  const reservoirWallet: ReservoirWallet = isViemWalletClient(wallet)\n    ? adaptViemWallet(wallet)\n    : wallet\n  const caller = await reservoirWallet.address()\n  let chain = client.currentChain()\n  const toChain = client.chains.find((chain) => chain.id === toChainId)\n  const baseApiUrl = toChain?.baseApiUrl\n\n  if (chainId) {\n    chain = client.chains.find((chain) => chain.id === chainId) ?? null\n  }\n\n  if (!baseApiUrl || !chain || !toChain) {\n    throw new ReferenceError('ReservoirClient missing chain configuration')\n  }\n\n  try {\n    const preparedTransactions: CallBody['txs'] = txs.map((tx) => {\n      if (isSimulateContractRequest(tx)) {\n        return prepareCallTransaction(\n          tx as Parameters<typeof prepareCallTransaction>['0']\n        )\n      }\n      return tx\n    })\n\n    const data: CallBody = {\n      user: caller,\n      txs: preparedTransactions,\n      originChainId: chain.id,\n      ...options,\n    }\n\n    const request: AxiosRequestConfig = {\n      url: `${baseApiUrl}/execute/call/v1`,\n      method: 'post',\n      data,\n    }\n\n    if (precheck) {\n      const apiKey = client?.apiKey\n      if (!request.headers) {\n        request.headers = {}\n      }\n\n      if (apiKey && request.headers) {\n        request.headers['x-api-key'] = apiKey\n      }\n      if (client?.uiVersion && request.headers) {\n        request.headers['x-rkui-version'] = client.uiVersion\n      }\n\n      const res = await axios.request(request)\n      if (res.status !== 200)\n        throw new APIError(res?.data?.message, res.status, res.data)\n      const data = res.data as Execute\n      onProgress(data['steps'], data['fees'])\n      return data\n    } else {\n      await executeSteps(\n        request,\n        reservoirWallet,\n        (steps, path, fees) => {\n          onProgress(steps, fees)\n        },\n        undefined,\n        undefined,\n        chainId\n      )\n      return true\n    }\n  } catch (err: any) {\n    console.error(err)\n    throw err\n  }\n}\n","import { paths } from '../types'\nimport { encodeFunctionData, SimulateContractParameters } from 'viem'\n\ntype CallBody = NonNullable<\n  paths['/execute/call/v1']['post']['parameters']['body']['body']\n>\n\nexport default function prepareCallTransaction(\n  request: Pick<\n    SimulateContractParameters,\n    'abi' | 'functionName' | 'args' | 'address' | 'value'\n  >\n): CallBody['txs'][0] {\n  const { abi, functionName, args } = request\n  const data = encodeFunctionData({ abi, functionName, args })\n  return {\n    to: request.address,\n    value: request?.value?.toString() ?? '0',\n    data: data,\n  }\n}\n","export { executeSteps } from './executeSteps'\nexport { setParams } from './params'\nexport { pollUntilOk, pollUntilHasData } from './pollApi'\nexport { request, APIError, isAPIError } from './request'\nexport { log, LogLevel } from './logger'\nexport { axios } from './axios'\nexport { adaptViemWallet } from './viemWallet'\nexport { customChains } from './customChains'\nexport { default as refreshLiquidity } from './refreshLiquidity'\nexport type { PaymentToken } from './paymentTokens'\nexport { default as prepareCallTransaction } from './prepareCallTransaction'\n","import { Address, zeroAddress } from 'viem'\n\nexport type PaymentToken = {\n  chainId: number\n  address: Address\n  symbol: string\n  decimals: number\n  name?: string\n}\n\nexport const chainPaymentTokensMap = {\n  // Mainnet\n  1: [\n    {\n      chainId: 1,\n      address: zeroAddress,\n      symbol: 'ETH',\n      name: 'ETH',\n      decimals: 18,\n    },\n    {\n      chainId: 1,\n      address: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',\n      symbol: 'USDC',\n      name: 'USDC',\n      decimals: 6,\n    },\n    {\n      chainId: 1,\n      address: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2',\n      symbol: 'WETH',\n      name: 'WETH',\n      decimals: 18,\n    },\n  ],\n\n  // Optimism\n  10: [\n    {\n      chainId: 10,\n      address: zeroAddress,\n      symbol: 'ETH',\n      name: 'Optimism ETH',\n      decimals: 18,\n    },\n    {\n      chainId: 10,\n      address: '0x4200000000000000000000000000000000000006',\n      symbol: 'WETH',\n      name: 'WETH',\n      decimals: 18,\n    },\n    {\n      chainId: 10,\n      address: '0x7F5c764cBc14f9669B88837ca1490cCa17c31607',\n      symbol: 'USDC',\n      name: 'USDC',\n      decimals: 6,\n    },\n  ],\n\n  // Polygon\n  137: [\n    {\n      chainId: 137,\n      address: zeroAddress,\n      symbol: 'MATIC',\n      name: 'MATIC',\n      decimals: 18,\n    },\n    {\n      chainId: 137,\n      address: '0x7ceb23fd6bc0add59e62ac25578270cff1b9f619',\n      symbol: 'WETH',\n      name: 'WETH',\n      decimals: 18,\n    },\n    {\n      chainId: 137,\n      address: '0x3c499c542cef5e3811e1192ce70d8cc03d5c3359',\n      symbol: 'USDC',\n      name: 'USDC',\n      decimals: 6,\n    },\n  ],\n\n  // Amoy\n  80002: [\n    {\n      chainId: 80002,\n      address: zeroAddress,\n      symbol: 'MATIC',\n      name: 'MATIC',\n      decimals: 18,\n    },\n    {\n      chainId: 80002,\n      address: '0x0ae690aad8663aab12a671a6a0d74242332de85f',\n      symbol: 'WMATIC',\n      name: 'WMATIC',\n      decimals: 18,\n    },\n  ],\n\n  // Arbitrum\n  42161: [\n    {\n      chainId: 42161,\n      address: zeroAddress,\n      symbol: 'ETH',\n      name: 'Arbitrum ETH',\n      decimals: 18,\n    },\n    {\n      chainId: 42161,\n      address: '0x82aF49447D8a07e3bd95BD0d56f35241523fBab1',\n      symbol: 'WETH',\n      name: 'WETH',\n      decimals: 18,\n    },\n    {\n      chainId: 42161,\n      address: '0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8',\n      symbol: 'USDC',\n      name: 'USDC',\n      decimals: 6,\n    },\n  ],\n\n  // Arbitrum Nova\n  42170: [\n    {\n      chainId: 42170,\n      address: zeroAddress,\n      symbol: 'ETH',\n      name: 'Arbitrum Nova ETH',\n      decimals: 18,\n    },\n    {\n      chainId: 42170,\n      address: '0x722e8bdd2ce80a4422e880164f2079488e115365',\n      symbol: 'WETH',\n      name: 'WETH',\n      decimals: 18,\n    },\n    {\n      chainId: 42170,\n      address: '0x750ba8b76187092B0D1E87E28daaf484d1b5273b',\n      symbol: 'USDC',\n      name: 'USDC',\n      decimals: 6,\n    },\n  ],\n\n  // Avalanche\n  43114: [\n    {\n      chainId: 43114,\n      address: zeroAddress,\n      symbol: 'ETH',\n      name: 'Avalanche ETH',\n      decimals: 18,\n    },\n    {\n      chainId: 43114,\n      address: '0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7',\n      symbol: 'WETH',\n      name: 'WETH',\n      decimals: 18,\n    },\n    {\n      chainId: 43114,\n      address: '0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E',\n      symbol: 'USDC',\n      name: 'USDC',\n      decimals: 6,\n    },\n  ],\n\n  // Sepolia\n  11155111: [\n    {\n      chainId: 11155111,\n      address: zeroAddress,\n      symbol: 'ETH',\n      name: 'Sepolia ETH',\n      decimals: 18,\n    },\n    {\n      chainId: 11155111,\n      address: '0x7b79995e5f793a07bc00c21412e50ecae098e7f9',\n      symbol: 'WETH',\n      name: 'WETH',\n      decimals: 18,\n    },\n  ],\n\n  // Base\n  8453: [\n    {\n      chainId: 8453,\n      address: zeroAddress,\n      symbol: 'ETH',\n      name: 'Base ETH',\n      decimals: 18,\n    },\n    {\n      chainId: 8453,\n      address: '0x4200000000000000000000000000000000000006',\n      symbol: 'WETH',\n      name: 'WETH',\n      decimals: 18,\n    },\n    {\n      chainId: 8453,\n      address: '0x833589fcd6edb6e08f4c7c32d4f71b54bda02913',\n      symbol: 'USDC',\n      name: 'USDC',\n      decimals: 6,\n    },\n  ],\n\n  // Base Sepolia\n  84532: [\n    {\n      chainId: 84532,\n      address: zeroAddress,\n      symbol: 'ETH',\n      name: 'Base Sepolia ETH',\n      decimals: 18,\n    },\n    {\n      chainId: 84532,\n      address: '0x4200000000000000000000000000000000000006',\n      symbol: 'WETH',\n      name: 'WETH',\n      decimals: 18,\n    },\n  ],\n\n  // Scroll Testnet\n  534353: [\n    {\n      chainId: 534353,\n      address: zeroAddress,\n      symbol: 'ETH',\n      name: 'Scroll Testnet ETH',\n      decimals: 18,\n    },\n    {\n      chainId: 534353,\n      address: '0xa1EA0B2354F5A344110af2b6AD68e75545009a03',\n      symbol: 'WETH',\n      name: 'WETH',\n      decimals: 18,\n    },\n    {\n      chainId: 534353,\n      address: '0xA0D71B9877f44C744546D649147E3F1e70a93760',\n      symbol: 'USDC',\n      name: 'USDC',\n      decimals: 6,\n    },\n  ],\n\n  // Scroll\n  534352: [\n    {\n      chainId: 534352,\n      address: zeroAddress,\n      symbol: 'ETH',\n      name: 'Scroll ETH',\n      decimals: 18,\n    },\n    {\n      chainId: 534352,\n      address: '0x5300000000000000000000000000000000000004',\n      symbol: 'WETH',\n      name: 'WETH',\n      decimals: 18,\n    },\n  ],\n\n  // Linea\n  59144: [\n    {\n      chainId: 59144,\n      address: zeroAddress,\n      symbol: 'ETH',\n      name: 'ETH',\n      decimals: 18,\n    },\n    {\n      chainId: 59144,\n      address: '0xe5d7c2a44ffddf6b295a15c148167daaaf5cf34f',\n      symbol: 'WETH',\n      name: 'WETH',\n      decimals: 18,\n    },\n    {\n      chainId: 59144,\n      address: '0x176211869cA2b568f2A7D4EE941E073a821EE1ff',\n      symbol: 'USDC',\n      name: 'USDC',\n      decimals: 6,\n    },\n  ],\n\n  // Soneium\n  1868: [\n    {\n      chainId: 1868,\n      address: zeroAddress,\n      symbol: 'ETH',\n      name: 'Soneium ETH',\n      decimals: 18,\n    },\n    {\n      chainId: 1868,\n      address: '0x4200000000000000000000000000000000000006',\n      symbol: 'WETH',\n      name: 'WETH',\n      decimals: 18,\n    },\n  ],\n\n  // Bsc\n  56: [\n    {\n      chainId: 56,\n      address: zeroAddress,\n      symbol: 'ETH',\n      name: 'BSC ETH',\n      decimals: 18,\n    },\n    {\n      chainId: 56,\n      address: '0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c',\n      symbol: 'WBNB',\n      name: 'WBNB',\n      decimals: 18,\n    },\n    {\n      chainId: 56,\n      address: '0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d',\n      symbol: 'USDC',\n      name: 'USDC',\n      decimals: 6,\n    },\n  ],\n  //opbnb\n  204: [\n    {\n      chainId: 204,\n      address: zeroAddress,\n      symbol: 'ETH',\n      name: 'Op BNB ETH',\n      decimals: 18,\n    },\n    {\n      chainId: 204,\n      address: '0x4200000000000000000000000000000000000006',\n      symbol: 'WBNB',\n      name: 'WBNB',\n      decimals: 18,\n    },\n  ],\n  // Zora\n  7777777: [\n    {\n      chainId: 7777777,\n      address: zeroAddress,\n      symbol: 'ETH',\n      name: 'Zora ETH',\n      decimals: 18,\n    },\n    {\n      chainId: 7777777,\n      address: '0x4200000000000000000000000000000000000006',\n      symbol: 'WETH',\n      name: 'WETH',\n      decimals: 18,\n    },\n  ],\n\n  // Zora Testnet\n  999: [\n    {\n      chainId: 999,\n      address: zeroAddress,\n      symbol: 'ETH',\n      name: 'Zora Testnet ETH',\n      decimals: 18,\n    },\n    {\n      chainId: 999,\n      address: '0x8a5027ea12f45a13deb6CB96A07913c6e192BE84',\n      symbol: 'WETH',\n      name: 'WETH',\n      decimals: 18,\n    },\n  ],\n\n  // zkSync\n  324: [\n    {\n      chainId: 324,\n      address: zeroAddress,\n      symbol: 'ETH',\n      name: 'zkSync ETH',\n      decimals: 18,\n    },\n    {\n      chainId: 324,\n      address: '0x5aea5775959fbc2557cc8789bc1bf90a239d9a91',\n      symbol: 'WETH',\n      name: 'WETH',\n      decimals: 18,\n    },\n  ],\n\n  // polygonZkEvm\n  1101: [\n    {\n      chainId: 1101,\n      address: zeroAddress,\n      symbol: 'ETH',\n      name: 'Polygon zkEVM ETH',\n      decimals: 18,\n    },\n    {\n      chainId: 1101,\n      address: '0x4f9a0e7fd2bf6067db6994cf12e4495df938e6e9',\n      symbol: 'WETH',\n      name: 'WETH',\n      decimals: 18,\n    },\n  ],\n\n  // Ancient8\n  888888888: [\n    {\n      chainId: 888888888,\n      address: zeroAddress,\n      symbol: 'ETH',\n      name: 'Ancient8 ETH',\n      decimals: 18,\n    },\n    {\n      chainId: 888888888,\n      address: '0x4200000000000000000000000000000000000006',\n      symbol: 'WETH',\n      name: 'WETH',\n      decimals: 18,\n    },\n  ],\n\n  // Ancient8 Testnet\n  28122024: [\n    {\n      chainId: 28122024,\n      address: zeroAddress,\n      symbol: 'ETH',\n      name: 'Ancient8 Testnet ETH',\n      decimals: 18,\n    },\n    {\n      chainId: 28122024,\n      address: '0x4200000000000000000000000000000000000006',\n      symbol: 'WETH',\n      name: 'WETH',\n      decimals: 18,\n    },\n  ],\n\n  // Frame Testnet\n  68840142: [\n    {\n      chainId: 68840142,\n      address: zeroAddress,\n      symbol: 'ETH',\n      name: 'Frame Testnet ETH',\n      decimals: 18,\n    },\n    {\n      chainId: 68840142,\n      address: '0x822b4c4713433c6b88547845850a39343bf0957e',\n      symbol: 'WETH',\n      name: 'WETH',\n      decimals: 18,\n    },\n  ],\n\n  //Apex PoP\n  70700: [\n    {\n      chainId: 70700,\n      address: zeroAddress,\n      symbol: 'ETH',\n      name: 'ETH',\n      decimals: 18,\n    },\n    {\n      chainId: 70700,\n      address: '0x77684A04145a5924eFCE0D92A7c4a2A2E8C359de',\n      symbol: 'WETH',\n      name: 'WETH',\n      decimals: 18,\n    },\n  ],\n\n  //Apex PoP Testnet\n  70800: [\n    {\n      chainId: 70800,\n      address: zeroAddress,\n      symbol: 'ETH',\n      name: 'ETH',\n      decimals: 18,\n    },\n    {\n      chainId: 70800,\n      address: '0xBfB86801053600dd3C7FCBa6d5E85017a64cE728',\n      symbol: 'WETH',\n      name: 'WETH',\n      decimals: 18,\n    },\n  ],\n\n  //Blast\n  81457: [\n    {\n      chainId: 81457,\n      address: zeroAddress,\n      symbol: 'ETH',\n      name: 'ETH',\n      decimals: 18,\n    },\n    {\n      chainId: 81457,\n      address: '0x4300000000000000000000000000000000000004',\n      symbol: 'WETH',\n      name: 'WETH',\n      decimals: 18,\n    },\n  ],\n  //Blast sepolia\n  168587773: [\n    {\n      chainId: 168587773,\n      address: zeroAddress,\n      symbol: 'ETH',\n      name: 'ETH',\n      decimals: 18,\n    },\n    {\n      chainId: 168587773,\n      address: '0x4200000000000000000000000000000000000023',\n      symbol: 'WETH',\n      name: 'WETH',\n      decimals: 18,\n    },\n  ],\n  // Astar zkEVM\n  3776: [\n    {\n      chainId: 3776,\n      address: zeroAddress,\n      symbol: 'ETH',\n      name: 'ETH',\n      decimals: 18,\n    },\n    {\n      chainId: 3776,\n      address: '0xE9CC37904875B459Fa5D0FE37680d36F1ED55e38',\n      symbol: 'WETH',\n      name: 'WETH',\n      decimals: 18,\n    },\n  ],\n  // Garnet\n  17069: [\n    {\n      chainId: 17069,\n      address: zeroAddress,\n      symbol: 'ETH',\n      name: 'ETH',\n      decimals: 18,\n    },\n    {\n      chainId: 17069,\n      address: '0x4200000000000000000000000000000000000006',\n      symbol: 'WETH',\n      name: 'WETH',\n      decimals: 18,\n    },\n  ],\n\n  // Redstone\n  690: [\n    {\n      chainId: 690,\n      address: zeroAddress,\n      symbol: 'ETH',\n      name: 'ETH',\n      decimals: 18,\n    },\n    {\n      chainId: 690,\n      address: '0x4200000000000000000000000000000000000006',\n      symbol: 'WETH',\n      name: 'WETH',\n      decimals: 18,\n    },\n  ],\n\n  // Berachain Testnet\n  80084: [\n    {\n      chainId: 80084,\n      address: zeroAddress,\n      symbol: 'BERA',\n      name: 'BERA',\n      decimals: 18,\n    },\n    {\n      chainId: 80084,\n      address: '0x7507c1dc16935b82698e4c63f2746a2fcf994df8',\n      symbol: 'WBERA',\n      name: 'WBERA',\n      decimals: 18,\n    },\n  ],\n\n  // Degen\n  666666666: [\n    {\n      chainId: 666666666,\n      address: zeroAddress,\n      symbol: 'DEGEN',\n      name: 'DEGEN',\n      decimals: 18,\n    },\n  ],\n\n  // Xai\n  660279: [\n    {\n      chainId: 660279,\n      address: zeroAddress,\n      symbol: 'XAI',\n      name: 'Xai',\n      decimals: 18,\n    },\n    {\n      chainId: 660279,\n      address: '0x3fb787101dc6be47cfe18aeee15404dcc842e6af',\n      symbol: 'WXAI',\n      name: 'WXAI',\n      decimals: 18,\n    },\n  ],\n\n  // Nebula\n  1482601649: [\n    {\n      chainId: 1482601649,\n      address: '0xab01bad2c86e24d371a13ed6367bdca819589c5d',\n      symbol: 'ETH',\n      name: 'Europa ETH',\n      decimals: 18,\n    },\n    {\n      chainId: 1482601649,\n      address: '0xcc205196288b7a26f6d43bbd68aaa98dde97276d',\n      symbol: 'USDC',\n      name: 'Europa USDC',\n      decimals: 6,\n    },\n    {\n      chainId: 1482601649,\n      address: '0x7f73b66d4e6e67bcdeaf277b9962addcdabbfc4d',\n      symbol: 'SKL',\n      name: 'Europa SKL',\n      decimals: 18,\n    },\n  ],\n\n  // Sei Testnet\n  713715: [\n    {\n      chainId: 713715,\n      address: zeroAddress,\n      symbol: 'SEI',\n      name: 'SEI',\n      decimals: 18,\n    },\n    {\n      chainId: 713715,\n      address: '0x48a9b22b80f566e88f0f1dcc90ea15a8a3bae8a4',\n      symbol: 'WSEI',\n      name: 'WSEI',\n      decimals: 18,\n    },\n  ],\n\n  // Cyber\n  7560: [\n    {\n      chainId: 7560,\n      address: zeroAddress,\n      symbol: 'ETH',\n      name: 'ETH',\n      decimals: 18,\n    },\n    {\n      chainId: 7560,\n      address: '0x4200000000000000000000000000000000000006',\n      symbol: 'WETH',\n      name: 'WETH',\n      decimals: 18,\n    },\n  ],\n\n  // Bitlayer\n  200901: [\n    {\n      chainId: 200901,\n      address: zeroAddress,\n      symbol: 'BTC',\n      name: 'Bitcoin',\n      decimals: 18,\n    },\n    {\n      chainId: 200901,\n      address: '0xff204e2681a6fa0e2c3fade68a1b28fb90e4fc5f',\n      symbol: 'WBTC',\n      name: 'Wrapped BTC',\n      decimals: 18,\n    },\n  ],\n\n  // Sei Testnet\n  1329: [\n    {\n      chainId: 1329,\n      address: zeroAddress,\n      symbol: 'SEI',\n      name: 'SEI',\n      decimals: 18,\n    },\n    {\n      chainId: 1329,\n      address: '0xE30feDd158A2e3b13e9badaeABaFc5516e95e8C7',\n      symbol: 'WSEI',\n      name: 'WSEI',\n      decimals: 18,\n    },\n  ],\n\n  // B3 Testnet\n  1993: [\n    {\n      chainId: 1993,\n      address: zeroAddress,\n      symbol: 'ETH',\n      name: 'ETH',\n      decimals: 18,\n    },\n    {\n      chainId: 1993,\n      address: '0x48a9b22b80f566e88f0f1dcc90ea15a8a3bae8a4',\n      symbol: 'WETH',\n      name: 'WETH',\n      decimals: 18,\n    },\n  ],\n\n  // Flow Previewnet\n  646: [\n    {\n      chainId: 646,\n      address: zeroAddress,\n      symbol: 'FLOW',\n      name: 'Flow',\n      decimals: 18,\n    },\n    {\n      chainId: 646,\n      address: '0x48a9b22b80f566e88f0f1dcc90ea15a8a3bae8a4',\n      symbol: 'WFLOW',\n      name: 'WFLOW',\n      decimals: 18,\n    },\n  ],\n\n  // Cloud\n  70805: [\n    {\n      chainId: 70805,\n      address: zeroAddress,\n      symbol: 'ETH',\n      name: 'Ether',\n      decimals: 18,\n    },\n    {\n      chainId: 70805,\n      address: '0x48a9b22b80f566e88f0f1dcc90ea15a8a3bae8a4',\n      symbol: 'WETH',\n      name: 'WETH',\n      decimals: 18,\n    },\n  ],\n\n  // Game7 Testnet\n  13746: [\n    {\n      chainId: 13746,\n      address: zeroAddress,\n      symbol: 'TG7T',\n      name: 'TG7T',\n      decimals: 18,\n    },\n    {\n      chainId: 13746,\n      address: '0x6b885d96916d18cd78e44b42c6489ca6f8794565',\n      symbol: 'WTG7T',\n      name: 'WTG7T',\n      decimals: 18,\n    },\n  ],\n\n  // Boss\n  70701: [\n    {\n      chainId: 70701,\n      address: zeroAddress,\n      symbol: 'ETH',\n      name: 'Ether',\n      decimals: 18,\n    },\n    {\n      chainId: 70701,\n      address: '0x48a9b22b80f566e88f0f1dcc90ea15a8a3bae8a4',\n      symbol: 'WETH',\n      name: 'WETH',\n      decimals: 18,\n    },\n  ],\n\n  // Forma\n  984122: [\n    {\n      chainId: 984122,\n      address: zeroAddress,\n      symbol: 'TIA',\n      name: 'TIA',\n      decimals: 18,\n    },\n    {\n      chainId: 984122,\n      address: '0xd5eace1274dbf70960714f513db207433615a263',\n      symbol: 'WTIA',\n      name: 'WTIA',\n      decimals: 18,\n    },\n  ],\n\n  // Forma Sketchpad\n  984123: [\n    {\n      chainId: 984123,\n      address: zeroAddress,\n      symbol: 'TIA',\n      name: 'TIA',\n      decimals: 18,\n    },\n    {\n      chainId: 984123,\n      address: '0xd5eace1274dbf70960714f513db207433615a263',\n      symbol: 'WTIA',\n      name: 'WTIA',\n      decimals: 18,\n    },\n  ],\n\n  // B3\n  8333: [\n    {\n      chainId: 8333,\n      address: zeroAddress,\n      symbol: 'ETH',\n      name: 'ETH',\n      decimals: 18,\n    },\n    {\n      chainId: 8333,\n      address: '0x4200000000000000000000000000000000000006',\n      symbol: 'WETH',\n      name: 'WETH',\n      decimals: 18,\n    },\n  ],\n\n  // Apechain\n  33139: [\n    {\n      chainId: 33139,\n      address: zeroAddress,\n      symbol: 'APE',\n      name: 'APE',\n      decimals: 18,\n    },\n    {\n      chainId: 33139,\n      address: '0x48b62137edfa95a428d35c09e44256a739f6b557',\n      symbol: 'WAPE',\n      name: 'WAPE',\n      decimals: 18,\n    },\n  ],\n\n  // Curtis\n  33111: [\n    {\n      chainId: 33111,\n      address: zeroAddress,\n      symbol: 'APE',\n      name: 'APE',\n      decimals: 18,\n    },\n    {\n      chainId: 33111,\n      address: '0x8643a49363e80c7a15790703b915d1b0b6b71d56',\n      symbol: 'WAPE',\n      name: 'WAPE',\n      decimals: 18,\n    },\n  ],\n\n  // Shape\n  360: [\n    {\n      chainId: 360,\n      address: zeroAddress,\n      symbol: 'ETH',\n      name: 'ETH',\n      decimals: 18,\n    },\n    {\n      chainId: 360,\n      address: '0x4200000000000000000000000000000000000006',\n      symbol: 'WETH',\n      name: 'WETH',\n      decimals: 18,\n    },\n  ],\n\n  // Shape Sepolia\n  11011: [\n    {\n      chainId: 11011,\n      address: zeroAddress,\n      symbol: 'ETH',\n      name: 'ETH',\n      decimals: 18,\n    },\n    {\n      chainId: 11011,\n      address: '0x48a9b22b80f566e88f0f1dcc90ea15a8a3bae8a4',\n      symbol: 'WETH',\n      name: 'WETH',\n      decimals: 18,\n    },\n  ],\n\n  // Abstract Testnet\n  11124: [\n    {\n      chainId: 11124,\n      address: zeroAddress,\n      symbol: 'ETH',\n      name: 'ETH',\n      decimals: 18,\n    },\n    {\n      chainId: 11124,\n      address: '0x9edcde0257f2386ce177c3a7fcdd97787f0d841d',\n      symbol: 'WETH',\n      name: 'WETH',\n      decimals: 18,\n    },\n  ],\n\n  // Minato\n  1946: [\n    {\n      chainId: 1946,\n      address: zeroAddress,\n      symbol: 'ETH',\n      name: 'ETH',\n      decimals: 18,\n    },\n    {\n      chainId: 1946,\n      address: '0x4200000000000000000000000000000000000006',\n      symbol: 'WETH',\n      name: 'WETH',\n      decimals: 18,\n    },\n  ],\n\n  // Hychain\n  2911: [\n    {\n      chainId: 2911,\n      address: zeroAddress,\n      symbol: 'TOPIA',\n      name: 'Hychain',\n      decimals: 18,\n    },\n    {\n      chainId: 2911,\n      address: '0x2b1499d631bffb29eed7749b12cba754273d6da7',\n      symbol: 'WTOPIA',\n      name: 'Wrapped TOPIA',\n      decimals: 18,\n    },\n  ],\n\n  // Hychain Testnet\n  29112: [\n    {\n      chainId: 29112,\n      address: zeroAddress,\n      symbol: 'TOPIA',\n      name: 'Hychain',\n      decimals: 18,\n    },\n    {\n      chainId: 29112,\n      address: '0x2549584be33491340eee6762992055cda05b2581',\n      symbol: 'WTOPIA',\n      name: 'Wrapped TOPIA',\n      decimals: 18,\n    },\n  ],\n\n  // Flow\n  747: [\n    {\n      chainId: 747,\n      address: zeroAddress,\n      symbol: 'FLOW',\n      name: 'Flow',\n      decimals: 18,\n    },\n    {\n      chainId: 747,\n      address: '0xd3bf53dac106a0290b0483ecbc89d40fcc961f3e',\n      symbol: 'WFLOW',\n      name: 'WFLOW',\n      decimals: 18,\n    },\n  ],\n\n  // Zero\n  543210: [\n    {\n      chainId: 543210,\n      address: zeroAddress,\n      symbol: 'ETH',\n      name: 'ETH',\n      decimals: 18,\n    },\n    {\n      chainId: 543210,\n      address: '0xac98b49576b1c892ba6bfae08fe1bb0d80cf599c',\n      symbol: 'WETH',\n      name: 'WETH',\n      decimals: 18,\n    },\n  ],\n\n  // Zero Testnet\n  43210: [\n    {\n      chainId: 43210,\n      address: zeroAddress,\n      symbol: 'ETH',\n      name: 'ETH',\n      decimals: 18,\n    },\n    {\n      chainId: 43210,\n      address: '0xee6b04fcd07a54d78a7a23f353f2b4a0bfb4a78c',\n      symbol: 'WETH',\n      name: 'WETH',\n      decimals: 18,\n    },\n  ],\n\n  // Abstract\n  2741: [\n    {\n      chainId: 2741,\n      address: zeroAddress,\n      symbol: 'ETH',\n      name: 'ETH',\n      decimals: 18,\n    },\n    {\n      chainId: 2741,\n      address: '0x3439153eb7af838ad19d56e1571fbd09333c2809',\n      symbol: 'WETH',\n      name: 'WETH',\n      decimals: 18,\n    },\n  ],\n\n  // Anime Testnet\n  6900: [\n    {\n      chainId: 6900,\n      address: zeroAddress,\n      symbol: 'ANIME',\n      name: 'ANIME',\n      decimals: 18,\n    },\n    {\n      chainId: 6900,\n      address: '0x164906a76f1a2ea933366c446ae0ec6a37062c42',\n      symbol: 'WANIME',\n      name: 'WANIME',\n      decimals: 18,\n    },\n  ],\n\n  // Monad Devnet\n  41454: [\n    {\n      chainId: 41454,\n      address: zeroAddress,\n      symbol: 'MON',\n      name: 'MON',\n      decimals: 18,\n    },\n    {\n      chainId: 41454,\n      address: '0x3c6dd29e612b28c10f3ee9bacf0f4af5f17b3f3e',\n      symbol: 'WMON',\n      name: 'WMON',\n      decimals: 18,\n    },\n  ],\n\n  //game7\n  2187: [\n    {\n      chainId: 2187,\n      address: zeroAddress,\n      symbol: 'G7',\n      name: 'Game7',\n      decimals: 18,\n    },\n    {\n      chainId: 2187,\n      address: '0xfa3ed70386b9255fC04aA008A8ad1B0CDa816Fac',\n      symbol: 'Wrapped Game7',\n      name: 'WG7',\n      decimals: 18,\n    },\n  ],\n\n  // Creator Testnet\n  4654: [\n    {\n      chainId: 4654,\n      address: zeroAddress,\n      symbol: 'ETH',\n      name: 'Creator Testnet ETH',\n      decimals: 18,\n    },\n    {\n      chainId: 4654,\n      address: '0x34AF38Ec07708dBC01C5A814fc418D3840448fce',\n      symbol: 'WETH',\n      name: 'WETH',\n      decimals: 18,\n    },\n  ],\n\n  // Story Odyssey\n  1516: [\n    {\n      chainId: 1516,\n      address: zeroAddress,\n      symbol: 'IP',\n      name: 'IP',\n      decimals: 18,\n    },\n    {\n      chainId: 1516,\n      address: '0x1516000000000000000000000000000000000000',\n      symbol: 'WIP',\n      name: 'WIP',\n      decimals: 18,\n    },\n  ],\n\n  // Monad Testnet\n  10143: [\n    {\n      chainId: 10143,\n      address: zeroAddress,\n      symbol: 'MON',\n      name: 'Monad',\n      decimals: 18,\n    },\n    {\n      chainId: 10143,\n      address: '0x760afe86e5de5fa0ee542fc7b7b713e1c5425701',\n      symbol: 'WMON',\n      name: 'Wrapped Monad',\n      decimals: 18,\n    },\n  ],\n\n  // Ink\n  57073: [\n    {\n      chainId: 57073,\n      address: zeroAddress,\n      symbol: 'ETH',\n      name: 'ETH',\n      decimals: 18,\n    },\n    {\n      chainId: 57073,\n      address: '0x4200000000000000000000000000000000000006',\n      symbol: 'WETH',\n      name: 'WETH',\n      decimals: 18,\n    },\n  ],\n\n  // Berachain\n  80094: [\n    {\n      chainId: 80094,\n      address: zeroAddress,\n      symbol: 'BERA',\n      name: 'BERA',\n      decimals: 18,\n    },\n    {\n      chainId: 80094,\n      address: '0x6969696969696969696969696969696969696969',\n      symbol: 'WBERA',\n      name: 'WBERA',\n      decimals: 18,\n    },\n  ],\n\n  // Anime\n  69000: [\n    {\n      chainId: 69000,\n      address: zeroAddress,\n      symbol: 'ANIME',\n      name: 'ANIME',\n      decimals: 18,\n    },\n    {\n      chainId: 69000,\n      address: '0x164906a76f1a2ea933366c446ae0ec6a37062c42',\n      symbol: 'WANIME',\n      name: 'WANIME',\n      decimals: 18,\n    },\n  ],\n} as Record<number, PaymentToken[]>\n","import { Address, CustomTransport, HttpTransport } from 'viem'\nimport { paths } from './api'\nexport * from './api'\n\nexport type BuyPath =\n  paths['/execute/buy/v7']['post']['responses']['200']['schema']['path']\nexport type SellPath =\n  paths['/execute/sell/v7']['post']['responses']['200']['schema']['path']\nexport type ExecuteFees =\n  | paths['/execute/buy/v7']['post']['responses']['200']['schema']['fees']\n  | paths['/execute/call/v1']['post']['responses']['200']['schema']['fees']\nexport type MintPath =\n  paths['/execute/mint/v1']['post']['responses']['200']['schema']['path']\n\nexport type BuyResponses =\n  paths['/execute/buy/v7']['post']['responses']['200']['schema']\n\nexport type MintResponses =\n  paths['/execute/mint/v1']['post']['responses']['200']['schema']\n\nexport type TransferData = NonNullable<\n  NonNullable<\n    paths['/transactions/synced/v2']['get']['responses']['200']['schema']['transactions']\n  >['0']['transfers']\n>['0'] & { txHash?: string }\n\nexport type SignatureStepItem = Pick<\n  NonNullable<Execute['steps'][0]['items']>[0],\n  'status' | 'orderIds' | 'orderIndexes' | 'orderData'\n> & {\n  data?: {\n    sign?: {\n      signatureKind: 'eip191' | 'eip712'\n    } & {\n      //Available if eip191\n      domain: any\n      types: any\n      primaryType: string\n      value?: any\n    } & {\n      //Available is eip712\n      message: string\n    }\n    post?: {\n      body: any\n      method: string\n      endpoint: string\n    }\n  }\n}\nexport type TransactionStepItem = Pick<\n  NonNullable<Execute['steps'][0]['items']>[0],\n  'status' | 'orderIds' | 'orderIndexes' | 'orderData' | 'check'\n> & {\n  data: {\n    data: any\n    from: `0x${string}`\n    to: `0x${string}`\n    value: string\n    maxFeePerGas?: string\n    maxPriorityFeePerGas?: string\n    gas?: string\n  }\n}\n\nexport type Execute = {\n  requestId?: string\n  errors?: { message?: string; orderId?: string }[]\n  path: BuyPath | SellPath\n  fees?: ExecuteFees\n  error?: any // Manually added client error\n  steps: {\n    error?: string\n    errorData?: any\n    action: string\n    description: string\n    kind: 'transaction' | 'signature'\n    id: string\n    items?: {\n      status: 'complete' | 'incomplete'\n      data?: any\n      check?: NonNullable<BuyResponses['steps']>['0']['items'][0]['check']\n      orderIndexes?: number[]\n      orderIds?: string[]\n      // Manually added\n      error?: string\n      txHashes?: {\n        txHash: Address\n        chainId: number\n      }[]\n      internalTxHashes?: {\n        txHash: Address\n        chainId: number\n      }[]\n      errorData?: any\n      orderData?: {\n        crossPostingOrderId?: string\n        orderId: string\n        orderIndex: string\n      }[]\n      transfersData?: TransferData[]\n    }[]\n  }[]\n}\n\nexport type ReservoirWallet = {\n  handleSignMessageStep: (\n    item: SignatureStepItem,\n    step: Execute['steps'][0]\n  ) => Promise<string | undefined>\n  handleSendTransactionStep: (\n    chainId: number,\n    item: TransactionStepItem,\n    step: Execute['steps'][0]\n  ) => Promise<`0x${string}` | undefined>\n  address: () => Promise<string>\n  transport?: CustomTransport | HttpTransport\n}\n\nexport type ExpectedPrice = {\n  amount?: number\n  raw?: bigint\n  currencyAddress?: string\n  currencyDecimals?: number\n}\n","/**\n * This file was auto-generated by openapi-typescript.\n * Do not make direct changes to the file.\n */\n\nexport interface paths {\n  \"/admin/get-marketplaces\": {\n    get: operations[\"getAdminGetmarketplaces\"];\n  };\n  \"/admin/open-api\": {\n    get: operations[\"getAdminOpenapi\"];\n  };\n  \"/admin/rate-limit-rules\": {\n    get: operations[\"getAdminRatelimitrules\"];\n  };\n  \"/assets/v1\": {\n    get: operations[\"getAssetsV1\"];\n  };\n  \"/attributes/v1\": {\n    get: operations[\"getAttributesV1\"];\n  };\n  \"/collection/v1\": {\n    /** Get detailed information about a single collection, including real-time stats. */\n    get: operations[\"getCollectionV1\"];\n  };\n  \"/collection/v2\": {\n    /** Get detailed information about a single collection, including real-time stats. */\n    get: operations[\"getCollectionV2\"];\n  };\n  \"/collection/v3\": {\n    /** Get detailed information about a single collection, including real-time stats. */\n    get: operations[\"getCollectionV3\"];\n  };\n  \"/collections/v1\": {\n    /** Useful for getting multiple collections to show in a marketplace, or search for particular collections. */\n    get: operations[\"getCollectionsV1\"];\n  };\n  \"/collections/v2\": {\n    /** Useful for getting multiple collections to show in a marketplace, or search for particular collections. */\n    get: operations[\"getCollectionsV2\"];\n  };\n  \"/collections/v3\": {\n    /** Useful for getting multiple collections to show in a marketplace, or search for particular collections. */\n    get: operations[\"getCollectionsV3\"];\n  };\n  \"/collections/v4\": {\n    /** Useful for getting multiple collections to show in a marketplace, or search for particular collections. */\n    get: operations[\"getCollectionsV4\"];\n  };\n  \"/collections/v5\": {\n    /** Use this API to explore a collection’s metadata and statistics (sales, volume, etc). */\n    get: operations[\"getCollectionsV5\"];\n  };\n  \"/collections/v6\": {\n    /** Use this API to explore a collection's metadata and statistics (sales, volume, etc). */\n    get: operations[\"getCollectionsV6\"];\n  };\n  \"/collections/v7\": {\n    /** Use this API to explore a collection's metadata and statistics (sales, volume, etc). */\n    get: operations[\"getCollectionsV7\"];\n  };\n  \"/cross-posting-orders/v1\": {\n    /**\n     * This API can be used to check the status of cross posted listings and bids.\n     *\n     *  Input your `crossPostingOrderId` into the `ids` param and submit for the status.\n     *\n     *  The `crossPostingOrderId` is returned in the `execute/bids` and `execute/asks` response as well as the `onProgess` callback for the SDK.\n     *\n     *  Note: ReservoirKit does not return a `crossPostingOrderId`.\n     */\n    get: operations[\"getCrosspostingordersV1\"];\n  };\n  \"/fungibles/v1\": {\n    /** Get fungible data by contract address. */\n    get: operations[\"getFungiblesV1\"];\n  };\n  \"/orders/v1\": {\n    /** Access orders with various filters applied. If you need orders created by a single user, use the positions API instead. */\n    get: operations[\"getOrdersV1\"];\n    post: operations[\"postOrdersV1\"];\n  };\n  \"/orders/v2\": {\n    /** Access orders with various filters applied. If you need orders created by a single user, use the positions API instead. */\n    get: operations[\"getOrdersV2\"];\n  };\n  \"/owners/v1\": {\n    /** Get owners with various filters applied, and a summary of their ownership. Useful for exploring top owners in a collection or attribute. */\n    get: operations[\"getOwnersV1\"];\n  };\n  \"/owners/v2\": {\n    /** Get owners with various filters applied, and a summary of their ownership. Useful for exploring top owners in a collection or attribute. */\n    get: operations[\"getOwnersV2\"];\n  };\n  \"/sales/v1\": {\n    /** Get recent sales for a contract or token. */\n    get: operations[\"getSalesV1\"];\n  };\n  \"/sales/v2\": {\n    /** Get recent sales for a contract or token. */\n    get: operations[\"getSalesV2\"];\n  };\n  \"/sales/v3\": {\n    /** Get recent sales for a contract or token. Note: this API is returns rich metadata, and has advanced filters, so is only designed for small amounts of recent sales. If you want access to sales in bulk, use the `Aggregator > Bulk Sales` API. */\n    get: operations[\"getSalesV3\"];\n  };\n  \"/sales/v4\": {\n    /** Get recent sales for a contract or token. */\n    get: operations[\"getSalesV4\"];\n  };\n  \"/sales/v5\": {\n    /** Get recent sales for a contract or token. Paid mints are returned in this `sales` endpoint, free mints can be found in the `/activities/` endpoints. Array of contracts max limit is 20. */\n    get: operations[\"getSalesV5\"];\n  };\n  \"/sales/v6\": {\n    /** Get recent sales for a contract or token. Paid mints are returned in this `sales` endpoint, free mints can be found in the `/activities/` endpoints. Array of contracts max limit is 20. */\n    get: operations[\"getSalesV6\"];\n  };\n  \"/sources/v1\": {\n    /** This API returns a list of sources */\n    get: operations[\"getSourcesV1\"];\n  };\n  \"/stats/v1\": {\n    /** Get aggregate stats for a particular set (collection, attribute or single token) */\n    get: operations[\"getStatsV1\"];\n  };\n  \"/stats/v2\": {\n    /** Get aggregate stats for a particular set (collection, attribute or single token) */\n    get: operations[\"getStatsV2\"];\n  };\n  \"/tokens/v1\": {\n    /** This API is optimized for quickly fetching a list of tokens in a collection, sorted by price, with only the most important information returned. If you need more metadata, use the `tokens/details` API */\n    get: operations[\"getTokensV1\"];\n  };\n  \"/tokens/v2\": {\n    /** This API is optimized for quickly fetching a list of tokens in a collection, sorted by price, with only the most important information returned. If you need more metadata, use the `tokens/details` API */\n    get: operations[\"getTokensV2\"];\n  };\n  \"/tokens/v3\": {\n    /** This API is optimized for quickly fetching a list of tokens in a collection, sorted by price, with only the most important information returned. If you need more metadata, use the `tokens/details` API */\n    get: operations[\"getTokensV3\"];\n  };\n  \"/tokens/v4\": {\n    /** This API is optimized for quickly fetching a list of tokens in a collection, sorted by price, with only the most important information returned. If you need more metadata, use the tokens/details API */\n    get: operations[\"getTokensV4\"];\n  };\n  \"/tokens/v5\": {\n    /** Get a list of tokens with full metadata. This is useful for showing a single token page, or scenarios that require more metadata. */\n    get: operations[\"getTokensV5\"];\n  };\n  \"/tokens/v6\": {\n    /** Get a list of tokens with full metadata. This is useful for showing a single token page, or scenarios that require more metadata. */\n    get: operations[\"getTokensV6\"];\n  };\n  \"/tokens/v7\": {\n    /** Get a list of tokens with full metadata. This is useful for showing a single token page, or scenarios that require more metadata. */\n    get: operations[\"getTokensV7\"];\n  };\n  \"/transfers/v2\": {\n    /** Get recent transfers for a contract or token. */\n    get: operations[\"getTransfersV2\"];\n  };\n  \"/transfers/v3\": {\n    /** Get recent transfers for a contract or token. */\n    get: operations[\"getTransfersV3\"];\n  };\n  \"/transfers/v4\": {\n    /** Get recent transfers for a contract or token. */\n    get: operations[\"getTransfersV4\"];\n  };\n  \"/admin/get-api-key/{key}\": {\n    get: operations[\"getAdminGetapikeyKey\"];\n  };\n  \"/admin/provider-metadata/{type}\": {\n    get: operations[\"getAdminProvidermetadataType\"];\n  };\n  \"/api-keys/{key}/rate-limits\": {\n    /** Get the rate limits for the given API key. Note: API keys are not universal across all available chains; please make a different key for every chain. */\n    get: operations[\"getApikeysKeyRatelimits\"];\n  };\n  \"/chain/stats/v1\": {\n    /** Get chain mint and sales stats for 1 and 7 days */\n    get: operations[\"getChainStatsV1\"];\n  };\n  \"/collections/activity/v4\": {\n    /** This API can be used to build a feed for a collection */\n    get: operations[\"getCollectionsActivityV4\"];\n  };\n  \"/collections/activity/v5\": {\n    /** This API can be used to build a feed for a collection */\n    get: operations[\"getCollectionsActivityV5\"];\n  };\n  \"/collections/activity/v6\": {\n    /** This API can be used to build a feed for a collection including sales, asks, transfers, mints, bids, cancelled bids, and cancelled asks types. */\n    get: operations[\"getCollectionsActivityV6\"];\n  };\n  \"/collections/daily-volumes/v1\": {\n    /** Get date, volume, rank and sales count for each collection */\n    get: operations[\"getCollectionsDailyvolumesV1\"];\n  };\n  \"/collections/search/v1\": {\n    get: operations[\"getCollectionsSearchV1\"];\n  };\n  \"/collections/top-selling/v1\": {\n    /** Get top selling and minting collections */\n    get: operations[\"getCollectionsTopsellingV1\"];\n  };\n  \"/collections/top-selling/v2\": {\n    /** Get top selling and minting collections */\n    get: operations[\"getCollectionsTopsellingV2\"];\n  };\n  \"/collections/trending/v1\": {\n    /** Get trending selling/minting collections */\n    get: operations[\"getCollectionsTrendingV1\"];\n  };\n  \"/collections/trending-mints/v1\": {\n    /** Get top trending mints */\n    get: operations[\"getCollectionsTrendingmintsV1\"];\n  };\n  \"/collections/trending-mints/v2\": {\n    /** Get top trending mints */\n    get: operations[\"getCollectionsTrendingmintsV2\"];\n  };\n  \"/collections/{collectionOrSlug}/v1\": {\n    /** Get detailed information about a single collection, including real-time stats. */\n    get: operations[\"getCollectionsCollectionorslugV1\"];\n  };\n  \"/currencies/conversion/v1\": {\n    /** Convert an amount in one currency to another */\n    get: operations[\"getCurrenciesConversionV1\"];\n  };\n  \"/events/asks/v2\": {\n    /** Get updates any time an asks status changes */\n    get: operations[\"getEventsAsksV2\"];\n  };\n  \"/events/asks/v3\": {\n    /**\n     * Every time an ask status changes, an event is generated. This API is designed to be polled at high frequency, in order to keep an external system in sync with accurate prices for any token.\n     *\n     * There are multiple event types, which describe what caused the change in price:\n     *\n     * - `new-order` > new listing at a lower price\n     *\n     * - `expiry` > the previous best listing expired\n     *\n     * - `sale` > the previous best listing was filled\n     *\n     * - `cancel` > the previous best listing was canceled\n     *\n     * - `balance-change` > the best listing was invalidated due to no longer owning the NFT\n     *\n     * - `approval-change` > the best listing was invalidated due to revoked approval\n     *\n     * - `revalidation` > manual revalidation of orders (e.g. after a bug fixed)\n     *\n     * - `reprice` > price update for dynamic orders (e.g. dutch auctions)\n     *\n     * - `bootstrap` > initial loading of data, so that all tokens have a price associated\n     *\n     * Note: Private listings (asks) will not appear in the results.\n     */\n    get: operations[\"getEventsAsksV3\"];\n  };\n  \"/events/bids/v1\": {\n    /** Get updates any time a bid status changes */\n    get: operations[\"getEventsBidsV1\"];\n  };\n  \"/events/bids/v2\": {\n    /** Get updates any time a bid status changes */\n    get: operations[\"getEventsBidsV2\"];\n  };\n  \"/events/bids/v3\": {\n    /**\n     * Every time a bid status changes, an event is generated. This API is designed to be polled at high frequency, in order to keep an external system in sync with accurate prices for any token.\n     *\n     * There are multiple event types, which describe what caused the change in price:\n     *\n     * - `new-order` > new offer at a lower price\n     *\n     * - `expiry` > the previous best offer expired\n     *\n     * - `sale` > the previous best offer was filled\n     *\n     * - `cancel` > the previous best offer was canceled\n     *\n     * - `balance-change` > the best offer was invalidated due to no longer owning the NFT\n     *\n     * - `approval-change` > the best offer was invalidated due to revoked approval\n     *\n     * - `revalidation` > manual revalidation of orders (e.g. after a bug fixed)\n     *\n     * - `reprice` > price update for dynamic orders (e.g. dutch auctions)\n     *\n     * - `bootstrap` > initial loading of data, so that all tokens have a price associated\n     *\n     * Some considerations to keep in mind\n     *\n     * - Selling a partial quantity of available 1155 tokens in a listing will generate a `sale` and will have a new quantity.\n     *\n     * - Due to the complex nature of monitoring off-chain liquidity across multiple marketplaces, including dealing with block re-orgs, events should be considered 'relative' to the perspective of the indexer, ie _when they were discovered_, rather than _when they happened_. A more deterministic historical record of price changes is in development, but in the meantime, this method is sufficent for keeping an external system in sync with the best available prices.\n     */\n    get: operations[\"getEventsBidsV3\"];\n  };\n  \"/events/orders/v1\": {\n    /** Get updates any time an order status changes */\n    get: operations[\"getEventsOrdersV1\"];\n  };\n  \"/execute/cancel/v2\": {\n    /** Cancel an existing order on any marketplace */\n    get: operations[\"getExecuteCancelV2\"];\n  };\n  \"/liquidity/users/v1\": {\n    /** This API calculates the total liquidity created by users, based on the number of tokens they are top bidder for. */\n    get: operations[\"getLiquidityUsersV1\"];\n  };\n  \"/liquidity/users/v2\": {\n    /** This API calculates the total liquidity created by users, based on the number of tokens they are top bidder for. */\n    get: operations[\"getLiquidityUsersV2\"];\n  };\n  \"/orders/all/v1\": {\n    /** This API is designed for efficiently ingesting large volumes of orders, for external processing */\n    get: operations[\"getOrdersAllV1\"];\n  };\n  \"/orders/all/v2\": {\n    /** This API is designed for efficiently ingesting large volumes of orders, for external processing */\n    get: operations[\"getOrdersAllV2\"];\n  };\n  \"/orders/asks/v1\": {\n    /** This API is designed for efficiently ingesting large volumes of orders, for external processing */\n    get: operations[\"getOrdersAsksV1\"];\n  };\n  \"/orders/asks/v2\": {\n    /** Get a list of asks (listings), filtered by token, collection or maker. This API is designed for efficiently ingesting large volumes of orders, for external processing */\n    get: operations[\"getOrdersAsksV2\"];\n  };\n  \"/orders/asks/v3\": {\n    /** Get a list of asks (listings), filtered by token, collection or maker. This API is designed for efficiently ingesting large volumes of orders, for external processing */\n    get: operations[\"getOrdersAsksV3\"];\n  };\n  \"/orders/asks/v4\": {\n    /**\n     * Get a list of asks (listings), filtered by token, collection or maker. This API is designed for efficiently ingesting large volumes of orders, for external processing.\n     *\n     *  Please mark `excludeEOA` as `true` to exclude Blur orders.\n     */\n    get: operations[\"getOrdersAsksV4\"];\n  };\n  \"/orders/asks/v5\": {\n    /**\n     * Get a list of asks (listings), filtered by token, collection or maker. This API is designed for efficiently ingesting large volumes of orders, for external processing.\n     *\n     *  To get all orders unflitered, select `sortBy` to `updatedAt`. No need to pass any other param. This will return any orders for any collections, token, attribute, etc.\n     *\n     *  Please mark `excludeEOA` as `true` to exclude Blur orders.\n     */\n    get: operations[\"getOrdersAsksV5\"];\n  };\n  \"/orders/bids/v1\": {\n    /** This API is designed for efficiently ingesting large volumes of orders, for external processing */\n    get: operations[\"getOrdersBidsV1\"];\n  };\n  \"/orders/bids/v2\": {\n    /** Get a list of bids (offers), filtered by token, collection or maker. This API is designed for efficiently ingesting large volumes of orders, for external processing */\n    get: operations[\"getOrdersBidsV2\"];\n  };\n  \"/orders/bids/v3\": {\n    /** Get a list of bids (offers), filtered by token, collection or maker. This API is designed for efficiently ingesting large volumes of orders, for external processing */\n    get: operations[\"getOrdersBidsV3\"];\n  };\n  \"/orders/bids/v4\": {\n    /** Get a list of bids (offers), filtered by token, collection or maker. This API is designed for efficiently ingesting large volumes of orders, for external processing */\n    get: operations[\"getOrdersBidsV4\"];\n  };\n  \"/orders/bids/v5\": {\n    /**\n     * Get a list of bids (offers), filtered by token, collection or maker. This API is designed for efficiently ingesting large volumes of orders, for external processing.\n     *\n     *  There are a different kind of bids than can be returned:\n     *\n     * - Inputting a 'contract' will return token and attribute bids.\n     *\n     * - Inputting a 'collection-id' will return collection wide bids./n/n Please mark `excludeEOA` as `true` to exclude Blur orders.\n     */\n    get: operations[\"getOrdersBidsV5\"];\n  };\n  \"/orders/bids/v6\": {\n    /**\n     * Get a list of bids (offers), filtered by token, collection or maker. This API is designed for efficiently ingesting large volumes of orders, for external processing.\n     *\n     *  There are a different kind of bids than can be returned:\n     *\n     * - To get all orders unfiltered, select `sortBy` to `updatedAt`. No need to pass any other param. This will return any orders for any collections, token, attribute, etc.\n     *\n     * - Inputting a 'contract' will return token and attribute bids.\n     *\n     * - Inputting a 'collection-id' will return collection wide bids.\n     *\n     * - Please mark `excludeEOA` as `true` to exclude Blur orders.\n     */\n    get: operations[\"getOrdersBidsV6\"];\n  };\n  \"/orders/depth/v1\": {\n    /** Get the depth of a token or collection. */\n    get: operations[\"getOrdersDepthV1\"];\n  };\n  \"/orders/executed/v1\": {\n    get: operations[\"getOrdersExecutedV1\"];\n  };\n  \"/owners/common-collections/v1\": {\n    /** This API can be used to find top common collections from an array of owners. */\n    get: operations[\"getOwnersCommoncollectionsV1\"];\n  };\n  \"/owners/cross-collections/v1\": {\n    /** Find which addresses own the most of a group of collections. */\n    get: operations[\"getOwnersCrosscollectionsV1\"];\n  };\n  \"/pending-txs/tokens/v1\": {\n    /** Get tokens which have a pending sale transaction */\n    get: operations[\"getPendingtxsTokensV1\"];\n  };\n  \"/portfolio/activity/v1\": {\n    /** This API can be used to build a feed for a user including sales, asks, transfers, mints, bids, cancelled bids, and cancelled asks types. */\n    get: operations[\"getPortfolioActivityV1\"];\n  };\n  \"/portfolio/value/v1\": {\n    /** Get for the given wallet its portfolio value */\n    get: operations[\"getPortfolioValueV1\"];\n  };\n  \"/redirect/logo/v1\": {\n    get: operations[\"getRedirectLogoV1\"];\n  };\n  \"/redirect/token/v1\": {\n    get: operations[\"getRedirectTokenV1\"];\n  };\n  \"/sales/bulk/v1\": {\n    /** Note: this API is optimized for bulk access, and offers minimal filters/metadata. If you need more flexibility, try the `NFT API > Sales` endpoint */\n    get: operations[\"getSalesBulkV1\"];\n  };\n  \"/search/activities/v1\": {\n    /** This API can be used to build a feed for a collection including sales, asks, transfers, mints, bids, cancelled bids, and cancelled asks types. */\n    get: operations[\"getSearchActivitiesV1\"];\n  };\n  \"/search/collections/v1\": {\n    get: operations[\"getSearchCollectionsV1\"];\n  };\n  \"/search/collections/v2\": {\n    get: operations[\"getSearchCollectionsV2\"];\n  };\n  \"/search/collections/v3\": {\n    get: operations[\"getSearchCollectionsV3\"];\n  };\n  \"/sync/asks/v1\": {\n    /** This API is optimized for bulk access to asks (listings) for syncing a remote database. Thus it offers minimal filters/metadata. */\n    get: operations[\"getSyncAsksV1\"];\n  };\n  \"/tokens/bootstrap/v1\": {\n    /** Get the latest price event per token in a collection, so that you can listen to future events and keep track of prices */\n    get: operations[\"getTokensBootstrapV1\"];\n  };\n  \"/tokens/details/v2\": {\n    /** Get a list of tokens with full metadata. This is useful for showing a single token page, or scenarios that require more metadata. If you don't need this metadata, you should use the <a href='#/tokens/getTokensV1'>tokens</a> API, which is much faster. */\n    get: operations[\"getTokensDetailsV2\"];\n  };\n  \"/tokens/details/v3\": {\n    /** Get a list of tokens with full metadata. This is useful for showing a single token page, or scenarios that require more metadata. If you don't need this metadata, you should use the <a href='#/tokens/getTokensV1'>tokens</a> API, which is much faster. */\n    get: operations[\"getTokensDetailsV3\"];\n  };\n  \"/tokens/details/v4\": {\n    /** Get a list of tokens with full metadata. This is useful for showing a single token page, or scenarios that require more metadata. If you don't need this metadata, you should use the <a href='#/tokens/getTokensV1'>tokens</a> API, which is much faster. */\n    get: operations[\"getTokensDetailsV4\"];\n  };\n  \"/tokens/floor/v1\": {\n    /** This API will return the best price of every token in a collection that is currently on sale. Note: Prices are returned in the native currency of the network. */\n    get: operations[\"getTokensFloorV1\"];\n  };\n  \"/tokens/ids/v1\": {\n    /** This API is optimized for quickly fetching a list of tokens ids in by collection, contract, token set id. */\n    get: operations[\"getTokensIdsV1\"];\n  };\n  \"/tokens/prices/v1\": {\n    /** Get for the given token contract historic prices by day/hour */\n    get: operations[\"getTokensPricesV1\"];\n  };\n  \"/transactions/synced/v2\": {\n    /** Get a boolean response on whether a particular transaction was synced or not. */\n    get: operations[\"getTransactionsSyncedV2\"];\n  };\n  \"/transfers/bulk/v1\": {\n    /** Note: this API is optimized for bulk access, and offers minimal filters/metadata. If you need more flexibility, try the `NFT API > Transfers` endpoint */\n    get: operations[\"getTransfersBulkV1\"];\n  };\n  \"/transfers/bulk/v2\": {\n    /** Note: this API is optimized for bulk access, and offers minimal filters/metadata. If you need more flexibility, try the `NFT API > Transfers` endpoint */\n    get: operations[\"getTransfersBulkV2\"];\n  };\n  \"/users/activity/v2\": {\n    /** This API can be used to build a feed for a user */\n    get: operations[\"getUsersActivityV2\"];\n  };\n  \"/users/activity/v3\": {\n    /** This API can be used to build a feed for a user */\n    get: operations[\"getUsersActivityV3\"];\n  };\n  \"/users/activity/v4\": {\n    /** This API can be used to build a feed for a user */\n    get: operations[\"getUsersActivityV4\"];\n  };\n  \"/users/activity/v5\": {\n    /** This API can be used to build a feed for a user */\n    get: operations[\"getUsersActivityV5\"];\n  };\n  \"/users/activity/v6\": {\n    /** This API can be used to build a feed for a user including sales, asks, transfers, mints, bids, cancelled bids, and cancelled asks types. */\n    get: operations[\"getUsersActivityV6\"];\n  };\n  \"/collections/{collection}/marketplace-configurations/v1\": {\n    /** This API returns recommended marketplace configurations given a collection id */\n    get: operations[\"getCollectionsCollectionMarketplaceconfigurationsV1\"];\n  };\n  \"/collections/{collection}/top-traders/v1\": {\n    /** Get top traders for a particular collection */\n    get: operations[\"getCollectionsCollectionToptradersV1\"];\n  };\n  \"/collections/{collection}/top-bids/v1\": {\n    /** When users are placing collection or trait bids, this API can be used to show them where the bid is in the context of other bids, and how many tokens it will be the top bid for. */\n    get: operations[\"getCollectionsCollectionTopbidsV1\"];\n  };\n  \"/collections/{collection}/activity/v2\": {\n    /** This API can be used to build a feed for a collection */\n    get: operations[\"getCollectionsCollectionActivityV2\"];\n  };\n  \"/collections/{collection}/activity/v1\": {\n    /** This API can be used to build a feed for a collection */\n    get: operations[\"getCollectionsCollectionActivityV1\"];\n  };\n  \"/collections/{collection}/activity/v3\": {\n    /** This API can be used to build a feed for a collection */\n    get: operations[\"getCollectionsCollectionActivityV3\"];\n  };\n  \"/collections/{collection}/attributes/v1\": {\n    get: operations[\"getCollectionsCollectionAttributesV1\"];\n  };\n  \"/collections/{collection}/owners-distribution/v1\": {\n    /** This API can be used to show what the distribution of owners in a collection looks like. */\n    get: operations[\"getCollectionsCollectionOwnersdistributionV1\"];\n  };\n  \"/collections/{collection}/supported-marketplaces/v1\": {\n    /** The ReservoirKit `ListModal` client utilizes this API to identify the marketplace(s) it can list on. */\n    get: operations[\"getCollectionsCollectionSupportedmarketplacesV1\"];\n  };\n  \"/collections/{collection}/marketplace-configurations/v2\": {\n    /** This API returns recommended marketplace configurations given a collection id */\n    get: operations[\"getCollectionsCollectionMarketplaceconfigurationsV2\"];\n  };\n  \"/collections/{collectionId}/bids/v1\": {\n    /** Get a list of bids (offers), filtered by collection. */\n    get: operations[\"getCollectionsCollectionidBidsV1\"];\n  };\n  \"/collections-sets/{collectionsSetId}/owners-distribution/v1\": {\n    /** This API can be used to show what the distribution of owners in a collections set id looks like. */\n    get: operations[\"getCollectionssetsCollectionssetidOwnersdistributionV1\"];\n  };\n  \"/events/collections/floor-ask/v1\": {\n    /**\n     * Every time the floor price of a collection changes (i.e. the 'floor ask'), an event is generated. This API is designed to be polled at high frequency, in order to keep an external system in sync with accurate prices for any token.\n     *\n     * There are multiple event types, which describe what caused the change in price:\n     *\n     * - `new-order` > new listing at a lower price\n     *\n     * - `expiry` > the previous best listing expired\n     *\n     * - `sale` > the previous best listing was filled\n     *\n     * - `cancel` > the previous best listing was cancelled\n     *\n     * - `balance-change` > the best listing was invalidated due to no longer owning the NFT\n     *\n     * - `approval-change` > the best listing was invalidated due to revoked approval\n     *\n     * - `revalidation` > manual revalidation of orders (e.g. after a bug fixed)\n     *\n     * - `reprice` > price update for dynamic orders (e.g. dutch auctions)\n     *\n     * - `bootstrap` > initial loading of data, so that all tokens have a price associated\n     *\n     * Some considerations to keep in mind\n     *\n     * - Due to the complex nature of monitoring off-chain liquidity across multiple marketplaces, including dealing with block re-orgs, events should be considered 'relative' to the perspective of the indexer, ie _when they were discovered_, rather than _when they happened_. A more deterministic historical record of price changes is in development, but in the meantime, this method is sufficent for keeping an external system in sync with the best available prices.\n     *\n     * - Events are only generated if the best price changes. So if a new order or sale happens without changing the best price, no event is generated. This is more common with 1155 tokens, which have multiple owners and more depth. For this reason, if you need sales data, use the Sales API.\n     */\n    get: operations[\"getEventsCollectionsFlooraskV1\"];\n  };\n  \"/events/collections/floor-ask/v2\": {\n    /**\n     * Every time the floor price of a collection changes (i.e. the 'floor ask'), an event is generated. This API is designed to be polled at high frequency, in order to keep an external system in sync with accurate prices for any token.\n     *\n     * There are multiple event types, which describe what caused the change in price:\n     *\n     * - `new-order` > new listing at a lower price\n     *\n     * - `expiry` > the previous best listing expired\n     *\n     * - `sale` > the previous best listing was filled\n     *\n     * - `cancel` > the previous best listing was cancelled\n     *\n     * - `balance-change` > the best listing was invalidated due to no longer owning the NFT\n     *\n     * - `approval-change` > the best listing was invalidated due to revoked approval\n     *\n     * - `revalidation` > manual revalidation of orders (e.g. after a bug fixed)\n     *\n     * - `reprice` > price update for dynamic orders (e.g. dutch auctions)\n     *\n     * - `bootstrap` > initial loading of data, so that all tokens have a price associated\n     *\n     * Some considerations to keep in mind\n     *\n     * - Selling a partial quantity of available 1155 tokens in a listing will generate a `sale` and will have a new quantity.\n     *\n     * - Due to the complex nature of monitoring off-chain liquidity across multiple marketplaces, including dealing with block re-orgs, events should be considered 'relative' to the perspective of the indexer, ie _when they were discovered_, rather than _when they happened_. A more deterministic historical record of price changes is in development, but in the meantime, this method is sufficent for keeping an external system in sync with the best available prices.\n     *\n     * - Events are only generated if the best price changes. So if a new order or sale happens without changing the best price, no event is generated. This is more common with 1155 tokens, which have multiple owners and more depth. For this reason, if you need sales data, use the Sales API.\n     */\n    get: operations[\"getEventsCollectionsFlooraskV2\"];\n  };\n  \"/events/collections/top-bid/v1\": {\n    /** Every time the top offer of a collection changes (i.e. the 'top bid'), an event is generated. This API is designed to be polled at high frequency. */\n    get: operations[\"getEventsCollectionsTopbidV1\"];\n  };\n  \"/events/collections/top-bid/v2\": {\n    /**\n     * Every time the top offer of a collection changes (i.e. the 'top bid'), an event is generated. This API is designed to be polled at high frequency.\n     *\n     * There are multiple event types, which describe what caused the change in price:\n     *\n     * - `new-order` > new bid at a higher price\n     *\n     * - `expiry` > the previous top bid expired\n     *\n     * - `sale` > the previous top bid was accepted\n     *\n     * - `cancel` > the previous top bid was cancelled\n     *\n     * - `balance-change` > the top bid was invalidated due NFT no longer available\n     *\n     * - `approval-change` > the top bid was invalidated due to revoked approval\n     *\n     * - `revalidation` > manual revalidation of orders (e.g. after a bug fixed)\n     *\n     * - `reprice` > price update for dynamic orders (e.g. dutch auctions)\n     *\n     * - `bootstrap` > initial loading of data, so that all tokens have a price associated\n     *\n     * Some considerations to keep in mind\n     *\n     * - Selling a partial quantity of available 1155 tokens in a listing will generate a `sale` and will have a new quantity.\n     *\n     * - Due to the complex nature of monitoring off-chain liquidity across multiple marketplaces, including dealing with block re-orgs, events should be considered 'relative' to the perspective of the indexer, ie _when they were discovered_, rather than _when they happened_. A more deterministic historical record of price changes is in development, but in the meantime, this method is sufficent for keeping an external system in sync with the best available prices.\n     *\n     * - Events are only generated if the top bid changes. So if a new order or sale happens without changing the top bid, no event is generated. This is more common with 1155 tokens, which have multiple owners and more depth. For this reason, if you need sales data, use the Sales API.\n     */\n    get: operations[\"getEventsCollectionsTopbidV2\"];\n  };\n  \"/events/tokens/floor-ask/v2\": {\n    /**\n     * Every time the best price of a token changes (i.e. the 'floor ask'), an event is generated. This API is designed to be polled at high frequency, in order to keep an external system in sync with accurate prices for any token.\n     *\n     * There are multiple event types, which describe what caused the change in price:\n     *\n     * - `new-order` > new listing at a lower price\n     *\n     * - `expiry` > the previous best listing expired\n     *\n     * - `sale` > the previous best listing was filled\n     *\n     * - `cancel` > the previous best listing was cancelled\n     *\n     * - `balance-change` > the best listing was invalidated due to no longer owning the NFT\n     *\n     * - `approval-change` > the best listing was invalidated due to revoked approval\n     *\n     * - `revalidation` > manual revalidation of orders (e.g. after a bug fixed)\n     *\n     * - `reprice` > price update for dynamic orders (e.g. dutch auctions)\n     *\n     * - `bootstrap` > initial loading of data, so that all tokens have a price associated\n     *\n     * Some considerations to keep in mind\n     *\n     * - Due to the complex nature of monitoring off-chain liquidity across multiple marketplaces, including dealing with block re-orgs, events should be considered 'relative' to the perspective of the indexer, ie _when they were discovered_, rather than _when they happened_. A more deterministic historical record of price changes is in development, but in the meantime, this method is sufficent for keeping an external system in sync with the best available prices.\n     *\n     * - Events are only generated if the best price changes. So if a new order or sale happens without changing the best price, no event is generated. This is more common with 1155 tokens, which have multiple owners and more depth. For this reason, if you need sales data, use the Sales API.\n     */\n    get: operations[\"getEventsTokensFlooraskV2\"];\n  };\n  \"/events/tokens/floor-ask/v3\": {\n    /**\n     * Every time the best price of a token changes (i.e. the 'floor ask'), an event is generated. This API is designed to be polled at high frequency, in order to keep an external system in sync with accurate prices for any token.\n     *\n     * There are multiple event types, which describe what caused the change in price:\n     *\n     * - `new-order` > new listing at a lower price\n     *\n     * - `expiry` > the previous best listing expired\n     *\n     * - `sale` > the previous best listing was filled\n     *\n     * - `cancel` > the previous best listing was cancelled\n     *\n     * - `balance-change` > the best listing was invalidated due to no longer owning the NFT\n     *\n     * - `approval-change` > the best listing was invalidated due to revoked approval\n     *\n     * - `revalidation` > manual revalidation of orders (e.g. after a bug fixed)\n     *\n     * - `reprice` > price update for dynamic orders (e.g. dutch auctions)\n     *\n     * - `bootstrap` > initial loading of data, so that all tokens have a price associated\n     *\n     * Some considerations to keep in mind\n     *\n     * - Due to the complex nature of monitoring off-chain liquidity across multiple marketplaces, including dealing with block re-orgs, events should be considered 'relative' to the perspective of the indexer, ie _when they were discovered_, rather than _when they happened_. A more deterministic historical record of price changes is in development, but in the meantime, this method is sufficent for keeping an external system in sync with the best available prices.\n     *\n     * - Events are only generated if the best price changes. So if a new order or sale happens without changing the best price, no event is generated. This is more common with 1155 tokens, which have multiple owners and more depth. For this reason, if you need sales data, use the Sales API.\n     */\n    get: operations[\"getEventsTokensFlooraskV3\"];\n  };\n  \"/events/tokens/floor-ask/v4\": {\n    /**\n     * Every time the best price of a token changes (i.e. the 'floor ask'), an event is generated. This API is designed to be polled at high frequency, in order to keep an external system in sync with accurate prices for any token.\n     *\n     * There are multiple event types, which describe what caused the change in price:\n     *\n     * - `new-order` > new listing at a lower price\n     *\n     * - `expiry` > the previous best listing expired\n     *\n     * - `sale` > the previous best listing was filled\n     *\n     * - `cancel` > the previous best listing was cancelled\n     *\n     * - `balance-change` > the best listing was invalidated due to no longer owning the NFT\n     *\n     * - `approval-change` > the best listing was invalidated due to revoked approval\n     *\n     * - `revalidation` > manual revalidation of orders (e.g. after a bug fixed)\n     *\n     * - `reprice` > price update for dynamic orders (e.g. dutch auctions)\n     *\n     * - `bootstrap` > initial loading of data, so that all tokens have a price associated\n     *\n     * Some considerations to keep in mind\n     *\n     * - Selling a partial quantity of available 1155 tokens in a listing will generate a `sale` and will have a new quantity.\n     *\n     * - Due to the complex nature of monitoring off-chain liquidity across multiple marketplaces, including dealing with block re-orgs, events should be considered 'relative' to the perspective of the indexer, ie _when they were discovered_, rather than _when they happened_. A more deterministic historical record of price changes is in development, but in the meantime, this method is sufficent for keeping an external system in sync with the best available prices.\n     *\n     * - Events are only generated if the best price changes. So if a new order or sale happens without changing the best price, no event is generated. This is more common with 1155 tokens, which have multiple owners and more depth. For this reason, if you need sales data, use the Sales API.\n     */\n    get: operations[\"getEventsTokensFlooraskV4\"];\n  };\n  \"/oracle/collections/bid-ask-midpoint/v1\": {\n    /** Get a signed message of any collection's bid-ask midpoint (spot or twap). This is approximation of the colletion price. The oracle's address is 0xAeB1D03929bF87F69888f381e73FBf75753d75AF. The address is the same for all chains. */\n    get: operations[\"getOracleCollectionsBidaskmidpointV1\"];\n  };\n  \"/oracle/collections/floor-ask/v4\": {\n    /** Get a signed message of any collection's floor price (spot or twap). The oracle's address is 0x32dA57E736E05f75aa4FaE2E9Be60FD904492726. */\n    get: operations[\"getOracleCollectionsFlooraskV4\"];\n  };\n  \"/oracle/collections/floor-ask/v5\": {\n    /** Get a signed message of any collection's floor price (spot or twap). The oracle's address is 0xAeB1D03929bF87F69888f381e73FBf75753d75AF. The address is the same for all chains. */\n    get: operations[\"getOracleCollectionsFlooraskV5\"];\n  };\n  \"/oracle/collections/floor-ask/v6\": {\n    /** Get a signed message of any collection's floor price (spot or twap). The oracle's address is 0xAeB1D03929bF87F69888f381e73FBf75753d75AF. The address is the same for all chains. */\n    get: operations[\"getOracleCollectionsFlooraskV6\"];\n  };\n  \"/oracle/collections/top-bid/v2\": {\n    /** Get a signed message of any collection's top bid price (spot or twap). The oracle's address is 0xAeB1D03929bF87F69888f381e73FBf75753d75AF. The address is the same for all chains. */\n    get: operations[\"getOracleCollectionsTopbidV2\"];\n  };\n  \"/oracle/collections/top-bid/v3\": {\n    /** Get a signed message of any collection's top bid price (spot or twap). The oracle's address is 0xAeB1D03929bF87F69888f381e73FBf75753d75AF. The address is the same for all chains. */\n    get: operations[\"getOracleCollectionsTopbidV3\"];\n  };\n  \"/oracle/tokens/status/v2\": {\n    /** Get a signed message of a token's details (flagged status and last transfer time). The oracle's address is 0xAeB1D03929bF87F69888f381e73FBf75753d75AF. The address is the same for all chains. */\n    get: operations[\"getOracleTokensStatusV2\"];\n  };\n  \"/oracle/tokens/status/v3\": {\n    /** Get a signed message of a token's details (flagged status and last transfer time). The oracle's address is 0xAeB1D03929bF87F69888f381e73FBf75753d75AF. The address is the same for all chains. */\n    get: operations[\"getOracleTokensStatusV3\"];\n  };\n  \"/portfolio/historical/value/v1\": {\n    /** Get for the given wallet its historical portfolio value */\n    get: operations[\"getPortfolioHistoricalValueV1\"];\n  };\n  \"/portfolio/nfts/balance/v1\": {\n    /** Get tokens held by a user, along with ownership information such as associated orders and date acquired. */\n    get: operations[\"getPortfolioNftsBalanceV1\"];\n  };\n  \"/portfolio/tokens/balance/v1\": {\n    /** Get for the given wallet its tokens balance */\n    get: operations[\"getPortfolioTokensBalanceV1\"];\n  };\n  \"/tokens/flag/changes/v1\": {\n    /** This API return the recent flagged/un-flagged tokens across all collections sorted by change time */\n    get: operations[\"getTokensFlagChangesV1\"];\n  };\n  \"/tokens/{token}/bids/v1\": {\n    /** Get a list of bids (offers), filtered by token. */\n    get: operations[\"getTokensTokenBidsV1\"];\n  };\n  \"/tokens/{token}/activity/v4\": {\n    /** This API can be used to build a feed for a token */\n    get: operations[\"getTokensTokenActivityV4\"];\n  };\n  \"/tokens/{token}/activity/v2\": {\n    /** This API can be used to build a feed for a token */\n    get: operations[\"getTokensTokenActivityV2\"];\n  };\n  \"/tokens/{token}/activity/v1\": {\n    /** This API can be used to build a feed for a token */\n    get: operations[\"getTokensTokenActivityV1\"];\n  };\n  \"/tokens/{token}/activity/v3\": {\n    /** This API can be used to build a feed for a token */\n    get: operations[\"getTokensTokenActivityV3\"];\n  };\n  \"/tokens/{token}/activity/v5\": {\n    /** This API can be used to build a feed for a token activity including sales, asks, transfers, mints, bids, cancelled bids, and cancelled asks types. */\n    get: operations[\"getTokensTokenActivityV5\"];\n  };\n  \"/tokens/{token}/asks/v1\": {\n    /** Get a list of asks (listings), filtered by token. */\n    get: operations[\"getTokensTokenAsksV1\"];\n  };\n  \"/transactions/{txHash}/synced/v1\": {\n    /** Get a boolean response on whether a particular transaction was synced or not. */\n    get: operations[\"getTransactionsTxhashSyncedV1\"];\n  };\n  \"/users/{user}/tokens/v9\": {\n    /** Get tokens held by a user, along with ownership information such as associated orders and date acquired. */\n    get: operations[\"getUsersUserTokensV9\"];\n  };\n  \"/users/{user}/tokens/v7\": {\n    /** Get tokens held by a user, along with ownership information such as associated orders and date acquired. */\n    get: operations[\"getUsersUserTokensV7\"];\n  };\n  \"/users/{user}/tokens/v5\": {\n    /** Get tokens held by a user, along with ownership information such as associated orders and date acquired. */\n    get: operations[\"getUsersUserTokensV5\"];\n  };\n  \"/users/{user}/tokens/v3\": {\n    /** Get tokens held by a user, along with ownership information such as associated orders and date acquired. */\n    get: operations[\"getUsersUserTokensV3\"];\n  };\n  \"/users/{user}/tokens/v1\": {\n    /** Get tokens held by a user, along with ownership information such as associated orders and date acquired. */\n    get: operations[\"getUsersUserTokensV1\"];\n  };\n  \"/users/{user}/bids/v1\": {\n    /** Get a list of bids (offers), filtered by maker. */\n    get: operations[\"getUsersUserBidsV1\"];\n  };\n  \"/users/{user}/positions/v1\": {\n    /** Get aggregate user liquidity, grouped by collection. Useful for showing a summary of liquidity being provided (orders made). */\n    get: operations[\"getUsersUserPositionsV1\"];\n  };\n  \"/users/{user}/collections/v3\": {\n    /** Get aggregate stats for a user, grouped by collection. Useful for showing total portfolio information. */\n    get: operations[\"getUsersUserCollectionsV3\"];\n  };\n  \"/users/{user}/collections/v1\": {\n    /** Get aggregate stats for a user, grouped by collection. Useful for showing total portfolio information. */\n    get: operations[\"getUsersUserCollectionsV1\"];\n  };\n  \"/users/{user}/activity/v1\": {\n    /** This API can be used to build a feed for a user */\n    get: operations[\"getUsersUserActivityV1\"];\n  };\n  \"/users/{user}/collections/v2\": {\n    /** Get aggregate stats for a user, grouped by collection. Useful for showing total portfolio information. */\n    get: operations[\"getUsersUserCollectionsV2\"];\n  };\n  \"/users/{user}/collections/v4\": {\n    /** Get aggregate stats for a user, grouped by collection. Useful for showing total portfolio information. */\n    get: operations[\"getUsersUserCollectionsV4\"];\n  };\n  \"/users/{user}/asks/v1\": {\n    /** Get a list of asks (listings), filtered by maker. */\n    get: operations[\"getUsersUserAsksV1\"];\n  };\n  \"/users/{user}/tokens/v2\": {\n    /** Get tokens held by a user, along with ownership information such as associated orders and date acquired. */\n    get: operations[\"getUsersUserTokensV2\"];\n  };\n  \"/users/{user}/tokens/v4\": {\n    /** Get tokens held by a user, along with ownership information such as associated orders and date acquired. */\n    get: operations[\"getUsersUserTokensV4\"];\n  };\n  \"/users/{user}/tokens/v6\": {\n    /** Get tokens held by a user, along with ownership information such as associated orders and date acquired. */\n    get: operations[\"getUsersUserTokensV6\"];\n  };\n  \"/users/{user}/tokens/v8\": {\n    /** Get tokens held by a user, along with ownership information such as associated orders and date acquired. */\n    get: operations[\"getUsersUserTokensV8\"];\n  };\n  \"/users/{user}/tokens/v10\": {\n    /** Get tokens held by a user, along with ownership information such as associated orders and date acquired. */\n    get: operations[\"getUsersUserTokensV10\"];\n  };\n  \"/collections/{collection}/attributes/explore/v5\": {\n    /**\n     * Use this API to see stats on a specific attribute within a collection. This endpoint will return `tokenCount`, `onSaleCount`, `sampleImages`, and `floorAskPrices` by default.\n     *\n     * - `floorAskPrices` will not be returned on attributes with more than 10k tokens.\n     */\n    get: operations[\"getCollectionsCollectionAttributesExploreV5\"];\n  };\n  \"/collections/{collection}/attributes/explore/v3\": {\n    /** Get detailed aggregate about attributes in a collection, attribute floors */\n    get: operations[\"getCollectionsCollectionAttributesExploreV3\"];\n  };\n  \"/collections/{collection}/attributes/explore/v1\": {\n    get: operations[\"getCollectionsCollectionAttributesExploreV1\"];\n  };\n  \"/collections/{collection}/attributes/static/v1\": {\n    get: operations[\"getCollectionsCollectionAttributesStaticV1\"];\n  };\n  \"/collections/{collection}/attributes/all/v3\": {\n    get: operations[\"getCollectionsCollectionAttributesAllV3\"];\n  };\n  \"/collections/{collection}/attributes/all/v1\": {\n    get: operations[\"getCollectionsCollectionAttributesAllV1\"];\n  };\n  \"/collections/{collection}/attributes/all/v2\": {\n    get: operations[\"getCollectionsCollectionAttributesAllV2\"];\n  };\n  \"/collections/{collection}/attributes/all/v4\": {\n    /**\n     * Use this API to see all possible attributes within a collection.\n     *\n     * - `floorAskPrice` for all attributes might not be returned on collections with more than 10k tokens.\n     *\n     * - Attributes are case sensitive.\n     *\n     * - Attributes will return a maximum of 500 values.\n     */\n    get: operations[\"getCollectionsCollectionAttributesAllV4\"];\n  };\n  \"/collections/{collection}/attributes/explore/v2\": {\n    /** Get detailed aggregate about attributes in a collection, attribute floors */\n    get: operations[\"getCollectionsCollectionAttributesExploreV2\"];\n  };\n  \"/collections/{collection}/attributes/explore/v4\": {\n    /** Use this API to see stats on a specific attribute within a collection. This endpoint will return `tokenCount`, `onSaleCount`, `sampleImages`, and `floorAsk` by default. */\n    get: operations[\"getCollectionsCollectionAttributesExploreV4\"];\n  };\n  \"/collections/{collection}/attributes/explore/v6\": {\n    /**\n     * Use this API to see stats on a specific attribute within a collection. This endpoint will return `tokenCount`, `onSaleCount`, `sampleImages`, and `floorAskPrices` by default.\n     *\n     * - `floorAskPrices` will not be returned on attributes with more than 10k tokens.\n     */\n    get: operations[\"getCollectionsCollectionAttributesExploreV6\"];\n  };\n  \"/orders/users/{user}/top-bids/v4\": {\n    /** Return the top bids for the given user tokens. Please mark `excludeEOA` as `true` to exclude Blur orders. */\n    get: operations[\"getOrdersUsersUserTopbidsV4\"];\n  };\n  \"/orders/users/{user}/top-bids/v2\": {\n    /** Return the top bids for the given user tokens */\n    get: operations[\"getOrdersUsersUserTopbidsV2\"];\n  };\n  \"/orders/users/{user}/top-bids/v1\": {\n    /** Return the top bids for the given user tokens */\n    get: operations[\"getOrdersUsersUserTopbidsV1\"];\n  };\n  \"/orders/users/{user}/top-bids/v3\": {\n    /** Return the top bids for the given user tokens */\n    get: operations[\"getOrdersUsersUserTopbidsV3\"];\n  };\n  \"/redirect/collections/{collection}/image/v1\": {\n    get: operations[\"getRedirectCollectionsCollectionImageV1\"];\n  };\n  \"/redirect/currency/{address}/icon/v1\": {\n    get: operations[\"getRedirectCurrencyAddressIconV1\"];\n  };\n  \"/redirect/sources/{source}/logo/v2\": {\n    get: operations[\"getRedirectSourcesSourceLogoV2\"];\n  };\n  \"/redirect/tokens/{token}/image/v1\": {\n    get: operations[\"getRedirectTokensTokenImageV1\"];\n  };\n  \"/redirect/sources/{source}/tokens/{token}/link/v2\": {\n    get: operations[\"getRedirectSourcesSourceTokensTokenLinkV2\"];\n  };\n  \"/collections/{collection}/community/v1\": {\n    /** This API requires an administrator API for execution. Explore and try the `/collections-sets/v1` or `/contracts-sets/v1` endpoints. Please contact technical support with more questions. */\n    put: operations[\"putCollectionsCollectionCommunityV1\"];\n  };\n  \"/api-keys\": {\n    /**\n     * The API key can be used in every route, by setting it as a request header **x-api-key**.\n     *\n     * <a href='https://docs.reservoir.tools/reference/getting-started'>Learn more</a> about API Keys and Rate Limiting\n     */\n    post: operations[\"postApikeys\"];\n  };\n  \"/admin/calc-rarity\": {\n    post: operations[\"postAdminCalcrarity\"];\n  };\n  \"/admin/calc-usd-price\": {\n    post: operations[\"postAdminCalcusdprice\"];\n  };\n  \"/admin/create-rate-limit-rule\": {\n    post: operations[\"postAdminCreateratelimitrule\"];\n  };\n  \"/admin/create-source\": {\n    post: operations[\"postAdminCreatesource\"];\n  };\n  \"/admin/delete-rate-limit-rule\": {\n    post: operations[\"postAdminDeleteratelimitrule\"];\n  };\n  \"/admin/fix-blocks\": {\n    post: operations[\"postAdminFixblocks\"];\n  };\n  \"/admin/fix-cache\": {\n    post: operations[\"postAdminFixcache\"];\n  };\n  \"/admin/fix-orders\": {\n    post: operations[\"postAdminFixorders\"];\n  };\n  \"/admin/fix-token-cache\": {\n    post: operations[\"postAdminFixtokencache\"];\n  };\n  \"/admin/index-metadata\": {\n    post: operations[\"postAdminIndexmetadata\"];\n  };\n  \"/admin/pause-rabbit-queue\": {\n    post: operations[\"postAdminPauserabbitqueue\"];\n  };\n  \"/admin/refresh-collection\": {\n    post: operations[\"postAdminRefreshcollection\"];\n  };\n  \"/admin/refresh-token\": {\n    post: operations[\"postAdminRefreshtoken\"];\n  };\n  \"/admin/resume-rabbit-queue\": {\n    post: operations[\"postAdminResumerabbitqueue\"];\n  };\n  \"/admin/resync-api-key\": {\n    post: operations[\"postAdminResyncapikey\"];\n  };\n  \"/admin/resync-floor-events\": {\n    post: operations[\"postAdminResyncfloorevents\"];\n  };\n  \"/admin/resync-nft-balances\": {\n    post: operations[\"postAdminResyncnftbalances\"];\n  };\n  \"/admin/resync-rate-limit-rule\": {\n    post: operations[\"postAdminResyncratelimitrule\"];\n  };\n  \"/admin/resync-sale-royalties\": {\n    post: operations[\"postAdminResyncsaleroyalties\"];\n  };\n  \"/admin/resync-source\": {\n    post: operations[\"postAdminResyncsource\"];\n  };\n  \"/admin/resync-user-balance\": {\n    post: operations[\"postAdminResyncuserbalance\"];\n  };\n  \"/admin/retry-rabbit-queue\": {\n    post: operations[\"postAdminRetryrabbitqueue\"];\n  };\n  \"/admin/revalidate-mint\": {\n    post: operations[\"postAdminRevalidatemint\"];\n  };\n  \"/admin/revalidate-order\": {\n    post: operations[\"postAdminRevalidateorder\"];\n  };\n  \"/admin/routers\": {\n    post: operations[\"postAdminRouters\"];\n  };\n  \"/admin/set-community\": {\n    post: operations[\"postAdminSetcommunity\"];\n  };\n  \"/admin/set-indexing-method\": {\n    post: operations[\"postAdminSetindexingmethod\"];\n  };\n  \"/admin/sync-daily-volumes\": {\n    post: operations[\"postAdminSyncdailyvolumes\"];\n  };\n  \"/admin/sync-events\": {\n    post: operations[\"postAdminSyncevents\"];\n  };\n  \"/admin/trigger-job\": {\n    post: operations[\"postAdminTriggerjob\"];\n  };\n  \"/admin/trigger-rabbit-job\": {\n    post: operations[\"postAdminTriggerrabbitjob\"];\n  };\n  \"/admin/update-api-key\": {\n    post: operations[\"postAdminUpdateapikey\"];\n  };\n  \"/admin/update-image-version\": {\n    post: operations[\"postAdminUpdateimageversion\"];\n  };\n  \"/admin/update-rate-limit-rule\": {\n    post: operations[\"postAdminUpdateratelimitrule\"];\n  };\n  \"/admin/update-source\": {\n    post: operations[\"postAdminUpdatesource\"];\n  };\n  \"/collections-sets/v1\": {\n    /**\n     * Array of collections to gather in a set. Adding or removing a collection will change the response. You may use this set when `collectionSetId` is an available param. The max limit of collection in an array is 500. An example is below.\n     *\n     * `\"collections\": \"0xba30E5F9Bb24caa003E9f2f0497Ad287FDF95623\", \"0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D\"`\n     *\n     * `\"collectionsSetId\": \"8daa732ebe5db23f267e58d52f1c9b1879279bcdf4f78b8fb563390e6946ea65\"`\n     */\n    post: operations[\"postCollectionssetsV1\"];\n  };\n  \"/contracts-sets/v1\": {\n    /**\n     * Array of contracts to gather in a set. Adding or removing a contract will change the response. You may use this set when contractSetId is an available param. Max limit of contracts passed in an array is 500. An example is below.\n     *\n     * `\"contracts\": \"0x60e4d786628fea6478f785a6d7e704777c86a7c6\", \"0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d\"`\n     *\n     * `\"contractsSetId\": \"74cc9bdc0824e92de13c75213015916557fcf8187e43b34a8e77175cd03d1931\"\n     */\n    post: operations[\"postContractssetsV1\"];\n  };\n  \"/order/v2\": {\n    post: operations[\"postOrderV2\"];\n  };\n  \"/order/v3\": {\n    post: operations[\"postOrderV3\"];\n  };\n  \"/order/v4\": {\n    post: operations[\"postOrderV4\"];\n  };\n  \"/seaport/offers\": {\n    post: operations[\"postSeaportOffers\"];\n  };\n  \"/token-sets/v1\": {\n    post: operations[\"postTokensetsV1\"];\n  };\n  \"/token-sets/v2\": {\n    /**\n     * Use this API to create a `tokenSetId` to call specific tokens from a collection. Adding or removing a tokenId will change the response. See an example below.\n     *\n     *  Input of `0xd774557b647330c91bf44cfeab205095f7e6c367:1` and `0xd774557b647330c91bf44cfeab205095f7e6c367:2`\n     *\n     *  Output of `list:0xd774557b647330c91bf44cfeab205095f7e6c367:0xb6fd98eeb7e08fc521f11511289afe4d8e873fd7a3fb76ab757fa47c23f596e9`\n     *\n     *  Notes:\n     *\n     * - Include `list:` when using this `tokenSetId` for it to work successfully.\n     *\n     * - You cannot adjust tokens within a `tokenSetId`. Please create a new set.\n     *\n     * - Use the `/tokens/ids` endpoint to get a list of tokens within a set.\n     */\n    post: operations[\"postTokensetsV2\"];\n  };\n  \"/admin/api-keys/metrics\": {\n    /** Get API usage metrics for the given API key */\n    post: operations[\"postAdminApikeysMetrics\"];\n  };\n  \"/collections/disable-metadata/v1\": {\n    /** This API requires an allowed API key for execution. Please contact technical support with more questions. */\n    post: operations[\"postCollectionsDisablemetadataV1\"];\n  };\n  \"/collections/nsfw-status/v1\": {\n    /** This API can be used by allowed API keys to update the nsfw status of a collection. */\n    post: operations[\"postCollectionsNsfwstatusV1\"];\n  };\n  \"/collections/refresh/v1\": {\n    post: operations[\"postCollectionsRefreshV1\"];\n  };\n  \"/collections/refresh/v2\": {\n    /**\n     * Use this API to refresh a collection metadata. Only use this endpoint when you notice multiple tokens with incorrect metadata. Otherwise, refresh single token metadata. Collections with over 30,000 tokens require admin key override, so please contact technical support for assistance.\n     *\n     *  Collection metadata is automatically updated at 23:30 UTC daily for:\n     *\n     * - Top 500 Collection by 24hr Volume\n     *\n     * - Collections Minted 1 Day Ago\n     *\n     * - Collections Minted 7 Days Ago\n     *\n     *  Caution: This API should be used in moderation, like only when missing data is discovered. Calling it in bulk or programmatically will result in your API key getting rate limited.\n     */\n    post: operations[\"postCollectionsRefreshV2\"];\n  };\n  \"/collections/spam-status/v1\": {\n    /** This API can be used by allowed API keys to update the spam status of a collection. */\n    post: operations[\"postCollectionsSpamstatusV1\"];\n  };\n  \"/execute/auth-signature/v1\": {\n    post: operations[\"postExecuteAuthsignatureV1\"];\n  };\n  \"/execute/bid/v4\": {\n    /** Generate a bid and submit it to multiple marketplaces */\n    post: operations[\"postExecuteBidV4\"];\n  };\n  \"/execute/bid/v5\": {\n    /**\n     * Generate bids and submit them to multiple marketplaces.\n     *\n     *  Notes:\n     *\n     * - Please use the `/cross-posting-orders/v1` to check the status on cross posted bids.\n     *\n     * - We recommend using Reservoir SDK as it abstracts the process of iterating through steps, and returning callbacks that can be used to update your UI.\n     */\n    post: operations[\"postExecuteBidV5\"];\n  };\n  \"/execute/buy/v5\": {\n    post: operations[\"postExecuteBuyV5\"];\n  };\n  \"/execute/buy/v6\": {\n    post: operations[\"postExecuteBuyV6\"];\n  };\n  \"/execute/buy/v7\": {\n    /** Use this API to fill listings. We recommend using the SDK over this API as the SDK will iterate through the steps and return callbacks. Please mark `excludeEOA` as `true` to exclude Blur orders. */\n    post: operations[\"postExecuteBuyV7\"];\n  };\n  \"/execute/call/v1\": {\n    post: operations[\"postExecuteCallV1\"];\n  };\n  \"/execute/cancel/v3\": {\n    /** Cancel existing orders on any marketplace */\n    post: operations[\"postExecuteCancelV3\"];\n  };\n  \"/execute/cancel-signature/v1\": {\n    /** If your order was created using the Seaport Oracle to allow off chain & gasless cancellations, you can just use the Kit's cancel modals, SDK's `cancelOrder`, or `/execute/cancel/`. Those tools will automatically access this endpoint for an oracle cancellation without you directly calling this endpoint. */\n    post: operations[\"postExecuteCancelsignatureV1\"];\n  };\n  \"/execute/deposit/v1\": {\n    post: operations[\"postExecuteDepositV1\"];\n  };\n  \"/execute/list/v4\": {\n    /** Generate a listing and submit it to multiple marketplaces */\n    post: operations[\"postExecuteListV4\"];\n  };\n  \"/execute/list/v5\": {\n    /**\n     * Generate listings and submit them to multiple marketplaces.\n     *\n     *  Notes:\n     *\n     * - Please use the `/cross-posting-orders/v1` to check the status on cross posted bids.\n     *\n     * - We recommend using Reservoir SDK as it abstracts the process of iterating through steps, and returning callbacks that can be used to update your UI.\n     */\n    post: operations[\"postExecuteListV5\"];\n  };\n  \"/execute/mint/v1\": {\n    /** Use this API to mint tokens. We recommend using the SDK over this API as the SDK will iterate through the steps and return callbacks. */\n    post: operations[\"postExecuteMintV1\"];\n  };\n  \"/execute/permit-signature/v1\": {\n    post: operations[\"postExecutePermitsignatureV1\"];\n  };\n  \"/execute/pre-signature/v1\": {\n    post: operations[\"postExecutePresignatureV1\"];\n  };\n  \"/execute/results/v1\": {\n    post: operations[\"postExecuteResultsV1\"];\n  };\n  \"/execute/sell/v6\": {\n    post: operations[\"postExecuteSellV6\"];\n  };\n  \"/execute/sell/v7\": {\n    /** Use this API to accept bids. We recommend using the SDK over this API as the SDK will iterate through the steps and return callbacks. Please mark `excludeEOA` as `true` to exclude Blur orders. */\n    post: operations[\"postExecuteSellV7\"];\n  };\n  \"/execute/solve/v1\": {\n    post: operations[\"postExecuteSolveV1\"];\n  };\n  \"/execute/status/v1\": {\n    post: operations[\"postExecuteStatusV1\"];\n  };\n  \"/execute/transfer/v1\": {\n    /** Use this endpoint to bulk transfer an array of NFTs. */\n    post: operations[\"postExecuteTransferV1\"];\n  };\n  \"/management/cosigners/v1\": {\n    post: operations[\"postManagementCosignersV1\"];\n  };\n  \"/orders/invalidate/v1\": {\n    post: operations[\"postOrdersInvalidateV1\"];\n  };\n  \"/tokens/disable-metadata/v1\": {\n    /** This API requires an allowed API key for execution. Please contact technical support with more questions. */\n    post: operations[\"postTokensDisablemetadataV1\"];\n  };\n  \"/tokens/flag/v1\": {\n    post: operations[\"postTokensFlagV1\"];\n  };\n  \"/tokens/nsfw-status/v1\": {\n    /** This API can be used by allowed API keys to update the nsfw status of a token. */\n    post: operations[\"postTokensNsfwstatusV1\"];\n  };\n  \"/tokens/refresh/v1\": {\n    /**\n     * Token metadata is never automatically refreshed, but may be manually refreshed with this API.\n     *\n     * Caution: This API should be used in moderation, like only when missing data is discovered. Calling it in bulk or programmatically will result in your API key getting rate limited.\n     */\n    post: operations[\"postTokensRefreshV1\"];\n  };\n  \"/tokens/refresh/v2\": {\n    /**\n     * Token metadata is never automatically refreshed, but may be manually refreshed with this API.\n     *\n     * Caution: This API should be used in moderation, like only when missing data is discovered. Calling it in bulk or programmatically will result in your API key getting rate limited.\n     */\n    post: operations[\"postTokensRefreshV2\"];\n  };\n  \"/tokens/simulate-floor/v1\": {\n    post: operations[\"postTokensSimulatefloorV1\"];\n  };\n  \"/tokens/simulate-top-bid/v1\": {\n    post: operations[\"postTokensSimulatetopbidV1\"];\n  };\n  \"/tokens/spam-status/v1\": {\n    /** This API can be used by allowed API keys to update the spam status of a token. */\n    post: operations[\"postTokensSpamstatusV1\"];\n  };\n  \"/collections/{collection}/override/v1\": {\n    /** Override collections metadata and royalties */\n    post: operations[\"postCollectionsCollectionOverrideV1\"];\n  };\n  \"/collections/{collection}/override/v2\": {\n    /** Override collections metadata and royalties */\n    post: operations[\"postCollectionsCollectionOverrideV2\"];\n  };\n  \"/execute/solve/capacity/v1\": {\n    post: operations[\"postExecuteSolveCapacityV1\"];\n  };\n  \"/execute/solve/capacity/v2\": {\n    post: operations[\"postExecuteSolveCapacityV2\"];\n  };\n  \"/management/mints/simulate/v1\": {\n    post: operations[\"postManagementMintsSimulateV1\"];\n  };\n  \"/management/orders/simulate/v1\": {\n    post: operations[\"postManagementOrdersSimulateV1\"];\n  };\n}\n\nexport interface definitions {\n  fee: {\n    bps?: number;\n    percent?: number;\n  };\n  Model1: {\n    name?: string;\n    imageUrl?: string;\n    fee?: definitions[\"fee\"];\n    feeBps?: number;\n    orderbook?: string;\n    orderKind?: string;\n    listingEnabled?: boolean;\n  };\n  marketplaces: definitions[\"Model1\"][];\n  getMarketplacesv1Resp: {\n    marketplaces?: definitions[\"marketplaces\"];\n  };\n  Model2: {\n    value: string;\n    count?: number;\n  };\n  values: definitions[\"Model2\"][];\n  Model3: {\n    key: string;\n    /** @enum {string} */\n    kind: \"string\" | \"number\" | \"date\" | \"range\";\n    values?: definitions[\"values\"];\n  };\n  attributes: definitions[\"Model3\"][];\n  getAttributesV1Response: {\n    attributes?: definitions[\"attributes\"];\n  };\n  metadata: { [key: string]: unknown };\n  sampleImages: string[];\n  royalties: {\n    recipient?: string;\n    bps?: number;\n  };\n  lastBuy: {\n    value?: number;\n    timestamp?: number;\n  };\n  token: {\n    contract?: string;\n    tokenId?: string;\n    name?: string;\n    image?: string;\n  };\n  floorAsk: {\n    id?: string;\n    price?: number;\n    maker?: string;\n    validFrom?: number;\n    validUntil?: number;\n    token?: definitions[\"token\"];\n  };\n  topBid: {\n    id?: string;\n    value?: number;\n    maker?: string;\n    validFrom?: number;\n    validUntil?: number;\n  };\n  rank: {\n    \"1day\"?: number;\n    \"7day\"?: number;\n    \"30day\"?: number;\n    allTime?: number;\n  };\n  volumeChange: {\n    \"1day\"?: number;\n    \"7day\"?: number;\n    \"30day\"?: number;\n  };\n  collection: {\n    id?: string;\n    slug?: string;\n    name?: string;\n    metadata?: definitions[\"metadata\"];\n    sampleImages?: definitions[\"sampleImages\"];\n    tokenCount?: string;\n    onSaleCount?: string;\n    primaryContract?: string;\n    tokenSetId?: string;\n    royalties?: definitions[\"royalties\"];\n    lastBuy?: definitions[\"lastBuy\"];\n    lastSell?: definitions[\"lastBuy\"];\n    floorAsk?: definitions[\"floorAsk\"];\n    topBid?: definitions[\"topBid\"];\n    rank?: definitions[\"rank\"];\n    volume?: definitions[\"rank\"];\n    volumeChange?: definitions[\"volumeChange\"];\n    floorSale?: definitions[\"volumeChange\"];\n    floorSaleChange?: definitions[\"volumeChange\"];\n  };\n  getCollectionV1Response: {\n    collection?: definitions[\"collection\"];\n  };\n  Model4: {\n    key?: string;\n    kind?: string;\n    count?: number;\n  };\n  Model5: definitions[\"Model4\"][];\n  Model6: {\n    id?: string;\n    /** @description Open Sea slug */\n    slug?: string;\n    name?: string;\n    metadata?: definitions[\"metadata\"];\n    sampleImages?: definitions[\"sampleImages\"];\n    tokenCount?: string;\n    onSaleCount?: string;\n    primaryContract?: string;\n    tokenSetId?: string;\n    royalties?: definitions[\"royalties\"];\n    lastBuy?: definitions[\"lastBuy\"];\n    floorAsk?: definitions[\"floorAsk\"];\n    topBid?: definitions[\"topBid\"];\n    rank?: definitions[\"rank\"];\n    volume?: definitions[\"rank\"];\n    volumeChange?: definitions[\"volumeChange\"];\n    floorSale?: definitions[\"volumeChange\"];\n    floorSaleChange?: definitions[\"volumeChange\"];\n    collectionBidSupported?: boolean;\n    ownerCount?: number;\n    attributes?: definitions[\"Model5\"];\n  };\n  getCollectionV2Response: {\n    collection?: definitions[\"Model6\"];\n  };\n  Model7: {\n    id?: string;\n    sourceDomain?: string;\n    price?: number;\n    maker?: string;\n    validFrom?: number;\n    validUntil?: number;\n    token?: definitions[\"token\"];\n  };\n  Model8: {\n    id?: string;\n    /** @description Open Sea slug */\n    slug?: string;\n    name?: string;\n    metadata?: definitions[\"metadata\"];\n    sampleImages?: definitions[\"sampleImages\"];\n    tokenCount?: string;\n    onSaleCount?: string;\n    primaryContract?: string;\n    tokenSetId?: string;\n    royalties?: definitions[\"royalties\"];\n    lastBuy?: definitions[\"lastBuy\"];\n    floorAsk?: definitions[\"Model7\"];\n    topBid?: definitions[\"topBid\"];\n    rank?: definitions[\"rank\"];\n    volume?: definitions[\"rank\"];\n    volumeChange?: definitions[\"volumeChange\"];\n    floorSale?: definitions[\"volumeChange\"];\n    floorSaleChange?: definitions[\"volumeChange\"];\n    collectionBidSupported?: boolean;\n    ownerCount?: number;\n    attributes?: definitions[\"Model5\"];\n  };\n  getCollectionV3Response: {\n    collection?: definitions[\"Model8\"];\n  };\n  Model9: {\n    id?: string;\n    slug?: string;\n    name?: string;\n    metadata?: definitions[\"metadata\"];\n    sampleImages?: definitions[\"sampleImages\"];\n    tokenCount?: string;\n    tokenSetId?: string;\n    royalties?: definitions[\"royalties\"];\n    floorAskPrice?: number;\n    topBidValue?: number;\n    topBidMaker?: string;\n    rank?: definitions[\"rank\"];\n    volume?: definitions[\"rank\"];\n  };\n  collections: definitions[\"Model9\"][];\n  getCollectionsV1Response: {\n    collections?: definitions[\"collections\"];\n  };\n  Model10: {\n    id?: string;\n    slug?: string;\n    name?: string;\n    image?: string;\n    banner?: string;\n    sampleImages?: definitions[\"sampleImages\"];\n    tokenCount?: string;\n    tokenSetId?: string;\n    primaryContract?: string;\n    floorAskPrice?: number;\n    topBidValue?: number;\n    topBidMaker?: string;\n    \"1dayVolume\"?: number;\n    \"7dayVolume\"?: number;\n    \"30dayVolume\"?: number;\n    allTimeVolume?: number;\n    allTimeRank?: number;\n  };\n  Model11: definitions[\"Model10\"][];\n  getCollectionsV2Response: {\n    collections?: definitions[\"Model11\"];\n  };\n  Model12: {\n    id?: string;\n    slug?: string;\n    name?: string;\n    image?: string;\n    banner?: string;\n    discordUrl?: string;\n    externalUrl?: string;\n    twitterUsername?: string;\n    description?: string;\n    sampleImages?: definitions[\"sampleImages\"];\n    tokenCount?: string;\n    tokenSetId?: string;\n    primaryContract?: string;\n    floorAskPrice?: number;\n    topBidValue?: number;\n    topBidMaker?: string;\n    rank?: definitions[\"rank\"];\n    volume?: definitions[\"rank\"];\n    volumeChange?: definitions[\"volumeChange\"];\n    floorSale?: definitions[\"volumeChange\"];\n  };\n  Model13: definitions[\"Model12\"][];\n  getCollectionsV3Response: {\n    collections?: definitions[\"Model13\"];\n  };\n  Model14: {\n    id?: string;\n    slug?: string;\n    name?: string;\n    image?: string;\n    banner?: string;\n    discordUrl?: string;\n    externalUrl?: string;\n    twitterUsername?: string;\n    description?: string;\n    sampleImages?: definitions[\"sampleImages\"];\n    tokenCount?: string;\n    tokenSetId?: string;\n    primaryContract?: string;\n    floorAskPrice?: number;\n    topBidValue?: number;\n    topBidMaker?: string;\n    rank?: definitions[\"rank\"];\n    volume?: definitions[\"rank\"];\n    volumeChange?: definitions[\"volumeChange\"];\n    floorSale?: definitions[\"volumeChange\"];\n    floorSaleChange?: definitions[\"volumeChange\"];\n  };\n  Model15: definitions[\"Model14\"][];\n  getCollectionsV4Response: {\n    continuation?: string;\n    collections?: definitions[\"Model15\"];\n  };\n  Model16: {\n    recipient?: string;\n    bps?: number;\n  };\n  breakdown: definitions[\"Model16\"][];\n  Model17: {\n    recipient?: string;\n    breakdown?: definitions[\"breakdown\"];\n    bps?: number;\n  };\n  currency: {\n    contract?: string;\n    name?: string;\n    symbol?: string;\n    decimals?: number;\n    chainId?: number;\n  };\n  /** @description Amount with fees & royalties included. */\n  amount: {\n    raw?: string;\n    decimal?: number;\n    usd?: number;\n    native?: number;\n  };\n  /** @description Amount with fees & royalties removed. */\n  netAmount: {\n    raw?: string;\n    decimal?: number;\n    usd?: number;\n    native?: number;\n  };\n  price: {\n    currency?: definitions[\"currency\"];\n    amount?: definitions[\"amount\"];\n    netAmount?: definitions[\"netAmount\"];\n  };\n  /** @description Lowest Ask Price. */\n  Model18: {\n    contract?: string;\n    tokenId?: string;\n    name?: string;\n    image?: string;\n  };\n  Model19: {\n    id?: string;\n    sourceDomain?: string;\n    price?: definitions[\"price\"];\n    maker?: string;\n    validFrom?: number;\n    validUntil?: number;\n    token?: definitions[\"Model18\"];\n  };\n  /** @description Highest current offer */\n  Model20: {\n    id?: string;\n    sourceDomain?: string;\n    price?: definitions[\"price\"];\n    maker?: string;\n    validFrom?: number;\n    validUntil?: number;\n  };\n  /** @description Current rank based from overall volume */\n  Model21: {\n    \"1day\"?: number;\n    \"7day\"?: number;\n    \"30day\"?: number;\n    allTime?: number;\n  };\n  /** @description Total volume in given time period. */\n  volume: {\n    \"1day\"?: number;\n    \"7day\"?: number;\n    \"30day\"?: number;\n    allTime?: number;\n  };\n  /** @description Total volume change X-days vs previous X-days. (e.g. 7day [days 1-7] vs 7day prior [days 8-14]) */\n  Model22: {\n    \"1day\"?: number;\n    \"7day\"?: number;\n    \"30day\"?: number;\n  };\n  /** @description The floor sale from X-days ago. */\n  floorSale: {\n    \"1day\"?: number;\n    \"7day\"?: number;\n    \"30day\"?: number;\n  };\n  /** @description Floor sale change from X-days vs X-days ago. (e.g. 7day floor sale vs floor sale 14 days ago) */\n  floorSaleChange: {\n    \"1day\"?: number;\n    \"7day\"?: number;\n    \"30day\"?: number;\n  };\n  /** @description Number of sales of X-days period */\n  salesCount: {\n    \"1day\"?: number;\n    \"7day\"?: number;\n    \"30day\"?: number;\n    allTime?: number;\n  };\n  Model23: {\n    /** @description Case sensitive */\n    key?: string;\n    /** @description `string`, `number`, `date`, or `range` */\n    kind?: string;\n    count?: number;\n  };\n  Model24: definitions[\"Model23\"][];\n  Model25: {\n    stage: string;\n    tokenId?: string;\n    kind: string;\n    price?: definitions[\"price\"];\n    startTime?: number;\n    endTime?: number;\n    maxMintsPerWallet?: number;\n  };\n  mintStages: definitions[\"Model25\"][];\n  Model26: {\n    /** @description Collection id */\n    id?: string;\n    /** @description Open Sea slug */\n    slug?: string;\n    /** @description Time when added to indexer */\n    createdAt?: string;\n    name?: string;\n    image?: string;\n    banner?: string;\n    discordUrl?: string;\n    externalUrl?: string;\n    twitterUsername?: string;\n    openseaVerificationStatus?: string;\n    description?: string;\n    sampleImages?: definitions[\"sampleImages\"];\n    /** @description Total tokens within the collection. */\n    tokenCount?: string;\n    /** @description Total tokens currently on sale. */\n    onSaleCount?: string;\n    primaryContract?: string;\n    tokenSetId?: string;\n    royalties?: definitions[\"Model17\"];\n    allRoyalties?: definitions[\"metadata\"];\n    lastBuy?: definitions[\"lastBuy\"];\n    floorAsk?: definitions[\"Model19\"];\n    topBid?: definitions[\"Model20\"];\n    rank?: definitions[\"Model21\"];\n    volume?: definitions[\"volume\"];\n    volumeChange?: definitions[\"Model22\"];\n    floorSale?: definitions[\"floorSale\"];\n    floorSaleChange?: definitions[\"floorSaleChange\"];\n    salesCount?: definitions[\"salesCount\"];\n    /** @description true or false */\n    collectionBidSupported?: boolean;\n    /** @description Unique number of owners. */\n    ownerCount?: number;\n    attributes?: definitions[\"Model24\"];\n    /** @description Returns `erc721`, `erc1155`, etc. */\n    contractKind?: string;\n    mintedTimestamp?: number;\n    mintStages?: definitions[\"mintStages\"];\n  };\n  Model27: definitions[\"Model26\"][];\n  getCollectionsV5Response: {\n    continuation?: string;\n    collections?: definitions[\"Model27\"];\n  };\n  /** @description Total volume change X-days vs previous X-days. (e.g. 7day [days 1-7] vs 7day prior [days 8-14]). A value over 1 is a positive gain, under 1 is a negative loss. e.g. 1 means no change; 1.1 means 10% increase; 0.9 means 10% decrease. */\n  Model28: {\n    \"1day\"?: number;\n    \"7day\"?: number;\n    \"30day\"?: number;\n  };\n  /** @description Floor sale change from X-days vs X-days ago. (e.g. 7day floor sale vs floor sale 14 days ago). A value over 1 is a positive gain, under 1 is a negative loss. e.g. 1 means no change; 1.1 means 10% increase; 0.9 means 10% decrease. */\n  Model29: {\n    \"1day\"?: number;\n    \"7day\"?: number;\n    \"30day\"?: number;\n  };\n  Model30: {\n    price: definitions[\"price\"];\n    quantity?: number;\n  };\n  pricePerQuantity: definitions[\"Model30\"][];\n  Model31: {\n    stage: string;\n    tokenId?: string;\n    kind: string;\n    price?: definitions[\"price\"];\n    pricePerQuantity?: definitions[\"pricePerQuantity\"];\n    startTime?: number;\n    endTime?: number;\n    maxMintsPerWallet?: number;\n  };\n  Model32: definitions[\"Model31\"][];\n  Model33: {\n    /** @description Collection id */\n    id?: string;\n    /** @description Open Sea slug */\n    slug?: string;\n    /** @description Time when added to indexer */\n    createdAt?: string;\n    name?: string;\n    image?: string;\n    banner?: string;\n    discordUrl?: string;\n    externalUrl?: string;\n    twitterUsername?: string;\n    openseaVerificationStatus?: string;\n    description?: string;\n    sampleImages?: definitions[\"sampleImages\"];\n    /** @description Total tokens within the collection. */\n    tokenCount?: string;\n    /** @description Total tokens currently on sale. */\n    onSaleCount?: string;\n    primaryContract?: string;\n    tokenSetId?: string;\n    creator?: string;\n    royalties?: definitions[\"Model17\"];\n    allRoyalties?: definitions[\"metadata\"];\n    floorAsk?: definitions[\"Model19\"];\n    topBid?: definitions[\"Model20\"];\n    rank?: definitions[\"Model21\"];\n    volume?: definitions[\"volume\"];\n    volumeChange?: definitions[\"Model28\"];\n    floorSale?: definitions[\"floorSale\"];\n    floorSaleChange?: definitions[\"Model29\"];\n    salesCount?: definitions[\"salesCount\"];\n    /** @description true or false */\n    collectionBidSupported?: boolean;\n    /** @description Unique number of owners. */\n    ownerCount?: number;\n    attributes?: definitions[\"Model24\"];\n    /** @description Returns `erc721`, `erc1155`, etc. */\n    contractKind?: string;\n    mintedTimestamp?: number;\n    mintStages?: definitions[\"Model32\"];\n  };\n  Model34: definitions[\"Model33\"][];\n  getCollectionsV6Response: {\n    continuation?: string;\n    collections?: definitions[\"Model34\"];\n  };\n  Model35: {\n    stage: string;\n    tokenId?: string;\n    kind: string;\n    standard?: string;\n    price?: definitions[\"price\"];\n    pricePerQuantity?: definitions[\"pricePerQuantity\"];\n    startTime?: number;\n    endTime?: number;\n    maxMints?: number;\n    maxMintsPerWallet?: number;\n  };\n  Model36: definitions[\"Model35\"][];\n  operatorWhitelist: string[];\n  securityConfig: {\n    operatorWhitelist?: definitions[\"operatorWhitelist\"];\n    operatorBlacklist?: definitions[\"operatorWhitelist\"];\n    receiverAllowList?: definitions[\"operatorWhitelist\"];\n    authorizers?: definitions[\"operatorWhitelist\"];\n    transferSecurityLevel?: number;\n    transferValidator?: string;\n  };\n  Model37: {\n    chainId: number;\n    /** @description Collection id */\n    id?: string;\n    /** @description Open Sea slug */\n    slug?: string;\n    /** @description Time when added to indexer */\n    createdAt?: string;\n    /** @description Time when updated in indexer */\n    updatedAt?: string;\n    name?: string;\n    symbol?: string;\n    /** @description Time when contract was deployed */\n    contractDeployedAt?: string;\n    image?: string;\n    banner?: string;\n    discordUrl?: string;\n    externalUrl?: string;\n    twitterUsername?: string;\n    twitterUrl?: string;\n    openseaVerificationStatus?: string;\n    magicedenVerificationStatus?: string;\n    description?: string;\n    /** @default false */\n    metadataDisabled?: boolean;\n    /** @default false */\n    isSpam?: boolean;\n    /** @default false */\n    isNsfw?: boolean;\n    /** @default false */\n    isMinting?: boolean;\n    sampleImages?: definitions[\"sampleImages\"];\n    /** @description Total tokens within the collection. */\n    tokenCount?: string;\n    /** @description Total tokens currently on sale. */\n    onSaleCount?: string;\n    primaryContract?: string;\n    tokenSetId?: string;\n    creator?: string;\n    /** @default false */\n    isSharedContract?: boolean;\n    royalties?: definitions[\"Model17\"];\n    allRoyalties?: definitions[\"metadata\"];\n    floorAsk?: definitions[\"Model19\"];\n    topBid?: definitions[\"Model20\"];\n    rank?: definitions[\"Model21\"];\n    volume?: definitions[\"volume\"];\n    volumeChange?: definitions[\"Model28\"];\n    floorSale?: definitions[\"floorSale\"];\n    floorSaleChange?: definitions[\"Model29\"];\n    salesCount?: definitions[\"salesCount\"];\n    /** @description true or false */\n    collectionBidSupported?: boolean;\n    /** @description Unique number of owners. */\n    ownerCount?: number;\n    attributes?: definitions[\"Model24\"];\n    /** @description Returns `erc721`, `erc1155`, etc. */\n    contractKind?: string;\n    mintedTimestamp?: number;\n    lastMintTimestamp?: number;\n    mintStages?: definitions[\"Model36\"];\n    securityConfig?: definitions[\"securityConfig\"];\n    supply?: number;\n    remainingSupply?: number;\n  };\n  Model38: definitions[\"Model37\"][];\n  getCollectionsV7Response: {\n    continuation?: string;\n    collections?: definitions[\"Model38\"];\n  };\n  Model39: {\n    id: number;\n    orderId: string;\n    orderbook: string;\n    /** @description Possible values: pending - Waiting to be submitted. posted - Successfully submitted to the marketplace. posted - Failed to be submitted to the marketplace (see statusReason for detail). */\n    status: string;\n    statusReason: string;\n    /** @description Time when added to indexer */\n    createdAt: string;\n    /** @description Time when updated in indexer */\n    updatedAt: string;\n  };\n  orders: definitions[\"Model39\"][];\n  getCrossPostingOrdersV1Response: {\n    orders?: definitions[\"orders\"];\n    continuation?: string;\n  };\n  Model40: {\n    image?: string;\n  };\n  allTimeVolume: {\n    raw?: string;\n    usd?: number;\n  };\n  usdPriceChange: {\n    \"1day\"?: number;\n  };\n  Model41: {\n    contract?: string;\n    metadata?: definitions[\"Model40\"];\n    name?: string;\n    symbol?: string;\n    decimals?: number;\n    totalSupply?: string;\n    allTimeVolume?: definitions[\"allTimeVolume\"];\n    usdPrice?: number;\n    usdPriceChange?: definitions[\"usdPriceChange\"];\n  };\n  tokens: definitions[\"Model41\"][];\n  getFungibleTokensV1Response: {\n    tokens?: definitions[\"tokens\"];\n  };\n  Model42: {\n    kind?: string;\n    recipient?: string;\n    bps?: number;\n  };\n  feeBreakdown: definitions[\"Model42\"][];\n  Model43: {\n    id: string;\n    kind: string;\n    /** @enum {string} */\n    side: \"buy\" | \"sell\";\n    fillabilityStatus: string;\n    approvalStatus: string;\n    tokenSetId: string;\n    tokenSetSchemaHash: string;\n    maker: string;\n    taker: string;\n    price: number;\n    value: number;\n    validFrom: number;\n    validUntil: number;\n    sourceId?: string;\n    feeBps?: number;\n    feeBreakdown?: definitions[\"feeBreakdown\"];\n    expiration: number;\n    createdAt: string;\n    updatedAt: string;\n    rawData?: definitions[\"metadata\"];\n  };\n  Model44: definitions[\"Model43\"][];\n  getOrdersV1Response: {\n    orders?: definitions[\"Model44\"];\n  };\n  Model45: {\n    id: string;\n    kind: string;\n    /** @enum {string} */\n    side: \"buy\" | \"sell\";\n    fillabilityStatus: string;\n    approvalStatus: string;\n    tokenSetId: string;\n    tokenSetSchemaHash: string;\n    maker: string;\n    taker: string;\n    price: number;\n    value: number;\n    validFrom: number;\n    validUntil: number;\n    source?: string;\n    feeBps?: number;\n    feeBreakdown?: definitions[\"feeBreakdown\"];\n    expiration: number;\n    createdAt: string;\n    updatedAt: string;\n    rawData?: definitions[\"metadata\"];\n  };\n  Model46: definitions[\"Model45\"][];\n  getOrdersV2Response: {\n    orders?: definitions[\"Model46\"];\n  };\n  ownership: {\n    tokenCount?: string;\n    onSaleCount?: string;\n    floorAskPrice?: number;\n    topBidValue?: number;\n    totalBidValue?: number;\n  };\n  Model47: {\n    address?: string;\n    ownership?: definitions[\"ownership\"];\n  };\n  owners: definitions[\"Model47\"][];\n  getOwnersV1Response: {\n    owners?: definitions[\"owners\"];\n  };\n  /** @description Can return `null` if there is no Floor Ask */\n  floorAskPrice: {\n    currency?: definitions[\"currency\"];\n    amount?: definitions[\"amount\"];\n    netAmount?: definitions[\"netAmount\"];\n  };\n  /** @description Can return `null` if there are no bids */\n  topBidValue: {\n    currency?: definitions[\"currency\"];\n    amount?: definitions[\"amount\"];\n    netAmount?: definitions[\"netAmount\"];\n  };\n  Model48: {\n    tokenCount?: string;\n    onSaleCount?: string;\n    floorAskPrice?: definitions[\"floorAskPrice\"];\n    topBidValue?: definitions[\"topBidValue\"];\n    totalBidValue?: definitions[\"topBidValue\"];\n  };\n  Model49: {\n    address?: string;\n    ownership?: definitions[\"Model48\"];\n  };\n  Model50: definitions[\"Model49\"][];\n  getOwnersV2Response: {\n    owners?: definitions[\"Model50\"];\n  };\n  Model51: {\n    id?: string;\n    name?: string;\n  };\n  Model52: {\n    contract?: string;\n    tokenId?: string;\n    name?: string;\n    image?: string;\n    collection?: definitions[\"Model51\"];\n  };\n  Model53: {\n    token?: definitions[\"Model52\"];\n    maker?: string;\n    taker?: string;\n    amount?: string;\n    txHash?: string;\n    timestamp?: number;\n    price?: number;\n  };\n  sales: definitions[\"Model53\"][];\n  getSalesV1Response: {\n    sales?: definitions[\"sales\"];\n  };\n  Model54: {\n    token?: definitions[\"Model52\"];\n    /** @enum {string} */\n    orderSide?: \"ask\" | \"bid\";\n    from?: string;\n    to?: string;\n    amount?: string;\n    txHash?: string;\n    timestamp?: number;\n    price?: number;\n  };\n  Model55: definitions[\"Model54\"][];\n  getSalesV2Response: {\n    sales?: definitions[\"Model55\"];\n  };\n  Model56: {\n    contract?: string;\n    tokenId?: string;\n    name?: string;\n    image?: string;\n    collection?: definitions[\"Model51\"];\n  };\n  Model57: {\n    id?: string;\n    saleId?: string;\n    token?: definitions[\"Model56\"];\n    orderSource?: string;\n    orderSourceDomain?: string;\n    /** @enum {string} */\n    orderSide?: \"ask\" | \"bid\";\n    orderKind?: string;\n    from?: string;\n    to?: string;\n    amount?: string;\n    fillSource?: string;\n    txHash?: string;\n    logIndex?: number;\n    batchIndex?: number;\n    timestamp?: number;\n    price?: number;\n    currency?: string;\n    currencyPrice?: number;\n    usdPrice?: number;\n    washTradingScore?: number;\n  };\n  Model58: definitions[\"Model57\"][];\n  getSalesV3Response: {\n    sales?: definitions[\"Model58\"];\n    continuation?: string;\n  };\n  Model59: {\n    kind?: string;\n    bps?: number;\n    recipient?: string;\n    source?: string;\n    rawAmount?: string;\n  };\n  /** @description `kind` can be `marketplace` or `royalty` */\n  Model60: definitions[\"Model59\"][];\n  Model61: {\n    /** @description Deprecated. Use `saleId` instead. */\n    id?: string;\n    /** @description Unique identifier made from txn hash, price, etc. */\n    saleId?: string;\n    token?: definitions[\"Model56\"];\n    orderSource?: string;\n    /**\n     * @description Can be `ask` or `bid`.\n     * @enum {string}\n     */\n    orderSide?: \"ask\" | \"bid\";\n    orderKind?: string;\n    orderId?: string;\n    orderIsReservoir?: boolean;\n    from?: string;\n    to?: string;\n    amount?: string;\n    fillSource?: string;\n    block?: number;\n    txHash?: string;\n    logIndex?: number;\n    batchIndex?: number;\n    /** @description Time added on the blockchain */\n    timestamp?: number;\n    price?: definitions[\"price\"];\n    washTradingScore?: number;\n    royaltyFeeBps?: number;\n    marketplaceFeeBps?: number;\n    paidFullRoyalty?: boolean;\n    feeBreakdown?: definitions[\"Model60\"];\n    comment?: string;\n    isDeleted?: boolean;\n    /** @description Time when added to indexer */\n    createdAt?: string;\n    /** @description Time when updated in indexer */\n    updatedAt?: string;\n  };\n  Model62: definitions[\"Model61\"][];\n  getSalesV4Response: {\n    sales?: definitions[\"Model62\"];\n    continuation?: string;\n  };\n  Model63: {\n    id?: string;\n    name?: string;\n    description?: string;\n    socialImage?: string;\n    twitterUsername?: string;\n    icon?: string;\n    tokenUrl?: string;\n    domain?: string;\n  };\n  sources: definitions[\"Model63\"][];\n  getSourcesV1Response: {\n    sources?: definitions[\"sources\"];\n    continuation?: string;\n  };\n  Model64: {\n    contract?: string;\n    tokenId?: string;\n    name?: string;\n    image?: string;\n  };\n  Model65: {\n    id?: string;\n    price?: number;\n    maker?: string;\n    validFrom?: number;\n    validUntil?: number;\n    token?: definitions[\"Model64\"];\n  };\n  market: {\n    floorAsk?: definitions[\"Model65\"];\n    topBid?: definitions[\"topBid\"];\n  };\n  stats: {\n    tokenCount: number;\n    onSaleCount: number;\n    sampleImages?: definitions[\"sampleImages\"];\n    market?: definitions[\"market\"];\n  };\n  getStatsV1Response: {\n    stats?: definitions[\"stats\"];\n  };\n  /** @description Can be null if no active asks. */\n  Model66: {\n    contract?: string;\n    tokenId?: string;\n    name?: string;\n    image?: string;\n  };\n  Model67: {\n    id?: string;\n    price?: definitions[\"price\"];\n    maker?: string;\n    validFrom?: number;\n    validUntil?: number;\n    token?: definitions[\"Model66\"];\n  };\n  /** @description Can be null is not active bids */\n  Model68: {\n    id?: string;\n    price?: definitions[\"price\"];\n    maker?: string;\n    validFrom?: number;\n    validUntil?: number;\n  };\n  Model69: {\n    floorAsk?: definitions[\"Model67\"];\n    topBid?: definitions[\"Model68\"];\n  };\n  Model70: {\n    tokenCount: number;\n    onSaleCount: number;\n    flaggedTokenCount: number;\n    sampleImages?: definitions[\"sampleImages\"];\n    market?: definitions[\"Model69\"];\n  };\n  getStatsV2Response: {\n    stats?: definitions[\"Model70\"];\n  };\n  Model71: {\n    contract: string;\n    tokenId: string;\n    name?: string;\n    image?: string;\n    collection?: definitions[\"Model51\"];\n    topBidValue?: number;\n    floorAskPrice?: number;\n  };\n  Model72: definitions[\"Model71\"][];\n  getTokensV1Response: {\n    tokens?: definitions[\"Model72\"];\n  };\n  Model73: {\n    contract: string;\n    tokenId: string;\n    name?: string;\n    image?: string;\n    collection?: definitions[\"Model51\"];\n    topBidValue?: number;\n    floorAskPrice?: number;\n  };\n  Model74: definitions[\"Model73\"][];\n  getTokensV2Response: {\n    tokens?: definitions[\"Model74\"];\n    continuation?: string;\n  };\n  Model75: {\n    id?: string;\n    name?: string;\n    image?: string;\n    slug?: string;\n  };\n  Model76: {\n    contract: string;\n    tokenId: string;\n    name?: string;\n    image?: string;\n    collection?: definitions[\"Model75\"];\n    topBidValue?: number;\n    floorAskPrice?: number;\n  };\n  Model77: definitions[\"Model76\"][];\n  getTokensV3Response: {\n    tokens?: definitions[\"Model77\"];\n    continuation?: string;\n  };\n  Model78: {\n    contract: string;\n    tokenId: string;\n    name?: string;\n    image?: string;\n    media?: string;\n    collection?: definitions[\"Model75\"];\n    source?: string;\n    sourceDomain?: string;\n    topBidValue?: number;\n    floorAskPrice?: number;\n    rarity?: number;\n    rarityRank?: number;\n    owner?: string;\n    /** @default false */\n    isFlagged?: boolean;\n    lastFlagUpdate?: string;\n  };\n  Model79: definitions[\"Model78\"][];\n  getTokensV4Response: {\n    tokens?: definitions[\"Model79\"];\n    continuation?: string;\n  };\n  Model80: {\n    key?: string;\n    kind?: string;\n    value: string;\n    tokenCount?: number;\n    onSaleCount?: number;\n    floorAskPrice?: number;\n    topBidValue?: number;\n    createdAt?: string;\n  };\n  Model81: definitions[\"Model80\"][];\n  Model82: {\n    contract: string;\n    tokenId: string;\n    name?: string;\n    description?: string;\n    image?: string;\n    media?: string;\n    kind?: string;\n    /** @default false */\n    isFlagged?: boolean;\n    lastFlagUpdate?: string;\n    lastFlagChange?: string;\n    rarity?: number;\n    rarityRank?: number;\n    collection?: definitions[\"Model75\"];\n    lastBuy?: definitions[\"lastBuy\"];\n    lastSell?: definitions[\"lastBuy\"];\n    owner?: string;\n    attributes?: definitions[\"Model81\"];\n  };\n  dynamicPricing: {\n    /** @enum {string} */\n    kind?: \"dutch\" | \"pool\";\n    data?: definitions[\"metadata\"];\n  };\n  source: {\n    id?: string;\n    domain?: string;\n    name?: string;\n    icon?: string;\n    url?: string;\n  };\n  Model83: {\n    id?: string;\n    price?: definitions[\"price\"];\n    maker?: string;\n    validFrom?: number;\n    validUntil?: number;\n    quantityFilled?: number;\n    quantityRemaining?: number;\n    dynamicPricing?: definitions[\"dynamicPricing\"];\n    source?: definitions[\"source\"];\n  };\n  Model84: {\n    id?: string;\n    price?: definitions[\"price\"];\n    maker?: string;\n    validFrom?: number;\n    validUntil?: number;\n    source?: definitions[\"source\"];\n    feeBreakdown?: definitions[\"feeBreakdown\"];\n  };\n  Model85: {\n    floorAsk?: definitions[\"Model83\"];\n    topBid?: definitions[\"Model84\"];\n    /** @default false */\n    royaltiesPaid?: boolean;\n  };\n  Model86: {\n    token?: definitions[\"Model82\"];\n    market?: definitions[\"Model85\"];\n  };\n  Model87: definitions[\"Model86\"][];\n  getTokensV5Response: {\n    tokens?: definitions[\"Model87\"];\n    continuation?: string;\n  };\n  /** @description Can be null if no active asks. */\n  Model88: {\n    currency?: definitions[\"currency\"];\n    amount?: definitions[\"amount\"];\n    netAmount?: definitions[\"netAmount\"];\n  };\n  Model89: {\n    id?: string;\n    name?: string;\n    image?: string;\n    slug?: string;\n    symbol?: string;\n    creator?: string;\n    tokenCount?: number;\n    /** @default false */\n    metadataDisabled?: boolean;\n    floorAskPrice?: definitions[\"Model88\"];\n  };\n  Model90: {\n    /** @description Case sensitive. */\n    key?: string;\n    /** @description Can be `string`, `number`, `date`, or `range`. */\n    kind?: string;\n    /** @description Case sensitive. */\n    value: string;\n    tokenCount?: number;\n    onSaleCount?: number;\n    floorAskPrice?: number;\n    topBidValue?: number;\n    createdAt?: string;\n  };\n  Model91: definitions[\"Model90\"][];\n  Model92: {\n    chainId: number;\n    contract: string;\n    tokenId: string;\n    name?: string;\n    description?: string;\n    image?: string;\n    imageSmall?: string;\n    imageLarge?: string;\n    metadata?: definitions[\"metadata\"];\n    media?: string;\n    /** @description Can be erc721, erc115, etc. */\n    kind?: string;\n    /** @default false */\n    isFlagged?: boolean;\n    /** @default false */\n    isSpam?: boolean;\n    /** @default false */\n    isNsfw?: boolean;\n    /** @default false */\n    metadataDisabled?: boolean;\n    lastFlagUpdate?: string;\n    lastFlagChange?: string;\n    /** @description Can be higher than 1 if erc1155 */\n    supply?: number;\n    remainingSupply?: number;\n    /** @description No rarity for collections over 100k */\n    rarity?: number;\n    /** @description No rarity rank for collections over 100k */\n    rarityRank?: number;\n    collection?: definitions[\"Model89\"];\n    lastSale?: definitions[\"Model61\"];\n    owner?: string;\n    attributes?: definitions[\"Model91\"];\n    /** @description Can be set for ERC1155 tokens according to the standard */\n    decimals?: number;\n    mintStages?: definitions[\"mintStages\"];\n    mintedAt?: string;\n    createdAt?: string;\n  };\n  /** @description Can be null if no active ask. */\n  Model93: {\n    /** @enum {string} */\n    kind?: \"dutch\" | \"pool\";\n    data?: definitions[\"metadata\"];\n  };\n  Model94: {\n    id?: string;\n    price?: definitions[\"price\"];\n    maker?: string;\n    validFrom?: number;\n    validUntil?: number;\n    quantityFilled?: number;\n    quantityRemaining?: number;\n    dynamicPricing?: definitions[\"Model93\"];\n    source?: definitions[\"source\"];\n  };\n  Model95: {\n    /** @description Can be `marketplace` or `royalty`. */\n    kind?: string;\n    recipient?: string;\n    bps?: number;\n  };\n  /** @description Can be null if no active bids */\n  Model96: definitions[\"Model95\"][];\n  Model97: {\n    id?: string;\n    price?: definitions[\"price\"];\n    maker?: string;\n    validFrom?: number;\n    validUntil?: number;\n    source?: definitions[\"source\"];\n    feeBreakdown?: definitions[\"Model96\"];\n  };\n  Model98: {\n    floorAsk?: definitions[\"Model94\"];\n    topBid?: definitions[\"Model97\"];\n  };\n  Model99: {\n    token?: definitions[\"Model92\"];\n    market?: definitions[\"Model98\"];\n    updatedAt?: string;\n  };\n  Model100: definitions[\"Model99\"][];\n  getTokensV6Response: {\n    tokens?: definitions[\"Model100\"];\n    continuation?: string;\n  };\n  Model101: {\n    /** @description Case sensitive. */\n    key?: string;\n    /** @description Can be `string`, `number`, `date`, or `range`. */\n    kind?: string;\n    /** @description Case sensitive. */\n    value: string;\n    tokenCount?: number;\n    onSaleCount?: number;\n    floorAskPrice?: definitions[\"Model88\"];\n    topBidValue?: number;\n    createdAt?: string;\n  };\n  Model102: definitions[\"Model101\"][];\n  Model103: {\n    chainId: number;\n    contract: string;\n    tokenId: string;\n    name?: string;\n    description?: string;\n    image?: string;\n    imageSmall?: string;\n    imageLarge?: string;\n    metadata?: definitions[\"metadata\"];\n    media?: string;\n    /** @description Can be erc721, erc115, etc. */\n    kind?: string;\n    /** @default false */\n    isFlagged?: boolean;\n    /** @default false */\n    isSpam?: boolean;\n    /** @default false */\n    isNsfw?: boolean;\n    /** @default false */\n    metadataDisabled?: boolean;\n    lastFlagUpdate?: string;\n    lastFlagChange?: string;\n    /** @description Can be higher than 1 if erc1155 */\n    supply?: number;\n    remainingSupply?: number;\n    /** @description No rarity for collections over 100k */\n    rarity?: number;\n    /** @description No rarity rank for collections over 100k */\n    rarityRank?: number;\n    collection?: definitions[\"Model89\"];\n    lastSale?: definitions[\"Model61\"];\n    owner?: string;\n    attributes?: definitions[\"Model102\"];\n    /** @description Can be set for ERC1155 tokens according to the standard */\n    decimals?: number;\n    mintStages?: definitions[\"mintStages\"];\n    mintedAt?: string;\n    createdAt?: string;\n  };\n  Model104: {\n    token?: definitions[\"Model103\"];\n    market?: definitions[\"Model98\"];\n    updatedAt?: string;\n  };\n  Model105: definitions[\"Model104\"][];\n  getTokensV7Response: {\n    tokens?: definitions[\"Model105\"];\n    continuation?: string;\n  };\n  Model106: {\n    token?: definitions[\"Model56\"];\n    from?: string;\n    to?: string;\n    amount?: string;\n    txHash?: string;\n    block?: number;\n    logIndex?: number;\n    batchIndex?: number;\n    timestamp?: number;\n    price?: number;\n  };\n  transfers: definitions[\"Model106\"][];\n  getTransfersV2Response: {\n    transfers?: definitions[\"transfers\"];\n    continuation?: string;\n  };\n  Model107: {\n    token?: definitions[\"Model56\"];\n    from?: string;\n    to?: string;\n    /** @description Can be higher than 1 if erc1155. */\n    amount?: string;\n    txHash?: string;\n    block?: number;\n    logIndex?: number;\n    batchIndex?: number;\n    timestamp?: number;\n    isDeleted?: boolean;\n    /** @description Time when last updated in indexer */\n    updatedAt?: string;\n    price?: definitions[\"price\"];\n  };\n  Model108: definitions[\"Model107\"][];\n  getTransfersV3Response: {\n    transfers?: definitions[\"Model108\"];\n    continuation?: string;\n  };\n  Model109: {\n    token?: definitions[\"Model56\"];\n    from?: string;\n    to?: string;\n    /** @description Can be higher than 1 if erc1155. */\n    amount?: string;\n    txHash?: string;\n    block?: number;\n    logIndex?: number;\n    batchIndex?: number;\n    timestamp?: number;\n    isDeleted?: boolean;\n    isAirdrop?: boolean;\n    /** @description Time when last updated in indexer */\n    updatedAt?: string;\n    price?: definitions[\"price\"];\n  };\n  Model110: definitions[\"Model109\"][];\n  getTransfersV4Response: {\n    transfers?: definitions[\"Model110\"];\n    continuation?: string;\n  };\n  getApiKeyRateLimitsResponse: {\n    key?: string;\n    appName?: string;\n    website?: string;\n    email?: string;\n    active?: boolean;\n    tier?: number;\n    ips?: definitions[\"sampleImages\"];\n    origins?: definitions[\"sampleImages\"];\n    permissions?: definitions[\"metadata\"];\n    createdAt?: string;\n    revShareBps?: number;\n    orderbookFees?: definitions[\"metadata\"];\n    disableOrderbookFees?: boolean;\n  };\n  payload: definitions[\"metadata\"][];\n  Model111: {\n    route?: string;\n    method?: string;\n    allowedRequests?: number;\n    perSeconds?: number;\n    payload?: definitions[\"payload\"];\n  };\n  rateLimits: definitions[\"Model111\"][];\n  Model112: {\n    rateLimits?: definitions[\"rateLimits\"];\n  };\n  \"1day\": {\n    mintCount?: number;\n    saleCount?: number;\n    totalCount?: number;\n    mintVolume?: number;\n    saleVolume?: number;\n    totalVolume?: number;\n  };\n  Model113: {\n    \"1day\"?: definitions[\"1day\"];\n    \"7day\"?: definitions[\"1day\"];\n  };\n  getChainStatsV5Response: {\n    stats?: definitions[\"Model113\"];\n  };\n  Model114: {\n    tokenId?: string;\n    tokenName?: string;\n    tokenImage?: string;\n  };\n  Model115: {\n    collectionId?: string;\n    collectionName?: string;\n    collectionImage?: string;\n  };\n  data: {\n    collectionId?: string;\n    collectionName?: string;\n    tokenName?: string;\n    image?: string;\n  };\n  Model116: {\n    /** @enum {string} */\n    kind?: \"token\";\n    data?: definitions[\"data\"];\n  };\n  order: {\n    id?: string;\n    /** @enum {string} */\n    side?: \"ask\" | \"bid\";\n    source?: definitions[\"source\"];\n    metadata?: definitions[\"Model116\"];\n  };\n  Model117: {\n    type?: string;\n    fromAddress?: string;\n    toAddress?: string;\n    price?: number;\n    amount?: number;\n    timestamp?: number;\n    createdAt?: string;\n    contract?: string;\n    token?: definitions[\"Model114\"];\n    collection?: definitions[\"Model115\"];\n    txHash?: string;\n    logIndex?: number;\n    batchIndex?: number;\n    order?: definitions[\"order\"];\n  };\n  activities: definitions[\"Model117\"][];\n  getCollectionActivityV4Response: {\n    continuation?: string;\n    activities?: definitions[\"activities\"];\n  };\n  Model118: {\n    tokenId?: string;\n    name?: string;\n    image?: string;\n    isSpam?: boolean;\n    isNsfw?: boolean;\n  };\n  Model119: {\n    id?: string;\n    name?: string;\n    image?: string;\n    isSpam?: boolean;\n    isNsfw?: boolean;\n  };\n  Model120: {\n    token?: definitions[\"Model118\"];\n    collection?: definitions[\"Model119\"];\n  };\n  Model121: {\n    /** @enum {string} */\n    kind?: \"token\";\n    data?: definitions[\"Model120\"];\n  };\n  Model122: {\n    id?: string;\n    /** @enum {string} */\n    side?: \"ask\" | \"bid\";\n    source?: definitions[\"source\"];\n    criteria?: definitions[\"Model121\"];\n  };\n  Model123: {\n    type?: string;\n    fromAddress?: string;\n    toAddress?: string;\n    price?: number;\n    amount?: number;\n    timestamp?: number;\n    createdAt?: string;\n    contract?: string;\n    token?: definitions[\"Model114\"];\n    collection?: definitions[\"Model115\"];\n    txHash?: string;\n    logIndex?: number;\n    batchIndex?: number;\n    order?: definitions[\"Model122\"];\n  };\n  Model124: definitions[\"Model123\"][];\n  getCollectionActivityV5Response: {\n    /** @default false */\n    es?: boolean;\n    continuation?: string;\n    activities?: definitions[\"Model124\"];\n  };\n  /** @description Return native currency unless displayCurrency contract was passed. */\n  Model125: {\n    currency?: definitions[\"currency\"];\n    amount?: definitions[\"amount\"];\n    netAmount?: definitions[\"netAmount\"];\n  };\n  Model126: {\n    tokenId?: string;\n    tokenName?: string;\n    tokenImage?: string;\n    isSpam?: boolean;\n    isNsfw?: boolean;\n    rarityScore?: number;\n    rarityRank?: number;\n  };\n  Model127: {\n    collectionId?: string;\n    collectionName?: string;\n    collectionImage?: string;\n    isSpam?: boolean;\n    isNsfw?: boolean;\n  };\n  Model128: {\n    id?: string;\n    /** @enum {string} */\n    side?: \"ask\" | \"bid\";\n    source?: definitions[\"metadata\"];\n    criteria?: definitions[\"Model121\"];\n  };\n  Model129: {\n    /** @description Possible types returned: `ask`, `ask_cancel`, `bid`, `bid_cancel`, `sale`, `mint, and `transfer`. */\n    type?: string;\n    fromAddress?: string;\n    toAddress?: string;\n    price?: definitions[\"Model125\"];\n    amount?: number;\n    /** @description Time when added on the blockchain. */\n    timestamp?: number;\n    /** @description Time when added in the indexer. */\n    createdAt?: string;\n    contract?: string;\n    token?: definitions[\"Model126\"];\n    collection?: definitions[\"Model127\"];\n    /** @description Txn hash from the blockchain. */\n    txHash?: string;\n    logIndex?: number;\n    batchIndex?: number;\n    fillSource?: definitions[\"source\"];\n    isAirdrop?: boolean;\n    comment?: string;\n    order?: definitions[\"Model128\"];\n  };\n  Model130: definitions[\"Model129\"][];\n  getCollectionActivityV6Response: {\n    continuation?: string;\n    activities?: definitions[\"Model130\"];\n  };\n  Model131: {\n    id?: string;\n    timestamp?: number;\n    volume?: number;\n    rank?: number;\n    /** @description Native currency to chain. */\n    floor_sell_value?: number;\n    sales_count?: number;\n  };\n  Model132: definitions[\"Model131\"][];\n  getDailyVolumesV1Response: {\n    collections?: definitions[\"Model132\"];\n  };\n  Model133: {\n    chainId?: number;\n    id?: string;\n    contract?: string;\n    image?: string;\n    name?: string;\n    tokenCount?: string;\n    /** @default false */\n    isSpam?: boolean;\n    slug?: string;\n    allTimeVolume?: number;\n    floorAskPrice?: number;\n    openseaVerificationStatus?: string;\n  };\n  Model134: definitions[\"Model133\"][];\n  getCollectionSearchV1Response: {\n    collections?: definitions[\"Model134\"];\n  };\n  Model135: {\n    name?: string;\n    image?: string;\n    id?: string;\n  };\n  Model136: {\n    contract?: string;\n    type?: string;\n    timestamp?: number;\n    toAddress?: string;\n    price?: definitions[\"price\"];\n    collection?: definitions[\"Model135\"];\n    token?: definitions[\"Model135\"];\n  };\n  recentSales: definitions[\"Model136\"][];\n  Model137: {\n    /** @description Collection id */\n    id?: string;\n    name?: string;\n    image?: string;\n    primaryContract?: string;\n    count?: number;\n    volume?: number;\n    volumePercentChange?: number;\n    countPercentChange?: number;\n    recentSales?: definitions[\"recentSales\"];\n  };\n  Model138: definitions[\"Model137\"][];\n  getTopSellingCollectionsV1Response: {\n    collections?: definitions[\"Model138\"];\n  };\n  Model139: {\n    /** @description Collection id */\n    id?: string;\n    name?: string;\n    image?: string;\n    banner?: string;\n    description?: string;\n    primaryContract?: string;\n    count?: number;\n    volume?: number;\n    volumePercentChange?: number;\n    countPercentChange?: number;\n    floorAsk?: definitions[\"Model19\"];\n    /** @description Total tokens within the collection. */\n    tokenCount?: number;\n    /** @description Unique number of owners. */\n    ownerCount?: number;\n    volumeChange?: definitions[\"Model28\"];\n    recentSales?: definitions[\"recentSales\"];\n  };\n  Model140: definitions[\"Model139\"][];\n  getTopSellingCollectionsV2Response: {\n    collections?: definitions[\"Model140\"];\n  };\n  Model141: {\n    id?: string;\n    sourceDomain?: string;\n    price?: definitions[\"price\"];\n    maker?: string;\n    validFrom?: number;\n    validUntil?: number;\n  };\n  Model142: {\n    /** @description Collection id */\n    id?: string;\n    name?: string;\n    image?: string;\n    banner?: string;\n    /** @default false */\n    isSpam?: boolean;\n    description?: string;\n    primaryContract?: string;\n    contract?: string;\n    count?: number;\n    volume?: number;\n    volumePercentChange?: number;\n    countPercentChange?: number;\n    creator?: string;\n    openseaVerificationStatus?: string;\n    magicedenVerificationStatus?: string;\n    sampleImages?: definitions[\"sampleImages\"];\n    onSaleCount?: number;\n    floorAsk?: definitions[\"Model19\"];\n    topBid?: definitions[\"Model141\"];\n    floorAskPercentChange?: number;\n    /** @description Total tokens within the collection. */\n    tokenCount?: number;\n    /** @description Unique number of owners. */\n    ownerCount?: number;\n    collectionVolume?: definitions[\"volume\"];\n    volumeChange?: definitions[\"Model28\"];\n  };\n  Model143: definitions[\"Model142\"][];\n  getTrendingCollectionsV1Response: {\n    collections?: definitions[\"Model143\"];\n  };\n  Model144: {\n    stage?: string;\n    tokenId?: string;\n    kind: string;\n    price?: definitions[\"price\"];\n    startTime?: number;\n    endTime?: number;\n    maxMintsPerWallet?: number;\n  };\n  Model145: definitions[\"Model144\"][];\n  Model146: {\n    /** @description Collection id */\n    id?: string;\n    name?: string;\n    image?: string;\n    banner?: string;\n    /** @default false */\n    isSpam?: boolean;\n    openseaVerificationStatus?: string;\n    magicedenVerificationStatus?: string;\n    description?: string;\n    primaryContract?: string;\n    contract?: string;\n    volumePercentChange?: number;\n    countPercentChange?: number;\n    creator?: string;\n    onSaleCount?: number;\n    floorAsk?: definitions[\"Model19\"];\n    /** @description Total tokens within the collection. */\n    tokenCount?: number;\n    /** @description Unique number of owners. */\n    ownerCount?: number;\n    isMinting?: boolean;\n    /** Format: date */\n    createdAt?: string;\n    /** Format: date */\n    startDate?: string;\n    /** Format: date */\n    endDate?: string;\n    maxSupply?: number;\n    mintPrice?: string;\n    sampleImages?: definitions[\"sampleImages\"];\n    mintVolume?: number;\n    mintCount?: number;\n    sixHourCount?: number;\n    oneHourCount?: number;\n    /** @enum {string} */\n    mintType?: \"free\" | \"paid\";\n    mintStandard?: string;\n    mintedTimestamp?: number;\n    lastMintTimestamp?: number;\n    mintStatus?: string;\n    mintStages?: definitions[\"Model145\"];\n    collectionVolume?: definitions[\"volume\"];\n    volumeChange?: definitions[\"Model28\"];\n  };\n  mints: definitions[\"Model146\"][];\n  \"get-trending-mintsV1Response\": {\n    mints?: definitions[\"mints\"];\n  };\n  Model147: {\n    stage?: string;\n    tokenId?: string;\n    kind: string;\n    standard?: string;\n    price?: definitions[\"price\"];\n    startTime?: number;\n    endTime?: number;\n    maxMintsPerWallet?: number;\n    pricePerQuantity?: definitions[\"pricePerQuantity\"];\n    maxMints?: number;\n  };\n  Model148: definitions[\"Model147\"][];\n  Model149: {\n    /** @description Collection id */\n    id?: string;\n    name?: string;\n    image?: string;\n    banner?: string;\n    /** @default false */\n    isSpam?: boolean;\n    openseaVerificationStatus?: string;\n    magicedenVerificationStatus?: string;\n    description?: string;\n    primaryContract?: string;\n    contract?: string;\n    volumePercentChange?: number;\n    countPercentChange?: number;\n    creator?: string;\n    onSaleCount?: number;\n    floorAsk?: definitions[\"Model19\"];\n    /** @description Total tokens within the collection. */\n    tokenCount?: string;\n    /** @description Unique number of owners. */\n    ownerCount?: number;\n    isMinting?: boolean;\n    /** Format: date */\n    createdAt?: string;\n    /** Format: date */\n    startDate?: string;\n    /** Format: date */\n    endDate?: string;\n    maxSupply?: number;\n    mintPrice?: definitions[\"price\"];\n    sampleImages?: definitions[\"sampleImages\"];\n    mintVolume?: number;\n    mintCount?: number;\n    sixHourCount?: number;\n    oneHourCount?: number;\n    /** @enum {string} */\n    mintType?: \"free\" | \"paid\";\n    mintStandard?: string;\n    mintedTimestamp?: number;\n    lastMintTimestamp?: number;\n    mintStatus?: string;\n    mintStages?: definitions[\"Model148\"];\n    collectionVolume?: definitions[\"volume\"];\n    volumeChange?: definitions[\"Model28\"];\n  };\n  Model150: definitions[\"Model149\"][];\n  \"get-trending-mintsV2Response\": {\n    mints?: definitions[\"Model150\"];\n  };\n  Model151: {\n    id?: string;\n    slug?: string;\n    name?: string;\n    metadata?: definitions[\"metadata\"];\n    sampleImages?: definitions[\"sampleImages\"];\n    tokenCount?: string;\n    onSaleCount?: string;\n    tokenSetId?: string;\n    royalties?: definitions[\"royalties\"];\n    lastBuy?: definitions[\"lastBuy\"];\n    lastSell?: definitions[\"lastBuy\"];\n    floorAsk?: definitions[\"floorAsk\"];\n    topBid?: definitions[\"topBid\"];\n    rank?: definitions[\"rank\"];\n    volume?: definitions[\"rank\"];\n  };\n  getCollectionDeprecatedV1Response: {\n    collection?: definitions[\"Model151\"];\n  };\n  getCurrencyConversionV1Response: {\n    conversion?: string;\n    usd?: string;\n  };\n  Model152: {\n    id?: string;\n    status?: string;\n    contract?: string;\n    tokenId?: string;\n    maker?: string;\n    price?: definitions[\"price\"];\n    quantityRemaining?: number;\n    nonce?: string;\n    validFrom?: number;\n    validUntil?: number;\n    source?: string;\n    isDynamic?: boolean;\n  };\n  event: {\n    id?: number;\n    /** @enum {string} */\n    kind?:\n      | \"new-order\"\n      | \"expiry\"\n      | \"sale\"\n      | \"cancel\"\n      | \"balance-change\"\n      | \"approval-change\"\n      | \"bootstrap\"\n      | \"revalidation\"\n      | \"reprice\";\n    txHash?: string;\n    txTimestamp?: number;\n    createdAt?: string;\n  };\n  Model153: {\n    order?: definitions[\"Model152\"];\n    event?: definitions[\"event\"];\n  };\n  events: definitions[\"Model153\"][];\n  getAsksEventsV2Response: {\n    events?: definitions[\"events\"];\n    continuation?: string;\n  };\n  Model154: {\n    /** @description Order Id */\n    id?: string;\n    status?: string;\n    contract?: string;\n    maker?: string;\n    price?: definitions[\"price\"];\n    /** @description With ERC1155s, quantity can be higher than 1 */\n    quantityRemaining?: number;\n    nonce?: string;\n    validFrom?: number;\n    validUntil?: number;\n    rawData?: definitions[\"metadata\"];\n    kind?: string;\n    source?: string;\n    isDynamic?: boolean;\n    criteria?: definitions[\"Model121\"];\n  };\n  Model155: {\n    id?: number;\n    /** @enum {string} */\n    kind?:\n      | \"new-order\"\n      | \"expiry\"\n      | \"sale\"\n      | \"cancel\"\n      | \"balance-change\"\n      | \"approval-change\"\n      | \"bootstrap\"\n      | \"revalidation\"\n      | \"reprice\";\n    txHash?: string;\n    /** @description Time when added on the blockchain. */\n    txTimestamp?: number;\n    /** @description Time when added to indexer */\n    createdAt?: string;\n  };\n  Model156: {\n    order?: definitions[\"Model154\"];\n    event?: definitions[\"Model155\"];\n  };\n  Model157: definitions[\"Model156\"][];\n  getAsksEventsV3Response: {\n    events?: definitions[\"Model157\"];\n    continuation?: string;\n  };\n  bid: {\n    id?: string;\n    status?: string;\n    contract?: string;\n    tokenSetId?: string;\n    maker?: string;\n    price?: number;\n    value?: number;\n    quantityRemaining?: number;\n    nonce?: string;\n    validFrom?: number;\n    validUntil?: number;\n    source?: string;\n    criteria?: definitions[\"Model121\"];\n  };\n  Model158: {\n    bid?: definitions[\"bid\"];\n    event?: definitions[\"event\"];\n  };\n  Model159: definitions[\"Model158\"][];\n  getBidEventsV1Response: {\n    events?: definitions[\"Model159\"];\n    continuation?: string;\n  };\n  Model160: {\n    id?: string;\n    status?: string;\n    contract?: string;\n    tokenSetId?: string;\n    maker?: string;\n    price?: number;\n    value?: number;\n    quantityRemaining?: number;\n    nonce?: string;\n    validFrom?: number;\n    validUntil?: number;\n    kind?: string;\n    source?: string;\n    criteria?: definitions[\"Model121\"];\n  };\n  Model161: {\n    bid?: definitions[\"Model160\"];\n    event?: definitions[\"event\"];\n  };\n  Model162: definitions[\"Model161\"][];\n  getBidEventsV2Response: {\n    events?: definitions[\"Model162\"];\n    continuation?: string;\n  };\n  Model163: {\n    /** @description Order Id */\n    id?: string;\n    /** @description Can return `active`,  inactive`, `expired`, `canceled`, or `filled`. */\n    status?: string;\n    contract?: string;\n    maker?: string;\n    price?: definitions[\"price\"];\n    /** @description With ERC1155s, quantity can be higher than 1 */\n    quantityRemaining?: number;\n    nonce?: string;\n    validFrom?: number;\n    validUntil?: number;\n    rawData?: definitions[\"metadata\"];\n    kind?: string;\n    source?: string;\n    criteria?: definitions[\"Model121\"];\n  };\n  Model164: {\n    bid?: definitions[\"Model163\"];\n    event?: definitions[\"Model155\"];\n  };\n  Model165: definitions[\"Model164\"][];\n  getBidEventsV3Response: {\n    events?: definitions[\"Model165\"];\n    continuation?: string;\n  };\n  Model166: {\n    id?: string;\n    status?: string;\n    contract?: string;\n    tokenId?: string;\n    maker?: string;\n    price?: number;\n    quantityRemaining?: number;\n    nonce?: string;\n    validFrom?: number;\n    validUntil?: number;\n    source?: string;\n  };\n  Model167: {\n    order?: definitions[\"Model166\"];\n    event?: definitions[\"event\"];\n  };\n  Model168: definitions[\"Model167\"][];\n  getOrderEventsV1Response: {\n    events?: definitions[\"Model168\"];\n    continuation?: string;\n  };\n  Model169: {\n    /** @enum {string} */\n    status: \"complete\" | \"incomplete\";\n    data?: definitions[\"metadata\"];\n    orderIndex?: number;\n  };\n  items: definitions[\"Model169\"][];\n  Model170: {\n    id: string;\n    action: string;\n    description: string;\n    /** @enum {string} */\n    kind: \"signature\" | \"transaction\";\n    items: definitions[\"items\"];\n  };\n  steps: definitions[\"Model170\"][];\n  getExecuteCancelV2Response: {\n    steps?: definitions[\"steps\"];\n  };\n  Model171: {\n    user?: string;\n    rank: number;\n    tokenCount: string;\n    liquidity: number;\n    maxTopBuyValue: number;\n    wethBalance: number;\n  };\n  liquidity: definitions[\"Model171\"][];\n  getUsersLiquidityV1Response: {\n    liquidity?: definitions[\"liquidity\"];\n  };\n  Model172: {\n    kind?: string;\n    recipient?: string;\n    bps?: string;\n  };\n  Model173: definitions[\"Model172\"][];\n  Model174: {\n    id: string;\n    kind: string;\n    /** @enum {string} */\n    side: \"buy\" | \"sell\";\n    tokenSetId: string;\n    tokenSetSchemaHash: string;\n    contract?: string;\n    maker: string;\n    taker: string;\n    price: number;\n    value: number;\n    validFrom: number;\n    validUntil: number;\n    source?: string;\n    feeBps?: number;\n    feeBreakdown?: definitions[\"Model173\"];\n    status?: string;\n    expiration: number;\n    createdAt: string;\n    updatedAt: string;\n    metadata?: definitions[\"metadata\"];\n    rawData?: definitions[\"metadata\"];\n  };\n  Model175: definitions[\"Model174\"][];\n  getOrdersAllV1Response: {\n    orders?: definitions[\"Model175\"];\n    continuation?: string;\n  };\n  Model176: {\n    kind?: string;\n    recipient?: string;\n    bps?: string;\n    required?: boolean;\n  };\n  Model177: definitions[\"Model176\"][];\n  Model178: {\n    id: string;\n    kind: string;\n    /** @enum {string} */\n    side: \"buy\" | \"sell\";\n    tokenSetId: string;\n    tokenSetSchemaHash: string;\n    contract?: string;\n    maker: string;\n    taker: string;\n    price?: definitions[\"price\"];\n    validFrom: number;\n    validUntil: number;\n    source?: string;\n    feeBps?: number;\n    feeBreakdown?: definitions[\"Model177\"];\n    status?: string;\n    expiration: number;\n    createdAt: string;\n    updatedAt: string;\n    metadata?: definitions[\"metadata\"];\n    rawData?: definitions[\"metadata\"];\n  };\n  Model179: definitions[\"Model178\"][];\n  getOrdersAllV2Response: {\n    orders?: definitions[\"Model179\"];\n    continuation?: string;\n  };\n  Model180: {\n    collectionName?: string;\n    tokenName?: string;\n    image?: string;\n  };\n  Model181: {\n    /** @enum {string} */\n    kind?: \"token\";\n    data?: definitions[\"Model180\"];\n  };\n  Model182: {\n    kind?: string;\n    recipient?: string;\n    bps?: number;\n  };\n  Model183: definitions[\"Model182\"][];\n  Model184: {\n    id: string;\n    kind: string;\n    /** @enum {string} */\n    side: \"buy\" | \"sell\";\n    tokenSetId: string;\n    tokenSetSchemaHash: string;\n    contract?: string;\n    maker: string;\n    taker: string;\n    price: number;\n    value: number;\n    validFrom: number;\n    validUntil: number;\n    metadata?: definitions[\"Model181\"];\n    status?: string;\n    source?: definitions[\"source\"];\n    feeBps?: number;\n    feeBreakdown?: definitions[\"Model183\"];\n    expiration: number;\n    createdAt: string;\n    updatedAt: string;\n    rawData?: definitions[\"metadata\"];\n  };\n  Model185: definitions[\"Model184\"][];\n  getOrdersAsksV1Response: {\n    orders?: definitions[\"Model185\"];\n    continuation?: string;\n  };\n  Model186: {\n    id: string;\n    kind: string;\n    /** @enum {string} */\n    side: \"buy\" | \"sell\";\n    tokenSetId: string;\n    tokenSetSchemaHash: string;\n    contract?: string;\n    maker: string;\n    taker: string;\n    price?: definitions[\"price\"];\n    validFrom: number;\n    validUntil: number;\n    quantityFilled?: number;\n    quantityRemaining?: number;\n    metadata?: definitions[\"Model181\"];\n    status?: string;\n    source?: definitions[\"source\"];\n    feeBps?: number;\n    feeBreakdown?: definitions[\"Model183\"];\n    expiration: number;\n    isReservoir?: boolean;\n    isDynamic?: boolean;\n    createdAt: string;\n    updatedAt: string;\n    rawData?: definitions[\"metadata\"];\n  };\n  Model187: definitions[\"Model186\"][];\n  getOrdersAsksV3Response: {\n    orders?: definitions[\"Model187\"];\n    continuation?: string;\n  };\n  Model188: {\n    start?: definitions[\"price\"];\n    end?: definitions[\"price\"];\n  };\n  time: {\n    start?: number;\n    end?: number;\n  };\n  Model189: {\n    price?: definitions[\"Model188\"];\n    time?: definitions[\"time\"];\n  };\n  Model190: {\n    /** @enum {string} */\n    kind?: \"dutch\";\n    data?: definitions[\"Model189\"];\n  };\n  Model191: {\n    /** @description Can be marketplace or royalty */\n    kind?: string;\n    recipient?: string;\n    bps?: number;\n  };\n  Model192: definitions[\"Model191\"][];\n  Model193: {\n    price?: number;\n    quantity?: number;\n    uniqueMakers?: number;\n  };\n  depth: definitions[\"Model193\"][];\n  Model194: {\n    id: string;\n    /** @description This is the `orderKind`. */\n    kind: string;\n    /**\n     * @description Either `buy` or `sell`\n     * @enum {string}\n     */\n    side: \"buy\" | \"sell\";\n    /** @description Can be `active`, `inactive`, `expired`, `canceled`, or `filled` */\n    status?: string;\n    tokenSetId: string;\n    tokenSetSchemaHash: string;\n    contract?: string;\n    contractKind?: string;\n    maker: string;\n    taker: string;\n    price?: definitions[\"Model125\"];\n    validFrom: number;\n    validUntil: number;\n    /** @description With ERC1155s, quantity can be higher than 1 */\n    quantityFilled?: number;\n    /** @description With ERC1155s, quantity can be higher than 1 */\n    quantityRemaining?: number;\n    dynamicPricing?: definitions[\"Model190\"];\n    criteria?: definitions[\"Model121\"];\n    source?: definitions[\"metadata\"];\n    feeBps?: number;\n    feeBreakdown?: definitions[\"Model192\"];\n    expiration: number;\n    isReservoir?: boolean;\n    isDynamic?: boolean;\n    /** @description Time when added to indexer */\n    createdAt: string;\n    /** @description Time when updated in indexer */\n    updatedAt: string;\n    /** @description Time when created by maker */\n    originatedAt?: string;\n    rawData?: definitions[\"metadata\"];\n    isNativeOffChainCancellable?: boolean;\n    depth?: definitions[\"depth\"];\n  };\n  /** @description `taker` will have wallet address if private listing. */\n  Model195: definitions[\"Model194\"][];\n  getOrdersAsksV4Response: {\n    orders?: definitions[\"Model195\"];\n    continuation?: string;\n  };\n  Model196: {\n    id: string;\n    kind: string;\n    /** @enum {string} */\n    side: \"buy\" | \"sell\";\n    status?: string;\n    tokenSetId: string;\n    tokenSetSchemaHash: string;\n    contract?: string;\n    maker: string;\n    taker: string;\n    price: number;\n    value: number;\n    validFrom: number;\n    validUntil: number;\n    metadata?: definitions[\"Model181\"];\n    source?: definitions[\"metadata\"];\n    feeBps?: number;\n    feeBreakdown?: definitions[\"Model183\"];\n    expiration: number;\n    createdAt: string;\n    updatedAt: string;\n    rawData?: definitions[\"metadata\"];\n  };\n  Model197: definitions[\"Model196\"][];\n  getOrdersBidsV1Response: {\n    orders?: definitions[\"Model197\"];\n    continuation?: string;\n  };\n  Model198: {\n    id: string;\n    kind: string;\n    /** @enum {string} */\n    side: \"buy\" | \"sell\";\n    status?: string;\n    tokenSetId: string;\n    tokenSetSchemaHash: string;\n    contract?: string;\n    maker: string;\n    taker: string;\n    price?: definitions[\"price\"];\n    validFrom: number;\n    validUntil: number;\n    quantityFilled?: number;\n    quantityRemaining?: number;\n    metadata?: definitions[\"Model181\"];\n    source?: definitions[\"metadata\"];\n    feeBps?: number;\n    feeBreakdown?: definitions[\"Model183\"];\n    expiration: number;\n    isReservoir?: boolean;\n    createdAt: string;\n    updatedAt: string;\n    rawData?: definitions[\"metadata\"];\n  };\n  Model199: definitions[\"Model198\"][];\n  getOrdersBidsV3Response: {\n    orders?: definitions[\"Model199\"];\n    continuation?: string;\n  };\n  Model200: {\n    id: string;\n    kind: string;\n    /** @enum {string} */\n    side: \"buy\" | \"sell\";\n    status?: string;\n    tokenSetId: string;\n    tokenSetSchemaHash: string;\n    contract?: string;\n    maker: string;\n    taker: string;\n    price?: definitions[\"price\"];\n    validFrom: number;\n    validUntil: number;\n    quantityFilled?: number;\n    quantityRemaining?: number;\n    metadata?: definitions[\"Model116\"];\n    source?: definitions[\"source\"];\n    feeBps?: number;\n    feeBreakdown?: definitions[\"Model183\"];\n    expiration: number;\n    isReservoir?: boolean;\n    createdAt: string;\n    updatedAt: string;\n    rawData?: definitions[\"metadata\"];\n  };\n  Model201: definitions[\"Model200\"][];\n  getOrdersBidsV4Response: {\n    orders?: definitions[\"Model201\"];\n    continuation?: string;\n  };\n  Model202: definitions[\"Model194\"][];\n  getOrdersBidsV5Response: {\n    orders?: definitions[\"Model202\"];\n    continuation?: string;\n  };\n  getOrdersDepthV1Response: {\n    depth?: definitions[\"depth\"];\n  };\n  Model203: {\n    /** @description Contract address */\n    address?: string;\n    /** @description Token count */\n    count?: number;\n    owners?: definitions[\"sampleImages\"];\n  };\n  Model204: definitions[\"Model203\"][];\n  getCommonCollectionsOwnersV1Response: {\n    collections?: definitions[\"Model204\"];\n  };\n  Model205: {\n    /** @description Wallet Address */\n    address?: string;\n    /** @description Token Count */\n    count?: number;\n    collections?: definitions[\"sampleImages\"];\n  };\n  Model206: definitions[\"Model205\"][];\n  getCrossCollectionsOwnersV1Response: {\n    owners?: definitions[\"Model206\"];\n  };\n  Model207: {\n    tokenId?: string;\n    contract?: string;\n    txHash?: string;\n    createdAt?: string;\n    updatedAt?: string;\n  };\n  Model208: definitions[\"Model207\"][];\n  getPendingTokensV1Response: {\n    items?: definitions[\"Model208\"];\n  };\n  Model209: {\n    /** @description Possible types returned: `ask`, `ask_cancel`, `bid`, `bid_cancel`, `sale`, `mint, and `transfer`. */\n    type?: string;\n    fromAddress?: string;\n    toAddress?: string;\n    data?: string;\n    timestamp?: string;\n  };\n  Model210: definitions[\"Model209\"][];\n  getPortfolioActivityV1Response: {\n    continuation?: string;\n    activities?: definitions[\"Model210\"];\n  };\n  portfolio: {\n    totalUsdValue?: number;\n  };\n  getPortfolioValueV1Response: {\n    portfolio?: definitions[\"portfolio\"];\n  };\n  Model211: {\n    contract?: string;\n    tokenId?: string;\n  };\n  Model212: {\n    id?: string;\n    saleId?: string;\n    token?: definitions[\"Model211\"];\n    orderSource?: string;\n    orderSourceDomain?: string;\n    /** @enum {string} */\n    orderSide?: \"ask\" | \"bid\";\n    orderKind?: string;\n    from?: string;\n    to?: string;\n    amount?: string;\n    fillSource?: string;\n    txHash?: string;\n    logIndex?: number;\n    batchIndex?: number;\n    timestamp?: number;\n    price?: number;\n  };\n  Model213: definitions[\"Model212\"][];\n  getSalesBulkV1Response: {\n    sales?: definitions[\"Model213\"];\n    continuation?: string;\n  };\n  Model214: {\n    id?: string;\n    name?: string;\n    image?: string;\n    media?: string;\n  };\n  Model215: {\n    id?: string;\n    name?: string;\n    image?: string;\n  };\n  Model216: {\n    type?: string;\n    fromAddress?: string;\n    toAddress?: string;\n    price?: definitions[\"price\"];\n    amount?: number;\n    timestamp?: number;\n    createdAt?: string;\n    contract?: string;\n    token?: definitions[\"Model214\"];\n    collection?: definitions[\"Model215\"];\n    txHash?: string;\n    logIndex?: number;\n    batchIndex?: number;\n    order?: definitions[\"Model128\"];\n  };\n  Model217: definitions[\"Model216\"][];\n  getSearchActivitiesV1Response: {\n    continuation?: string;\n    activities?: definitions[\"Model217\"];\n  };\n  Model218: {\n    collectionId?: string;\n    contract?: string;\n    image?: string;\n    name?: string;\n    tokenCount?: string;\n    allTimeVolume?: number;\n    floorAskPrice?: number;\n    openseaVerificationStatus?: string;\n  };\n  Model219: definitions[\"Model218\"][];\n  getSearchCollectionsV1Response: {\n    collections?: definitions[\"Model219\"];\n  };\n  /** @description Current floor ask price. */\n  Model220: {\n    currency?: definitions[\"currency\"];\n    amount?: definitions[\"amount\"];\n    netAmount?: definitions[\"netAmount\"];\n  };\n  Model221: {\n    collectionId?: string;\n    contract?: string;\n    image?: string;\n    name?: string;\n    /** @default false */\n    isSpam?: boolean;\n    /** @default false */\n    metadataDisabled?: boolean;\n    slug?: string;\n    allTimeVolume?: number;\n    floorAskPrice?: definitions[\"Model220\"];\n    openseaVerificationStatus?: string;\n  };\n  Model222: definitions[\"Model221\"][];\n  getSearchCollectionsV2Response: {\n    collections?: definitions[\"Model222\"];\n  };\n  /** @description Total volume in given time period. */\n  Model223: {\n    \"1day\"?: definitions[\"price\"];\n    \"7day\"?: definitions[\"price\"];\n    \"30day\"?: definitions[\"price\"];\n    allTime?: definitions[\"price\"];\n  };\n  Model224: {\n    id?: string;\n    contract?: string;\n    image?: string;\n    name?: string;\n    /** @default false */\n    isSpam?: boolean;\n    /** @default false */\n    isNsfw?: boolean;\n    slug?: string;\n    rank?: definitions[\"Model21\"];\n    volume?: definitions[\"Model223\"];\n    floorAskPrice?: definitions[\"Model220\"];\n    openseaVerificationStatus?: string;\n    magicedenVerificationStatus?: string;\n  };\n  Model225: {\n    collection?: definitions[\"Model224\"];\n    score?: number;\n  };\n  Model226: definitions[\"Model225\"][];\n  getSearchCollectionsV3Response: {\n    collections?: definitions[\"Model226\"];\n  };\n  Model227: {\n    amount?: string;\n    recipient?: string;\n    bps?: number;\n  };\n  missingRoyalties: definitions[\"Model227\"][];\n  Model228: {\n    id: string;\n    kind: string;\n    /** @enum {string} */\n    side: \"buy\" | \"sell\";\n    tokenSetId: string;\n    tokenSetSchemaHash: string;\n    contract?: string;\n    maker: string;\n    taker: string;\n    price?: definitions[\"price\"];\n    normalizedPrice?: definitions[\"price\"];\n    validFrom: number;\n    validUntil: number;\n    quantityFilled?: number;\n    quantityRemaining?: number;\n    status?: string;\n    source?: definitions[\"source\"];\n    feeBps?: number;\n    feeBreakdown?: definitions[\"Model183\"];\n    missingRoyalties?: definitions[\"missingRoyalties\"];\n    expiration: number;\n    isReservoir?: boolean;\n    isDynamic?: boolean;\n    createdAt: string;\n    updatedAt: string;\n    rawData?: definitions[\"metadata\"];\n  };\n  Model229: definitions[\"Model228\"][];\n  syncOrdersAsksV1Response: {\n    orders?: definitions[\"Model229\"];\n    continuation?: string;\n  };\n  Model230: {\n    contract?: string;\n    tokenId?: string;\n    image?: string;\n    orderId?: string;\n    maker?: string;\n    validFrom?: number;\n    validUntil?: number;\n    /** @description Native currency of chain */\n    price?: number;\n    source?: string;\n  };\n  Model231: definitions[\"Model230\"][];\n  getTokensBootstrapV1Response: {\n    tokens?: definitions[\"Model231\"];\n    continuation?: string;\n  };\n  Model232: {\n    key?: string;\n    value: string;\n  };\n  Model233: definitions[\"Model232\"][];\n  Model234: {\n    contract: string;\n    tokenId: string;\n    name?: string;\n    description?: string;\n    image?: string;\n    kind?: string;\n    collection?: definitions[\"Model51\"];\n    lastBuy?: definitions[\"lastBuy\"];\n    lastSell?: definitions[\"lastBuy\"];\n    owner?: string;\n    attributes?: definitions[\"Model233\"];\n  };\n  Model235: {\n    id?: string;\n    price?: number;\n    maker?: string;\n    validFrom?: number;\n    validUntil?: number;\n    source?: definitions[\"metadata\"];\n  };\n  Model236: {\n    floorAsk?: definitions[\"Model235\"];\n    topBid?: definitions[\"topBid\"];\n  };\n  Model237: {\n    token?: definitions[\"Model234\"];\n    market?: definitions[\"Model236\"];\n  };\n  Model238: definitions[\"Model237\"][];\n  getTokensDetailsV2Response: {\n    tokens?: definitions[\"Model238\"];\n    continuation?: string;\n  };\n  Model239: {\n    contract: string;\n    tokenId: string;\n    name?: string;\n    description?: string;\n    image?: string;\n    kind?: string;\n    collection?: definitions[\"Model75\"];\n    lastBuy?: definitions[\"lastBuy\"];\n    lastSell?: definitions[\"lastBuy\"];\n    owner?: string;\n    attributes?: definitions[\"Model233\"];\n  };\n  Model240: {\n    token?: definitions[\"Model239\"];\n    market?: definitions[\"Model236\"];\n  };\n  Model241: definitions[\"Model240\"][];\n  getTokensDetailsV3Response: {\n    tokens?: definitions[\"Model241\"];\n    continuation?: string;\n  };\n  Model242: {\n    key?: string;\n    value: string;\n    tokenCount?: number;\n    onSaleCount?: number;\n    floorAskPrice?: number;\n    topBidValue?: number;\n  };\n  Model243: definitions[\"Model242\"][];\n  Model244: {\n    contract: string;\n    tokenId: string;\n    name?: string;\n    description?: string;\n    image?: string;\n    media?: string;\n    kind?: string;\n    /** @default false */\n    isFlagged?: boolean;\n    lastFlagUpdate?: string;\n    collection?: definitions[\"Model75\"];\n    lastBuy?: definitions[\"lastBuy\"];\n    lastSell?: definitions[\"lastBuy\"];\n    owner?: string;\n    attributes?: definitions[\"Model243\"];\n  };\n  Model245: {\n    id?: string;\n    price?: number;\n    maker?: string;\n    validFrom?: number;\n    validUntil?: number;\n    source?: definitions[\"source\"];\n  };\n  Model246: {\n    floorAsk?: definitions[\"Model245\"];\n    topBid?: definitions[\"topBid\"];\n  };\n  Model247: {\n    token?: definitions[\"Model244\"];\n    market?: definitions[\"Model246\"];\n  };\n  Model248: definitions[\"Model247\"][];\n  getTokensDetailsV4Response: {\n    tokens?: definitions[\"Model248\"];\n    continuation?: string;\n  };\n  getTokensFloorV1Response: {\n    tokens?: {\n      string?: number;\n    };\n  };\n  Model249: string[];\n  getTokensIdsV1Response: {\n    tokens?: definitions[\"Model249\"];\n    continuation?: string;\n  };\n  Model250: {\n    startTimestamp?: number;\n    endTimestamp?: number;\n    high?: string;\n    low?: string;\n    open?: string;\n    close?: string;\n    priceUSD?: number;\n  };\n  prices: definitions[\"Model250\"][];\n  getTokensPricesV1Response: {\n    prices?: definitions[\"prices\"];\n  };\n  Model251: {\n    id?: string;\n    token?: definitions[\"Model211\"];\n    from?: string;\n    to?: string;\n    /** @description Can be more than 1 if erc1155. */\n    amount?: string;\n    block?: number;\n    logIndex?: number;\n    batchIndex?: number;\n    timestamp?: number;\n  };\n  Model252: definitions[\"Model251\"][];\n  Model253: {\n    hash: string;\n    synced: boolean;\n    transfers?: definitions[\"Model252\"];\n  };\n  transactions: definitions[\"Model253\"][];\n  getTransactionSyncedV2Response: {\n    transactions?: definitions[\"transactions\"];\n  };\n  Model254: {\n    id?: string;\n    token?: definitions[\"Model211\"];\n    from?: string;\n    to?: string;\n    /** @description Can be more than 1 if erc1155. */\n    amount?: string;\n    block?: number;\n    txHash?: string;\n    logIndex?: number;\n    batchIndex?: number;\n    timestamp?: number;\n    isDeleted?: boolean;\n    /** @description Time when updated in indexer */\n    updatedAt?: string;\n  };\n  Model255: definitions[\"Model254\"][];\n  getTransfersBulkV1Response: {\n    transfers?: definitions[\"Model255\"];\n    continuation?: string;\n  };\n  Model256: {\n    type?: string;\n    fromAddress?: string;\n    toAddress?: string;\n    price?: number;\n    amount?: number;\n    timestamp?: number;\n    token?: definitions[\"Model114\"];\n    collection?: definitions[\"Model115\"];\n    txHash?: string;\n    logIndex?: number;\n    batchIndex?: number;\n    source?: definitions[\"source\"];\n  };\n  Model257: definitions[\"Model256\"][];\n  getUserActivityV2Response: {\n    continuation?: number;\n    activities?: definitions[\"Model257\"];\n  };\n  Model258: {\n    type?: string;\n    fromAddress?: string;\n    toAddress?: string;\n    price?: number;\n    amount?: number;\n    timestamp?: number;\n    token?: definitions[\"Model114\"];\n    collection?: definitions[\"Model115\"];\n    txHash?: string;\n    logIndex?: number;\n    batchIndex?: number;\n    source?: definitions[\"source\"];\n    createdAt?: string;\n  };\n  Model259: definitions[\"Model258\"][];\n  getUserActivityV3Response: {\n    continuation?: string;\n    activities?: definitions[\"Model259\"];\n  };\n  Model260: {\n    type?: string;\n    fromAddress?: string;\n    toAddress?: string;\n    price?: number;\n    amount?: number;\n    timestamp?: number;\n    contract?: string;\n    token?: definitions[\"Model114\"];\n    collection?: definitions[\"Model115\"];\n    txHash?: string;\n    logIndex?: number;\n    batchIndex?: number;\n    order?: definitions[\"order\"];\n    createdAt?: string;\n  };\n  Model261: definitions[\"Model260\"][];\n  getUserActivityV4Response: {\n    continuation?: string;\n    activities?: definitions[\"Model261\"];\n  };\n  Model262: {\n    tokenId?: string;\n    tokenName?: string;\n    tokenImage?: string;\n    lastBuy?: definitions[\"lastBuy\"];\n    lastSell?: definitions[\"lastBuy\"];\n    tokenRarityScore?: number;\n    tokenRarityRank?: number;\n    tokenMedia?: string;\n  };\n  Model263: {\n    type?: string;\n    fromAddress?: string;\n    toAddress?: string;\n    price?: number;\n    amount?: number;\n    timestamp?: number;\n    contract?: string;\n    token?: definitions[\"Model262\"];\n    collection?: definitions[\"Model115\"];\n    txHash?: string;\n    logIndex?: number;\n    batchIndex?: number;\n    order?: definitions[\"Model122\"];\n    createdAt?: string;\n  };\n  Model264: definitions[\"Model263\"][];\n  getUserActivityV5Response: {\n    continuation?: string;\n    activities?: definitions[\"Model264\"];\n  };\n  Model265: {\n    tokenId?: string;\n    tokenName?: string;\n    tokenImage?: string;\n    /** @default false */\n    isSpam?: boolean;\n    /** @default false */\n    isNsfw?: boolean;\n    lastBuy?: definitions[\"lastBuy\"];\n    lastSell?: definitions[\"lastBuy\"];\n    /** @description No rarity for collections over 100k */\n    tokenRarityScore?: number;\n    /** @description No rarity rank for collections over 100k */\n    tokenRarityRank?: number;\n    tokenMedia?: string;\n  };\n  Model266: {\n    collectionId?: string;\n    collectionName?: string;\n    collectionImage?: string;\n    /** @default false */\n    isSpam?: boolean;\n    /** @default false */\n    isNsfw?: boolean;\n  };\n  Model267: {\n    /** @description Possible types returned: `ask`, `ask_cancel`, `bid`, `bid_cancel`, `sale`, `mint, and `transfer`. */\n    type?: string;\n    fromAddress?: string;\n    toAddress?: string;\n    price?: definitions[\"Model125\"];\n    amount?: number;\n    /** @description Time when added on the blockchain. */\n    timestamp?: number;\n    contract?: string;\n    token?: definitions[\"Model265\"];\n    collection?: definitions[\"Model266\"];\n    /** @description Txn hash from the blockchain. */\n    txHash?: string;\n    logIndex?: number;\n    batchIndex?: number;\n    fillSource?: definitions[\"source\"];\n    isAirdrop?: boolean;\n    comment?: string;\n    order?: definitions[\"Model128\"];\n    createdAt?: string;\n  };\n  Model268: definitions[\"Model267\"][];\n  getUserActivityV6Response: {\n    continuation?: string;\n    activities?: definitions[\"Model268\"];\n  };\n  /** @description Marketplace Fee */\n  Model269: {\n    bps?: number;\n  };\n  Model270: {\n    minBps?: number;\n    maxBps?: number;\n  };\n  /** @description erc20 contract addresses */\n  supportedBidCurrencies: string[];\n  Model271: {\n    address?: string;\n    decimals?: number;\n    name?: string;\n    symbol?: string;\n  };\n  paymentTokens: definitions[\"Model271\"][];\n  string: {\n    orderKind?: string;\n    enabled?: boolean;\n    customFeesSupported?: boolean;\n    numFeesSupported?: number;\n    minimumBidExpiry?: number;\n    minimumPrecision?: string;\n    collectionBidSupported?: boolean;\n    traitBidSupported?: boolean;\n    /** @description This indicates whether or not multi quantity bidding is supported */\n    partialOrderSupported?: boolean;\n    supportedBidCurrencies?: definitions[\"supportedBidCurrencies\"];\n    paymentTokens?: definitions[\"paymentTokens\"];\n    maxPriceRaw?: string;\n    minPriceRaw?: string;\n    oracleEnabled?: boolean;\n  };\n  Model272: {\n    name?: string;\n    domain?: string;\n    imageUrl?: string;\n    fee?: definitions[\"Model269\"];\n    royalties?: definitions[\"Model270\"];\n    orderbook?: string;\n    exchanges?: { [key: string]: definitions[\"string\"] };\n  };\n  Model273: definitions[\"Model272\"][];\n  Model274: {\n    marketplaces?: definitions[\"Model273\"];\n  };\n  Model275: {\n    address?: string;\n    volume?: number;\n    count?: number;\n  };\n  topTraders: definitions[\"Model275\"][];\n  getTopTradersV1Response: {\n    topTraders?: definitions[\"topTraders\"];\n  };\n  Model276: {\n    value?: number;\n    quantity?: number;\n  };\n  topBids: definitions[\"Model276\"][];\n  getCollectionTopBidsV1Response: {\n    topBids?: definitions[\"topBids\"];\n  };\n  Model277: {\n    type?: string;\n    fromAddress?: string;\n    toAddress?: string;\n    price?: number;\n    amount?: number;\n    timestamp?: number;\n    createdAt?: string;\n    token?: definitions[\"Model114\"];\n    collection?: definitions[\"Model115\"];\n    txHash?: string;\n    logIndex?: number;\n    batchIndex?: number;\n    source?: definitions[\"source\"];\n  };\n  Model278: definitions[\"Model277\"][];\n  getCollectionActivityV2Response: {\n    continuation?: string;\n    activities?: definitions[\"Model278\"];\n  };\n  Model279: {\n    id?: string;\n    /** @enum {string} */\n    side?: \"ask\" | \"bid\";\n    source?: definitions[\"source\"];\n  };\n  Model280: {\n    type?: string;\n    fromAddress?: string;\n    toAddress?: string;\n    price?: number;\n    amount?: number;\n    timestamp?: number;\n    createdAt?: string;\n    contract?: string;\n    token?: definitions[\"Model114\"];\n    collection?: definitions[\"Model115\"];\n    txHash?: string;\n    logIndex?: number;\n    batchIndex?: number;\n    order?: definitions[\"Model279\"];\n  };\n  Model281: definitions[\"Model280\"][];\n  getCollectionActivityV3Response: {\n    continuation?: string;\n    activities?: definitions[\"Model281\"];\n  };\n  Model282: {\n    value: number;\n    timestamp: number;\n  };\n  lastBuys: definitions[\"Model282\"][];\n  floorAskPrices: number[];\n  Model283: {\n    key: string;\n    value: string;\n    tokenCount: number;\n    sampleImages?: definitions[\"sampleImages\"];\n    lastBuys?: definitions[\"lastBuys\"];\n    lastSells?: definitions[\"lastBuys\"];\n    floorAskPrices?: definitions[\"floorAskPrices\"];\n    topBid?: definitions[\"topBid\"];\n  };\n  Model284: definitions[\"Model283\"][];\n  getCollectionAttributesV1Response: {\n    attributes?: definitions[\"Model284\"];\n  };\n  Model285: {\n    tokenCount?: number;\n    /** @description The amount of owners that have the same `tokenCount`. */\n    ownerCount?: number;\n  };\n  ownersDistribution: definitions[\"Model285\"][];\n  getCollectionOwnersDistributionV1Response: {\n    ownersDistribution?: definitions[\"ownersDistribution\"];\n  };\n  Model286: {\n    name?: string;\n    domain?: string;\n    imageUrl?: string;\n    fee?: definitions[\"Model269\"];\n    royalties?: definitions[\"Model270\"];\n    orderbook?: string;\n    orderKind?: string;\n    listingEnabled?: boolean;\n    customFeesSupported?: boolean;\n    minimumBidExpiry?: number;\n    minimumPrecision?: string;\n    collectionBidSupported?: boolean;\n    traitBidSupported?: boolean;\n    /** @description This indicates whether or not multi quantity bidding is supported */\n    partialBidSupported?: boolean;\n    supportedBidCurrencies?: definitions[\"supportedBidCurrencies\"];\n    paymentTokens?: definitions[\"paymentTokens\"];\n  };\n  Model287: definitions[\"Model286\"][];\n  Model288: {\n    marketplaces?: definitions[\"Model287\"];\n  };\n  /** @description Orderbook Fee */\n  Model289: {\n    bps?: number;\n  };\n  /** @description erc20 contract addresses */\n  Model290: definitions[\"Model271\"][];\n  Model291: {\n    fee?: definitions[\"Model289\"];\n    orderKind?: string;\n    enabled?: boolean;\n    customFeesSupported?: boolean;\n    royaltiesEnforced?: boolean;\n    numFeesSupported?: number;\n    minimumBidExpiry?: number;\n    minimumPrecision?: string;\n    collectionBidSupported?: boolean;\n    traitBidSupported?: boolean;\n    /** @description This indicates whether or not multi quantity bidding is supported */\n    partialOrderSupported?: boolean;\n    supportedBidCurrencies?: definitions[\"Model290\"];\n    paymentTokens?: definitions[\"paymentTokens\"];\n    maxPriceRaw?: string;\n    minPriceRaw?: string;\n    oracleEnabled?: boolean;\n  };\n  Model292: {\n    name?: string;\n    domain?: string;\n    imageUrl?: string;\n    fee?: definitions[\"Model269\"];\n    royalties?: definitions[\"Model270\"];\n    orderbook?: string;\n    exchanges?: {\n      string?: definitions[\"Model291\"];\n    };\n  };\n  Model293: definitions[\"Model292\"][];\n  Model294: {\n    marketplaces?: definitions[\"Model293\"];\n  };\n  Model295: {\n    tokenCount?: number;\n    /** @description The amount of owners with the same `tokenCount`. */\n    ownerCount?: number;\n  };\n  Model296: definitions[\"Model295\"][];\n  getCollectionsSetOwnersDistributionV1Response: {\n    ownersDistribution?: definitions[\"Model296\"];\n  };\n  Model297: {\n    id?: string;\n  };\n  Model298: {\n    orderId?: string;\n    contract?: string;\n    tokenId?: string;\n    maker?: string;\n    price?: number;\n    validUntil?: number;\n    source?: string;\n  };\n  Model299: {\n    id?: number;\n    /** @enum {string} */\n    kind?:\n      | \"new-order\"\n      | \"expiry\"\n      | \"sale\"\n      | \"cancel\"\n      | \"balance-change\"\n      | \"approval-change\"\n      | \"bootstrap\"\n      | \"revalidation\"\n      | \"reprice\";\n    previousPrice?: number;\n    txHash?: string;\n    txTimestamp?: number;\n    createdAt?: string;\n  };\n  Model300: {\n    collection?: definitions[\"Model297\"];\n    floorAsk?: definitions[\"Model298\"];\n    event?: definitions[\"Model299\"];\n  };\n  Model301: definitions[\"Model300\"][];\n  getCollectionsFloorAskV1Response: {\n    events?: definitions[\"Model301\"];\n    continuation?: string;\n  };\n  Model302: {\n    orderId?: string;\n    contract?: string;\n    tokenId?: string;\n    maker?: string;\n    price?: definitions[\"price\"];\n    validUntil?: number;\n    source?: string;\n  };\n  Model303: {\n    id?: number;\n    /** @enum {string} */\n    kind?:\n      | \"new-order\"\n      | \"expiry\"\n      | \"sale\"\n      | \"cancel\"\n      | \"balance-change\"\n      | \"approval-change\"\n      | \"bootstrap\"\n      | \"revalidation\"\n      | \"reprice\";\n    previousPrice?: number;\n    txHash?: string;\n    /** @description Time when added on the blockchain. */\n    txTimestamp?: number;\n    /** @description Time when added to indexer */\n    createdAt?: string;\n  };\n  Model304: {\n    collection?: definitions[\"Model297\"];\n    floorAsk?: definitions[\"Model302\"];\n    event?: definitions[\"Model303\"];\n  };\n  Model305: definitions[\"Model304\"][];\n  getCollectionsFloorAskV2Response: {\n    events?: definitions[\"Model305\"];\n    continuation?: string;\n  };\n  Model306: {\n    orderId?: string;\n    contract?: string;\n    tokenSetId?: string;\n    maker?: string;\n    price?: number;\n    validUntil?: number;\n    source?: string;\n  };\n  Model307: {\n    collection?: definitions[\"Model297\"];\n    topBid?: definitions[\"Model306\"];\n    event?: definitions[\"Model299\"];\n  };\n  Model308: definitions[\"Model307\"][];\n  getCollectionsTopbidV1Response: {\n    events?: definitions[\"Model308\"];\n    continuation?: string;\n  };\n  Model309: {\n    orderId?: string;\n    contract?: string;\n    tokenSetId?: string;\n    maker?: string;\n    price?: definitions[\"price\"];\n    validUntil?: number;\n    source?: string;\n  };\n  Model310: {\n    collection?: definitions[\"Model297\"];\n    topBid?: definitions[\"Model309\"];\n    event?: definitions[\"Model303\"];\n  };\n  Model311: definitions[\"Model310\"][];\n  getCollectionsTopbidV2Response: {\n    events?: definitions[\"Model311\"];\n    continuation?: string;\n  };\n  Model312: {\n    orderId?: string;\n    maker?: string;\n    nonce?: string;\n    price?: number;\n    validFrom?: number;\n    validUntil?: number;\n    source?: string;\n  };\n  Model313: {\n    token?: definitions[\"Model211\"];\n    floorAsk?: definitions[\"Model312\"];\n    event?: definitions[\"Model299\"];\n  };\n  Model314: definitions[\"Model313\"][];\n  getTokensFloorAskV2Response: {\n    events?: definitions[\"Model314\"];\n    continuation?: string;\n  };\n  Model315: {\n    orderId?: string;\n    maker?: string;\n    nonce?: string;\n    price?: definitions[\"price\"];\n    validFrom?: number;\n    validUntil?: number;\n    source?: string;\n    isDynamic?: boolean;\n  };\n  Model316: {\n    token?: definitions[\"Model211\"];\n    floorAsk?: definitions[\"Model315\"];\n    event?: definitions[\"Model299\"];\n  };\n  Model317: definitions[\"Model316\"][];\n  getTokensFloorAskV3Response: {\n    events?: definitions[\"Model317\"];\n    continuation?: string;\n  };\n  Model318: {\n    orderId?: string;\n    maker?: string;\n    nonce?: string;\n    price?: definitions[\"price\"];\n    validFrom?: number;\n    validUntil?: number;\n    source?: definitions[\"source\"];\n    dynamicPricing?: definitions[\"dynamicPricing\"];\n    isDynamic?: boolean;\n  };\n  Model319: {\n    token?: definitions[\"Model211\"];\n    floorAsk?: definitions[\"Model318\"];\n    event?: definitions[\"Model303\"];\n  };\n  Model320: definitions[\"Model319\"][];\n  getTokensFloorAskV4Response: {\n    events?: definitions[\"Model320\"];\n    continuation?: string;\n  };\n  message: {\n    id: string;\n    payload: string;\n    timestamp: number;\n    chainId: string;\n    signature: string;\n  };\n  getCollectionBidAskMidpointOracleV1Response: {\n    price: number;\n    message?: definitions[\"message\"];\n  };\n  Model321: {\n    id: string;\n    payload: string;\n    timestamp: number;\n    signature: string;\n  };\n  getCollectionFloorAskOracleV4Response: {\n    price: number;\n    message?: definitions[\"Model321\"];\n    data?: string;\n  };\n  getCollectionFloorAskOracleV6Response: {\n    price: number;\n    message?: definitions[\"message\"];\n    data?: string;\n  };\n  getCollectionTopBidOracleV2Response: {\n    price: number;\n    message?: definitions[\"Model321\"];\n  };\n  Model322: {\n    token: string;\n    isFlagged: boolean;\n    lastTransferTime: number;\n    message?: definitions[\"Model321\"];\n  };\n  messages: definitions[\"Model322\"][];\n  getTokenStatusOracleV2Response: {\n    messages?: definitions[\"messages\"];\n  };\n  Model323: {\n    token: string;\n    isFlagged: boolean;\n    lastTransferTime: number;\n    message?: definitions[\"message\"];\n  };\n  Model324: definitions[\"Model323\"][];\n  getTokenStatusOracleV3Response: {\n    messages?: definitions[\"Model324\"];\n  };\n  Model325: {\n    startTimestamp?: number;\n    endTimestamp?: number;\n    totalUsdValue?: number;\n  };\n  Model326: definitions[\"Model325\"][];\n  getHistoricalPortfolioValueV1Response: {\n    portfolio?: definitions[\"Model326\"];\n  };\n  Model327: {\n    id?: string;\n    price?: definitions[\"price\"];\n    maker?: string;\n    validFrom?: number;\n    validUntil?: number;\n    source?: definitions[\"source\"];\n  };\n  Model328: {\n    id?: string;\n    name?: string;\n    floorAsk?: definitions[\"Model327\"];\n  };\n  /** @description Can be null if not active bids. */\n  Model329: {\n    id?: string;\n    price?: definitions[\"price\"];\n    source?: definitions[\"source\"];\n  };\n  nft: {\n    contract?: string;\n    tokenId?: string;\n    /** @description Can be erc721, erc115, etc. */\n    kind?: string;\n    name?: string;\n    image?: string;\n    imageSmall?: string;\n    imageLarge?: string;\n    metadata?: definitions[\"metadata\"];\n    description?: string;\n    /** @description Can be higher than one if erc1155. */\n    supply?: number;\n    remainingSupply?: number;\n    /** @description No rarity rank for collections over 100k */\n    rarityRank?: number;\n    media?: string;\n    /** @default false */\n    isFlagged?: boolean;\n    /** @default false */\n    isSpam?: boolean;\n    /** @default false */\n    isNsfw?: boolean;\n    /** @default false */\n    metadataDisabled?: boolean;\n    lastFlagUpdate?: string;\n    lastFlagChange?: string;\n    collection?: definitions[\"Model328\"];\n    topBid?: definitions[\"Model329\"];\n    floorAsk?: definitions[\"Model94\"];\n  };\n  /** @description Can be null if no asks. */\n  Model330: {\n    id?: string;\n    price?: definitions[\"price\"];\n    maker?: string;\n    kind?: string;\n    validFrom?: number;\n    validUntil?: number;\n    source?: definitions[\"source\"];\n    rawData?: definitions[\"metadata\"];\n    isNativeOffChainCancellable?: boolean;\n  };\n  Model331: {\n    tokenCount?: string;\n    onSaleCount?: string;\n    floorAsk?: definitions[\"Model330\"];\n    acquiredAt?: string;\n  };\n  Model332: {\n    nft?: definitions[\"nft\"];\n    ownership?: definitions[\"Model331\"];\n  };\n  nfts: definitions[\"Model332\"][];\n  getNftsBalancesV1Response: {\n    nfts?: definitions[\"nfts\"];\n    continuation?: string;\n  };\n  balance: {\n    raw?: string;\n    decimal?: number;\n  };\n  Model333: {\n    contract?: string;\n    metadata?: definitions[\"Model40\"];\n    name?: string;\n    symbol?: string;\n    decimals?: number;\n    balance?: definitions[\"balance\"];\n    usdPrice?: number;\n    usdValue?: number;\n    usdPriceChange?: definitions[\"usdPriceChange\"];\n  };\n  Model334: definitions[\"Model333\"][];\n  getTokensBalanceV1Response: {\n    tokens?: definitions[\"Model334\"];\n    continuation?: string;\n  };\n  Model335: {\n    tokenId: string;\n    lastFlagChange?: string;\n    /** @default false */\n    isFlagged?: boolean;\n    contract: string;\n  };\n  Model336: definitions[\"Model335\"][];\n  getFlaggedTokensV1Response: {\n    tokens?: definitions[\"Model336\"];\n    continuation?: string;\n  };\n  getTokenActivityV4Response: {\n    continuation?: string;\n    activities?: definitions[\"Model124\"];\n  };\n  Model337: {\n    collectionId?: string;\n    collectionName?: string;\n    collectionImage?: string;\n    /** @default false */\n    isSpam?: boolean;\n    isNsfw?: boolean;\n  };\n  Model338: {\n    /** @description Possible types returned: `ask`, `ask_cancel`, `bid`, `bid_cancel`, `sale`, `mint, and `transfer`. */\n    type?: string;\n    fromAddress?: string;\n    toAddress?: string;\n    price?: definitions[\"Model125\"];\n    amount?: number;\n    /** @description Time when added on the blockchain. */\n    timestamp?: number;\n    /** @description Time when added in the indexer. */\n    createdAt?: string;\n    contract?: string;\n    token?: definitions[\"Model126\"];\n    collection?: definitions[\"Model337\"];\n    /** @description Txn hash from the blockchain. */\n    txHash?: string;\n    logIndex?: number;\n    batchIndex?: number;\n    fillSource?: definitions[\"source\"];\n    isAirdrop?: boolean;\n    comment?: string;\n    order?: definitions[\"Model128\"];\n  };\n  Model339: definitions[\"Model338\"][];\n  getTokenActivityV5Response: {\n    continuation?: string;\n    activities?: definitions[\"Model339\"];\n  };\n  getTransactionSyncedV1Response: {\n    synced: boolean;\n  };\n  Model340: {\n    bps?: number;\n    recipient?: string;\n  };\n  Model341: definitions[\"Model340\"][];\n  Model342: {\n    id?: string;\n    name?: string;\n    /** @description Open Sea slug */\n    slug?: string;\n    symbol?: string;\n    imageUrl?: string;\n    /** @default false */\n    isSpam?: boolean;\n    /** @default false */\n    isNsfw?: boolean;\n    /** @default false */\n    metadataDisabled?: boolean;\n    openseaVerificationStatus?: string;\n    magicedenVerificationStatus?: string;\n    floorAskPrice?: definitions[\"Model88\"];\n    royaltiesBps?: number;\n    royalties?: definitions[\"Model341\"];\n  };\n  Model343: {\n    /** @description Case sensitive */\n    key?: string;\n    /** @description Can be `string`, `number, `date, or `range`. */\n    kind?: string;\n    /** @description Case sensitive. */\n    value: string;\n    tokenCount?: number;\n    onSaleCount?: number;\n    floorAskPrice?: definitions[\"Model88\"];\n    /** @description Can be null. */\n    topBidValue?: number;\n    createdAt?: string;\n  };\n  Model344: definitions[\"Model343\"][];\n  Model345: {\n    chainId: number;\n    contract?: string;\n    tokenId?: string;\n    /** @description Can be erc721, erc115, etc. */\n    kind?: string;\n    name?: string;\n    image?: string;\n    imageSmall?: string;\n    imageLarge?: string;\n    metadata?: definitions[\"metadata\"];\n    description?: string;\n    /** @description Can be higher than one if erc1155. */\n    supply?: number;\n    remainingSupply?: number;\n    /** @description No rarity for collections over 100k */\n    rarityScore?: number;\n    /** @description No rarity rank for collections over 100k */\n    rarityRank?: number;\n    media?: string;\n    /** @default false */\n    isFlagged?: boolean;\n    /** @default false */\n    isSpam?: boolean;\n    /** @default false */\n    isNsfw?: boolean;\n    /** @default false */\n    metadataDisabled?: boolean;\n    lastFlagUpdate?: string;\n    lastFlagChange?: string;\n    collection?: definitions[\"Model342\"];\n    lastSale?: definitions[\"Model61\"];\n    topBid?: definitions[\"Model329\"];\n    /** @description The value of the last sale.Can be null. */\n    lastAppraisalValue?: number;\n    attributes?: definitions[\"Model344\"];\n  };\n  Model346: {\n    token?: definitions[\"Model345\"];\n    ownership?: definitions[\"Model331\"];\n  };\n  Model347: definitions[\"Model346\"][];\n  getUserTokensV9Response: {\n    tokens?: definitions[\"Model347\"];\n    continuation?: string;\n  };\n  Model348: {\n    id?: string;\n    name?: string;\n    /** @description Open Sea slug */\n    slug?: string;\n    symbol?: string;\n    imageUrl?: string;\n    /** @default false */\n    isSpam?: boolean;\n    /** @default false */\n    metadataDisabled?: boolean;\n    openseaVerificationStatus?: string;\n    floorAskPrice?: definitions[\"Model88\"];\n    royaltiesBps?: number;\n    royalties?: definitions[\"Model341\"];\n  };\n  Model349: {\n    /** @description Case sensitive */\n    key?: string;\n    /** @description Can be `string`, `number, `date, or `range`. */\n    kind?: string;\n    /** @description Case sensitive. */\n    value: string;\n    tokenCount?: number;\n    onSaleCount?: number;\n    /** @description Can be null. */\n    floorAskPrice?: number;\n    /** @description Can be null. */\n    topBidValue?: number;\n    createdAt?: string;\n  };\n  Model350: definitions[\"Model349\"][];\n  Model351: {\n    chainId: number;\n    contract?: string;\n    tokenId?: string;\n    /** @description Can be erc721, erc115, etc. */\n    kind?: string;\n    name?: string;\n    image?: string;\n    imageSmall?: string;\n    imageLarge?: string;\n    metadata?: definitions[\"metadata\"];\n    description?: string;\n    /** @description Can be higher than one if erc1155. */\n    supply?: number;\n    remainingSupply?: number;\n    /** @description No rarity for collections over 100k */\n    rarityScore?: number;\n    /** @description No rarity rank for collections over 100k */\n    rarityRank?: number;\n    media?: string;\n    /** @default false */\n    isFlagged?: boolean;\n    /** @default false */\n    isSpam?: boolean;\n    /** @default false */\n    metadataDisabled?: boolean;\n    lastFlagUpdate?: string;\n    lastFlagChange?: string;\n    collection?: definitions[\"Model348\"];\n    lastSale?: definitions[\"Model61\"];\n    topBid?: definitions[\"Model329\"];\n    /** @description The value of the last sale.Can be null. */\n    lastAppraisalValue?: number;\n    attributes?: definitions[\"Model350\"];\n  };\n  Model352: {\n    token?: definitions[\"Model351\"];\n    ownership?: definitions[\"Model331\"];\n  };\n  Model353: definitions[\"Model352\"][];\n  getUserTokensV7Response: {\n    tokens?: definitions[\"Model353\"];\n    continuation?: string;\n  };\n  Model354: {\n    id?: string;\n    name?: string;\n    imageUrl?: string;\n    floorAskPrice?: number;\n  };\n  Model355: {\n    id?: string;\n    price?: definitions[\"price\"];\n  };\n  Model356: {\n    contract?: string;\n    tokenId?: string;\n    name?: string;\n    image?: string;\n    collection?: definitions[\"Model354\"];\n    topBid?: definitions[\"Model355\"];\n  };\n  Model357: {\n    tokenCount?: string;\n    onSaleCount?: string;\n    floorAsk?: definitions[\"Model327\"];\n    acquiredAt?: string;\n  };\n  Model358: {\n    token?: definitions[\"Model356\"];\n    ownership?: definitions[\"Model357\"];\n  };\n  Model359: definitions[\"Model358\"][];\n  getUserTokensV5Response: {\n    tokens?: definitions[\"Model359\"];\n  };\n  Model360: {\n    id?: string;\n    value?: number;\n  };\n  Model361: {\n    contract?: string;\n    tokenId?: string;\n    name?: string;\n    image?: string;\n    collection?: definitions[\"Model354\"];\n    topBid?: definitions[\"Model360\"];\n  };\n  Model362: {\n    tokenCount?: string;\n    onSaleCount?: string;\n    floorAskPrice?: number;\n    acquiredAt?: string;\n  };\n  Model363: {\n    token?: definitions[\"Model361\"];\n    ownership?: definitions[\"Model362\"];\n  };\n  Model364: definitions[\"Model363\"][];\n  getUserTokensV3Response: {\n    tokens?: definitions[\"Model364\"];\n  };\n  Model365: {\n    id?: string;\n    value?: number;\n    schema?: definitions[\"metadata\"];\n  };\n  Model366: {\n    contract?: string;\n    tokenId?: string;\n    name?: string;\n    image?: string;\n    collection?: definitions[\"Model51\"];\n    topBid?: definitions[\"Model365\"];\n  };\n  Model367: {\n    tokenCount?: string;\n    onSaleCount?: string;\n    floorSellValue?: number;\n    acquiredAt?: number;\n  };\n  Model368: {\n    token?: definitions[\"Model366\"];\n    ownership?: definitions[\"Model367\"];\n  };\n  Model369: definitions[\"Model368\"][];\n  getUserTokensV1Response: {\n    tokens?: definitions[\"Model369\"];\n  };\n  set: {\n    id?: string;\n    metadata?: definitions[\"Model181\"];\n    sampleImages?: definitions[\"sampleImages\"];\n    image?: string;\n    floorAskPrice?: number;\n    topBidValue?: number;\n  };\n  primaryOrder: {\n    id?: string;\n    value?: number;\n    expiration?: number;\n  };\n  Model370: {\n    set?: definitions[\"set\"];\n    primaryOrder?: definitions[\"primaryOrder\"];\n    totalValid?: number;\n  };\n  positions: definitions[\"Model370\"][];\n  getUserPositionsV1Response: {\n    positions?: definitions[\"positions\"];\n  };\n  /** @description Current floor ask price */\n  Model371: {\n    currency?: definitions[\"currency\"];\n    amount?: definitions[\"amount\"];\n    netAmount?: definitions[\"netAmount\"];\n  };\n  /** @description Top bid offer currently if offer is valid */\n  Model372: {\n    currency?: definitions[\"currency\"];\n    amount?: definitions[\"amount\"];\n    netAmount?: definitions[\"netAmount\"];\n  };\n  Model373: {\n    /** @description Collection Id */\n    id?: string;\n    slug?: string;\n    name?: string;\n    image?: string;\n    /** @default false */\n    isSpam?: boolean;\n    banner?: string;\n    discordUrl?: string;\n    externalUrl?: string;\n    twitterUsername?: string;\n    twitterUrl?: string;\n    openseaVerificationStatus?: string;\n    description?: string;\n    /** @default false */\n    metadataDisabled?: boolean;\n    sampleImages?: definitions[\"sampleImages\"];\n    /** @description Total token count */\n    tokenCount?: string;\n    tokenSetId?: string;\n    primaryContract?: string;\n    floorAskPrice?: definitions[\"Model371\"];\n    topBidValue?: definitions[\"Model372\"];\n    topBidMaker?: string;\n    topBidSourceDomain?: string;\n    rank?: definitions[\"Model21\"];\n    volume?: definitions[\"volume\"];\n    volumeChange?: definitions[\"Model28\"];\n    floorSale?: definitions[\"floorSale\"];\n    /** @description Returns `erc721`, `erc1155`, etc. */\n    contractKind?: string;\n  };\n  Model374: {\n    tokenCount?: string;\n    onSaleCount?: string;\n    liquidCount?: string;\n  };\n  Model375: {\n    collection?: definitions[\"Model373\"];\n    ownership?: definitions[\"Model374\"];\n  };\n  Model376: definitions[\"Model375\"][];\n  getUserCollectionsV3Response: {\n    collections?: definitions[\"Model376\"];\n  };\n  Model377: {\n    imageUrl?: string;\n    discordUrl?: string;\n    description?: string;\n    externalUrl?: string;\n    bannerImageUrl?: string;\n    twitterUsername?: string;\n  };\n  Model378: {\n    id?: string;\n    name?: string;\n    metadata?: definitions[\"Model377\"];\n    floorAskPrice?: number;\n    topBidValue?: number;\n  };\n  Model379: {\n    collection?: definitions[\"Model378\"];\n    ownership?: definitions[\"Model374\"];\n  };\n  Model380: definitions[\"Model379\"][];\n  getUserCollectionsV1Response: {\n    collections?: definitions[\"Model380\"];\n  };\n  Model381: {\n    type?: string;\n    fromAddress?: string;\n    toAddress?: string;\n    price?: number;\n    amount?: number;\n    timestamp?: number;\n    token?: definitions[\"Model114\"];\n    collection?: definitions[\"Model115\"];\n    txHash?: string;\n    logIndex?: number;\n    batchIndex?: number;\n  };\n  Model382: definitions[\"Model381\"][];\n  getUserActivityV1Response: {\n    continuation?: number;\n    activities?: definitions[\"Model382\"];\n  };\n  Model383: {\n    id?: string;\n    slug?: string;\n    createdAt?: string;\n    name?: string;\n    image?: string;\n    banner?: string;\n    discordUrl?: string;\n    externalUrl?: string;\n    twitterUsername?: string;\n    openseaVerificationStatus?: string;\n    description?: string;\n    sampleImages?: definitions[\"sampleImages\"];\n    tokenCount?: string;\n    tokenSetId?: string;\n    primaryContract?: string;\n    floorAskPrice?: number;\n    topBidValue?: number;\n    topBidMaker?: string;\n    topBidSourceDomain?: string;\n    rank?: definitions[\"rank\"];\n    volume?: definitions[\"rank\"];\n    volumeChange?: definitions[\"volumeChange\"];\n    floorSale?: definitions[\"volumeChange\"];\n  };\n  Model384: {\n    collection?: definitions[\"Model383\"];\n    ownership?: definitions[\"Model374\"];\n  };\n  Model385: definitions[\"Model384\"][];\n  getUserCollectionsV2Response: {\n    collections?: definitions[\"Model385\"];\n  };\n  Model386: {\n    /** @description Collection Id */\n    id?: string;\n    slug?: string;\n    name?: string;\n    image?: string;\n    /** @default false */\n    isSpam?: boolean;\n    banner?: string;\n    discordUrl?: string;\n    externalUrl?: string;\n    twitterUsername?: string;\n    twitterUrl?: string;\n    openseaVerificationStatus?: string;\n    magicedenVerificationStatus?: string;\n    description?: string;\n    /** @default false */\n    metadataDisabled?: boolean;\n    sampleImages?: definitions[\"sampleImages\"];\n    /** @description Total token count */\n    tokenCount?: string;\n    tokenSetId?: string;\n    primaryContract?: string;\n    floorAskPrice?: definitions[\"Model371\"];\n    topBidValue?: definitions[\"Model372\"];\n    topBidMaker?: string;\n    topBidSourceDomain?: string;\n    rank?: definitions[\"Model21\"];\n    volume?: definitions[\"volume\"];\n    volumeChange?: definitions[\"Model28\"];\n    floorSale?: definitions[\"floorSale\"];\n    /** @description Returns `erc721`, `erc1155`, etc. */\n    contractKind?: string;\n  };\n  Model387: {\n    tokenCount?: string;\n    onSaleCount?: string;\n    liquidCount?: string;\n    totalValue?: number;\n  };\n  Model388: {\n    collection?: definitions[\"Model386\"];\n    ownership?: definitions[\"Model387\"];\n  };\n  Model389: definitions[\"Model388\"][];\n  getUserCollectionsV4Response: {\n    collections?: definitions[\"Model389\"];\n  };\n  Model390: {\n    contract?: string;\n    tokenId?: string;\n    name?: string;\n    image?: string;\n    collection?: definitions[\"Model354\"];\n  };\n  Model391: {\n    token?: definitions[\"Model390\"];\n    ownership?: definitions[\"Model362\"];\n  };\n  Model392: definitions[\"Model391\"][];\n  getUserTokensV2Response: {\n    tokens?: definitions[\"Model392\"];\n  };\n  Model393: {\n    tokenCount?: string;\n    onSaleCount?: string;\n    floorAskPrice?: definitions[\"price\"];\n    acquiredAt?: string;\n  };\n  Model394: {\n    token?: definitions[\"Model356\"];\n    ownership?: definitions[\"Model393\"];\n  };\n  Model395: definitions[\"Model394\"][];\n  getUserTokensV4Response: {\n    tokens?: definitions[\"Model395\"];\n  };\n  Model396: {\n    contract?: string;\n    tokenId?: string;\n    kind?: string;\n    name?: string;\n    image?: string;\n    lastBuy?: definitions[\"lastBuy\"];\n    lastSell?: definitions[\"lastBuy\"];\n    rarityScore?: number;\n    rarityRank?: number;\n    media?: string;\n    collection?: definitions[\"Model354\"];\n    topBid?: definitions[\"Model355\"];\n    lastAppraisalValue?: number;\n  };\n  Model397: {\n    id?: string;\n    price?: definitions[\"price\"];\n    maker?: string;\n    validFrom?: number;\n    validUntil?: number;\n    dynamicPricing?: definitions[\"Model190\"];\n    source?: definitions[\"source\"];\n  };\n  Model398: {\n    tokenCount?: string;\n    onSaleCount?: string;\n    floorAsk?: definitions[\"Model397\"];\n    acquiredAt?: string;\n  };\n  Model399: {\n    token?: definitions[\"Model396\"];\n    ownership?: definitions[\"Model398\"];\n  };\n  Model400: definitions[\"Model399\"][];\n  getUserTokensV6Response: {\n    tokens?: definitions[\"Model400\"];\n    continuation?: string;\n  };\n  Model401: {\n    id?: string;\n    name?: string;\n    /** @description Open Sea slug */\n    slug?: string;\n    symbol?: string;\n    imageUrl?: string;\n    /** @default false */\n    isSpam?: boolean;\n    /** @default false */\n    isNsfw?: boolean;\n    /** @default false */\n    metadataDisabled?: boolean;\n    openseaVerificationStatus?: string;\n    floorAskPrice?: definitions[\"Model88\"];\n    royaltiesBps?: number;\n    royalties?: definitions[\"Model341\"];\n  };\n  Model402: {\n    chainId: number;\n    contract?: string;\n    tokenId?: string;\n    /** @description Can be erc721, erc115, etc. */\n    kind?: string;\n    name?: string;\n    image?: string;\n    imageSmall?: string;\n    imageLarge?: string;\n    metadata?: definitions[\"metadata\"];\n    description?: string;\n    /** @description Can be higher than one if erc1155. */\n    supply?: number;\n    remainingSupply?: number;\n    /** @description No rarity for collections over 100k */\n    rarityScore?: number;\n    /** @description No rarity rank for collections over 100k. */\n    rarityRank?: number;\n    media?: string;\n    /** @default false */\n    isFlagged?: boolean;\n    /** @default false */\n    isSpam?: boolean;\n    /** @default false */\n    isNsfw?: boolean;\n    /** @default false */\n    metadataDisabled?: boolean;\n    lastFlagUpdate?: string;\n    lastFlagChange?: string;\n    collection?: definitions[\"Model401\"];\n    lastSale?: definitions[\"Model61\"];\n    topBid?: definitions[\"Model329\"];\n    /** @description The value of the last sale.Can be null. */\n    lastAppraisalValue?: number;\n    attributes?: definitions[\"Model344\"];\n  };\n  Model403: {\n    token?: definitions[\"Model402\"];\n    ownership?: definitions[\"Model331\"];\n  };\n  Model404: definitions[\"Model403\"][];\n  getUserTokensV8Response: {\n    tokens?: definitions[\"Model404\"];\n    continuation?: string;\n  };\n  Model405: {\n    id?: string;\n    name?: string;\n    /** @description Open Sea slug */\n    slug?: string;\n    symbol?: string;\n    /** @description Time when contract was deployed */\n    contractDeployedAt?: string;\n    imageUrl?: string;\n    /** @default false */\n    isSpam?: boolean;\n    /** @default false */\n    isNsfw?: boolean;\n    /** @default false */\n    metadataDisabled?: boolean;\n    openseaVerificationStatus?: string;\n    /** @description Total tokens within the collection. */\n    tokenCount?: string;\n    floorAsk?: definitions[\"Model327\"];\n    royaltiesBps?: number;\n    royalties?: definitions[\"Model341\"];\n  };\n  Model406: {\n    chainId: number;\n    contract?: string;\n    tokenId?: string;\n    /** @description Can be erc721, erc115, etc. */\n    kind?: string;\n    name?: string;\n    image?: string;\n    imageSmall?: string;\n    imageLarge?: string;\n    metadata?: definitions[\"metadata\"];\n    description?: string;\n    /** @description Can be higher than one if erc1155. */\n    supply?: number;\n    remainingSupply?: number;\n    /** @description No rarity for collections over 100k */\n    rarityScore?: number;\n    /** @description No rarity rank for collections over 100k */\n    rarityRank?: number;\n    media?: string;\n    /** @default false */\n    isFlagged?: boolean;\n    /** @default false */\n    isSpam?: boolean;\n    /** @default false */\n    isNsfw?: boolean;\n    /** @default false */\n    metadataDisabled?: boolean;\n    lastFlagUpdate?: string;\n    lastFlagChange?: string;\n    collection?: definitions[\"Model405\"];\n    lastSale?: definitions[\"Model61\"];\n    topBid?: definitions[\"Model329\"];\n    floorAsk?: definitions[\"Model94\"];\n    /** @description The value of the last sale.Can be null. */\n    lastAppraisalValue?: number;\n    attributes?: definitions[\"Model344\"];\n  };\n  Model407: {\n    token?: definitions[\"Model406\"];\n    ownership?: definitions[\"Model331\"];\n  };\n  Model408: definitions[\"Model407\"][];\n  getUserTokensV10Response: {\n    tokens?: definitions[\"Model408\"];\n    continuation?: string;\n  };\n  Model409: {\n    tokenId: string;\n    value: number;\n    timestamp: number;\n  };\n  Model410: definitions[\"Model409\"][];\n  Model411: {\n    key: string;\n    value: string;\n    tokenCount: number;\n    onSaleCount: number;\n    sampleImages?: definitions[\"sampleImages\"];\n    floorAskPrices?: definitions[\"floorAskPrices\"];\n    lastBuys?: definitions[\"Model410\"];\n    lastSells?: definitions[\"Model410\"];\n    topBid?: definitions[\"topBid\"];\n  };\n  Model412: definitions[\"Model411\"][];\n  getAttributesExploreV5Response: {\n    attributes?: definitions[\"Model412\"];\n    continuation?: string;\n  };\n  getAttributesExploreV3Response: {\n    attributes?: definitions[\"Model412\"];\n  };\n  Model413: {\n    value: string;\n    count?: number;\n    tokens?: definitions[\"sampleImages\"];\n  };\n  Model414: definitions[\"Model413\"][];\n  Model415: {\n    key: string;\n    /** @enum {string} */\n    kind: \"string\" | \"number\" | \"date\" | \"range\";\n    values?: definitions[\"Model414\"];\n  };\n  Model416: definitions[\"Model415\"][];\n  getAttributesStaticV1Response: {\n    attributes?: definitions[\"Model416\"];\n  };\n  Model417: {\n    value: string;\n    count?: number;\n    /** @description Returned only for attributes with less than 10k tokens */\n    floorAskPrice?: number;\n  };\n  Model418: definitions[\"Model417\"][];\n  Model419: {\n    key: string;\n    attributeCount?: number;\n    /** @enum {string} */\n    kind: \"string\" | \"number\" | \"date\" | \"range\";\n    minRange?: number;\n    maxRange?: number;\n    values?: definitions[\"Model418\"];\n  };\n  Model420: definitions[\"Model419\"][];\n  getAttributesAllV3Response: {\n    attributes?: definitions[\"Model420\"];\n  };\n  Model421: {\n    value: string;\n    count?: number;\n    floorAskPrice?: number;\n  };\n  Model422: definitions[\"Model421\"][];\n  Model423: {\n    key: string;\n    attributeCount?: number;\n    /** @enum {string} */\n    kind: \"string\" | \"number\" | \"date\" | \"range\";\n    minRange?: number;\n    maxRange?: number;\n    values?: definitions[\"Model422\"];\n  };\n  Model424: definitions[\"Model423\"][];\n  getAttributesAllV2Response: {\n    attributes?: definitions[\"Model424\"];\n  };\n  /** @description Returned only for attributes with less than 10k tokens */\n  Model425: {\n    currency?: definitions[\"currency\"];\n    amount?: definitions[\"amount\"];\n    netAmount?: definitions[\"netAmount\"];\n  };\n  Model426: {\n    /** @description Case sensitive */\n    value: string;\n    count?: number;\n    floorAskPrice?: definitions[\"Model425\"];\n  };\n  Model427: definitions[\"Model426\"][];\n  Model428: {\n    /** @description Case sensitive */\n    key: string;\n    /** @description Number of possible attribute kinds */\n    attributeCount?: number;\n    /** @enum {string} */\n    kind: \"string\" | \"number\" | \"date\" | \"range\";\n    minRange?: number;\n    maxRange?: number;\n    values?: definitions[\"Model427\"];\n  };\n  Model429: definitions[\"Model428\"][];\n  getAttributesAllV4Response: {\n    attributes?: definitions[\"Model429\"];\n  };\n  Model430: {\n    key: string;\n    value: string;\n    tokenCount: number;\n    onSaleCount: number;\n    sampleImages?: definitions[\"sampleImages\"];\n    floorAskPrices?: definitions[\"floorAskPrices\"];\n    lastSells?: definitions[\"Model410\"];\n    topBid?: definitions[\"topBid\"];\n  };\n  Model431: definitions[\"Model430\"][];\n  getAttributesExploreV2Response: {\n    attributes?: definitions[\"Model431\"];\n  };\n  /** @description Current floor price ask. */\n  Model432: number[];\n  Model433: {\n    /** @description Case sensitive */\n    key: string;\n    /** @description Case sensitive */\n    value: string;\n    /** @description Total token count with this attribute. */\n    tokenCount: number;\n    /** @description Token count with this attribute on sale. */\n    onSaleCount: number;\n    sampleImages?: definitions[\"sampleImages\"];\n    floorAskPrices?: definitions[\"Model432\"];\n    lastBuys?: definitions[\"Model410\"];\n    lastSells?: definitions[\"Model410\"];\n    topBid?: definitions[\"topBid\"];\n  };\n  Model434: definitions[\"Model433\"][];\n  getAttributesExploreV4Response: {\n    attributes?: definitions[\"Model434\"];\n    continuation?: string;\n  };\n  Model435: {\n    id?: string;\n    price?: definitions[\"price\"];\n    maker?: string;\n    validFrom?: number;\n    validUntil?: number;\n  };\n  floorAsks: definitions[\"Model435\"][];\n  Model436: {\n    key: string;\n    value: string;\n    tokenCount: number;\n    onSaleCount: number;\n    sampleImages?: definitions[\"sampleImages\"];\n    floorAsks?: definitions[\"floorAsks\"];\n    lastBuys?: definitions[\"Model410\"];\n    lastSells?: definitions[\"Model410\"];\n    topBid?: definitions[\"Model435\"];\n  };\n  Model437: definitions[\"Model436\"][];\n  getAttributesExploreV6Response: {\n    attributes?: definitions[\"Model437\"];\n    continuation?: string;\n  };\n  /** @description Native currency to chain unless displayCurrency is passed. */\n  Model438: {\n    currency?: definitions[\"currency\"];\n    amount?: definitions[\"amount\"];\n    netAmount?: definitions[\"netAmount\"];\n  };\n  Model439: {\n    id?: string;\n    name?: string;\n    imageUrl?: string;\n    floorAskPrice?: definitions[\"Model438\"];\n  };\n  Model440: {\n    contract?: string;\n    tokenId?: string;\n    kind?: string;\n    name?: string;\n    image?: string;\n    floorAskPrice?: definitions[\"price\"];\n    lastSalePrice?: definitions[\"price\"];\n    collection?: definitions[\"Model439\"];\n  };\n  Model441: {\n    id?: string;\n    price?: definitions[\"Model125\"];\n    maker?: string;\n    /** @description Time when added to indexer */\n    createdAt?: string;\n    validFrom?: number;\n    validUntil?: number;\n    /** @description Percentage difference between this bid and the current floor price. */\n    floorDifferencePercentage?: number;\n    source?: definitions[\"source\"];\n    feeBreakdown?: definitions[\"Model192\"];\n    criteria?: definitions[\"Model121\"];\n    token?: definitions[\"Model440\"];\n  };\n  Model442: definitions[\"Model441\"][];\n  getUserTopBidsV4Response: {\n    /** @description Amount of token with bids. */\n    totalTokensWithBids?: number;\n    /** @description Amount of currency from all token bids; native currency unless `displayCurrency` passed */\n    totalAmount?: number;\n    topBids?: definitions[\"Model442\"];\n    continuation?: string;\n  };\n  Model443: {\n    contract?: string;\n    tokenId?: string;\n    name?: string;\n    image?: string;\n    floorAskPrice?: number;\n    lastSalePrice?: number;\n    collection?: definitions[\"Model354\"];\n  };\n  Model444: {\n    id?: string;\n    price?: number;\n    value?: number;\n    maker?: string;\n    createdAt?: string;\n    validFrom?: number;\n    validUntil?: number;\n    floorDifferencePercentage?: number;\n    source?: definitions[\"source\"];\n    feeBreakdown?: definitions[\"Model183\"];\n    criteria?: definitions[\"Model121\"];\n    token?: definitions[\"Model443\"];\n  };\n  Model445: definitions[\"Model444\"][];\n  getUserTopBidsV2Response: {\n    totalTokensWithBids?: number;\n    topBids?: definitions[\"Model445\"];\n    continuation?: string;\n  };\n  Model446: {\n    id?: string;\n    price?: number;\n    value?: number;\n    maker?: string;\n    createdAt?: string;\n    validFrom?: number;\n    validUntil?: number;\n    floorDifferencePercentage?: number;\n    source?: definitions[\"source\"];\n    feeBreakdown?: definitions[\"Model183\"];\n    context?: definitions[\"Model181\"];\n    token?: definitions[\"Model443\"];\n  };\n  Model447: definitions[\"Model446\"][];\n  getUserTopBidsV1Response: {\n    totalTokensWithBids?: number;\n    topBids?: definitions[\"Model447\"];\n    continuation?: string;\n  };\n  Model448: {\n    id?: string;\n    price?: definitions[\"price\"];\n    maker?: string;\n    createdAt?: string;\n    validFrom?: number;\n    validUntil?: number;\n    floorDifferencePercentage?: number;\n    source?: definitions[\"source\"];\n    feeBreakdown?: definitions[\"Model183\"];\n    criteria?: definitions[\"Model121\"];\n    token?: definitions[\"Model443\"];\n  };\n  Model449: definitions[\"Model448\"][];\n  getUserTopBidsV3Response: {\n    totalTokensWithBids?: number;\n    totalAmount?: number;\n    topBids?: definitions[\"Model449\"];\n    continuation?: string;\n  };\n  Model450: {\n    community: string;\n  };\n  putSetCollectionCommunityV1Response: {\n    message?: string;\n  };\n  getNewApiKeyResponse: {\n    key: string;\n  };\n  Model451: {\n    /** @description The collection for which to calculate the rarity, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n    collection: string;\n  };\n  Model452: {\n    currencyAddress: string;\n    timestamp: number;\n  };\n  Model453: {\n    key?: string;\n    value?: string;\n  };\n  Model454: definitions[\"Model453\"][];\n  Model455: {\n    /** @description The route for which the rule is created */\n    route: string;\n    points?: number;\n    duration?: number;\n    pointsToConsume?: number;\n    tier?: number;\n    /** @default */\n    apiKey?: string;\n    apiTag?: string;\n    /**\n     * @default\n     * @enum {string}\n     */\n    method?: \"get\" | \"post\" | \"delete\" | \"put\";\n    payload?: definitions[\"Model454\"];\n  };\n  Model456: {\n    domain: string;\n    icon?: string;\n    title?: string;\n    tokenUrl?: string;\n    description?: string;\n    allowedApiKeys?: definitions[\"sampleImages\"];\n  };\n  Model457: {\n    /** @description The rule ID to delete */\n    ruleId: number;\n  };\n  Model458: {\n    fromBlock: number;\n    toBlock: number;\n  };\n  Model459: {\n    /** @enum {string} */\n    kind: \"tokens-floor-sell\" | \"tokens-top-buy\";\n    contracts?: definitions[\"operatorWhitelist\"];\n  };\n  Model460: {\n    /** @enum {string} */\n    by: \"id\" | \"maker\" | \"token\" | \"contract\";\n    id: string;\n    token: string;\n    maker: string;\n    collection: string;\n  };\n  Model461: {\n    /** @enum {string} */\n    kind: \"tokens-floor-sell\" | \"tokens-top-buy\";\n    token: string;\n  };\n  Model462: {\n    token: string;\n  };\n  Model463: {\n    /** @description The queue name to pause */\n    queueName: string;\n    /** @default false */\n    allChains?: boolean;\n  };\n  Model464: {\n    /** @description Refresh the given collection. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n    collection: string;\n    /**\n     * @default full-collection\n     * @enum {string}\n     */\n    refreshKind?: \"full-collection\";\n    /**\n     * @description If true, will only refresh the collection cache.\n     * @default false\n     */\n    cacheOnly?: boolean;\n    /**\n     * @description If true, will only refresh the collection cache.\n     * @default false\n     */\n    onlyTokensWithMissingImages?: boolean;\n  };\n  Model465: {\n    /** @enum {string} */\n    method?: \"opensea\" | \"simplehash\" | \"zora\" | \"soundxyz\" | \"onchain\";\n    /** @description Refresh the given token. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n    token: string;\n  };\n  Model466: {\n    /** @description The queue name to resume */\n    queueName: string;\n    /** @default false */\n    allChains?: boolean;\n  };\n  Model467: {\n    /** @description The api key to resync, If not passed will resync all keys */\n    apiKey?: string;\n    /** @description Chain name to which this resync applies to */\n    scope?: string;\n  };\n  Model468: {\n    collection?: string;\n    token?: string;\n  };\n  Model469: {\n    fromBlock: number;\n    toBlock: number;\n    contract?: string;\n    user?: string;\n  };\n  Model470: {\n    /** @description The rule ID to sync */\n    ruleId?: number;\n    /** @description Chain name to which this sync applies to */\n    scope?: string;\n  };\n  Model471: {\n    fromBlock: number;\n    toBlock: number;\n    blockRange?: number;\n  };\n  Model472: {\n    /** @enum {string} */\n    kind?: \"all\";\n    data?: definitions[\"Model471\"];\n  };\n  Model473: {\n    /** @description The source domain to sync. Example: `reservoir.market` */\n    source?: string;\n  };\n  Model474: {\n    user: string;\n    collection?: string;\n    /** @default false */\n    fullResync?: boolean;\n  };\n  Model475: {\n    /** @description The queue name to retry */\n    queueName: string;\n  };\n  Model476: {\n    collection: string;\n    stage: string;\n    tokenId?: string;\n    /** @enum {string} */\n    status: \"inactive\";\n  };\n  Model477: {\n    id?: string;\n    maker?: string;\n    /** @enum {string} */\n    side?: \"ask\" | \"bid\";\n    /** @enum {string} */\n    status: \"active\" | \"inactive\";\n  };\n  Model478: {\n    address: string;\n    domain: string;\n    deploymentBlock: number;\n  };\n  routers: definitions[\"Model478\"][];\n  Model479: {\n    routers: definitions[\"routers\"];\n  };\n  Model480: {\n    /** @description Update community for a particular collection, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n    collection: string;\n    community: string;\n    /** @default false */\n    doRetries?: boolean;\n  };\n  Model481: {\n    /** @enum {string} */\n    method: \"opensea\" | \"simplehash\";\n    /** @description Collection to update. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n    collection: string;\n  };\n  Model482: {\n    /**\n     * @description If no days are passed, will automatically resync from beginning of time.\n     * @default 0\n     */\n    days?: number;\n  };\n  Model483: {\n    /** @enum {string} */\n    method?: \"events\";\n    events?: definitions[\"sampleImages\"];\n  };\n  Model484: {\n    fromBlock: number;\n    toBlock: number;\n    syncDetails?: definitions[\"Model483\"];\n    /** @default 32 */\n    blocksPerBatch?: number;\n    /** @default true */\n    backfill?: boolean;\n    /** @default true */\n    syncEventsOnly?: boolean;\n  };\n  Model485: {\n    path?: string;\n    params?: string;\n  };\n  /** @description Should be passed in array [{\"contract\": \"...\", \"tokenId\": \"...\"}] */\n  Model486: {\n    path?: string;\n    params?: string;\n  };\n  ips: string[];\n  origins: string[];\n  permissions: {\n    override_collection_refresh_cool_down?: boolean;\n    assign_collection_to_community?: boolean;\n    update_metadata_disabled?: boolean;\n    update_spam_status?: boolean;\n    update_nsfw_status?: boolean;\n    entity_data_override?: boolean;\n    invalidate_orders?: boolean;\n    set_collection_magiceden_verification_status?: boolean;\n  };\n  Model487: {\n    /** @enum {string} */\n    orderbook:\n      | \"alienswap\"\n      | \"mintify\"\n      | \"payment-processor\"\n      | \"payment-processor-v2\"\n      | \"payment-processor-v2.1\"\n      | \"seaport-v1.4\"\n      | \"seaport-v1.5\"\n      | \"seaport-v1.6\";\n    feeBps: number;\n  };\n  orderbookFees: definitions[\"Model487\"][];\n  Model488: {\n    /** @description The api key to update */\n    apiKey?: string;\n    tier?: number;\n    active?: boolean;\n    ips?: definitions[\"ips\"];\n    origins?: definitions[\"origins\"];\n    permissions?: definitions[\"permissions\"];\n    revShareBps?: number;\n    orderbookFees?: definitions[\"orderbookFees\"];\n    disableOrderbookFees?: boolean;\n  };\n  Model489: {\n    /** @description Refresh the given token. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n    token: string;\n  };\n  Model490: {\n    /** @description The rule ID to update */\n    ruleId: number;\n    tier?: number;\n    points?: number;\n    pointsToConsume?: number;\n    duration?: number;\n    apiKey?: string;\n    apiTag?: string;\n    /** @enum {string} */\n    method?: \"get\" | \"post\" | \"delete\" | \"put\";\n    payload?: definitions[\"Model454\"];\n  };\n  Model491: {\n    /** @description The source domain to sync. Example: `reservoir.market` */\n    source?: string;\n    icon?: string;\n    title?: string;\n    allowedApiKeys?: definitions[\"sampleImages\"];\n    optimized?: boolean;\n  };\n  Model492: string[];\n  Model493: {\n    collections: definitions[\"Model492\"];\n  };\n  postCreateCollectionsSetV1Response: {\n    collectionsSetId?: string;\n  };\n  contracts: string[];\n  Model494: {\n    contracts: definitions[\"contracts\"];\n  };\n  postCreateContractsSetV1Response: {\n    contractsSetId?: string;\n  };\n  Model495: {\n    /** @enum {string} */\n    kind: \"opensea\" | \"zeroex-v4\" | \"seaport\" | \"x2y2\";\n    data: definitions[\"metadata\"];\n  };\n  attribute: {\n    collection: string;\n    key: string;\n    value: string;\n  };\n  Model496: {\n    order?: definitions[\"Model495\"];\n    /**\n     * @default reservoir\n     * @enum {string}\n     */\n    orderbook?: \"reservoir\" | \"opensea\";\n    orderbookApiKey?: string;\n    /** @description The name of the source */\n    source?: string;\n    attribute?: definitions[\"attribute\"];\n    collection?: string;\n    tokenSetId?: string;\n    isNonFlagged?: boolean;\n  };\n  postOrderV2Response: {\n    message?: string;\n    orderId?: string;\n    /** @description Only available when posting to external orderbook. Can be used to retrieve the status of a cross-post order. */\n    crossPostingOrderId?: string;\n    crossPostingOrderStatus?: string;\n  };\n  Model497: {\n    /** @enum {string} */\n    kind:\n      | \"opensea\"\n      | \"blur\"\n      | \"looks-rare-v2\"\n      | \"zeroex-v4\"\n      | \"seaport\"\n      | \"seaport-v1.4\"\n      | \"seaport-v1.5\"\n      | \"seaport-v1.6\"\n      | \"mintify\"\n      | \"x2y2\"\n      | \"alienswap\";\n    data: definitions[\"metadata\"];\n  };\n  Model498: {\n    order?: definitions[\"Model497\"];\n    /**\n     * @default reservoir\n     * @enum {string}\n     */\n    orderbook?: \"reservoir\" | \"opensea\" | \"looks-rare\" | \"x2y2\";\n    /** @description Optional API key for the target orderbook */\n    orderbookApiKey?: string;\n    /** @description The source domain */\n    source?: string;\n    attribute?: definitions[\"attribute\"];\n    collection?: string;\n    tokenSetId?: string;\n    isNonFlagged?: boolean;\n    permitId?: string;\n    permitIndex?: number;\n  };\n  Model499: {\n    /** @enum {string} */\n    kind:\n      | \"blur\"\n      | \"opensea\"\n      | \"looks-rare-v2\"\n      | \"zeroex-v4\"\n      | \"seaport\"\n      | \"seaport-v1.4\"\n      | \"seaport-v1.5\"\n      | \"seaport-v1.6\"\n      | \"mintify\"\n      | \"x2y2\"\n      | \"alienswap\"\n      | \"payment-processor\"\n      | \"payment-processor-v2\"\n      | \"payment-processor-v2.1\";\n    data: definitions[\"metadata\"];\n  };\n  Model500: {\n    orderIndex: number;\n    merkleProof: definitions[\"sampleImages\"];\n  };\n  bulkData: {\n    /**\n     * @default seaport-v1.5\n     * @enum {string}\n     */\n    kind?:\n      | \"seaport-v1.4\"\n      | \"seaport-v1.5\"\n      | \"seaport-v1.6\"\n      | \"alienswap\"\n      | \"mintify\"\n      | \"payment-processor-v2.1\";\n    data?: definitions[\"Model500\"];\n  };\n  Model501: {\n    order?: definitions[\"Model499\"];\n    /**\n     * @default reservoir\n     * @enum {string}\n     */\n    orderbook?: \"blur\" | \"reservoir\" | \"opensea\" | \"looks-rare\" | \"x2y2\";\n    /** @description Optional API key for the target orderbook */\n    orderbookApiKey?: string;\n    attribute?: definitions[\"attribute\"];\n    collection?: string;\n    tokenSetId?: string;\n    isNonFlagged?: boolean;\n    permitId?: string;\n    permitIndex?: number;\n    bulkData?: definitions[\"bulkData\"];\n  };\n  Model502: definitions[\"Model501\"][];\n  Model503: {\n    items?: definitions[\"Model502\"];\n    /** @description The source domain */\n    source?: string;\n  };\n  Model504: {\n    message?: string;\n    orderId?: string;\n    orderIndex?: number;\n    /** @description Only available when posting to external orderbook. Can be used to retrieve the status of a cross-post order. */\n    crossPostingOrderId?: string;\n    /** @description Current cross-post order status. Responses are `pending`, `posted`, or `failed`. */\n    crossPostingOrderStatus?: string;\n  };\n  results: definitions[\"Model504\"][];\n  postOrderV4Response: {\n    results?: definitions[\"results\"];\n  };\n  Model505: {\n    /** @enum {string} */\n    kind:\n      | \"blur\"\n      | \"zeroex-v4\"\n      | \"x2y2\"\n      | \"seaport-v1.4\"\n      | \"seaport-v1.5\"\n      | \"seaport-v1.6\"\n      | \"mintify\"\n      | \"element\"\n      | \"rarible\"\n      | \"manifold\"\n      | \"looks-rare-v2\";\n    data: definitions[\"metadata\"];\n    originatedAt?: string;\n    source?: string;\n  };\n  Model506: definitions[\"Model505\"][];\n  Model507: {\n    orders?: definitions[\"Model506\"];\n  };\n  protocol_data: {\n    parameters?: string;\n    signature?: string;\n  };\n  Model508: {\n    protocol_data?: definitions[\"protocol_data\"];\n  };\n  seaport_offers: definitions[\"Model508\"][];\n  Model509: {\n    seaport_offers?: definitions[\"seaport_offers\"];\n  };\n  tokenIds: string[];\n  Model510: {\n    /** @description Contract address. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n    contract: string;\n    tokenIds: definitions[\"tokenIds\"];\n  };\n  Model511: string[];\n  Model512: {\n    tokens: definitions[\"Model511\"];\n  };\n  Model513: {\n    time?: string;\n    apiCallsCount?: number;\n    pointsConsumed?: number;\n    key?: string;\n    route?: string;\n    statusCode?: number;\n  };\n  metrics: definitions[\"Model513\"][];\n  postApiKeyMetricsResponse: {\n    metrics?: definitions[\"metrics\"];\n  };\n  /** @description Array of collection ids to disable metadata for. Max limit is 50. Example: `collections[0]: 0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63 collections[1]: 0x521f9c7505005cfa19a8e5786a9c3c9c9f5e6f42` */\n  Model514: string[];\n  Model515: {\n    collections: definitions[\"Model514\"];\n    /**\n     * @description Whether to disable or reenable the metadata. Defaults to true (disable)\n     * @default true\n     */\n    disable?: boolean;\n  };\n  /** @description Update to one or more collections. Max limit is 50. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n  Model516: string[];\n  Model517: {\n    collections: definitions[\"Model516\"];\n    /**\n     * @description API to update the nsfw status of a collection\n     * @default true\n     */\n    nsfw?: boolean;\n  };\n  Model518: {\n    /** @description Refresh the given collection. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n    collection: string;\n    /**\n     * @description If true, will force a refresh regardless of cool down. Requires an authorized api key to be passed.\n     * @default false\n     */\n    overrideCoolDown?: boolean;\n    /**\n     * @description If true, will only refresh the collection metadata.\n     * @default false\n     */\n    metadataOnly?: boolean;\n  };\n  Model519: {\n    /** @description Refresh the given collection. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n    collection: string;\n    /**\n     * @description If true, will force a refresh regardless of cool down. Requires an authorized api key to be passed.\n     * @default false\n     */\n    overrideCoolDown?: boolean;\n    /**\n     * @description If true, will refresh the metadata for the tokens in the collection.\n     * @default true\n     */\n    refreshTokens?: boolean;\n  };\n  Model520: {\n    collections: definitions[\"Model516\"];\n    /**\n     * @description API to update the spam status of a collection\n     * @default true\n     */\n    spam?: boolean;\n  };\n  Model521: {\n    /**\n     * @description Type of auth\n     * @enum {string}\n     */\n    kind: \"blur\" | \"erc721c\" | \"opensea\";\n    /** @description Id of the auth challenge */\n    id: string;\n  };\n  postAuthSignatureV1Response: {\n    auth?: string;\n  };\n  /** @description List of fees (formatted as `feeRecipient:feeBps`) to be bundled within the order. Example: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00:100` */\n  fees: string[];\n  Model522: {\n    /** @description Bid on a particular token. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n    token?: string;\n    /** @description Bid on a particular token set. */\n    tokenSetId?: string;\n    /** @description Bid on a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n    collection?: string;\n    /** @description Bid on a particular attribute key. Example: `Composition` */\n    attributeKey?: string;\n    /** @description Bid on a particular attribute value. Example: `Teddy (#33)` */\n    attributeValue?: string;\n    /** @description Quantity of tokens user is buying. Only compatible with ERC1155 tokens. Example: `5` */\n    quantity?: number;\n    /** @description Amount bidder is willing to offer in wei. Example: `1000000000000000000` */\n    weiPrice: string;\n    /**\n     * @description Exchange protocol used to create order. Example: `seaport-v1.5`\n     * @default seaport-v1.5\n     * @enum {string}\n     */\n    orderKind?:\n      | \"zeroex-v4\"\n      | \"seaport\"\n      | \"seaport-v1.4\"\n      | \"seaport-v1.5\"\n      | \"looks-rare\"\n      | \"looks-rare-v2\"\n      | \"x2y2\";\n    /**\n     * @description Orderbook where order is placed. Example: `Reservoir`\n     * @default reservoir\n     * @enum {string}\n     */\n    orderbook?: \"reservoir\" | \"opensea\" | \"looks-rare\" | \"x2y2\";\n    /** @description Optional API key for the target orderbook */\n    orderbookApiKey?: string;\n    /**\n     * @description If true, royalties will be automatically included.\n     * @default true\n     */\n    automatedRoyalties?: boolean;\n    /** @description The royalty percentage to pay. Only relevant when using automated royalties. */\n    royaltyBps?: number;\n    fees?: definitions[\"fees\"];\n    /**\n     * @description If true flagged tokens will be excluded\n     * @default false\n     */\n    excludeFlaggedTokens?: boolean;\n    /** @description Unix timestamp (seconds) indicating when listing will be listed. Example: `1656080318` */\n    listingTime?: string;\n    /** @description Unix timestamp (seconds) indicating when listing will expire. Example: `1656080318` */\n    expirationTime?: string;\n    /** @description Optional. Random string to make the order unique */\n    salt?: string;\n    /** @description Optional. Set a custom nonce */\n    nonce?: string;\n    /** @default 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 */\n    currency?: string;\n  };\n  params: definitions[\"Model522\"][];\n  Model523: {\n    /** @description Address of wallet making the order. Example: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00` */\n    maker: string;\n    /** @description Domain of your app that is creating the order, e.g. `myapp.xyz`. This is used for filtering, and to attribute the \"order source\" of sales in on-chain analytics, to help your app get discovered. Lean more <a href='https://docs.reservoir.tools/docs/calldata-attribution'>here</a> */\n    source?: string;\n    params?: definitions[\"params\"];\n  };\n  Model524: {\n    id: string;\n    /** @enum {string} */\n    kind: \"request\" | \"signature\" | \"transaction\";\n    action: string;\n    description: string;\n    items: definitions[\"items\"];\n  };\n  Model525: definitions[\"Model524\"][];\n  getExecuteBidV4Response: {\n    steps?: definitions[\"Model525\"];\n    query?: definitions[\"metadata\"];\n  };\n  \"seaport-v1.4\": {\n    conduitKey?: string;\n    useOffChainCancellation: boolean;\n    replaceOrderId?: string;\n  };\n  \"payment-processor-v2\": {\n    useOffChainCancellation: boolean;\n    cosigner?: string;\n    replaceOrderId?: string;\n  };\n  /** @description Additional options. */\n  options: {\n    \"seaport-v1.4\"?: definitions[\"seaport-v1.4\"];\n    \"seaport-v1.5\"?: definitions[\"seaport-v1.4\"];\n    \"seaport-v1.6\"?: definitions[\"seaport-v1.4\"];\n    mintify?: definitions[\"seaport-v1.4\"];\n    \"payment-processor-v2\"?: definitions[\"payment-processor-v2\"];\n    \"payment-processor-v2.1\"?: definitions[\"payment-processor-v2\"];\n  };\n  /** @description Deprecated, use `marketplaceFees` and/or `customRoyalties` */\n  Model526: string[];\n  /** @description List of marketplace fees (formatted as `feeRecipient:feeBps`) to be bundled within the order. 1 BPS = 0.01% Example: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00:100` */\n  marketplaceFees: string[];\n  /** @description List of marketplace flat fees (formatted as `feeRecipient:weiAmount`) to be bundled within the order. */\n  marketplaceFlatFees: string[];\n  /** @description List of custom royalties (formatted as `feeRecipient:feeBps`) to be bundled within the order. 1 BPS = 0.01% Example: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00:100` */\n  customRoyalties: string[];\n  Model527: {\n    /** @description Bid on a particular token. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n    token?: string;\n    /** @description Bid on a particular token set. Cannot be used with cross-posting to OpenSea. Example: `token:CONTRACT:TOKEN_ID` representing a single token within contract, `contract:CONTRACT` representing a whole contract, `range:CONTRACT:START_TOKEN_ID:END_TOKEN_ID` representing a continuous token id range within a contract and `list:CONTRACT:TOKEN_IDS_HASH` representing a list of token ids within a contract. */\n    tokenSetId?: string;\n    /** @description Bid on a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n    collection?: string;\n    /** @description Bid on a particular attribute key. This is case sensitive. Example: `Composition` */\n    attributeKey?: string;\n    /** @description Bid on a particular attribute value. This is case sensitive. Example: `Teddy (#33)` */\n    attributeValue?: string;\n    /** @description Quantity of tokens to bid on. */\n    quantity?: number;\n    /** @description Amount bidder is willing to offer in the smallest denomination for the specific currency. Example: `1000000000000000000` */\n    weiPrice: string;\n    /**\n     * @description Exchange protocol used to create order. Example: `seaport-v1.5`\n     * @default seaport-v1.5\n     * @enum {string}\n     */\n    orderKind?:\n      | \"blur\"\n      | \"zeroex-v4\"\n      | \"seaport\"\n      | \"seaport-v1.4\"\n      | \"seaport-v1.5\"\n      | \"seaport-v1.6\"\n      | \"looks-rare\"\n      | \"looks-rare-v2\"\n      | \"x2y2\"\n      | \"alienswap\"\n      | \"payment-processor\"\n      | \"payment-processor-v2\"\n      | \"payment-processor-v2.1\"\n      | \"mintify\";\n    options?: definitions[\"options\"];\n    /**\n     * @description Orderbook where order is placed. Example: `Reservoir`\n     * @default reservoir\n     * @enum {string}\n     */\n    orderbook?: \"blur\" | \"reservoir\" | \"opensea\" | \"looks-rare\" | \"x2y2\";\n    /** @description Optional API key for the target orderbook */\n    orderbookApiKey?: string;\n    /**\n     * @description If true, royalty amounts and recipients will be set automatically.\n     * @default true\n     */\n    automatedRoyalties?: boolean;\n    /** @description Set a maximum amount of royalties to pay, rather than the full amount. Only relevant when using automated royalties. 1 BPS = 0.01% Note: OpenSea does not support values below 50 bps. */\n    royaltyBps?: number;\n    fees?: definitions[\"Model526\"];\n    marketplaceFees?: definitions[\"marketplaceFees\"];\n    marketplaceFlatFees?: definitions[\"marketplaceFlatFees\"];\n    customRoyalties?: definitions[\"customRoyalties\"];\n    /**\n     * @description If true flagged tokens will be excluded\n     * @default false\n     */\n    excludeFlaggedTokens?: boolean;\n    /** @description Unix timestamp (seconds) indicating when listing will be listed. Example: `1656080318` */\n    listingTime?: string;\n    /** @description Unix timestamp (seconds) indicating when listing will expire. Example: `1656080318` */\n    expirationTime?: string;\n    /** @description Optional. Random string to make the order unique */\n    salt?: string;\n    /** @description Optional. Set a custom nonce */\n    nonce?: string;\n    /** @default 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 */\n    currency?: string;\n    /** @description When true, will use permit to avoid approvals. */\n    usePermit?: boolean;\n    /** @description Check if the maker has enough balance to cover all open bid orders (of the current token / collection / attribute type) */\n    checkMakerOutstandingBalance?: boolean;\n  };\n  Model528: definitions[\"Model527\"][];\n  Model529: {\n    /** @description Address of wallet making the order. Example: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00` */\n    maker: string;\n    /** @description Domain of your app that is creating the order, e.g. `myapp.xyz`. This is used for filtering, and to attribute the \"order source\" of sales in on-chain analytics, to help your app get discovered. Lean more <a href='https://docs.reservoir.tools/docs/calldata-attribution'>here</a> */\n    source?: string;\n    /** @description Advanced use case to pass personal blurAuthToken; the API will generate one if left empty. */\n    blurAuth?: string;\n    params?: definitions[\"Model528\"];\n  };\n  Model530: {\n    /**\n     * @description Returns `complete` or `incomplete`\n     * @enum {string}\n     */\n    status: \"complete\" | \"incomplete\";\n    tip?: string;\n    data?: definitions[\"metadata\"];\n    orderIndexes?: definitions[\"floorAskPrices\"];\n  };\n  Model531: definitions[\"Model530\"][];\n  Model532: {\n    /** @description Returns `currency-wrapping`, `currency-approval`, or `order-signature`. */\n    id: string;\n    /**\n     * @description Returns `request`, `signature`, or `transaction`.\n     * @enum {string}\n     */\n    kind: \"request\" | \"signature\" | \"transaction\";\n    action: string;\n    description: string;\n    items: definitions[\"Model531\"];\n  };\n  Model533: definitions[\"Model532\"][];\n  Model534: {\n    message?: string;\n    orderIndex?: number;\n  };\n  errors: definitions[\"Model534\"][];\n  getExecuteBidV5Response: {\n    steps?: definitions[\"Model533\"];\n    errors?: definitions[\"errors\"];\n  };\n  orderIds: string[];\n  Model535: {\n    /** @enum {string} */\n    kind: \"opensea\" | \"looks-rare\" | \"zeroex-v4\" | \"seaport\" | \"x2y2\";\n    data: definitions[\"metadata\"];\n  };\n  rawOrders: definitions[\"Model535\"][];\n  /** @description Array of tokens user is buying. Example: `tokens[0]: 0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:704 tokens[1]: 0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:979` */\n  Model536: string[];\n  /** @description List of fees (formatted as `feeRecipient:feeAmount`) to be taken when filling. Example: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00:1000000000000000` */\n  feesOnTop: string[];\n  Model537: {\n    orderIds?: definitions[\"orderIds\"];\n    rawOrders?: definitions[\"rawOrders\"];\n    tokens?: definitions[\"Model536\"];\n    /** @description Quantity of tokens user is buying. Only compatible when buying a single ERC1155 token. Example: `5` */\n    quantity?: number;\n    /** @description Address of wallet filling the order. Example: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00` */\n    taker: string;\n    /** @description Address of wallet relaying the filling transaction */\n    relayer?: string;\n    /**\n     * @description If true, only the path will be returned.\n     * @default false\n     */\n    onlyPath?: boolean;\n    /** @description If true, all fills will be executed through the router. */\n    forceRouter?: boolean;\n    /** @default 0x0000000000000000000000000000000000000000 */\n    currency?: string;\n    /** @default true */\n    normalizeRoyalties?: boolean;\n    /**\n     * @description If there are multiple listings with equal best price, prefer this source over others.\n     * NOTE: if you want to fill a listing that is not the best priced, you need to pass a specific order ID.\n     */\n    preferredOrderSource?: string;\n    /** @description Filling source used for attribution. Example: `reservoir.market` */\n    source?: string;\n    feesOnTop?: definitions[\"feesOnTop\"];\n    /**\n     * @description If true, any off-chain or on-chain errors will be skipped.\n     * @default false\n     */\n    partial?: boolean;\n    /** @description Optional. Set custom gas price. */\n    maxFeePerGas?: string;\n    /** @description Optional. Set custom gas price. */\n    maxPriorityFeePerGas?: string;\n    /**\n     * @description If true, balance check will be skipped.\n     * @default false\n     */\n    skipBalanceCheck?: boolean;\n    /** @description Override the X2Y2 API key used for filling. */\n    x2y2ApiKey?: string;\n  };\n  Model538: {\n    /** @enum {string} */\n    status: \"complete\" | \"incomplete\";\n    data?: definitions[\"metadata\"];\n  };\n  Model539: definitions[\"Model538\"][];\n  Model540: {\n    action: string;\n    description: string;\n    /** @enum {string} */\n    kind: \"transaction\";\n    items: definitions[\"Model539\"];\n  };\n  Model541: definitions[\"Model540\"][];\n  Model542: {\n    orderId?: string;\n    contract?: string;\n    tokenId?: string;\n    quantity?: number;\n    source?: string;\n    currency?: string;\n    quote?: number;\n    rawQuote?: string;\n  };\n  path: definitions[\"Model542\"][];\n  getExecuteBuyV5Response: {\n    steps?: definitions[\"Model541\"];\n    path?: definitions[\"path\"];\n  };\n  Model543: {\n    /** @enum {string} */\n    kind:\n      | \"opensea\"\n      | \"looks-rare\"\n      | \"zeroex-v4\"\n      | \"seaport\"\n      | \"seaport-v1.4\"\n      | \"seaport-v1.5\"\n      | \"x2y2\"\n      | \"rarible\"\n      | \"sudoswap\"\n      | \"nftx\";\n    data: definitions[\"metadata\"];\n  };\n  Model544: definitions[\"Model543\"][];\n  /**\n   * @description List of fees (formatted as `feeRecipient:feeAmount`) to be taken when filling.\n   * Unless overridden via the `currency` param, the currency used for any fees on top matches the buy-in currency detected by the backend.\n   * Example: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00:1000000000000000`\n   */\n  Model545: string[];\n  Model546: {\n    orderIds?: definitions[\"orderIds\"];\n    rawOrders?: definitions[\"Model544\"];\n    tokens?: definitions[\"Model536\"];\n    /** @description Quantity of tokens user is buying. Only compatible when buying a single ERC1155 token. Example: `5` */\n    quantity?: number;\n    /** @description Address of wallet filling the order. Example: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00` */\n    taker: string;\n    /** @description Address of wallet relaying the filling transaction */\n    relayer?: string;\n    /**\n     * @description If true, only the path will be returned.\n     * @default false\n     */\n    onlyPath?: boolean;\n    /** @description If true, all fills will be executed through the router. */\n    forceRouter?: boolean;\n    /**\n     * @description Currency to buy all listings in.\n     * @enum {string}\n     */\n    currency?: \"0x0000000000000000000000000000000000000000\";\n    /** @default false */\n    normalizeRoyalties?: boolean;\n    /**\n     * @description If there are multiple listings with equal best price, prefer this source over others.\n     * NOTE: if you want to fill a listing that is not the best priced, you need to pass a specific order ID.\n     */\n    preferredOrderSource?: string;\n    /** @description Filling source used for attribution. Example: `reservoir.market` */\n    source?: string;\n    feesOnTop?: definitions[\"Model545\"];\n    /**\n     * @description If true, any off-chain or on-chain errors will be skipped.\n     * @default false\n     */\n    partial?: boolean;\n    /** @description Optional. Set custom gas price. */\n    maxFeePerGas?: string;\n    /** @description Optional. Set custom gas price. */\n    maxPriorityFeePerGas?: string;\n    /**\n     * @description If true, balance check will be skipped.\n     * @default false\n     */\n    skipBalanceCheck?: boolean;\n    /**\n     * @description If true, do not filter out inactive orders (only relevant for order id filtering).\n     * @default false\n     */\n    allowInactiveOrderIds?: boolean;\n    /**\n     * @description Exclude orders that can only be filled by EOAs, to support filling with smart contracts.\n     * @default false\n     */\n    excludeEOA?: boolean;\n    /** @description Override the X2Y2 API key used for filling. */\n    x2y2ApiKey?: string;\n  };\n  Model547: {\n    id: string;\n    action: string;\n    description: string;\n    /** @enum {string} */\n    kind: \"signature\" | \"transaction\";\n    items: definitions[\"Model539\"];\n  };\n  Model548: definitions[\"Model547\"][];\n  Model549: {\n    message?: string;\n    orderId?: number;\n  };\n  Model550: definitions[\"Model549\"][];\n  getExecuteBuyV6Response: {\n    steps?: definitions[\"Model548\"];\n    errors?: definitions[\"Model550\"];\n    path?: definitions[\"path\"];\n  };\n  /** @description Optional raw order to fill. */\n  rawOrder: {\n    /** @enum {string} */\n    kind?:\n      | \"opensea\"\n      | \"blur-partial\"\n      | \"looks-rare\"\n      | \"zeroex-v4\"\n      | \"seaport\"\n      | \"seaport-v1.4\"\n      | \"seaport-v1.5\"\n      | \"seaport-v1.6\"\n      | \"mintify\"\n      | \"x2y2\"\n      | \"rarible\"\n      | \"sudoswap\"\n      | \"nftx\"\n      | \"alienswap\"\n      | \"mint\";\n    data?: definitions[\"metadata\"];\n  };\n  Model551: string[];\n  Model552: {\n    orderId: string;\n    price?: string;\n  };\n  /** @description Items to exclude */\n  exclusions: definitions[\"Model552\"][];\n  Model553: {\n    /** @description Collection to buy. */\n    collection?: string;\n    /** @description Token to buy. */\n    token?: string;\n    /** @description Quantity of tokens to buy. */\n    quantity?: number;\n    /** @description Optional order id to fill. */\n    orderId?: string;\n    rawOrder?: definitions[\"rawOrder\"];\n    /**\n     * @description Optionally specify a particular fill method. Only relevant when filling via `collection`.\n     * @default preferMint\n     * @enum {string}\n     */\n    fillType?: \"trade\" | \"mint\" | \"preferMint\";\n    /** @description Optionally specify a stage to mint */\n    preferredMintStage?: string;\n    /**\n     * @description If there are multiple listings with equal best price, prefer this source over others.\n     * NOTE: if you want to fill a listing that is not the best priced, you need to pass a specific order id or use `exactOrderSource`.\n     */\n    preferredOrderSource?: string;\n    exactOrderSource?: definitions[\"Model551\"];\n    exclusions?: definitions[\"exclusions\"];\n  };\n  /** @description List of items to buy. */\n  Model554: definitions[\"Model553\"][];\n  Model555: {\n    items: definitions[\"Model554\"];\n    /** @description Address of wallet filling (receiver of the NFT). */\n    taker: string;\n    /** @description Address of wallet relaying the fill transaction (paying for the NFT). */\n    relayer?: string;\n    /**\n     * @description If true, only the path will be returned.\n     * @default false\n     */\n    onlyPath?: boolean;\n    /** @description If true, all fills will be executed through the router (where possible) */\n    forceRouter?: boolean;\n    /** @description If passed, all fills will be executed through the trusted trusted forwarder (where possible) */\n    forwarderChannel?: string;\n    /** @description Currency to be used for purchases. */\n    currency?: string;\n    /** @description The chain id of the purchase currency */\n    currencyChainId?: number;\n    /**\n     * @description Charge any missing royalties.\n     * @default false\n     */\n    normalizeRoyalties?: boolean;\n    /**\n     * @description If true, inactive orders will not be skipped over (only relevant when filling via a specific order id).\n     * @default false\n     */\n    allowInactiveOrderIds?: boolean;\n    /** @description Filling source used for attribution. Example: `reservoir.market` */\n    source?: string;\n    feesOnTop?: definitions[\"Model545\"];\n    /**\n     * @description If true, any off-chain or on-chain errors will be skipped.\n     * @default false\n     */\n    partial?: boolean;\n    /**\n     * @description If true, balance check will be skipped.\n     * @default false\n     */\n    skipBalanceCheck?: boolean;\n    /**\n     * @description Exclude orders that can only be filled by EOAs, to support filling with smart contracts. If marked `true`, blur will be excluded.\n     * @default false\n     */\n    excludeEOA?: boolean;\n    /** @description Optional custom gas settings. Includes base fee & priority fee in this limit. */\n    maxFeePerGas?: string;\n    /** @description Optional custom gas settings. */\n    maxPriorityFeePerGas?: string;\n    /** @description When true, will use permit to avoid approvals. */\n    usePermit?: boolean;\n    /**\n     * @description Choose a specific swapping provider when buying in a different currency (defaults to `uniswap`)\n     * @default uniswap\n     * @enum {string}\n     */\n    swapProvider?: \"uniswap\" | \"relay\";\n    /** @enum {string} */\n    executionMethod?: \"intent\";\n    /** @description Referrer address (where supported) */\n    referrer?: string;\n    /** @description Mint comment (where suported) */\n    comment?: string;\n    /** @description Conduit key to use to fulfill the order */\n    conduitKey?: string;\n    /** @description Optional X2Y2 API key used for filling. */\n    x2y2ApiKey?: string;\n    /** @description Optional OpenSea API key used for filling. You don't need to pass your own key, but if you don't, you are more likely to be rate-limited. */\n    openseaApiKey?: string;\n    /** @description Advanced use case to pass personal blurAuthToken; the API will generate one if left empty. */\n    blurAuth?: string;\n  };\n  /** @description The details of the endpoint for checking the status of the step */\n  check: {\n    endpoint: string;\n    /** @enum {string} */\n    method: \"POST\";\n    body?: string;\n  };\n  Model556: {\n    /**\n     * @description Response is `complete` or `incomplete`.\n     * @enum {string}\n     */\n    status: \"complete\" | \"incomplete\";\n    tip?: string;\n    orderIds?: definitions[\"sampleImages\"];\n    data?: definitions[\"metadata\"];\n    check?: definitions[\"check\"];\n    /** @description Approximation of gas used (only applies to `transaction` items) */\n    gasEstimate?: number;\n  };\n  Model557: definitions[\"Model556\"][];\n  Model558: {\n    id: string;\n    action: string;\n    description: string;\n    /** @enum {string} */\n    kind: \"signature\" | \"transaction\";\n    items: definitions[\"Model557\"];\n  };\n  Model559: definitions[\"Model558\"][];\n  Model560: {\n    message?: string;\n    orderId?: string;\n  };\n  Model561: definitions[\"Model560\"][];\n  Model562: {\n    kind?: string;\n    recipient?: string;\n    bps?: number;\n    amount?: number;\n    rawAmount?: string;\n  };\n  /** @description Can be marketplace fees or royalties */\n  builtInFees: definitions[\"Model562\"][];\n  /** @description Can be referral fees. */\n  Model563: definitions[\"Model562\"][];\n  Model564: {\n    orderId?: string;\n    contract?: string;\n    tokenId?: string;\n    quantity?: number;\n    source?: string;\n    currency?: string;\n    currencySymbol?: string;\n    currencyDecimals?: number;\n    quote?: number;\n    rawQuote?: string;\n    buyInCurrency?: string;\n    buyInCurrencySymbol?: string;\n    buyInCurrencyDecimals?: number;\n    buyInQuote?: number;\n    buyInRawQuote?: string;\n    totalPrice?: number;\n    totalRawPrice?: string;\n    builtInFees?: definitions[\"builtInFees\"];\n    feesOnTop?: definitions[\"Model563\"];\n    /** @description Chain id buying from */\n    fromChainId?: number;\n    gasCost?: string;\n    isNativeOffChainCancellable?: boolean;\n  };\n  Model565: definitions[\"Model564\"][];\n  Model566: {\n    itemIndex: number;\n    maxQuantity?: string;\n  };\n  maxQuantities: definitions[\"Model566\"][];\n  Model567: {\n    gas?: definitions[\"price\"];\n    relayer?: definitions[\"price\"];\n  };\n  getExecuteBuyV7Response: {\n    requestId?: string;\n    steps?: definitions[\"Model559\"];\n    errors?: definitions[\"Model561\"];\n    path?: definitions[\"Model565\"];\n    maxQuantities?: definitions[\"maxQuantities\"];\n    fees?: definitions[\"Model567\"];\n    gasEstimate?: number;\n  };\n  Model568: {\n    to: string;\n    data: string;\n    value: string;\n  };\n  /** @description List of transactions to execute */\n  txs: definitions[\"Model568\"][];\n  Model569: {\n    /** @description User requesting the calls */\n    user: string;\n    txs: definitions[\"txs\"];\n    /** @description Origination chain id (where solver needs to get paid) */\n    originChainId: number;\n    /** @description Filling source used for attribution. Example: `reservoir.market` */\n    source?: string;\n  };\n  Model570: {\n    /** @enum {string} */\n    status: \"complete\" | \"incomplete\";\n    data?: definitions[\"metadata\"];\n    check?: definitions[\"check\"];\n  };\n  Model571: definitions[\"Model570\"][];\n  Model572: {\n    id: string;\n    action: string;\n    description: string;\n    /** @enum {string} */\n    kind: \"signature\" | \"transaction\";\n    items: definitions[\"Model571\"];\n  };\n  Model573: definitions[\"Model572\"][];\n  postExecuteCallV1Response: {\n    steps?: definitions[\"Model573\"];\n    fees?: definitions[\"Model567\"];\n  };\n  Model574: string[];\n  Model575: {\n    orderIds?: definitions[\"Model574\"];\n    maker?: string;\n    /** @enum {string} */\n    orderKind?:\n      | \"blur\"\n      | \"seaport\"\n      | \"seaport-v1.4\"\n      | \"seaport-v1.5\"\n      | \"seaport-v1.6\"\n      | \"looks-rare-v2\"\n      | \"zeroex-v4-erc721\"\n      | \"zeroex-v4-erc1155\"\n      | \"payment-processor-v2\"\n      | \"payment-processor-v2.1\"\n      | \"rarible\"\n      | \"alienswap\"\n      | \"mintify\";\n    token?: string;\n    blurAuth?: string;\n    /** @description Optional. Set custom gas price */\n    maxFeePerGas?: string;\n    /** @description Optional. Set custom gas price */\n    maxPriorityFeePerGas?: string;\n    /** @default false */\n    forceOnChainCancel?: boolean;\n  };\n  Model576: {\n    /** @enum {string} */\n    status: \"complete\" | \"incomplete\";\n    orderIds?: definitions[\"sampleImages\"];\n    tip?: string;\n    data?: definitions[\"metadata\"];\n  };\n  Model577: definitions[\"Model576\"][];\n  Model578: {\n    id: string;\n    action: string;\n    description: string;\n    /** @enum {string} */\n    kind: \"signature\" | \"transaction\";\n    items: definitions[\"Model577\"];\n  };\n  Model579: definitions[\"Model578\"][];\n  getExecuteCancelV3Response: {\n    steps?: definitions[\"Model579\"];\n  };\n  /** @description Ids of the orders to cancel */\n  Model580: string[];\n  Model581: {\n    orderIds: definitions[\"Model580\"];\n    /**\n     * @description Exchange protocol used to bulk cancel order. Example: `seaport-v1.5`\n     * @enum {string}\n     */\n    orderKind:\n      | \"seaport-v1.4\"\n      | \"seaport-v1.5\"\n      | \"seaport-v1.6\"\n      | \"alienswap\"\n      | \"mintify\"\n      | \"blur-bid\"\n      | \"payment-processor-v2\"\n      | \"payment-processor-v2.1\";\n  };\n  Model582: {\n    /** @description User depositing */\n    user: string;\n    /** @description Amount to deposit */\n    amount: string;\n  };\n  Model583: {\n    id: string;\n    action: string;\n    description: string;\n    /** @enum {string} */\n    kind: \"transaction\";\n    items: definitions[\"Model571\"];\n  };\n  Model584: definitions[\"Model583\"][];\n  postExecuteDepositV1Response: {\n    steps?: definitions[\"Model584\"];\n    fees?: definitions[\"Model567\"];\n  };\n  Model585: {\n    /** @description Filter to a particular token. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n    token: string;\n    /** @description Quantity of tokens user is listing. Only compatible with ERC1155 tokens. Example: `5` */\n    quantity?: number;\n    /** @description Amount seller is willing to sell for in wei. Example: `1000000000000000000` */\n    weiPrice: string;\n    /**\n     * @description Exchange protocol used to create order. Example: `seaport-v1.5`\n     * @default seaport-v1.5\n     * @enum {string}\n     */\n    orderKind?:\n      | \"looks-rare\"\n      | \"looks-rare-v2\"\n      | \"zeroex-v4\"\n      | \"seaport\"\n      | \"seaport-v1.4\"\n      | \"seaport-v1.5\"\n      | \"x2y2\";\n    /**\n     * @description Orderbook where order is placed. Example: `Reservoir`\n     * @default reservoir\n     * @enum {string}\n     */\n    orderbook?: \"opensea\" | \"looks-rare\" | \"reservoir\" | \"x2y2\";\n    /** @description Optional API key for the target orderbook */\n    orderbookApiKey?: string;\n    /**\n     * @description If true, royalties will be automatically included.\n     * @default true\n     */\n    automatedRoyalties?: boolean;\n    /** @description The royalty percentage to pay. Only relevant when using automated royalties. */\n    royaltyBps?: number;\n    fees?: definitions[\"fees\"];\n    /** @description Unix timestamp (seconds) indicating when listing will be listed. Example: `1656080318` */\n    listingTime?: string;\n    /** @description Unix timestamp (seconds) indicating when listing will expire. Example: `1656080318` */\n    expirationTime?: string;\n    /** @description Optional. Random string to make the order unique */\n    salt?: string;\n    /** @description Optional. Set a custom nonce */\n    nonce?: string;\n    /** @default 0x0000000000000000000000000000000000000000 */\n    currency?: string;\n  };\n  Model586: definitions[\"Model585\"][];\n  Model587: {\n    /** @description Address of wallet making the order. Example: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00` */\n    maker: string;\n    /** @description Domain of your app that is creating the order, e.g. `myapp.xyz`. This is used for filtering, and to attribute the \"order source\" of sales in on-chain analytics, to help your app get discovered. Lean more <a href='https://docs.reservoir.tools/docs/calldata-attribution'>here</a> */\n    source?: string;\n    params?: definitions[\"Model586\"];\n  };\n  getExecuteListV4Response: {\n    steps?: definitions[\"Model525\"];\n  };\n  alienswap: {\n    useOffChainCancellation: boolean;\n    replaceOrderId?: string;\n  };\n  /** @description Additional options. */\n  Model588: {\n    \"seaport-v1.4\"?: definitions[\"seaport-v1.4\"];\n    \"seaport-v1.5\"?: definitions[\"seaport-v1.4\"];\n    \"seaport-v1.6\"?: definitions[\"seaport-v1.4\"];\n    mintify?: definitions[\"seaport-v1.4\"];\n    \"payment-processor-v2\"?: definitions[\"payment-processor-v2\"];\n    \"payment-processor-v2.1\"?: definitions[\"payment-processor-v2\"];\n    alienswap?: definitions[\"alienswap\"];\n  };\n  Model589: {\n    /** @description The token the user is listing. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n    token: string;\n    /** @description Quantity of tokens user is listing. Only compatible with ERC1155 tokens. Example: `5` */\n    quantity?: number;\n    /** @description Amount seller is willing to sell for in the smallest denomination for the specific currency. Example: `1000000000000000000` */\n    weiPrice: string;\n    /** @description Amount seller is willing to sell for Dutch auction in the largest denomination for the specific currency. Example: `2000000000000000000` */\n    endWeiPrice?: string;\n    /**\n     * @description Exchange protocol used to create order. Example: `seaport-v1.5`\n     * @default seaport-v1.5\n     * @enum {string}\n     */\n    orderKind?:\n      | \"blur\"\n      | \"looks-rare\"\n      | \"looks-rare-v2\"\n      | \"zeroex-v4\"\n      | \"seaport\"\n      | \"seaport-v1.4\"\n      | \"seaport-v1.5\"\n      | \"seaport-v1.6\"\n      | \"mintify\"\n      | \"x2y2\"\n      | \"alienswap\"\n      | \"payment-processor\"\n      | \"payment-processor-v2\"\n      | \"payment-processor-v2.1\";\n    options?: definitions[\"Model588\"];\n    /**\n     * @description Orderbook where order is placed. Example: `Reservoir`\n     * @default reservoir\n     * @enum {string}\n     */\n    orderbook?: \"blur\" | \"opensea\" | \"looks-rare\" | \"reservoir\" | \"x2y2\";\n    /** @description Optional API key for the target orderbook */\n    orderbookApiKey?: string;\n    /**\n     * @description If true, royalty amounts and recipients will be set automatically.\n     * @default true\n     */\n    automatedRoyalties?: boolean;\n    /** @description Set a maximum amount of royalties to pay, rather than the full amount. Only relevant when using automated royalties. 1 BPS = 0.01% Note: OpenSea does not support values below 50 bps. */\n    royaltyBps?: number;\n    fees?: definitions[\"Model526\"];\n    marketplaceFees?: definitions[\"marketplaceFees\"];\n    marketplaceFlatFees?: definitions[\"marketplaceFlatFees\"];\n    customRoyalties?: definitions[\"customRoyalties\"];\n    /** @description Unix timestamp (seconds) indicating when listing will be listed. Example: `1656080318` */\n    listingTime?: string;\n    /** @description Unix timestamp (seconds) indicating when listing will expire. Example: `1656080318` */\n    expirationTime?: string;\n    /** @description Optional. Random string to make the order unique */\n    salt?: string;\n    /** @description Optional. Set a custom nonce */\n    nonce?: string;\n    /** @default 0x0000000000000000000000000000000000000000 */\n    currency?: string;\n    /** @description Address of wallet taking the private order. Example: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00` */\n    taker?: string;\n  };\n  Model590: definitions[\"Model589\"][];\n  Model591: {\n    /** @description Address of wallet making the order. Example: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00` */\n    maker: string;\n    /** @description Domain of your app that is creating the order, e.g. `myapp.xyz`. This is used for filtering, and to attribute the \"order source\" of sales in on-chain analytics, to help your app get discovered. Lean more <a href='https://docs.reservoir.tools/docs/calldata-attribution'>here</a> */\n    source?: string;\n    /** @description Advanced use case to pass personal blurAuthToken; the API will generate one if left empty. */\n    blurAuth?: string;\n    params?: definitions[\"Model590\"];\n  };\n  Model592: {\n    /**\n     * @description Returns `complete` or `incomplete`.\n     * @enum {string}\n     */\n    status: \"complete\" | \"incomplete\";\n    tip?: string;\n    data?: definitions[\"metadata\"];\n    orderIndexes?: definitions[\"floorAskPrices\"];\n  };\n  Model593: definitions[\"Model592\"][];\n  Model594: {\n    /** @description Returns `nft-approval` or `order-signature` */\n    id: string;\n    /**\n     * @description Returns `request`, `signature`, or `transaction`.\n     * @enum {string}\n     */\n    kind: \"request\" | \"signature\" | \"transaction\";\n    action: string;\n    description: string;\n    items: definitions[\"Model593\"];\n  };\n  Model595: definitions[\"Model594\"][];\n  getExecuteListV5Response: {\n    steps?: definitions[\"Model595\"];\n    errors?: definitions[\"errors\"];\n  };\n  Model596: {\n    abiType: string;\n    abiValue: string;\n  };\n  /** @description Parameters to be passed into the mint method, each parameter is made up of a type and a value. */\n  Model597: definitions[\"Model596\"][];\n  Model598: {\n    /** @description Signature of the mint function, computed as keccak256. For example: keccak256('mintWithRewards(address,uint256,uint256,bytes,address)')) */\n    signature: string;\n    params?: definitions[\"Model597\"];\n  };\n  tx: {\n    /** @description Contract where to send the mint transaction */\n    to: string;\n    data?: definitions[\"Model598\"];\n  };\n  details: {\n    tx?: definitions[\"tx\"];\n  };\n  /** @description Optional custom details to use for minting. */\n  custom: {\n    contract: string;\n    price: string;\n    details: definitions[\"details\"];\n  };\n  Model599: {\n    /** @description Collection to mint. */\n    collection?: string;\n    /** @description Token to mint. */\n    token?: string;\n    custom?: definitions[\"custom\"];\n    /** @description Quantity of tokens to mint. */\n    quantity?: number;\n    /** @description Optionally specify a stage to mint */\n    preferredMintStage?: string;\n  };\n  /** @description List of items to mint. */\n  Model600: definitions[\"Model599\"][];\n  /**\n   * @description List of fees (formatted as `feeRecipient:feeAmount`) to be taken when minting.\n   * Unless overridden via the `currency` param, the currency used for any fees on top matches the buy-in currency detected by the backend.\n   * Example: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00:1000000000000000`\n   */\n  Model601: string[];\n  Model602: {\n    items: definitions[\"Model600\"];\n    /** @description Address of wallet minting (receiver of the NFT). */\n    taker: string;\n    /** @description Address of wallet relaying the mint transaction(s) (paying for the NFT). */\n    relayer?: string;\n    /**\n     * @description If true, only the path will be returned.\n     * @default false\n     */\n    onlyPath?: boolean;\n    /** @description The chain id of the purchase currency. */\n    currencyChainId?: number;\n    /** @description Filling source used for attribution. Example: `reservoir.market` */\n    source?: string;\n    feesOnTop?: definitions[\"Model601\"];\n    /**\n     * @description If true, any off-chain or on-chain errors will be skipped.\n     * @default false\n     */\n    partial?: boolean;\n    /**\n     * @description If true, balance checks will be skipped.\n     * @default false\n     */\n    skipBalanceCheck?: boolean;\n    /** @description Referrer address (where supported). */\n    referrer?: string;\n    /** @description Mint comment (where suported). */\n    comment?: string;\n  };\n  Model603: {\n    orderId?: string;\n    contract?: string;\n    tokenId?: string;\n    quantity?: number;\n    source?: string;\n    currency?: string;\n    currencySymbol?: string;\n    currencyDecimals?: number;\n    quote?: number;\n    rawQuote?: string;\n    buyInCurrency?: string;\n    buyInCurrencySymbol?: string;\n    buyInCurrencyDecimals?: number;\n    buyInQuote?: number;\n    buyInRawQuote?: string;\n    totalPrice?: number;\n    totalRawPrice?: string;\n    feesOnTop?: definitions[\"Model563\"];\n    gasCost?: string;\n    /** @description Chain id buying from */\n    fromChainId?: number;\n  };\n  Model604: definitions[\"Model603\"][];\n  postExecuteMintV1Response: {\n    requestId?: string;\n    steps?: definitions[\"Model559\"];\n    errors?: definitions[\"Model561\"];\n    path?: definitions[\"Model604\"];\n    maxQuantities?: definitions[\"maxQuantities\"];\n    fees?: definitions[\"Model567\"];\n    gasEstimate?: number;\n  };\n  Model605: {\n    /** @description Id of the permit */\n    id: string;\n    /** @description Whether to persist the permit or not */\n    persist?: boolean;\n  };\n  Model606: {\n    /** @description Id of the pre-signature */\n    id: string;\n  };\n  Model607: {\n    /** @description Request id of the associate execute API request */\n    requestId: string;\n    /** @description Step id of the relevant execute item */\n    stepId: string;\n    /** @description Associated transaction hash */\n    txHash?: string;\n    /** @description Associated error message */\n    errorMessage?: string;\n  };\n  postExecuteResultsV1Response: {\n    message: string;\n  };\n  Model608: {\n    /** @enum {string} */\n    kind:\n      | \"opensea\"\n      | \"looks-rare\"\n      | \"zeroex-v4\"\n      | \"seaport\"\n      | \"seaport-v1.4\"\n      | \"seaport-v1.5\"\n      | \"x2y2\";\n    data: definitions[\"metadata\"];\n  };\n  /**\n   * @description List of fees (formatted as `feeRecipient:feeAmount`) to be taken when filling.\n   * The currency used for any fees on top matches the accepted bid's currency.\n   * Example: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00:1000000000000000`\n   */\n  Model609: string[];\n  Model610: {\n    orderId?: string;\n    rawOrder?: definitions[\"Model608\"];\n    /** @description Filter to a particular token. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n    token: string;\n    /** @description Address of wallet filling the order. Example: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00` */\n    taker: string;\n    /** @description Quantity of tokens user is selling. Only compatible when selling a single ERC1155 token. Example: `5` */\n    quantity?: number;\n    /** @description Filling source used for attribution. Example: `reservoir.market` */\n    source?: string;\n    feesOnTop?: definitions[\"Model609\"];\n    /**\n     * @description If true, only the path will be returned.\n     * @default false\n     */\n    onlyPath?: boolean;\n    /** @default false */\n    normalizeRoyalties?: boolean;\n    /**\n     * @description If true, do not filter out inactive orders (only relevant for order id filtering).\n     * @default false\n     */\n    allowInactiveOrderIds?: boolean;\n    /**\n     * @description Exclude orders that can only be filled by EOAs, to support filling with smart contracts.\n     * @default false\n     */\n    excludeEOA?: boolean;\n    /** @description Optional. Set custom gas price. */\n    maxFeePerGas?: string;\n    /** @description Optional. Set custom gas price. */\n    maxPriorityFeePerGas?: string;\n    /** @description Override the X2Y2 API key used for filling. */\n    x2y2ApiKey?: string;\n  };\n  /** @description Optional raw order to sell into. */\n  Model611: {\n    /**\n     * @default\n     * @enum {string}\n     */\n    kind?:\n      | \"blur-partial\"\n      | \"opensea\"\n      | \"looks-rare\"\n      | \"zeroex-v4\"\n      | \"seaport\"\n      | \"seaport-v1.4\"\n      | \"seaport-v1.5\"\n      | \"seaport-v1.6\"\n      | \"mintify\"\n      | \"x2y2\"\n      | \"rarible\"\n      | \"sudoswap\"\n      | \"nftx\";\n    data?: definitions[\"metadata\"];\n  };\n  Model612: {\n    /** @description Token to sell. */\n    token: string;\n    /**\n     * @description Quantity of tokens to sell.\n     * @default 1\n     */\n    quantity?: number;\n    /** @description Optional order id to sell into. */\n    orderId?: string;\n    rawOrder?: definitions[\"Model611\"];\n    exactOrderSource?: definitions[\"Model551\"];\n    exclusions?: definitions[\"exclusions\"];\n  };\n  /** @description List of items to sell. */\n  Model613: definitions[\"Model612\"][];\n  /**\n   * @description List of fees (formatted as `feeRecipient:feeAmount`) to be taken when filling.\n   * The currency used for any fees on top is always the wrapped native currency of the chain.\n   * Example: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00:1000000000000000`\n   */\n  Model614: string[];\n  Model615: {\n    items: definitions[\"Model613\"];\n    /** @description Address of wallet filling. */\n    taker: string;\n    /** @description Filling source used for attribution. */\n    source?: string;\n    feesOnTop?: definitions[\"Model614\"];\n    /**\n     * @description If true, only the filling path will be returned.\n     * @default false\n     */\n    onlyPath?: boolean;\n    /**\n     * @description Charge any missing royalties.\n     * @default false\n     */\n    normalizeRoyalties?: boolean;\n    /**\n     * @description Exclude orders that can only be filled by EOAs, to support filling with smart contracts.\n     * @default false\n     */\n    excludeEOA?: boolean;\n    /**\n     * @description If true, inactive orders will not be skipped over (only relevant when filling via a specific order id).\n     * @default false\n     */\n    allowInactiveOrderIds?: boolean;\n    /**\n     * @description If true, any off-chain or on-chain errors will be skipped.\n     * @default false\n     */\n    partial?: boolean;\n    /**\n     * @description If true, filling will be forced to use the common 'approval + transfer' method instead of the approval-less 'on-received hook' method\n     * @default true\n     */\n    forceRouter?: boolean;\n    /**\n     * @description Choose a specific swapping provider when receiving in a different currency (defaults to `uniswap`)\n     * @default uniswap\n     * @enum {string}\n     */\n    swapProvider?: \"uniswap\" | \"relay\";\n    /** @description If passed, all fills will be executed through the trusted trusted forwarder (where possible) */\n    forwarderChannel?: string;\n    /** @description Currency to be received when selling. */\n    currency?: string;\n    /** @description Optional custom gas settings. Includes base fee & priority fee in this limit. */\n    maxFeePerGas?: string;\n    /** @description Optional custom gas settings. */\n    maxPriorityFeePerGas?: string;\n    /** @description Optional X2Y2 API key used for filling. */\n    x2y2ApiKey?: string;\n    /** @description Optional OpenSea API key used for filling. You don't need to pass your own key, but if you don't, you are more likely to be rate-limited. */\n    openseaApiKey?: string;\n    /** @description Optional Blur auth used for filling */\n    blurAuth?: string;\n  };\n  Model616: {\n    /**\n     * @description Returns `complete` or `incomplete`.\n     * @enum {string}\n     */\n    status: \"complete\" | \"incomplete\";\n    tip?: string;\n    orderIds?: definitions[\"sampleImages\"];\n    data?: definitions[\"metadata\"];\n    /** @description Approximation of gas used (only applies to `transaction` items) */\n    gasEstimate?: number;\n  };\n  Model617: definitions[\"Model616\"][];\n  Model618: {\n    /** @description Returns `auth` or `nft-approval` */\n    id: string;\n    action: string;\n    description: string;\n    /**\n     * @description Returns `signature` or `transaction`.\n     * @enum {string}\n     */\n    kind: \"signature\" | \"transaction\";\n    items: definitions[\"Model617\"];\n  };\n  Model619: definitions[\"Model618\"][];\n  Model620: {\n    orderId?: string;\n    contract?: string;\n    tokenId?: string;\n    quantity?: number;\n    source?: string;\n    currency?: string;\n    currencySymbol?: string;\n    currencyDecimals?: number;\n    quote?: number;\n    rawQuote?: string;\n    sellOutCurrency?: string;\n    sellOutCurrencySymbol?: string;\n    sellOutCurrencyDecimals?: number;\n    sellOutQuote?: number;\n    sellOutRawQuote?: string;\n    totalPrice?: number;\n    totalRawPrice?: string;\n    builtInFees?: definitions[\"builtInFees\"];\n    feesOnTop?: definitions[\"Model563\"];\n  };\n  Model621: definitions[\"Model620\"][];\n  getExecuteSellV7Response: {\n    requestId?: string;\n    steps?: definitions[\"Model619\"];\n    errors?: definitions[\"Model561\"];\n    path?: definitions[\"Model621\"];\n  };\n  Model622: {\n    /** @enum {string} */\n    kind: \"cross-chain-intent\";\n    request?: string;\n    tx?: string;\n  };\n  status: {\n    endpoint: string;\n    /** @enum {string} */\n    method: \"POST\";\n    body?: string;\n  };\n  postExecuteSolveV1Response: {\n    status?: definitions[\"status\"];\n  };\n  Model623: {\n    /**\n     * @description Execution kind\n     * @enum {string}\n     */\n    kind: \"cross-chain-intent\" | \"cross-chain-transaction\" | \"transaction\";\n    /** @description The id of the execution (eg. transaction / order / intent hash) */\n    id: string;\n    /** @description Chain id where the action is happening (only relevant for 'cross-chain-transaction' actions) */\n    chainId?: number;\n  };\n  txHashes: string[];\n  postExecuteStatusV1Response: {\n    status: string;\n    details?: string;\n    txHashes?: definitions[\"txHashes\"];\n    time?: number;\n  };\n  Model624: {\n    token: string;\n    /** @default 1 */\n    quantity?: number;\n  };\n  Model625: definitions[\"Model624\"][];\n  Model626: {\n    from: string;\n    to: string;\n    items?: definitions[\"Model625\"];\n  };\n  Model627: {\n    /**\n     * @description Returns `complete` or `incomplete`.\n     * @enum {string}\n     */\n    status: \"complete\" | \"incomplete\";\n    data?: definitions[\"metadata\"];\n  };\n  Model628: definitions[\"Model627\"][];\n  Model629: {\n    /** @description Returns `nft-approval` or `transfer` */\n    id: string;\n    /**\n     * @description Returns `transaction`\n     * @enum {string}\n     */\n    kind: \"transaction\";\n    action: string;\n    description: string;\n    items: definitions[\"Model628\"];\n  };\n  Model630: definitions[\"Model629\"][];\n  postExecuteTransferV1Response: {\n    steps?: definitions[\"Model630\"];\n  };\n  Model631: {\n    signer: string;\n    endpoint: string;\n  };\n  /** @description Array of order ids to invalidate. Max limit is 50. Example: `ids[0]: 0x505b35e849bccbd787bf670b3e85577fa5c2814cfa0ecab50867e4dc5b5362d4 ids[1]: 0xd0e83bdeb5b79352d4a3657387d1e438e9df68d773bb3b3c88da41948ef48188` */\n  Model632: string[];\n  Model633: {\n    ids: definitions[\"Model632\"];\n  };\n  /** @description Array of tokens to disable or reenable metadata for. Max limit is 50. Example: `tokens[0]: 0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:704 tokens[1]: 0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:979` */\n  Model634: string[];\n  Model635: {\n    tokens: definitions[\"Model634\"];\n    /**\n     * @description Whether to disable or reenable the metadata. Defaults to true (disable)\n     * @default true\n     */\n    disable?: boolean;\n  };\n  Model636: {\n    /** @description The token to update the flag status for. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n    token: string;\n    /**\n     * @description 0 - Token is not flagged, 1 - Token is flagged\n     * @enum {number}\n     */\n    flag: 0 | 1;\n  };\n  /** @description Array of tokens. Max limit is 50. Example: `tokens[0]: 0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:704 tokens[1]: 0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:979` */\n  Model637: string[];\n  Model638: {\n    tokens: definitions[\"Model637\"];\n    /**\n     * @description The new status of the nsfw\n     * @default true\n     */\n    nsfw?: boolean;\n  };\n  Model639: {\n    /** @description Refresh the given token. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n    token: string;\n    /**\n     * @description If true, only liquidity data will be refreshed.\n     * @default false\n     */\n    liquidityOnly?: boolean;\n    /**\n     * @description If true, will force a refresh regardless of cool down. Requires an authorized api key to be passed.\n     * @default false\n     */\n    overrideCoolDown?: boolean;\n  };\n  /** @description Array of tokens to refresh. Max limit is 50. Example: `tokens[0]: 0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:704 tokens[1]: 0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:979` */\n  Model640: string[];\n  Model641: {\n    tokens: definitions[\"Model640\"];\n    /**\n     * @description If true, only liquidity data will be refreshed.\n     * @default false\n     */\n    liquidityOnly?: boolean;\n    /**\n     * @description If true, will force a refresh regardless of cool down. Requires an authorized api key to be passed.\n     * @default false\n     */\n    overrideCoolDown?: boolean;\n  };\n  Model642: {\n    token?: string;\n    result?: string;\n    isError?: boolean;\n  };\n  Model643: definitions[\"Model642\"][];\n  postTokensRefreshV2Response: {\n    results?: definitions[\"Model643\"];\n  };\n  Model644: {\n    token?: string;\n    /**\n     * @default v6\n     * @enum {string}\n     */\n    router?: \"v5\" | \"v6\";\n  };\n  Model645: {\n    token?: string;\n  };\n  Model646: {\n    tokens: definitions[\"Model637\"];\n    /**\n     * @description API to update the spam status of a token\n     * @default true\n     */\n    spam?: boolean;\n  };\n  Model647: {\n    bps?: number;\n    recipient?: string;\n  };\n  Model648: definitions[\"Model647\"][];\n  /** @description Params that can be passed in order to override existing ones, to disable override pass null */\n  Model649: {\n    name?: string;\n    description?: string;\n    imageUrl?: string;\n    twitterUsername?: string;\n    twitterUrl?: string;\n    discordUrl?: string;\n    externalUrl?: string;\n    magicedenVerificationStatus?: string;\n    royalties?: definitions[\"Model648\"];\n  };\n  /** @description Params that can be passed in order to override existing ones, to disable override pass an empty string */\n  Model650: {\n    name?: string;\n    description?: string;\n    imageUrl?: string;\n    twitterUsername?: string;\n    twitterUrl?: string;\n    discordUrl?: string;\n    externalUrl?: string;\n    magicedenVerificationStatus?: string;\n    royalties?: definitions[\"Model648\"];\n  };\n  Model651: {\n    /** @enum {string} */\n    kind: \"cross-chain-intent\";\n    user?: string;\n  };\n  userBalance: {\n    currentChain: string;\n    allChains: string;\n  };\n  postExecuteSolveCapacityV1Response: {\n    capacityPerRequest: string;\n    totalCapacity: string;\n    userBalance?: definitions[\"userBalance\"];\n    maxItems: number;\n    maxPricePerItem: string;\n  };\n  postExecuteSolveCapacityV2Response: {\n    capacityPerRequest: string;\n    totalCapacity: string;\n    userBalance?: definitions[\"userBalance\"];\n    maxPricePerItem: string;\n  };\n  Model652: {\n    collection: string;\n    stage: string;\n    tokenId?: string;\n  };\n  Model653: {\n    id?: string;\n    token?: string;\n    collection?: string;\n    /** @default false */\n    skipRevalidation?: boolean;\n    /**\n     * @description Requires an authorized api key to be passed.\n     * @default false\n     */\n    includeCalldata?: boolean;\n  };\n  postSimulateOrderV1Response: {\n    message?: string;\n    callData?: string;\n  };\n}\n\nexport interface operations {\n  getAdminGetmarketplaces: {\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getMarketplacesv1Resp\"];\n      };\n    };\n  };\n  getAdminOpenapi: {\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  getAdminRatelimitrules: {\n    parameters: {\n      header: {\n        \"x-admin-api-key\": string;\n      };\n      query: {\n        /** The route to get rules for */\n        route?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  getAssetsV1: {\n    parameters: {\n      query: {\n        asset: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  getAttributesV1: {\n    parameters: {\n      query: {\n        /** Filter to a particular collection, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getAttributesV1Response\"];\n      };\n    };\n  };\n  /** Get detailed information about a single collection, including real-time stats. */\n  getCollectionV1: {\n    parameters: {\n      query: {\n        /** Filter to a particular collection, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        id?: string;\n        /** Filter to a particular slug, e.g. `boredapeyachtclub` */\n        slug?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getCollectionV1Response\"];\n      };\n    };\n  };\n  /** Get detailed information about a single collection, including real-time stats. */\n  getCollectionV2: {\n    parameters: {\n      query: {\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        id?: string;\n        /** Filter to a particular collection slug. Example: `boredapeyachtclub` */\n        slug?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getCollectionV2Response\"];\n      };\n    };\n  };\n  /** Get detailed information about a single collection, including real-time stats. */\n  getCollectionV3: {\n    parameters: {\n      query: {\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        id?: string;\n        /** Filter to a particular collection slug. Example: `boredapeyachtclub` */\n        slug?: string;\n        /** If true, top bid will be returned in the response. */\n        includeTopBid?: boolean;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getCollectionV3Response\"];\n      };\n    };\n  };\n  /** Useful for getting multiple collections to show in a marketplace, or search for particular collections. */\n  getCollectionsV1: {\n    parameters: {\n      query: {\n        /** Filter to a particular community, e.g. `artblocks` */\n        community?: string;\n        /** Filter to a particular contract, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        contract?: string;\n        /** Search for collections that match a string, e.g. `bored` */\n        name?: string;\n        /** Filter to a particular slug, e.g. `boredapeyachtclub` */\n        slug?: string;\n        sortBy?: \"1DayVolume\" | \"allTimeVolume\";\n        offset?: number;\n        limit?: number;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getCollectionsV1Response\"];\n      };\n    };\n  };\n  /** Useful for getting multiple collections to show in a marketplace, or search for particular collections. */\n  getCollectionsV2: {\n    parameters: {\n      query: {\n        /** Filter to a particular community, e.g. `artblocks` */\n        community?: string;\n        /** Filter to a particular contract, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        contract?: string;\n        /** Search for collections that match a string, e.g. `bored` */\n        name?: string;\n        /** Filter to a particular slug, e.g. `boredapeyachtclub` */\n        slug?: string;\n        sortBy?: \"1DayVolume\" | \"7DayVolume\" | \"30DayVolume\" | \"allTimeVolume\";\n        offset?: number;\n        limit?: number;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getCollectionsV2Response\"];\n      };\n    };\n  };\n  /** Useful for getting multiple collections to show in a marketplace, or search for particular collections. */\n  getCollectionsV3: {\n    parameters: {\n      query: {\n        /** Filter to a particular community, e.g. `artblocks` */\n        community?: string;\n        /** Filter to a particular contract, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        contract?: string;\n        /** Search for collections that match a string, e.g. `bored` */\n        name?: string;\n        /** Filter to a particular slug, e.g. `boredapeyachtclub` */\n        slug?: string;\n        sortBy?: \"1DayVolume\" | \"7DayVolume\" | \"30DayVolume\" | \"allTimeVolume\";\n        offset?: number;\n        limit?: number;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getCollectionsV3Response\"];\n      };\n    };\n  };\n  /** Useful for getting multiple collections to show in a marketplace, or search for particular collections. */\n  getCollectionsV4: {\n    parameters: {\n      query: {\n        /** Filter to a particular collection set. */\n        collectionsSetId?: string;\n        /** Filter to a particular community. Example: `artblocks` */\n        community?: string;\n        contract?: string[] | string;\n        /** Search for collections that match a string. Example: `bored` */\n        name?: string;\n        /** Filter to a particular collection slug. Example: `boredapeyachtclub` */\n        slug?: string;\n        /** Order the items are returned in the response. */\n        sortBy?: \"1DayVolume\" | \"7DayVolume\" | \"30DayVolume\" | \"allTimeVolume\";\n        /** If true, top bid will be returned in the response. */\n        includeTopBid?: boolean;\n        /** Amount of items returned in response. */\n        limit?: number;\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getCollectionsV4Response\"];\n      };\n    };\n  };\n  /** Use this API to explore a collection’s metadata and statistics (sales, volume, etc). */\n  getCollectionsV5: {\n    parameters: {\n      query: {\n        /** Filter to a particular collection with collection id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        id?: string;\n        /** Filter to a particular collection slug. Example: `boredapeyachtclub` */\n        slug?: string;\n        /** Filter to a particular collection set. Example: `8daa732ebe5db23f267e58d52f1c9b1879279bcdf4f78b8fb563390e6946ea65` */\n        collectionsSetId?: string;\n        /** Filter to a particular community. Example: `artblocks` */\n        community?: string;\n        contract?: string[] | string;\n        /** Search for collections that match a string. Example: `bored` */\n        name?: string;\n        /** Maximum floor price of the collection */\n        maxFloorAskPrice?: number;\n        /** Minumum floor price of the collection */\n        minFloorAskPrice?: number;\n        /** If true, top bid will be returned in the response. */\n        includeTopBid?: boolean;\n        /** If true, attributes will be included in the response. Must filter by `id` or `slug` to a particular collection. */\n        includeAttributes?: boolean;\n        /** If true, sales count (1 day, 7 day, 30 day, all time) will be included in the response. Must filter by `id` or `slug` to a particular collection. */\n        includeSalesCount?: boolean;\n        /** If true, mint data for the collection will be included in the response. */\n        includeMintStages?: boolean;\n        /** If true, prices will include missing royalties to be added on-top. */\n        normalizeRoyalties?: boolean;\n        /** If true, return the non flagged floor ask. Supported only when `normalizeRoyalties` is false. */\n        useNonFlaggedFloorAsk?: boolean;\n        /** Order the items are returned in the response. Options are `#DayVolume`, `createdAt`, or `floorAskPrice` */\n        sortBy?:\n          | \"1DayVolume\"\n          | \"7DayVolume\"\n          | \"30DayVolume\"\n          | \"allTimeVolume\"\n          | \"createdAt\"\n          | \"floorAskPrice\";\n        /** Amount of items returned in response. Default and max limit is 20. */\n        limit?: number;\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** Input any ERC20 address to return result in given currency */\n        displayCurrency?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getCollectionsV5Response\"];\n      };\n    };\n  };\n  /** Use this API to explore a collection's metadata and statistics (sales, volume, etc). */\n  getCollectionsV6: {\n    parameters: {\n      query: {\n        /** Filter to a particular collection with collection id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        id?: string;\n        /** Filter to a particular collection slug. Example: `boredapeyachtclub` */\n        slug?: string;\n        /** Filter to a particular collection set. Example: `8daa732ebe5db23f267e58d52f1c9b1879279bcdf4f78b8fb563390e6946ea65` */\n        collectionsSetId?: string;\n        /** Filter to a particular community. Example: `artblocks` */\n        community?: string;\n        contract?: string[] | string;\n        /** Filter by creator */\n        creator?: string;\n        /** Search for collections that match a string. Example: `bored` */\n        name?: string;\n        /** Maximum floor price of the collection */\n        maxFloorAskPrice?: number;\n        /** Minumum floor price of the collection */\n        minFloorAskPrice?: number;\n        /** If true, attributes will be included in the response. Must filter by `id` or `slug` to a particular collection. */\n        includeAttributes?: boolean;\n        /** If true, sales count (1 day, 7 day, 30 day, all time) will be included in the response. Must filter by `id` or `slug` to a particular collection. */\n        includeSalesCount?: boolean;\n        /** If true, mint data for the collection will be included in the response. */\n        includeMintStages?: boolean;\n        /** If true, prices will include missing royalties to be added on-top. */\n        normalizeRoyalties?: boolean;\n        /** If true, return the non flagged floor ask. Supported only when `normalizeRoyalties` is false. */\n        useNonFlaggedFloorAsk?: boolean;\n        /** Order the items are returned in the response. Options are `#DayVolume`, `createdAt`, or `floorAskPrice` */\n        sortBy?:\n          | \"1DayVolume\"\n          | \"7DayVolume\"\n          | \"30DayVolume\"\n          | \"allTimeVolume\"\n          | \"createdAt\"\n          | \"floorAskPrice\";\n        /** Amount of items returned in response. Default and max limit is 20. */\n        limit?: number;\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** Input any ERC20 address to return result in given currency */\n        displayCurrency?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getCollectionsV6Response\"];\n      };\n    };\n  };\n  /** Use this API to explore a collection's metadata and statistics (sales, volume, etc). */\n  getCollectionsV7: {\n    parameters: {\n      query: {\n        /**\n         * Filter to a particular collection with collection id. The id is immutable.\n         *  For single contract collections, the id is the contract address e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63`\n         *  Artblocks will follow this format with a token range: `{artblocksContractAddress}:{startTokenId}:{endTokenId}`\n         *  Shared contracts will generally follow the format `{contract}:{namespace}-{id}`; The following shared contracts will follow this format:\n         *  OpenSea, Sound, SuperRare, Foundation, Ordinals, & Courtyard\n         */\n        id?: string;\n        /** Filter to a particular collection slug. We recommend to rely on collection id; slugs are dynamic and can change without warning. Example: `boredapeyachtclub` */\n        slug?: string;\n        /** Filter to a particular collection set. Example: `8daa732ebe5db23f267e58d52f1c9b1879279bcdf4f78b8fb563390e6946ea65` */\n        collectionsSetId?: string;\n        /** Filter to a particular community. Example: `artblocks` */\n        community?: string;\n        contract?: string[] | string;\n        /** Filter by creator */\n        creator?: string;\n        /** Search for collections that match a string. Example: `bored` */\n        name?: string;\n        /** Maximum floor price of the collection */\n        maxFloorAskPrice?: number;\n        /** Minumum floor price of the collection */\n        minFloorAskPrice?: number;\n        /** If true, attributes will be included in the response. Must filter by `id` or `slug` to a particular collection. */\n        includeAttributes?: boolean;\n        /** If true, sales count (1 day, 7 day, 30 day, all time) will be included in the response. Must filter by `id` or `slug` to a particular collection. */\n        includeSalesCount?: boolean;\n        /** If true, mint data for the collection will be included in the response. */\n        includeMintStages?: boolean;\n        /** If true, security configuration data (e.g. ERC721C or Operator Filter Registry configuration) will be included in the response. */\n        includeSecurityConfigs?: boolean;\n        /** If true, prices will include missing royalties to be added on-top. */\n        normalizeRoyalties?: boolean;\n        /** If true, return the non flagged floor ask. Supported only when `normalizeRoyalties` is false. */\n        useNonFlaggedFloorAsk?: boolean;\n        /** Order the items are returned in the response. Options are `#DayVolume`, `createdAt`, `updatedAt`, `lastMintTimestamp`, or `floorAskPrice` */\n        sortBy?:\n          | \"1DayVolume\"\n          | \"7DayVolume\"\n          | \"30DayVolume\"\n          | \"allTimeVolume\"\n          | \"createdAt\"\n          | \"updatedAt\"\n          | \"floorAskPrice\"\n          | \"lastMintTimestamp\";\n        sortDirection?: string;\n        /** Amount of items returned in response. Default and max limit is 20, unless sorting by `updatedAt` which has a max limit of 1000. */\n        limit?: number;\n        /** If true, will filter any collections marked as spam. */\n        excludeSpam?: boolean;\n        /** If true, will filter any collections marked as nsfw. */\n        excludeNsfw?: boolean;\n        /** When sorting by `updatedAt`, the start timestamp you want to filter on (UTC). */\n        startTimestamp?: number;\n        /** When sorting by `updatedAt`, the end timestamp you want to filter on (UTC). */\n        endTimestamp?: number;\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** Input any ERC20 address to return result in given currency. Applies to `topBid` and `floorAsk`. */\n        displayCurrency?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getCollectionsV7Response\"];\n      };\n    };\n  };\n  /**\n   * This API can be used to check the status of cross posted listings and bids.\n   *\n   *  Input your `crossPostingOrderId` into the `ids` param and submit for the status.\n   *\n   *  The `crossPostingOrderId` is returned in the `execute/bids` and `execute/asks` response as well as the `onProgess` callback for the SDK.\n   *\n   *  Note: ReservoirKit does not return a `crossPostingOrderId`.\n   */\n  getCrosspostingordersV1: {\n    parameters: {\n      query: {\n        ids?: number[] | string;\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** Amount of items returned in response. */\n        limit?: number;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getCrossPostingOrdersV1Response\"];\n      };\n    };\n  };\n  /** Get fungible data by contract address. */\n  getFungiblesV1: {\n    parameters: {\n      query: {\n        contracts: string[] | string;\n        /** Amount of items returned in response. Max limit is 20. */\n        limit?: number;\n        continuation?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getFungibleTokensV1Response\"];\n      };\n    };\n  };\n  /** Access orders with various filters applied. If you need orders created by a single user, use the positions API instead. */\n  getOrdersV1: {\n    parameters: {\n      query: {\n        id?: string;\n        /** Filter to a particular token, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n        token?: string;\n        /** Filter to a particular set, e.g. `contract:0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        tokenSetId?: string;\n        offset?: number;\n        limit?: number;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getOrdersV1Response\"];\n      };\n    };\n  };\n  postOrdersV1: {\n    parameters: {\n      header: {\n        \"x-admin-api-key\": string;\n      };\n      body: {\n        body?: definitions[\"Model507\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  /** Access orders with various filters applied. If you need orders created by a single user, use the positions API instead. */\n  getOrdersV2: {\n    parameters: {\n      query: {\n        id?: string;\n        /** Filter to a particular token, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n        token?: string;\n        /** Filter to a particular set. Example: `token:CONTRACT:TOKEN_ID` representing a single token within contract, `contract:CONTRACT` representing a whole contract, `range:CONTRACT:START_TOKEN_ID:END_TOKEN_ID` representing a continuous token id range within a contract and `list:CONTRACT:TOKEN_IDS_HASH` representing a list of token ids within a contract. */\n        tokenSetId?: string;\n        offset?: number;\n        limit?: number;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getOrdersV2Response\"];\n      };\n    };\n  };\n  /** Get owners with various filters applied, and a summary of their ownership. Useful for exploring top owners in a collection or attribute. */\n  getOwnersV1: {\n    parameters: {\n      query: {\n        /** Filter to a particular collection set. */\n        collectionsSetId?: string;\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** Filter to a particular contract. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        contract?: string;\n        /** Filter to a particular token. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n        token?: string;\n        /** Filter to a particular attribute. Note: Our docs do not support this parameter correctly. To test, you can use the following URL in your browser. Example: `https://api.reservoir.tools/owners/v1?collection=0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63&attributes[Type]=Original` or `https://api.reservoir.tools/owners/v1?collection=0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63&attributes[Type]=Original&attributes[Type]=Sibling` */\n        attributes?: `attributes[${string}]` | `attributes[${string}]`[];\n        /** Use offset to request the next batch of items. */\n        offset?: number;\n        /** Amount of items returned in response. */\n        limit?: number;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getOwnersV1Response\"];\n      };\n    };\n  };\n  /** Get owners with various filters applied, and a summary of their ownership. Useful for exploring top owners in a collection or attribute. */\n  getOwnersV2: {\n    parameters: {\n      query: {\n        /** Filter to a particular collection set id. Example: `8daa732ebe5db23f267e58d52f1c9b1879279bcdf4f78b8fb563390e6946ea65` */\n        collectionsSetId?: string;\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** Filter to a particular contract. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        contract?: string;\n        /** Filter to a particular token. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n        token?: string;\n        /** Filter to a particular attribute. Attributes are case sensitive. Note: Our docs do not support this parameter correctly. To test, you can use the following URL in your browser. Example: `https://api.reservoir.tools/owners/v1?collection=0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63&attribute[Type]=Original` or `https://api.reservoir.tools/owners/v1?collection=0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63&attribute[Type]=Original&attribute[Type]=Sibling` */\n        attributes?: `attributes[${string}]` | `attributes[${string}]`[];\n        /** Use offset to request the next batch of items. */\n        offset?: number;\n        /** Amount of items returned in response. Max limit is 500. */\n        limit?: number;\n        /** Input any ERC20 address to return result in given currency */\n        displayCurrency?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getOwnersV2Response\"];\n      };\n    };\n  };\n  /** Get recent sales for a contract or token. */\n  getSalesV1: {\n    parameters: {\n      query: {\n        /** Filter to a particular collection, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** Filter to a particular contract, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        contract?: string;\n        /** Filter to a particular token, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n        token?: string;\n        offset?: number;\n        limit?: number;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getSalesV1Response\"];\n      };\n    };\n  };\n  /** Get recent sales for a contract or token. */\n  getSalesV2: {\n    parameters: {\n      query: {\n        /** Filter to a particular collection, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** Filter to a particular contract, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        contract?: string;\n        /** Filter to a particular token, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n        token?: string;\n        offset?: number;\n        limit?: number;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getSalesV2Response\"];\n      };\n    };\n  };\n  /** Get recent sales for a contract or token. Note: this API is returns rich metadata, and has advanced filters, so is only designed for small amounts of recent sales. If you want access to sales in bulk, use the `Aggregator > Bulk Sales` API. */\n  getSalesV3: {\n    parameters: {\n      query: {\n        contract?: string[] | string;\n        /** Filter to a particular token. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n        token?: string;\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** Filter to a particular attribute. Example: `attributes[Type]=Original` */\n        attributes?: `attributes[${string}]` | `attributes[${string}]`[];\n        /** Filter to a particular transaction. Example: `0x04654cc4c81882ed4d20b958e0eeb107915d75730110cce65333221439de6afc` */\n        txHash?: string;\n        /** Get events after a particular unix timestamp (inclusive) */\n        startTimestamp?: number;\n        /** Get events before a particular unix timestamp (inclusive) */\n        endTimestamp?: number;\n        /** Amount of items returned in response. */\n        limit?: number;\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getSalesV3Response\"];\n      };\n    };\n  };\n  /** Get recent sales for a contract or token. */\n  getSalesV4: {\n    parameters: {\n      query: {\n        contract?: string[] | string;\n        /** Filter to a particular token. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n        token?: string;\n        /** If enabled, also include token metadata in the response. */\n        includeTokenMetadata?: boolean;\n        /** If enabled, include sales that have been deleted. In some cases the backfilling process deletes sales that are no longer relevant or have been reverted. */\n        includeDeleted?: boolean;\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** Filter to a particular attribute. Note: Our docs do not support this parameter correctly. To test, you can use the following URL in your browser. Example: `https://api.reservoir.tools/sales/v4?collection=0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63&attributes[Type]=Original` or `https://api.reservoir.tools/sales/v4?collection=0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63&attributes[Type]=Original&attributes[Type]=Sibling` */\n        attributes?: `attributes[${string}]` | `attributes[${string}]`[];\n        /** Order the items are returned in the response. */\n        orderBy?: \"price\" | \"time\" | \"updated_at\";\n        /** Order the items are returned in the response. */\n        sortDirection?: \"asc\" | \"desc\";\n        /** Filter to a particular transaction. Example: `0x04654cc4c81882ed4d20b958e0eeb107915d75730110cce65333221439de6afc` */\n        txHash?: string;\n        /** Get events after a particular unix timestamp (inclusive). Relative to the orderBy time filters. */\n        startTimestamp?: number;\n        /** Get events before a particular unix timestamp (inclusive). Relative to the orderBy time filters. */\n        endTimestamp?: number;\n        /** Amount of items returned in response. */\n        limit?: number;\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getSalesV4Response\"];\n      };\n    };\n  };\n  /** Get recent sales for a contract or token. Paid mints are returned in this `sales` endpoint, free mints can be found in the `/activities/` endpoints. Array of contracts max limit is 20. */\n  getSalesV5: {\n    parameters: {\n      query: {\n        contract?: string[] | string;\n        /** Array of tokens. Max limit is 20. Example: `tokens[0]: 0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:704tokens[1]: 0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:979` */\n        tokens?: string[] | string;\n        /** If enabled, also include token metadata in the response. Default is false. */\n        includeTokenMetadata?: boolean;\n        /** If enabled, include sales that have been deleted. In some cases the backfilling process deletes sales that are no longer relevant or have been reverted. */\n        includeDeleted?: boolean;\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** Filter to a particular attribute. Attributes are case sensitive. Note: Our docs do not support this parameter correctly. To test, you can use the following URL in your browser. Example: `https://api.reservoir.tools/sales/v4?collection=0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63&attributes[Type]=Original` or `https://api.reservoir.tools/sales/v4?collection=0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63&attributes[Type]=Original&attributes[Type]=Sibling` */\n        attributes?: `attributes[${string}]` | `attributes[${string}]`[];\n        /** Order the items are returned in the response. Options are `price`, `time`, and `updated_at`. Default is `time`. */\n        orderBy?: \"price\" | \"time\" | \"updated_at\";\n        /** Order the items are returned in the response. */\n        sortDirection?: \"asc\" | \"desc\";\n        /** Filter to a particular transaction. Example: `0x04654cc4c81882ed4d20b958e0eeb107915d75730110cce65333221439de6afc` */\n        txHash?: string;\n        /** Get events after a particular unix timestamp (inclusive). Relative to the orderBy time filters. */\n        startTimestamp?: number;\n        /** Get events before a particular unix timestamp (inclusive). Relative to the orderBy time filters. */\n        endTimestamp?: number;\n        /** Amount of items returned in response. Max limit is 1000. */\n        limit?: number;\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getSalesV4Response\"];\n      };\n    };\n  };\n  /** Get recent sales for a contract or token. Paid mints are returned in this `sales` endpoint, free mints can be found in the `/activities/` endpoints. Array of contracts max limit is 20. */\n  getSalesV6: {\n    parameters: {\n      query: {\n        contract?: string[] | string;\n        /** Array of tokens. Max limit is 20. Example: `tokens[0]: 0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:704tokens[1]: 0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:979` */\n        tokens?: string[] | string;\n        /** If enabled, also include token metadata in the response. Default is false. */\n        includeTokenMetadata?: boolean;\n        /** If enabled, include sales that have been deleted. In some cases the backfilling process deletes sales that are no longer relevant or have been reverted. */\n        includeDeleted?: boolean;\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** Filter to a particular attribute. Attributes are case sensitive. Note: Our docs do not support this parameter correctly. To test, you can use the following URL in your browser. Example: `https://api.reservoir.tools/sales/v6?collection=0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63&attributes[Type]=Original` or `https://api.reservoir.tools/sales/v6?collection=0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63&attributes[Type]=Original&attributes[Type]=Sibling` */\n        attributes?: `attributes[${string}]` | `attributes[${string}]`[];\n        /** Order the items are returned in the response. Options are `price`, `time`, and `updatedAt`. Default is `time`. */\n        sortBy?: \"price\" | \"time\" | \"updatedAt\";\n        /** Order the items are returned in the response. */\n        sortDirection?: \"asc\" | \"desc\";\n        /** Filter to a particular transaction. Example: `0x04654cc4c81882ed4d20b958e0eeb107915d75730110cce65333221439de6afc` */\n        txHash?: string;\n        /** Get events after a particular unix timestamp (inclusive). Relative to the sortBy time filters. */\n        startTimestamp?: number;\n        /** Get events before a particular unix timestamp (inclusive). Relative to the sortBy time filters. */\n        endTimestamp?: number;\n        /** Amount of items returned in response. Max limit is 1000. */\n        limit?: number;\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getSalesV4Response\"];\n      };\n    };\n  };\n  /** This API returns a list of sources */\n  getSourcesV1: {\n    parameters: {\n      query: {\n        /** Order of the items are returned in the response. */\n        sortBy?: \"domain\" | \"createdAt\";\n        /** Order the items are returned in the response. */\n        sortDirection?: \"asc\" | \"desc\";\n        /** Filter to a particular domain. Example: `x2y2.io` */\n        domain?: string;\n        /** Amount of items returned in response. */\n        limit?: number;\n        continuation?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getSourcesV1Response\"];\n      };\n    };\n  };\n  /** Get aggregate stats for a particular set (collection, attribute or single token) */\n  getStatsV1: {\n    parameters: {\n      query: {\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** Filter to a particular token. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n        token?: string;\n        /** Filter to a particular attribute. Example: `attributes[Type]=Original` */\n        attributes?: `attributes[${string}]` | `attributes[${string}]`[];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getStatsV1Response\"];\n      };\n    };\n  };\n  /** Get aggregate stats for a particular set (collection, attribute or single token) */\n  getStatsV2: {\n    parameters: {\n      query: {\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** Filter to a particular token. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n        token?: string;\n        /** Filter to a particular attribute. Attributes are case sensitive. Note: Our docs do not support this parameter correctly. To test, you can use the following URL in your browser. Example: `https://api.reservoir.tools/stats/v2?collection=0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63&attributes[Type]=Original` or `https://api.reservoir.tools/stats/v2?collection=0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63&attributes[Type]=Original&attributes[Type]=Sibling` */\n        attributes?: `attributes[${string}]` | `attributes[${string}]`[];\n        /** If true, prices will include missing royalties to be added on-top. */\n        normalizeRoyalties?: boolean;\n        /** Input any ERC20 address to return result in given currency */\n        displayCurrency?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getStatsV2Response\"];\n      };\n    };\n  };\n  /** This API is optimized for quickly fetching a list of tokens in a collection, sorted by price, with only the most important information returned. If you need more metadata, use the `tokens/details` API */\n  getTokensV1: {\n    parameters: {\n      query: {\n        /** Filter to a particular collection, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** Filter to a particular contract, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        contract?: string;\n        /** Filter to a particular token, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n        token?: string;\n        /** Filter to a particular set, e.g. `contract:0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        tokenSetId?: string;\n        /** Limit to tokens that are listed for sale */\n        onSale?: boolean;\n        sortBy?: \"tokenId\" | \"floorAskPrice\" | \"topBidValue\";\n        sortDirection?: \"asc\" | \"desc\";\n        offset?: number;\n        limit?: number;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getTokensV1Response\"];\n      };\n    };\n  };\n  /** This API is optimized for quickly fetching a list of tokens in a collection, sorted by price, with only the most important information returned. If you need more metadata, use the `tokens/details` API */\n  getTokensV2: {\n    parameters: {\n      query: {\n        /** Filter to a particular collection, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** Filter to a particular contract, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        contract?: string;\n        /** Filter to a particular token, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n        token?: string;\n        /** Filter to a particular set, e.g. `contract:0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        tokenSetId?: string;\n        /** Filter to a particular attribute, e.g. `attributes[Type]=Original` */\n        attributes?: `attributes[${string}]` | `attributes[${string}]`[];\n        sortBy?: \"floorAskPrice\" | \"topBidValue\";\n        limit?: number;\n        continuation?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getTokensV2Response\"];\n      };\n    };\n  };\n  /** This API is optimized for quickly fetching a list of tokens in a collection, sorted by price, with only the most important information returned. If you need more metadata, use the `tokens/details` API */\n  getTokensV3: {\n    parameters: {\n      query: {\n        /** Filter to a particular collection, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** Filter to a particular contract, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        contract?: string;\n        /** Filter to one or more tokens, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n        tokens?: string[] | string;\n        /** Filter to a particular set, e.g. `contract:0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        tokenSetId?: string;\n        /** Filter to a particular attribute, e.g. `attributes[Type]=Original` */\n        attributes?: `attributes[${string}]` | `attributes[${string}]`[];\n        sortBy?: \"floorAskPrice\" | \"topBidValue\";\n        limit?: number;\n        continuation?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getTokensV3Response\"];\n      };\n    };\n  };\n  /** This API is optimized for quickly fetching a list of tokens in a collection, sorted by price, with only the most important information returned. If you need more metadata, use the tokens/details API */\n  getTokensV4: {\n    parameters: {\n      query: {\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** Filter to a particular contract. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        contract?: string;\n        /** Array of tokens. Example: `tokens[0]: 0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:704tokens[1]: 0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:979` */\n        tokens?: string[] | string;\n        /** Filter to a particular token set. Example: token:0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270:129000685 */\n        tokenSetId?: string;\n        /** Filter to a particular attribute. Example: `attributes[Type]=Original` */\n        attributes?: `attributes[${string}]` | `attributes[${string}]`[];\n        /** Domain of the order source. Example `opensea.io` */\n        source?: string;\n        /** If true, results will filter only Reservoir orders. */\n        native?: boolean;\n        /** Order the items are returned in the response, by default sorted by `floorAskPrice`. Not supported when filtering by `contract`. When filtering by `contract` the results are sorted by `tokenId` by default. */\n        sortBy?: \"floorAskPrice\" | \"tokenId\" | \"rarity\";\n        sortDirection?: \"asc\" | \"desc\";\n        /** Amount of items returned in response. */\n        limit?: number;\n        /** If true, top bid will be returned in the response. */\n        includeTopBid?: boolean;\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getTokensV4Response\"];\n      };\n    };\n  };\n  /** Get a list of tokens with full metadata. This is useful for showing a single token page, or scenarios that require more metadata. */\n  getTokensV5: {\n    parameters: {\n      query: {\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** Filter to a particular collection set. */\n        collectionsSetId?: string;\n        /** Filter to a particular community. Example: `artblocks` */\n        community?: string;\n        /** Filter to a particular contract. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        contract?: string;\n        /** Filter to a particular token by name. Example: `token #1` */\n        tokenName?: string;\n        /** Array of tokens. Example: `tokens[0]: 0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:704 tokens[1]: 0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:979` */\n        tokens?: string[] | string;\n        /** Filter to a particular token set. Example: `token:CONTRACT:TOKEN_ID` representing a single token within contract, `contract:CONTRACT` representing a whole contract, `range:CONTRACT:START_TOKEN_ID:END_TOKEN_ID` representing a continuous token id range within a contract and `list:CONTRACT:TOKEN_IDS_HASH` representing a list of token ids within a contract. */\n        tokenSetId?: string;\n        /** Filter to a particular attribute. Note: Our docs do not support this parameter correctly. To test, you can use the following URL in your browser. Example: `https://api.reservoir.tools/tokens/v5?collection=0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63&attributes[Type]=Original` or `https://api.reservoir.tools/tokens/v5?collection=0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63&attributes[Type]=Original&attributes[Type]=Sibling` */\n        attributes?: `attributes[${string}]` | `attributes[${string}]`[];\n        /** Domain of the order source. Example `opensea.io` (Only listed tokens are returned when filtering by source) */\n        source?: string;\n        /** Domain of the order source. Example `www.apecoinmarketplace.com`. For a native marketplace, return all tokens listed on this marketplace, even if better prices are available on other marketplaces. */\n        nativeSource?: string;\n        /** Get tokens with a min rarity rank (inclusive) */\n        minRarityRank?: number;\n        /** Get tokens with a max rarity rank (inclusive) */\n        maxRarityRank?: number;\n        /** Get tokens with a min floor ask price (inclusive) */\n        minFloorAskPrice?: number;\n        /** Get tokens with a max floor ask price (inclusive) */\n        maxFloorAskPrice?: number;\n        /**\n         * Allowed only with collection and tokens filtering!\n         * -1 = All tokens (default)\n         * 0 = Non flagged tokens\n         * 1 = Flagged tokens\n         */\n        flagStatus?: -1 | 0 | 1;\n        /** Order the items are returned in the response. */\n        sortBy?: \"floorAskPrice\" | \"tokenId\" | \"rarity\";\n        sortDirection?: \"asc\" | \"desc\";\n        /** Filter to tokens with a listing in a particular currency. `Example: currencies[0]: 0x0000000000000000000000000000000000000000` */\n        currencies?: string[] | string;\n        /** Amount of items returned in response. */\n        limit?: number;\n        /** If true, top bid will be returned in the response. */\n        includeTopBid?: boolean;\n        /** If true, attributes will be returned in the response. */\n        includeAttributes?: boolean;\n        /** If true, quantity filled and quantity remaining will be returned in the response. */\n        includeQuantity?: boolean;\n        /** If true, dynamic pricing data will be returned in the response. */\n        includeDynamicPricing?: boolean;\n        /** If true, a boolean indicating whether royalties were paid on a token's last sale will be returned in the response. */\n        includeRoyaltiesPaid?: boolean;\n        /** If true, prices will include missing royalties to be added on-top. */\n        normalizeRoyalties?: boolean;\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** Return result in given currency */\n        displayCurrency?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getTokensV5Response\"];\n      };\n    };\n  };\n  /** Get a list of tokens with full metadata. This is useful for showing a single token page, or scenarios that require more metadata. */\n  getTokensV6: {\n    parameters: {\n      query: {\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** Filter to a particular token by name. This is case sensitive. Example: `token #1` */\n        tokenName?: string;\n        /** Array of tokens. Max limit is 50. Example: `tokens[0]: 0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:704 tokens[1]: 0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:979` */\n        tokens?: string[] | string;\n        /** Filter to a particular attribute. Attributes are case sensitive. Note: Our docs do not support this parameter correctly. To test, you can use the following URL in your browser. Example: `https://api.reservoir.tools/tokens/v6?collection=0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63&attributes[Type]=Original` or `https://api.reservoir.tools/tokens/v6?collection=0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63&attributes[Type]=Original&attributes[Type]=Sibling` */\n        attributes?: `attributes[${string}]` | `attributes[${string}]`[];\n        /** Domain of the order source. Example `opensea.io` (Only listed tokens are returned when filtering by source) */\n        source?: string;\n        /** Domain of the order source. Example `www.apecoinmarketplace.com`. For a native marketplace, return all tokens listed on this marketplace, even if better prices are available on other marketplaces. */\n        nativeSource?: string;\n        /** Get tokens with a min rarity rank (inclusive), no rarity rank for collections over 100k */\n        minRarityRank?: number;\n        /** Get tokens with a max rarity rank (inclusive), no rarity rank for collections over 100k */\n        maxRarityRank?: number;\n        /** Get tokens with a min floor ask price (inclusive); use native currency */\n        minFloorAskPrice?: number;\n        /** Get tokens with a max floor ask price (inclusive); use native currency */\n        maxFloorAskPrice?: number;\n        /**\n         * Allowed only with collection and tokens filtering!\n         * -1 = All tokens (default)\n         * 0 = Non flagged tokens\n         * 1 = Flagged tokens\n         */\n        flagStatus?: -1 | 0 | 1;\n        /** Filter to a particular collection set. Example: `8daa732ebe5db23f267e58d52f1c9b1879279bcdf4f78b8fb563390e6946ea65` */\n        collectionsSetId?: string;\n        /** Filter to a particular community. Example: `artblocks` */\n        community?: string;\n        contract?: string[] | string;\n        /** Filter to a particular token set. `Example: token:0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270:129000685` */\n        tokenSetId?: string;\n        /** Order the items are returned in the response. Options are `floorAskPrice`, `tokenId`, `rarity`, and `updatedAt`. No rarity rank for collections over 100k. */\n        sortBy?: \"floorAskPrice\" | \"tokenId\" | \"rarity\" | \"updatedAt\";\n        sortDirection?: \"asc\" | \"desc\";\n        /** Filter to tokens with a listing in a particular currency. Max limit is 50. `Example: currencies[0]: 0x0000000000000000000000000000000000000000` */\n        currencies?: string[] | string;\n        /** Amount of items returned in response. Max limit is 100, except when sorting by `updatedAt` which has a limit of 1000. */\n        limit?: number;\n        /** When sorting by `updatedAt`, the start timestamp you want to filter on (UTC). */\n        startTimestamp?: number;\n        /** When sorting by `updatedAt`, the end timestamp you want to filter on (UTC). */\n        endTimestamp?: number;\n        /** If true, top bid will be returned in the response. */\n        includeTopBid?: boolean;\n        /** If true, mint data for the tokens will be included in the response. */\n        includeMintStages?: boolean;\n        /** Exclude orders that can only be filled by EOAs, to support filling with smart contracts. defaults to false */\n        excludeEOA?: boolean;\n        /** If true, will filter any tokens marked as spam. */\n        excludeSpam?: boolean;\n        /** If true, will filter any tokens marked as nsfw. */\n        excludeNsfw?: boolean;\n        /** If true, attributes will be returned in the response. */\n        includeAttributes?: boolean;\n        /** If true, quantity filled and quantity remaining will be returned in the response. */\n        includeQuantity?: boolean;\n        /** If true, dynamic pricing data will be returned in the response. */\n        includeDynamicPricing?: boolean;\n        /** If true, last sale data including royalties paid will be returned in the response. */\n        includeLastSale?: boolean;\n        /** If true, prices will include missing royalties to be added on-top. */\n        normalizeRoyalties?: boolean;\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** Input any ERC20 address to return result in given currency. Applies to `topBid` and `floorAsk`. */\n        displayCurrency?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getTokensV6Response\"];\n      };\n    };\n  };\n  /** Get a list of tokens with full metadata. This is useful for showing a single token page, or scenarios that require more metadata. */\n  getTokensV7: {\n    parameters: {\n      query: {\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** Array of tokens. Max limit is 50. Example: `tokens: 0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:704 tokens: 0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:979` */\n        tokens?: string[] | string;\n        /** Filter to a particular attribute. Attributes are case sensitive. Note: Our docs do not support this parameter correctly. To test, you can use the following URL in your browser. Example: `https://api.reservoir.tools/tokens/v6?collection=0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63&attributes[Type]=Original` or `https://api.reservoir.tools/tokens/v6?collection=0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63&attributes[Type]=Original&attributes[Type]=Sibling` */\n        attributes?: `attributes[${string}]` | `attributes[${string}]`[];\n        source?: string[] | string;\n        /** Domain of the order source. Example `www.apecoinmarketplace.com`. For a native marketplace, return all tokens listed on this marketplace, even if better prices are available on other marketplaces. */\n        nativeSource?: string;\n        excludeSources?: string[] | string;\n        /** Get tokens with a min rarity rank (inclusive), no rarity rank for collections over 100k */\n        minRarityRank?: number;\n        /** Get tokens with a max rarity rank (inclusive), no rarity rank for collections over 100k */\n        maxRarityRank?: number;\n        /** Get tokens with a min floor ask price (inclusive); use native currency */\n        minFloorAskPrice?: number;\n        /** Get tokens with a max floor ask price (inclusive); use native currency */\n        maxFloorAskPrice?: number;\n        /**\n         * Allowed only with collection and tokens filtering!\n         * -1 = All tokens (default)\n         * 0 = Non flagged tokens\n         * 1 = Flagged tokens\n         */\n        flagStatus?: -1 | 0 | 1;\n        /** Filter to a particular collection set. Example: `8daa732ebe5db23f267e58d52f1c9b1879279bcdf4f78b8fb563390e6946ea65` */\n        collectionsSetId?: string;\n        /** Filter to a particular community. Example: `artblocks` */\n        community?: string;\n        contract?: string[] | string;\n        /** Filter to a particular token set. `Example: token:0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270:129000685` */\n        tokenSetId?: string;\n        /** Order the items are returned in the response. Options are `floorAskPrice`, `tokenId`, `rarity`, `listedAt`, `lastSaleAt`, `lastSalePrice` and `updatedAt`. No rarity rank for collections over 100k. */\n        sortBy?:\n          | \"floorAskPrice\"\n          | \"tokenId\"\n          | \"rarity\"\n          | \"updatedAt\"\n          | \"listedAt\"\n          | \"lastSaleAt\"\n          | \"lastSalePrice\";\n        sortDirection?: string;\n        /** Filter to a particular token by name. This is case sensitive. Example: `token #1` */\n        tokenName?: string;\n        /** Filter to tokens with a listing in a particular currency. Max limit is 50. `Example: currencies[0]: 0x0000000000000000000000000000000000000000` */\n        currencies?: string[] | string;\n        /** Amount of items returned in response. Max limit is 100, except when sorting by `updatedAt` which has a limit of 1000. */\n        limit?: number;\n        /** When sorting by `updatedAt`, the start timestamp you want to filter on (UTC). */\n        startTimestamp?: number;\n        /** When sorting by `updatedAt`, the end timestamp you want to filter on (UTC). */\n        endTimestamp?: number;\n        /** If true, top bid will be returned in the response. */\n        includeTopBid?: boolean;\n        /** If true, mint data for the tokens will be included in the response. */\n        includeMintStages?: boolean;\n        /** Exclude orders that can only be filled by EOAs, to support filling with smart contracts. defaults to false */\n        excludeEOA?: boolean;\n        /** If true, will filter any tokens marked as spam. */\n        excludeSpam?: boolean;\n        /** If true, will filter any tokens marked as nsfw. */\n        excludeNsfw?: boolean;\n        /** If true, will filter any burnt tokens. */\n        excludeBurnt?: boolean;\n        /** If true, attributes will be returned in the response. */\n        includeAttributes?: boolean;\n        /** If true, quantity filled and quantity remaining will be returned in the response. */\n        includeQuantity?: boolean;\n        /** If true, dynamic pricing data will be returned in the response. */\n        includeDynamicPricing?: boolean;\n        /** If true, last sale data including royalties paid will be returned in the response. */\n        includeLastSale?: boolean;\n        /** If true, prices will include missing royalties to be added on-top. */\n        normalizeRoyalties?: boolean;\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** Input any ERC20 address to return result in given currency. Applies to `topBid` and `floorAsk`. */\n        displayCurrency?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getTokensV7Response\"];\n      };\n    };\n  };\n  /** Get recent transfers for a contract or token. */\n  getTransfersV2: {\n    parameters: {\n      query: {\n        /** Filter to a particular contract, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        contract?: string;\n        /** Filter to a particular token, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n        token?: string;\n        /** Filter to a particular collection, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** Filter to a particular attribute. Note: Our docs do not support this parameter correctly. To test, you can use the following URL in your browser. Example: `https://api.reservoir.tools/transfers/v2?collection=0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63&attributes[Type]=Original` or `https://api.reservoir.tools/transfers/v2?collection=0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63&attributes[Type]=Original&attributes[Type]=Sibling` */\n        attributes?: `attributes[${string}]` | `attributes[${string}]`[];\n        /** Filter to a particular transaction. Example: `0x04654cc4c81882ed4d20b958e0eeb107915d75730110cce65333221439de6afc` */\n        txHash?: string;\n        limit?: number;\n        continuation?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getTransfersV2Response\"];\n      };\n    };\n  };\n  /** Get recent transfers for a contract or token. */\n  getTransfersV3: {\n    parameters: {\n      query: {\n        /** Filter to a particular contract, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        contract?: string;\n        /** Filter to a particular token, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n        token?: string;\n        /** Filter to a particular collection, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** Filter to a particular attribute. Note: Our docs do not support this parameter correctly. To test, you can use the following URL in your browser. Example: `https://api.reservoir.tools/transfers/v2?collection=0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63&attributes[Type]=Original` or `https://api.reservoir.tools/transfers/v2?collection=0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63&attributes[Type]=Original&attributes[Type]=Sibling` */\n        attributes?: `attributes[${string}]` | `attributes[${string}]`[];\n        /** Filter to a particular transaction. Example: `0x04654cc4c81882ed4d20b958e0eeb107915d75730110cce65333221439de6afc` */\n        txHash?: string;\n        /** Order the items are returned in the response. Options are `timestamp`, and `updated_at`. Default is `timestamp`. */\n        orderBy?: \"timestamp\" | \"updated_at\";\n        /** Max limit is 100. */\n        limit?: number;\n        continuation?: string;\n        /** Input any ERC20 address to return result in given currency */\n        displayCurrency?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getTransfersV3Response\"];\n      };\n    };\n  };\n  /** Get recent transfers for a contract or token. */\n  getTransfersV4: {\n    parameters: {\n      query: {\n        /** Filter to a particular contract, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        contract?: string;\n        /** Filter to a particular token, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n        token?: string;\n        /** Filter to a particular collection, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** Filter to a particular attribute. Note: Our docs do not support this parameter correctly. To test, you can use the following URL in your browser. Example: `https://api.reservoir.tools/transfers/v2?collection=0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63&attributes[Type]=Original` or `https://api.reservoir.tools/transfers/v2?collection=0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63&attributes[Type]=Original&attributes[Type]=Sibling` */\n        attributes?: `attributes[${string}]` | `attributes[${string}]`[];\n        /** Filter to a particular transaction. Example: `0x04654cc4c81882ed4d20b958e0eeb107915d75730110cce65333221439de6afc` */\n        txHash?: string;\n        /** Order the items are returned in the response. Options are `timestamp`, and `updatedAt`. Default is `timestamp`. */\n        sortBy?: \"timestamp\" | \"updatedAt\";\n        sortDirection?: string;\n        /** Max limit is 100. */\n        limit?: number;\n        continuation?: string;\n        /** Input any ERC20 address to return result in given currency */\n        displayCurrency?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getTransfersV4Response\"];\n      };\n    };\n  };\n  getAdminGetapikeyKey: {\n    parameters: {\n      header: {\n        \"x-admin-api-key\": string;\n      };\n      path: {\n        /** The API key */\n        key: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getApiKeyRateLimitsResponse\"];\n      };\n    };\n  };\n  getAdminProvidermetadataType: {\n    parameters: {\n      header: {\n        \"x-admin-api-key\": string;\n      };\n      path: {\n        /** Fetch metadata for a token or collection */\n        type: \"token\" | \"collection\";\n      };\n      query: {\n        /** Array of tokens. Max limit is 50. Example: `tokens[0]: 0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:704 tokens[1]: 0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:979` */\n        tokens: string[] | string;\n        /** The indexing method to use */\n        method?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  /** Get the rate limits for the given API key. Note: API keys are not universal across all available chains; please make a different key for every chain. */\n  getApikeysKeyRatelimits: {\n    parameters: {\n      path: {\n        /** The API key */\n        key: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"Model112\"];\n      };\n    };\n  };\n  /** Get chain mint and sales stats for 1 and 7 days */\n  getChainStatsV1: {\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getChainStatsV5Response\"];\n      };\n    };\n  };\n  /** This API can be used to build a feed for a collection */\n  getCollectionsActivityV4: {\n    parameters: {\n      query: {\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** Filter to a particular collection set. */\n        collectionsSetId?: string;\n        /** Filter to a particular community. Example: `artblocks` */\n        community?: string;\n        /** Amount of items returned in response. If `includeMetadata=true` max limit is 20, otherwise max limit is 1,000. */\n        limit?: number;\n        /** Order the items are returned in the response, eventTimestamp = The blockchain event time, createdAt - The time in which event was recorded */\n        sortBy?: \"eventTimestamp\" | \"createdAt\";\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** If true, metadata is included in the response. */\n        includeMetadata?: boolean;\n        types?:\n          | (\n              | \"ask\"\n              | \"bid\"\n              | \"mint\"\n              | \"sale\"\n              | \"ask_cancel\"\n              | \"bid_cancel\"\n              | \"transfer\"\n            )[]\n          | string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getCollectionActivityV4Response\"];\n      };\n    };\n  };\n  /** This API can be used to build a feed for a collection */\n  getCollectionsActivityV5: {\n    parameters: {\n      query: {\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** Filter to a particular collection set. */\n        collectionsSetId?: string;\n        /** Filter to a particular community. Example: `artblocks` */\n        community?: string;\n        /** Filter to a particular attribute. Example: `attributes[Type]=Original` */\n        attributes?: `attributes[${string}]` | `attributes[${string}]`[];\n        /** Amount of items returned. Max limit is 50. */\n        limit?: number;\n        /** Order the items are returned in the response, eventTimestamp = The blockchain event time, createdAt - The time in which event was recorded */\n        sortBy?: \"eventTimestamp\" | \"createdAt\";\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** If true, metadata is included in the response. */\n        includeMetadata?: boolean;\n        types?:\n          | (\n              | \"ask\"\n              | \"bid\"\n              | \"mint\"\n              | \"sale\"\n              | \"ask_cancel\"\n              | \"bid_cancel\"\n              | \"transfer\"\n            )[]\n          | string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getCollectionActivityV5Response\"];\n      };\n    };\n  };\n  /** This API can be used to build a feed for a collection including sales, asks, transfers, mints, bids, cancelled bids, and cancelled asks types. */\n  getCollectionsActivityV6: {\n    parameters: {\n      query: {\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** Filter to a particular collection set. */\n        collectionsSetId?: string;\n        /** Filter to a particular community. Example: `artblocks` */\n        community?: string;\n        /** Filter to a particular attribute. Note: Our docs do not support this parameter correctly. To test, you can use the following URL in your browser. Example: `https://api.reservoir.tools/collections/activity/v6?collection=0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63&attribute[Type]=Original` or `https://api.reservoir.tools/collections/activity/v6?collection=0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63&attribute[Type]=Original&attribute[Type]=Sibling` */\n        attributes?: `attributes[${string}]` | `attributes[${string}]`[];\n        /** If true, will filter any activities marked as spam. */\n        excludeSpam?: boolean;\n        /** If true, will filter any activities marked as nsfw. */\n        excludeNsfw?: boolean;\n        /** Amount of items returned. Max limit is 50. */\n        limit?: number;\n        /** Order the items are returned in the response. The blockchain event time is `eventTimestamp`. The event time recorded is `createdAt`. */\n        sortBy?: \"eventTimestamp\" | \"createdAt\";\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** If true, metadata is included in the response. If true, max limit is 50. */\n        includeMetadata?: boolean;\n        types?:\n          | (\n              | \"ask\"\n              | \"bid\"\n              | \"mint\"\n              | \"sale\"\n              | \"ask_cancel\"\n              | \"bid_cancel\"\n              | \"transfer\"\n            )[]\n          | string;\n        /** Input any ERC20 address to return result in given currency */\n        displayCurrency?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getCollectionActivityV6Response\"];\n      };\n    };\n  };\n  /** Get date, volume, rank and sales count for each collection */\n  getCollectionsDailyvolumesV1: {\n    parameters: {\n      query: {\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        id: string;\n        /** Amount of items returned in response. */\n        limit?: number;\n        /** The start timestamp you want to filter on (UTC) */\n        startTimestamp?: number;\n        /** The end timestamp you want to filter on (UTC) */\n        endTimestamp?: number;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getDailyVolumesV1Response\"];\n      };\n    };\n  };\n  getCollectionsSearchV1: {\n    parameters: {\n      query: {\n        /** Array of chains. Max limit is 50. Example: `chains[0]: 1` */\n        chains?: number[] | number;\n        /** Lightweight search for collections that match a string. Example: `bored` */\n        prefix: string;\n        /** Filter to a particular community. Example: `artblocks` */\n        community?: string;\n        /** If true, will filter any collections marked as spam. */\n        excludeSpam?: boolean;\n        /** If true, will filter any collections marked as nsfw. */\n        excludeNsfw?: boolean;\n        /** Amount of items returned in response. */\n        limit?: number;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getCollectionSearchV1Response\"];\n      };\n    };\n  };\n  /** Get top selling and minting collections */\n  getCollectionsTopsellingV1: {\n    parameters: {\n      query: {\n        /** Start time in unix timestamp. Must be less than 2 weeks ago. defaults to 24 hours */\n        startTime?: number;\n        /** End time in unix timestamp. defaults to now */\n        endTime?: number;\n        /** Fill types to aggregate from (sale, mint, any) */\n        fillType?: \"sale\" | \"mint\" | \"any\";\n        /** Amount of items returned in response. Default is 25 and max is 50 */\n        limit?: number;\n        /** If true, 8 recent sales will be included in the response */\n        includeRecentSales?: boolean;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getTopSellingCollectionsV1Response\"];\n      };\n    };\n  };\n  /** Get top selling and minting collections */\n  getCollectionsTopsellingV2: {\n    parameters: {\n      query: {\n        /** Time window to aggregate. */\n        period?: \"5m\" | \"10m\" | \"30m\" | \"1h\" | \"6h\" | \"1d\" | \"24h\";\n        /** Fill types to aggregate from (sale, mint, any) */\n        fillType?: \"sale\" | \"mint\" | \"any\";\n        /** Amount of items returned in response. Default is 25 and max is 50 */\n        limit?: number;\n        sortBy?: \"volume\" | \"sales\";\n        /** If true, 8 recent sales will be included in the response */\n        includeRecentSales?: boolean;\n        /** If true, prices will include missing royalties to be added on-top. */\n        normalizeRoyalties?: boolean;\n        /** If true, return the non flagged floor ask. Supported only when `normalizeRoyalties` is false. */\n        useNonFlaggedFloorAsk?: boolean;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getTopSellingCollectionsV2Response\"];\n      };\n    };\n  };\n  /** Get trending selling/minting collections */\n  getCollectionsTrendingV1: {\n    parameters: {\n      query: {\n        /** Time window to aggregate. */\n        period?:\n          | \"5m\"\n          | \"10m\"\n          | \"30m\"\n          | \"1h\"\n          | \"6h\"\n          | \"1d\"\n          | \"24h\"\n          | \"7d\"\n          | \"30d\";\n        /** Amount of items returned in response. Default is 50 and max is 1000. Expected to be sorted and filtered on client side. */\n        limit?: number;\n        sortBy?: \"volume\" | \"sales\";\n        /** If true, prices will include missing royalties to be added on-top. */\n        normalizeRoyalties?: boolean;\n        /** If true, return the non flagged floor ask. Supported only when `normalizeRoyalties` is false. */\n        useNonFlaggedFloorAsk?: boolean;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getTrendingCollectionsV1Response\"];\n      };\n    };\n  };\n  /** Get top trending mints */\n  getCollectionsTrendingmintsV1: {\n    parameters: {\n      query: {\n        /** Time window to aggregate. */\n        period?: \"5m\" | \"10m\" | \"30m\" | \"1h\" | \"2h\" | \"6h\" | \"24h\";\n        /** The type of the mint (free/paid). */\n        type?: \"free\" | \"paid\" | \"any\";\n        /** Amount of items returned in response. Default is 50 and max is 50. Expected to be sorted and filtered on client side. */\n        limit?: number;\n        mintStandard?: string[] | string;\n        /** If true, prices will include missing royalties to be added on-top. */\n        normalizeRoyalties?: boolean;\n        /** If true, return the non flagged floor ask. Supported only when `normalizeRoyalties` is false. */\n        useNonFlaggedFloorAsk?: boolean;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"get-trending-mintsV1Response\"];\n      };\n    };\n  };\n  /** Get top trending mints */\n  getCollectionsTrendingmintsV2: {\n    parameters: {\n      query: {\n        /** Time window to aggregate. */\n        period?: \"5m\" | \"10m\" | \"30m\" | \"1h\" | \"2h\" | \"6h\" | \"24h\";\n        /** The type of the mint (free/paid). */\n        type?: \"free\" | \"paid\" | \"any\";\n        /** Amount of items returned in response. Default is 50 and max is 50. Expected to be sorted and filtered on client side. */\n        limit?: number;\n        mintStandard?: string[] | string;\n        /** If true, prices will include missing royalties to be added on-top. */\n        normalizeRoyalties?: boolean;\n        /** If true, return the non flagged floor ask. Supported only when `normalizeRoyalties` is false. */\n        useNonFlaggedFloorAsk?: boolean;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"get-trending-mintsV2Response\"];\n      };\n    };\n  };\n  /** Get detailed information about a single collection, including real-time stats. */\n  getCollectionsCollectionorslugV1: {\n    parameters: {\n      path: {\n        collectionOrSlug: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getCollectionDeprecatedV1Response\"];\n      };\n    };\n  };\n  /** Convert an amount in one currency to another */\n  getCurrenciesConversionV1: {\n    parameters: {\n      query: {\n        /** Currency address or fiat symbol to convert from */\n        from?: string;\n        /** Currency address or fiat symbol to convert to */\n        to?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getCurrencyConversionV1Response\"];\n      };\n    };\n  };\n  /** Get updates any time an asks status changes */\n  getEventsAsksV2: {\n    parameters: {\n      query: {\n        /** Filter to a particular contract. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        contract?: string;\n        /** Get events after a particular unix timestamp (inclusive) */\n        startTimestamp?: number;\n        /** Get events before a particular unix timestamp (inclusive) */\n        endTimestamp?: number;\n        /** Order the items are returned in the response. */\n        sortDirection?: \"asc\" | \"desc\";\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** Amount of items returned in response. */\n        limit?: number;\n        /** If true, prices will include missing royalties to be added on-top. */\n        normalizeRoyalties?: boolean;\n        /** Return result in given currency */\n        displayCurrency?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getAsksEventsV2Response\"];\n      };\n    };\n  };\n  /**\n   * Every time an ask status changes, an event is generated. This API is designed to be polled at high frequency, in order to keep an external system in sync with accurate prices for any token.\n   *\n   * There are multiple event types, which describe what caused the change in price:\n   *\n   * - `new-order` > new listing at a lower price\n   *\n   * - `expiry` > the previous best listing expired\n   *\n   * - `sale` > the previous best listing was filled\n   *\n   * - `cancel` > the previous best listing was canceled\n   *\n   * - `balance-change` > the best listing was invalidated due to no longer owning the NFT\n   *\n   * - `approval-change` > the best listing was invalidated due to revoked approval\n   *\n   * - `revalidation` > manual revalidation of orders (e.g. after a bug fixed)\n   *\n   * - `reprice` > price update for dynamic orders (e.g. dutch auctions)\n   *\n   * - `bootstrap` > initial loading of data, so that all tokens have a price associated\n   *\n   * Note: Private listings (asks) will not appear in the results.\n   */\n  getEventsAsksV3: {\n    parameters: {\n      query: {\n        /** Filter to a particular contract. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        contract?: string;\n        /** Get events after a particular unix timestamp (inclusive) */\n        startTimestamp?: number;\n        /** Get events before a particular unix timestamp (inclusive) */\n        endTimestamp?: number;\n        /** If true, criteria metadata is included in the response. */\n        includeCriteriaMetadata?: boolean;\n        /** Order the items are returned in the response. */\n        sortDirection?: \"asc\" | \"desc\";\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** Amount of items returned in response. Max is 1000 */\n        limit?: number;\n        /** If true, prices will include missing royalties to be added on-top. */\n        normalizeRoyalties?: boolean;\n        /** Input any ERC20 address to return result in given currency */\n        displayCurrency?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getAsksEventsV3Response\"];\n      };\n    };\n  };\n  /** Get updates any time a bid status changes */\n  getEventsBidsV1: {\n    parameters: {\n      query: {\n        /** Filter to a particular contract. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        contract?: string;\n        /** Get events after a particular unix timestamp (inclusive) */\n        startTimestamp?: number;\n        /** Get events before a particular unix timestamp (inclusive) */\n        endTimestamp?: number;\n        /** If true, bid criteria is included in the response. */\n        includeCriteria?: boolean;\n        /** Order the items are returned in the response. */\n        sortDirection?: \"asc\" | \"desc\";\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** Amount of items returned in response. */\n        limit?: number;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getBidEventsV1Response\"];\n      };\n    };\n  };\n  /** Get updates any time a bid status changes */\n  getEventsBidsV2: {\n    parameters: {\n      query: {\n        /** Filter to a particular contract. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        contract?: string;\n        /** Get events after a particular unix timestamp (inclusive) */\n        startTimestamp?: number;\n        /** Get events before a particular unix timestamp (inclusive) */\n        endTimestamp?: number;\n        /** If true, criteria metadata is included in the response. */\n        includeCriteriaMetadata?: boolean;\n        /** Order the items are returned in the response. */\n        sortDirection?: \"asc\" | \"desc\";\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** Amount of items returned in response. */\n        limit?: number;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getBidEventsV2Response\"];\n      };\n    };\n  };\n  /**\n   * Every time a bid status changes, an event is generated. This API is designed to be polled at high frequency, in order to keep an external system in sync with accurate prices for any token.\n   *\n   * There are multiple event types, which describe what caused the change in price:\n   *\n   * - `new-order` > new offer at a lower price\n   *\n   * - `expiry` > the previous best offer expired\n   *\n   * - `sale` > the previous best offer was filled\n   *\n   * - `cancel` > the previous best offer was canceled\n   *\n   * - `balance-change` > the best offer was invalidated due to no longer owning the NFT\n   *\n   * - `approval-change` > the best offer was invalidated due to revoked approval\n   *\n   * - `revalidation` > manual revalidation of orders (e.g. after a bug fixed)\n   *\n   * - `reprice` > price update for dynamic orders (e.g. dutch auctions)\n   *\n   * - `bootstrap` > initial loading of data, so that all tokens have a price associated\n   *\n   * Some considerations to keep in mind\n   *\n   * - Selling a partial quantity of available 1155 tokens in a listing will generate a `sale` and will have a new quantity.\n   *\n   * - Due to the complex nature of monitoring off-chain liquidity across multiple marketplaces, including dealing with block re-orgs, events should be considered 'relative' to the perspective of the indexer, ie _when they were discovered_, rather than _when they happened_. A more deterministic historical record of price changes is in development, but in the meantime, this method is sufficent for keeping an external system in sync with the best available prices.\n   */\n  getEventsBidsV3: {\n    parameters: {\n      query: {\n        /** Filter to a particular contract. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        contract?: string;\n        /** Get events after a particular unix timestamp (inclusive) */\n        startTimestamp?: number;\n        /** Get events before a particular unix timestamp (inclusive) */\n        endTimestamp?: number;\n        /** If true, criteria metadata is included in the response. */\n        includeCriteriaMetadata?: boolean;\n        /** Order the items are returned in the response. */\n        sortDirection?: \"asc\" | \"desc\";\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** Amount of items returned in response. Max limit is 1000. */\n        limit?: number;\n        /** If true, prices will include missing royalties to be added on-top. */\n        normalizeRoyalties?: boolean;\n        /** Return result in given currency */\n        displayCurrency?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getBidEventsV3Response\"];\n      };\n    };\n  };\n  /** Get updates any time an order status changes */\n  getEventsOrdersV1: {\n    parameters: {\n      query: {\n        /** Filter to a particular contract. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        contract?: string;\n        /** Get events after a particular unix timestamp (inclusive) */\n        startTimestamp?: number;\n        /** Get events before a particular unix timestamp (inclusive) */\n        endTimestamp?: number;\n        /** Order the items are returned in the response. */\n        sortDirection?: \"asc\" | \"desc\";\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** Amount of items returned in response. */\n        limit?: number;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getOrderEventsV1Response\"];\n      };\n    };\n  };\n  /** Cancel an existing order on any marketplace */\n  getExecuteCancelV2: {\n    parameters: {\n      query: {\n        /** Order Id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        id: string;\n        /** Optional. Set custom gas price */\n        maxFeePerGas?: string;\n        /** Optional. Set custom gas price */\n        maxPriorityFeePerGas?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getExecuteCancelV2Response\"];\n      };\n    };\n  };\n  /** This API calculates the total liquidity created by users, based on the number of tokens they are top bidder for. */\n  getLiquidityUsersV1: {\n    parameters: {\n      query: {\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** Filter to a particular user. Example: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00` */\n        user?: string;\n        /** Use offset to request the next batch of items. */\n        offset?: number;\n        /** Amount of items returned in response. */\n        limit?: number;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getUsersLiquidityV1Response\"];\n      };\n    };\n  };\n  /** This API calculates the total liquidity created by users, based on the number of tokens they are top bidder for. */\n  getLiquidityUsersV2: {\n    parameters: {\n      query: {\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection: string;\n        /** Use offset to request the next batch of items. */\n        offset?: number;\n        /** Amount of items returned in response. */\n        limit?: number;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getUsersLiquidityV1Response\"];\n      };\n    };\n  };\n  /** This API is designed for efficiently ingesting large volumes of orders, for external processing */\n  getOrdersAllV1: {\n    parameters: {\n      query: {\n        id?: string;\n        /** Filter to a source by domain. Example: `opensea.io` */\n        source?: string;\n        /** If true, results will filter only Reservoir orders. */\n        native?: boolean;\n        /** Sell or buy side. */\n        side?: \"sell\" | \"buy\";\n        /** If true, metadata will be included in the response. */\n        includeMetadata?: boolean;\n        /** If true, raw data will be included in the response. */\n        includeRawData?: boolean;\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** Amount of items returned in response. */\n        limit?: number;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getOrdersAllV1Response\"];\n      };\n    };\n  };\n  /** This API is designed for efficiently ingesting large volumes of orders, for external processing */\n  getOrdersAllV2: {\n    parameters: {\n      query: {\n        id?: string;\n        /** Filter to a source by domain. Example: `opensea.io` */\n        source?: string;\n        /** If true, results will filter only Reservoir orders. */\n        native?: boolean;\n        /** Sell or buy side. */\n        side?: \"sell\" | \"buy\";\n        /** If true, metadata will be included in the response. */\n        includeMetadata?: boolean;\n        /** If true, raw data will be included in the response. */\n        includeRawData?: boolean;\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** Amount of items returned in response. */\n        limit?: number;\n        /** Return result in given currency */\n        displayCurrency?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getOrdersAllV2Response\"];\n      };\n    };\n  };\n  /** This API is designed for efficiently ingesting large volumes of orders, for external processing */\n  getOrdersAsksV1: {\n    parameters: {\n      query: {\n        /** Filter to a token, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n        token?: string;\n        /** Filter to a particular user, e.g. `0x4d04eb67a2d1e01c71fad0366e0c200207a75487` */\n        maker?: string;\n        /** Filter to a particular user, e.g. `0x4d04eb67a2d1e01c71fad0366e0c200207a75487` */\n        contract?: string;\n        /**\n         * `active` = currently valid, `inactive` = temporarily invalid\n         *\n         * Available when filtering by maker, otherwise only valid orders will be returned\n         */\n        status?: \"active\" | \"inactive\";\n        sortBy?: \"price\" | \"createdAt\";\n        continuation?: string;\n        limit?: number;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getOrdersAsksV1Response\"];\n      };\n    };\n  };\n  /** Get a list of asks (listings), filtered by token, collection or maker. This API is designed for efficiently ingesting large volumes of orders, for external processing */\n  getOrdersAsksV2: {\n    parameters: {\n      query: {\n        /** Filter to a particular token. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n        token?: string;\n        /** Filter to a particular user. Example: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00` */\n        maker?: string;\n        contracts?: string[] | string;\n        /**\n         * active = currently valid, inactive = temporarily invalid\n         *\n         * Available when filtering by maker, otherwise only valid orders will be returned\n         */\n        status?: string;\n        /** When true, private orders are included in the response. */\n        includePrivate?: boolean;\n        /** Order the items are returned in the response. */\n        sortBy?: string;\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** Amount of items returned in response. */\n        limit?: number;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getOrdersAsksV1Response\"];\n      };\n    };\n  };\n  /** Get a list of asks (listings), filtered by token, collection or maker. This API is designed for efficiently ingesting large volumes of orders, for external processing */\n  getOrdersAsksV3: {\n    parameters: {\n      query: {\n        ids?: string;\n        /** Filter to a particular token. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n        token?: string;\n        /** Filter to a particular user. Example: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00` */\n        maker?: string;\n        /** Filter to a particular community. Example: `artblocks` */\n        community?: string;\n        contracts?: string[] | string;\n        /**\n         * active = currently valid\n         * inactive = temporarily invalid\n         * expired, cancelled, filled = permanently invalid\n         *\n         * Available when filtering by maker, otherwise only valid orders will be returned\n         */\n        status?: string;\n        source?: string[] | string;\n        /** If true, results will filter only Reservoir orders. */\n        native?: boolean;\n        /** If true, private orders are included in the response. */\n        includePrivate?: boolean;\n        /** If true, metadata is included in the response. */\n        includeMetadata?: boolean;\n        /** If true, raw data is included in the response. */\n        includeRawData?: boolean;\n        /** Get events after a particular unix timestamp (inclusive) */\n        startTimestamp?: number;\n        /** Get events before a particular unix timestamp (inclusive) */\n        endTimestamp?: number;\n        /** If true, prices will include missing royalties to be added on-top. */\n        normalizeRoyalties?: boolean;\n        /** Order the items are returned in the response, Sorting by price allowed only when filtering by token */\n        sortBy?: \"createdAt\" | \"price\";\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** Amount of items returned in response. */\n        limit?: number;\n        /** Return result in given currency */\n        displayCurrency?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getOrdersAsksV3Response\"];\n      };\n    };\n  };\n  /**\n   * Get a list of asks (listings), filtered by token, collection or maker. This API is designed for efficiently ingesting large volumes of orders, for external processing.\n   *\n   *  Please mark `excludeEOA` as `true` to exclude Blur orders.\n   */\n  getOrdersAsksV4: {\n    parameters: {\n      query: {\n        ids?: string[] | string;\n        /** Filter to a particular token. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n        token?: string;\n        /** Filter to a particular set, e.g. `contract:0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        tokenSetId?: string;\n        /** Filter to a particular user. Example: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00` */\n        maker?: string;\n        /** Filter to a particular community. Example: `artblocks` */\n        community?: string;\n        /** Filter to a particular collection set. Example: `8daa732ebe5db23f267e58d52f1c9b1879279bcdf4f78b8fb563390e6946ea65` */\n        collectionsSetId?: string;\n        /** Filter to a particular contracts set. */\n        contractsSetId?: string;\n        contracts?: string[] | string;\n        /**\n         * activeª^º = currently valid\n         * inactiveª^ = temporarily invalid\n         * expiredª^, canceledª^, filledª^ = permanently invalid\n         * anyªº = any status\n         * ª when an `id` is passed\n         * ^ when a `maker` is passed\n         * º when a `contract` is passed\n         */\n        status?: string;\n        /** Filter to a source by domain. Only active listed will be returned. Example: `opensea.io` */\n        source?: string;\n        /** If true, results will filter only Reservoir orders. */\n        native?: boolean;\n        /** If true, private orders are included in the response. */\n        includePrivate?: boolean;\n        /** If true, criteria metadata is included in the response. */\n        includeCriteriaMetadata?: boolean;\n        /** If true, raw data is included in the response. */\n        includeRawData?: boolean;\n        /** If true, dynamic pricing data will be returned in the response. */\n        includeDynamicPricing?: boolean;\n        /** Exclude orders that can only be filled by EOAs, to support filling with smart contracts. */\n        excludeEOA?: boolean;\n        /** Get events after a particular unix timestamp (inclusive) */\n        startTimestamp?: number;\n        /** Get events before a particular unix timestamp (inclusive) */\n        endTimestamp?: number;\n        /** If true, prices will include missing royalties to be added on-top. */\n        normalizeRoyalties?: boolean;\n        /** Order the items are returned in the response, Sorting by price allowed only when filtering by token */\n        sortBy?: \"createdAt\" | \"price\" | \"updatedAt\";\n        sortDirection?: string;\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** Amount of items returned in response. */\n        limit?: number;\n        /** Return result in given currency */\n        displayCurrency?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getOrdersAsksV4Response\"];\n      };\n    };\n  };\n  /**\n   * Get a list of asks (listings), filtered by token, collection or maker. This API is designed for efficiently ingesting large volumes of orders, for external processing.\n   *\n   *  To get all orders unflitered, select `sortBy` to `updatedAt`. No need to pass any other param. This will return any orders for any collections, token, attribute, etc.\n   *\n   *  Please mark `excludeEOA` as `true` to exclude Blur orders.\n   */\n  getOrdersAsksV5: {\n    parameters: {\n      query: {\n        ids?: string[] | string;\n        /** Filter to a particular token. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n        token?: string;\n        /** Filter to a particular set, e.g. `contract:0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        tokenSetId?: string;\n        /** Filter to a particular user. Example: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00` */\n        maker?: string;\n        /** Filter to a particular community. Example: `artblocks` */\n        community?: string;\n        /** Filter to a particular collection set. Requires `maker` to be passed. Example: `8daa732ebe5db23f267e58d52f1c9b1879279bcdf4f78b8fb563390e6946ea65` */\n        collectionsSetId?: string;\n        /** Filter to a particular contracts set. */\n        contractsSetId?: string;\n        contracts?: string[] | string;\n        /**\n         * When only `id` is passed, orders with any status are returned. When passing `id`, status can be filtered using the possible values: `active`, `inactive`, `expired`, `cancelled`, or `filled`.\n         *  When only `maker` is passed, orders with active statuses are returned. When passing `maker`, status can be filtered using the possible values: `active`, `inactive`, `expired`, `cancelled`, and `filled`.\n         *  When only `contracts` is passed, orders with active statuses are returned. When `contracts` and `sortBy=updatedAt` are passed, orders with any status are returned. When passing `contracts`, status can be filtered using the possible value of `active` only.\n         */\n        status?: string;\n        sources?: string[] | string;\n        /** If true, results will filter only Reservoir orders. */\n        native?: boolean;\n        /** If true, private orders are included in the response. */\n        includePrivate?: boolean;\n        /** If true, criteria metadata is included in the response. */\n        includeCriteriaMetadata?: boolean;\n        /** If true, raw data is included in the response. */\n        includeRawData?: boolean;\n        /** If true, dynamic pricing data will be returned in the response. */\n        includeDynamicPricing?: boolean;\n        /** Exclude orders that can only be filled by EOAs, to support filling with smart contracts. */\n        excludeEOA?: boolean;\n        excludeSources?: string[] | string;\n        /** Get events after a particular unix timestamp (inclusive) */\n        startTimestamp?: number;\n        /** Get events before a particular unix timestamp (inclusive) */\n        endTimestamp?: number;\n        /** If true, prices will include missing royalties to be added on-top. */\n        normalizeRoyalties?: boolean;\n        /** Order the items are returned in the response. Sorting by `price` is ascending order only. */\n        sortBy?: \"createdAt\" | \"price\" | \"updatedAt\";\n        sortDirection?: string;\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** Amount of items returned in response. Max limit is 1000. */\n        limit?: number;\n        /** Return result in given currency */\n        displayCurrency?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getOrdersAsksV4Response\"];\n      };\n    };\n  };\n  /** This API is designed for efficiently ingesting large volumes of orders, for external processing */\n  getOrdersBidsV1: {\n    parameters: {\n      query: {\n        /** Filter to a token, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n        token?: string;\n        /** Filter to a particular set, e.g. `contract:0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        tokenSetId?: string;\n        /** Filter to a particular user, e.g. `0x4d04eb67a2d1e01c71fad0366e0c200207a75487` */\n        maker?: string;\n        /**\n         * `active` = currently valid, `inactive` = temporarily invalid, `expired` = permanently invalid\n         *\n         * Available when filtering by maker, otherwise only valid orders will be returned\n         */\n        status?: \"active\" | \"inactive\" | \"expired\";\n        sortBy?: \"price\" | \"createdAt\";\n        continuation?: string;\n        limit?: number;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getOrdersBidsV1Response\"];\n      };\n    };\n  };\n  /** Get a list of bids (offers), filtered by token, collection or maker. This API is designed for efficiently ingesting large volumes of orders, for external processing */\n  getOrdersBidsV2: {\n    parameters: {\n      query: {\n        /** Filter to a particular token. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n        token?: string;\n        /** Filter to a particular set. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        tokenSetId?: string;\n        /** Filter to a particular user. Example: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00` */\n        maker?: string;\n        /** Filter to an array of contracts. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        contracts?: string[] | string;\n        /**\n         * active = currently valid, inactive = temporarily invalid, expired = permanently invalid\n         *\n         * Available when filtering by maker, otherwise only valid orders will be returned\n         */\n        status?: string;\n        /** Order the items are returned in the response. */\n        sortBy?: string;\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** Amount of items returned in response. */\n        limit?: number;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getOrdersBidsV1Response\"];\n      };\n    };\n  };\n  /** Get a list of bids (offers), filtered by token, collection or maker. This API is designed for efficiently ingesting large volumes of orders, for external processing */\n  getOrdersBidsV3: {\n    parameters: {\n      query: {\n        ids?: string;\n        /** Filter to a particular token. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n        token?: string;\n        /** Filter to a particular set. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        tokenSetId?: string;\n        /** Filter to a particular user. Example: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00` */\n        maker?: string;\n        /** Filter to an array of contracts. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        contracts?: string[] | string;\n        /**\n         * active = currently valid, inactive = temporarily invalid, expired = permanently invalid\n         *\n         * Available when filtering by maker, otherwise only valid orders will be returned\n         */\n        status?: string;\n        /** Filter to a source by domain. Example: `opensea.io` */\n        source?: string;\n        /** If true, results will filter only Reservoir orders. */\n        native?: boolean;\n        /** If true, metadata is included in the response. */\n        includeMetadata?: boolean;\n        /** If true, raw data is included in the response. */\n        includeRawData?: boolean;\n        /** Order the items are returned in the response, Sorting by price allowed only when filtering by token */\n        sortBy?: \"createdAt\" | \"price\";\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** Amount of items returned in response. */\n        limit?: number;\n        /** Return result in given currency */\n        displayCurrency?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getOrdersBidsV3Response\"];\n      };\n    };\n  };\n  /** Get a list of bids (offers), filtered by token, collection or maker. This API is designed for efficiently ingesting large volumes of orders, for external processing */\n  getOrdersBidsV4: {\n    parameters: {\n      query: {\n        ids?: string;\n        /** Filter to a particular token. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n        token?: string;\n        /** Filter to a particular set. Example: `contract:0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` or `token:0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:1` */\n        tokenSetId?: string;\n        /** Filter to a particular user. Example: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00` */\n        maker?: string;\n        /** Filter to a particular community. Example: `artblocks` */\n        community?: string;\n        /** Filter to a particular collection bids with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** Filter to a particular attribute within a collection. Example: `attribute[Mouth]=Bored` (Collection must be passed as well when filtering by attribute) */\n        attribute?: `attribute[${string}]` | `attribute[${string}]`[];\n        /** Filter to an array of contracts. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        contracts?: string[] | string;\n        /**\n         * active = currently valid\n         * inactive = temporarily invalid\n         * expired, cancelled, filled = permanently invalid\n         *\n         * Available when filtering by maker, otherwise only valid orders will be returned\n         */\n        status?: string;\n        /** Filter to a source by domain. Example: `opensea.io` */\n        source?: string;\n        /** If true, results will filter only Reservoir orders. */\n        native?: boolean;\n        /** If true, metadata is included in the response. */\n        includeMetadata?: boolean;\n        /** If true, raw data is included in the response. */\n        includeRawData?: boolean;\n        /** If true, prices will include missing royalties to be added on-top. */\n        normalizeRoyalties?: boolean;\n        /** Order the items are returned in the response, Sorting by price allowed only when filtering by token */\n        sortBy?: \"createdAt\" | \"price\";\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** Amount of items returned in response. */\n        limit?: number;\n        /** Return result in given currency */\n        displayCurrency?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getOrdersBidsV4Response\"];\n      };\n    };\n  };\n  /**\n   * Get a list of bids (offers), filtered by token, collection or maker. This API is designed for efficiently ingesting large volumes of orders, for external processing.\n   *\n   *  There are a different kind of bids than can be returned:\n   *\n   * - Inputting a 'contract' will return token and attribute bids.\n   *\n   * - Inputting a 'collection-id' will return collection wide bids./n/n Please mark `excludeEOA` as `true` to exclude Blur orders.\n   */\n  getOrdersBidsV5: {\n    parameters: {\n      query: {\n        ids?: string[] | string;\n        /** Filter to a particular token. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n        token?: string;\n        /** Filter to a particular set. Example: `token:CONTRACT:TOKEN_ID` representing a single token within contract, `contract:CONTRACT` representing a whole contract, `range:CONTRACT:START_TOKEN_ID:END_TOKEN_ID` representing a continuous token id range within a contract and `list:CONTRACT:TOKEN_IDS_HASH` representing a list of token ids within a contract. */\n        tokenSetId?: string;\n        /** Filter to a particular user. Must set `source=blur.io` to reveal maker's blur bids. Example: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00` */\n        maker?: string;\n        /** Filter to a particular community. Example: `artblocks` */\n        community?: string;\n        /** Filter to a particular collection set. Example: `8daa732ebe5db23f267e58d52f1c9b1879279bcdf4f78b8fb563390e6946ea65` */\n        collectionsSetId?: string;\n        /** Filter to a particular contracts set. */\n        contractsSetId?: string;\n        /** Filter to a particular collection bids with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** Filter to a particular attribute. Note: Our docs do not support this parameter correctly. To test, you can use the following URL in your browser. Example: `https://api.reservoir.tools/orders/bids/v5?collection=0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63&attribute[Type]=Original` or `https://api.reservoir.tools/orders/bids/v5?collection=0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63&attribute[Type]=Original&attribute[Type]=Sibling`(Collection must be passed as well when filtering by attribute) */\n        attribute?: `attribute[${string}]` | `attribute[${string}]`[];\n        /** Filter to an array of contracts. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        contracts?: string[] | string;\n        /**\n         * activeª^º = currently valid\n         * inactiveª^ = temporarily invalid\n         * expiredª^, canceledª^, filledª^ = permanently invalid\n         * anyªº = any status\n         * ª when an `id` is passed\n         * ^ when a `maker` is passed\n         * º when a `contract` is passed\n         */\n        status?: string;\n        /** Filter to a source by domain. Only active listed will be returned. Must set `rawData=true` to reveal individual bids when `source=blur.io`. Example: `opensea.io` */\n        source?: string;\n        /** If true, results will filter only Reservoir orders. */\n        native?: boolean;\n        /** If true, criteria metadata is included in the response. */\n        includeCriteriaMetadata?: boolean;\n        /** If true, raw data is included in the response. Set `source=blur.io` and make this `true` to reveal individual blur bids. */\n        includeRawData?: boolean;\n        /** If true, the depth of each order is included in the response. */\n        includeDepth?: boolean;\n        /** Get events after a particular unix timestamp (inclusive) */\n        startTimestamp?: number;\n        /** Get events before a particular unix timestamp (inclusive) */\n        endTimestamp?: number;\n        /** Exclude orders that can only be filled by EOAs, to support filling with smart contracts. */\n        excludeEOA?: boolean;\n        /** If true, prices will include missing royalties to be added on-top. */\n        normalizeRoyalties?: boolean;\n        /** Order the items are returned in the response. */\n        sortBy?: \"createdAt\" | \"price\" | \"updatedAt\";\n        sortDirection?: string;\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** Amount of items returned in response. */\n        limit?: number;\n        /** Return result in given currency */\n        displayCurrency?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getOrdersBidsV5Response\"];\n      };\n    };\n  };\n  /**\n   * Get a list of bids (offers), filtered by token, collection or maker. This API is designed for efficiently ingesting large volumes of orders, for external processing.\n   *\n   *  There are a different kind of bids than can be returned:\n   *\n   * - To get all orders unfiltered, select `sortBy` to `updatedAt`. No need to pass any other param. This will return any orders for any collections, token, attribute, etc.\n   *\n   * - Inputting a 'contract' will return token and attribute bids.\n   *\n   * - Inputting a 'collection-id' will return collection wide bids.\n   *\n   * - Please mark `excludeEOA` as `true` to exclude Blur orders.\n   */\n  getOrdersBidsV6: {\n    parameters: {\n      query: {\n        ids?: string[] | string;\n        /** Filter to a particular token. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n        token?: string;\n        /** Filter to a particular set. Example: `token:CONTRACT:TOKEN_ID` representing a single token within contract, `contract:CONTRACT` representing a whole contract, `range:CONTRACT:START_TOKEN_ID:END_TOKEN_ID` representing a continuous token id range within a contract and `list:CONTRACT:TOKEN_IDS_HASH` representing a list of token ids within a contract. */\n        tokenSetId?: string;\n        /** Filter to a particular user. Must set `sources=blur.io` to reveal maker's blur bids. Example: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00` */\n        maker?: string;\n        /** Filter to a particular community. Example: `artblocks` */\n        community?: string;\n        /** Filter to a particular collection set. Requires `maker` to be passed. Example: `8daa732ebe5db23f267e58d52f1c9b1879279bcdf4f78b8fb563390e6946ea65` */\n        collectionsSetId?: string;\n        /** Filter to a particular contracts set. */\n        contractsSetId?: string;\n        /** Filter to a particular collection bids with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** Filter to a particular attribute. Note: Our docs do not support this parameter correctly. To test, you can use the following URL in your browser. Example: `https://api.reservoir.tools/orders/bids/v5?collection=0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63&attribute[Type]=Original` or `https://api.reservoir.tools/orders/bids/v5?collection=0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63&attribute[Type]=Original&attribute[Type]=Sibling`(Collection must be passed as well when filtering by attribute) */\n        attribute?: `attribute[${string}]` | `attribute[${string}]`[];\n        /** Filter to an array of contracts. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        contracts?: string[] | string;\n        /**\n         * When only `id` is passed, orders with any status are returned. When passing `id`, status can be filtered using the possible values: `active`, `inactive`, `expired`, `cancelled`, or `filled`.\n         *  When only `maker` is passed, orders with active statuses are returned. When passing `maker`, status can be filtered using the possible values: `active`, `inactive`, `expired`, `cancelled`, and `filled`.\n         *  When only `contracts` is passed, orders with active statuses are returned. When `contracts` and `sortBy=updatedAt` are passed, orders with any status are returned. When passing `contracts`, status can be filtered using the possible value of `active` only.\n         */\n        status?: string;\n        sources?: string[] | string;\n        /** Filter to a particular order type. Must be one of `token`, `collection`, `attribute`, `custom`. Only valid when a maker is specified. */\n        orderType?: \"token\" | \"collection\" | \"attribute\" | \"custom\";\n        /** If true, results will filter only Reservoir orders. */\n        native?: boolean;\n        /** If true, private orders are included in the response. */\n        includePrivate?: boolean;\n        /** If true, criteria metadata is included in the response. */\n        includeCriteriaMetadata?: boolean;\n        /** If true, raw data is included in the response. Set `sources=blur.io` and make this `true` to reveal individual blur bids. */\n        includeRawData?: boolean;\n        /** If true, the depth of each order is included in the response. */\n        includeDepth?: boolean;\n        /** Get events after a particular unix timestamp (inclusive) */\n        startTimestamp?: number;\n        /** Get events before a particular unix timestamp (inclusive) */\n        endTimestamp?: number;\n        /** Exclude orders that can only be filled by EOAs, to support filling with smart contracts. */\n        excludeEOA?: boolean;\n        excludeSources?: string[] | string;\n        /** If true, prices will include missing royalties to be added on-top. */\n        normalizeRoyalties?: boolean;\n        /** Order the items are returned in the response. Sorting by `price` defaults sorting direction to descending. */\n        sortBy?: \"createdAt\" | \"price\" | \"updatedAt\";\n        sortDirection?: string;\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** Amount of items returned in response. Max limit is 1000. */\n        limit?: number;\n        /** Return result in given currency */\n        displayCurrency?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getOrdersBidsV5Response\"];\n      };\n    };\n  };\n  /** Get the depth of a token or collection. */\n  getOrdersDepthV1: {\n    parameters: {\n      query: {\n        side: \"buy\" | \"sell\";\n        /** Filter to a particular token. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123`. */\n        token?: string;\n        /** Filter to a particular collection. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63`. */\n        collection?: string;\n        /** Filter to a particular attributes within a collection (Relevant only for buy orders). Example: `attributes[Mouth]=Bored` (Collection must be passed as well when filtering by attributes) */\n        attributes?: `attributes[${string}]` | `attributes[${string}]`[];\n        /** Return all prices in this currency. */\n        displayCurrency?: string;\n        /** Return all prices in this currency. */\n        groupByFloorAsk?: boolean;\n        /** Number of decimals by which to group by the orders */\n        precision?: number;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getOrdersDepthV1Response\"];\n      };\n    };\n  };\n  getOrdersExecutedV1: {\n    parameters: {\n      query: {\n        ids: string[] | string;\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  /** This API can be used to find top common collections from an array of owners. */\n  getOwnersCommoncollectionsV1: {\n    parameters: {\n      query: {\n        /** Array of owner addresses. Max limit is 50. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        owners: string[] | string;\n        /** Amount of collections returned in response. Max limit is 100. */\n        limit?: number;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getCommonCollectionsOwnersV1Response\"];\n      };\n    };\n  };\n  /** Find which addresses own the most of a group of collections. */\n  getOwnersCrosscollectionsV1: {\n    parameters: {\n      query: {\n        /** Filter to one or more collections. Max limit is 5. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collections: string[] | string;\n        /** Amount of owners returned in response. Max limit is 50. */\n        limit?: number;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getCrossCollectionsOwnersV1Response\"];\n      };\n    };\n  };\n  /** Get tokens which have a pending sale transaction */\n  getPendingtxsTokensV1: {\n    parameters: {\n      query: {\n        /** Filter to a particular contract. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        contract?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getPendingTokensV1Response\"];\n      };\n    };\n  };\n  /** This API can be used to build a feed for a user including sales, asks, transfers, mints, bids, cancelled bids, and cancelled asks types. */\n  getPortfolioActivityV1: {\n    parameters: {\n      query: {\n        /** Array of wallet addresses. Max is 50. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        wallets: string[] | string;\n        /** Amount of items returned in response. Max limit is 20. */\n        limit?: number;\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        types?:\n          | (\n              | \"nft_transfer\"\n              | \"nft_mint\"\n              | \"nft_sale\"\n              | \"nft_ask\"\n              | \"nft_ask_cancel\"\n              | \"nft_bid\"\n              | \"nft_bid_cancel\"\n              | \"token_transfer\"\n              | \"contract_call\"\n              | \"bridge\"\n              | \"swap\"\n            )[]\n          | string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getPortfolioActivityV1Response\"];\n      };\n    };\n  };\n  /** Get for the given wallet its portfolio value */\n  getPortfolioValueV1: {\n    parameters: {\n      query: {\n        wallet: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getPortfolioValueV1Response\"];\n      };\n    };\n  };\n  getRedirectLogoV1: {\n    parameters: {\n      query: {\n        source: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  getRedirectTokenV1: {\n    parameters: {\n      query: {\n        source: string;\n        /** Redirect to the given token page, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n        token: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  /** Note: this API is optimized for bulk access, and offers minimal filters/metadata. If you need more flexibility, try the `NFT API > Sales` endpoint */\n  getSalesBulkV1: {\n    parameters: {\n      query: {\n        /** Filter to a particular contract. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        contract?: string;\n        /** Filter to a particular token. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n        token?: string;\n        /** Get events after a particular unix timestamp (inclusive) */\n        startTimestamp?: number;\n        /** Get events before a particular unix timestamp (inclusive) */\n        endTimestamp?: number;\n        /** Amount of items returned in response. */\n        limit?: number;\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getSalesBulkV1Response\"];\n      };\n    };\n  };\n  /** This API can be used to build a feed for a collection including sales, asks, transfers, mints, bids, cancelled bids, and cancelled asks types. */\n  getSearchActivitiesV1: {\n    parameters: {\n      query: {\n        /** Array of tokens. Max limit is 50. Example: `tokens[0]: 0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:704 tokens[1]: 0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:979` */\n        tokens?: string[] | string;\n        /** Array of collections. Max limit is 50. Example: `collections[0]: 0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collections?: string[] | string;\n        /** Filter to a particular contracts set. */\n        contractsSetId?: string;\n        /** Filter to a particular collection set. */\n        collectionsSetId?: string;\n        /** Filter to a particular community. Example: `artblocks` */\n        community?: string;\n        /** Filter to a particular attribute. Note: Our docs do not support this parameter correctly. To test, you can use the following URL in your browser. Example: `https://api.reservoir.tools/collections/activity/v6?collection=0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63&attribute[Type]=Original` or `https://api.reservoir.tools/collections/activity/v6?collection=0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63&attribute[Type]=Original&attribute[Type]=Sibling` */\n        attributes?: `attributes[${string}]` | `attributes[${string}]`[];\n        /** Array of source domains. Max limit is 50. Example: `sources[0]: opensea.io` */\n        sources?: string[] | string;\n        /** Array of users addresses. Max is 50. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        users?: string[] | string;\n        /** Amount of items returned. Max limit is 50 when `includedMetadata=true` otherwise max limit is 1000. */\n        limit?: number;\n        /** Order the items are returned in the response. The blockchain event time is `timestamp`. The event time recorded is `createdAt`. */\n        sortBy?: \"timestamp\" | \"createdAt\";\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        types?:\n          | (\n              | \"sale\"\n              | \"ask\"\n              | \"transfer\"\n              | \"mint\"\n              | \"bid\"\n              | \"bid_cancel\"\n              | \"ask_cancel\"\n              | \"token_transfer\"\n              | \"contract_call\"\n              | \"bridge\"\n              | \"swap\"\n            )[]\n          | string;\n        /** Input any ERC20 address to return result in given currency */\n        displayCurrency?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getSearchActivitiesV1Response\"];\n      };\n    };\n  };\n  getSearchCollectionsV1: {\n    parameters: {\n      query: {\n        /** Lightweight search for collections that match a string. Example: `bored` */\n        name?: string;\n        /** Filter to a particular community. Example: `artblocks` */\n        community?: string;\n        /** Return result in given currency */\n        displayCurrency?: string;\n        /** Filter to a particular collection set */\n        collectionsSetId?: string;\n        /** Use offset to request the next batch of items. */\n        offset?: number;\n        /** Amount of items returned in response. */\n        limit?: number;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getSearchCollectionsV1Response\"];\n      };\n    };\n  };\n  getSearchCollectionsV2: {\n    parameters: {\n      query: {\n        /** Lightweight search for collections that match a string. Can also search using contract address. Example: `bored` or `0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d` */\n        name?: string;\n        /** Filter to a particular community. Example: `artblocks` */\n        community?: string;\n        /** Return result in given currency */\n        displayCurrency?: string;\n        /** Filter to a particular collection set */\n        collectionsSetId?: string;\n        /** If true, will filter any collections marked as spam. */\n        excludeSpam?: boolean;\n        /** If true, will filter any collections marked as nsfw. */\n        excludeNsfw?: boolean;\n        /** Use offset to request the next batch of items. */\n        offset?: number;\n        /** Amount of items returned in response. */\n        limit?: number;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getSearchCollectionsV2Response\"];\n      };\n    };\n  };\n  getSearchCollectionsV3: {\n    parameters: {\n      query: {\n        /** Lightweight search for collections that match a string. Can also search using contract address. Example: `bored` or `0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d` */\n        prefix?: string;\n        /** Return result in given currency. */\n        displayCurrency?: string;\n        /** If true, will filter any collections marked as spam. */\n        excludeSpam?: boolean;\n        /** If true, will promote verified collections. */\n        boostVerified?: boolean;\n        /** If true, fuzzy search to help with misspellings. */\n        fuzzy?: boolean;\n        /** Amount of items returned in response. */\n        limit?: number;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getSearchCollectionsV3Response\"];\n      };\n    };\n  };\n  /** This API is optimized for bulk access to asks (listings) for syncing a remote database. Thus it offers minimal filters/metadata. */\n  getSyncAsksV1: {\n    parameters: {\n      query: {\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"syncOrdersAsksV1Response\"];\n      };\n    };\n  };\n  /** Get the latest price event per token in a collection, so that you can listen to future events and keep track of prices */\n  getTokensBootstrapV1: {\n    parameters: {\n      query: {\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** Filter to a particular contract. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        contract?: string;\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** Amount of items returned in response. */\n        limit?: number;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getTokensBootstrapV1Response\"];\n      };\n    };\n  };\n  /** Get a list of tokens with full metadata. This is useful for showing a single token page, or scenarios that require more metadata. If you don't need this metadata, you should use the <a href='#/tokens/getTokensV1'>tokens</a> API, which is much faster. */\n  getTokensDetailsV2: {\n    parameters: {\n      query: {\n        /** Filter to a particular collection, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** Filter to a particular contract, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        contract?: string;\n        /** Filter to a particular token, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n        token?: string;\n        /** Filter to a particular set, e.g. `contract:0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        tokenSetId?: string;\n        /** Filter to a particular attribute, e.g. `attributes[Type]=Original` */\n        attributes?: `attributes[${string}]` | `attributes[${string}]`[];\n        /** Filter to a particular source, e.g. `0x5b3256965e7c3cf26e11fcaf296dfc8807c01073` */\n        source?: string;\n        sortBy?: \"floorAskPrice\" | \"topBidValue\";\n        limit?: number;\n        continuation?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getTokensDetailsV2Response\"];\n      };\n    };\n  };\n  /** Get a list of tokens with full metadata. This is useful for showing a single token page, or scenarios that require more metadata. If you don't need this metadata, you should use the <a href='#/tokens/getTokensV1'>tokens</a> API, which is much faster. */\n  getTokensDetailsV3: {\n    parameters: {\n      query: {\n        /** Filter to a particular collection, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** Filter to a particular contract, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        contract?: string;\n        /** Filter to one or more tokens, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n        tokens?: string[] | string;\n        /** Filter to a particular set, e.g. `contract:0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        tokenSetId?: string;\n        /** Filter to a particular attribute, e.g. `attributes[Type]=Original` */\n        attributes?: `attributes[${string}]` | `attributes[${string}]`[];\n        /** Filter to a particular source, e.g. `0x5b3256965e7c3cf26e11fcaf296dfc8807c01073` */\n        source?: string;\n        sortBy?: \"floorAskPrice\" | \"topBidValue\";\n        limit?: number;\n        continuation?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getTokensDetailsV3Response\"];\n      };\n    };\n  };\n  /** Get a list of tokens with full metadata. This is useful for showing a single token page, or scenarios that require more metadata. If you don't need this metadata, you should use the <a href='#/tokens/getTokensV1'>tokens</a> API, which is much faster. */\n  getTokensDetailsV4: {\n    parameters: {\n      query: {\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** Filter to a particular contract. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        contract?: string;\n        /** Array of tokens. Example: `tokens[0]: 0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:704 tokens[1]: 0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:979` */\n        tokens?: string[] | string;\n        /** Filter to a particular token set. `Example: token:0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270:129000685` */\n        tokenSetId?: string;\n        /** Filter to a particular attribute. Example: `attributes[Type]=Original` */\n        attributes?: `attributes[${string}]` | `attributes[${string}]`[];\n        /** Domain of the order source. Example `opensea.io` */\n        source?: string;\n        /** Order the items are returned in the response. */\n        sortBy?: \"floorAskPrice\" | \"tokenId\";\n        sortDirection?: \"asc\" | \"desc\";\n        /** Amount of items returned in response. */\n        limit?: number;\n        /** If true, top bid will be returned in the response. */\n        includeTopBid?: boolean;\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getTokensDetailsV4Response\"];\n      };\n    };\n  };\n  /** This API will return the best price of every token in a collection that is currently on sale. Note: Prices are returned in the native currency of the network. */\n  getTokensFloorV1: {\n    parameters: {\n      query: {\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** Filter to a particular contract. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        contract?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getTokensFloorV1Response\"];\n      };\n    };\n  };\n  /** This API is optimized for quickly fetching a list of tokens ids in by collection, contract, token set id. */\n  getTokensIdsV1: {\n    parameters: {\n      query: {\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** Filter to a particular contract. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        contract?: string;\n        /** Filter to a particular token set. Example: `token:CONTRACT:TOKEN_ID` representing a single token within contract, `contract:CONTRACT` representing a whole contract, `range:CONTRACT:START_TOKEN_ID:END_TOKEN_ID` representing a continuous token id range within a contract and `list:CONTRACT:TOKEN_IDS_HASH` representing a list of token ids within a contract. */\n        tokenSetId?: string;\n        /**\n         * -1 = All tokens (default)\n         * 0 = Non flagged tokens\n         * 1 = Flagged tokens\n         */\n        flagStatus?: -1 | 0 | 1;\n        /** Amount of items returned in response. Max limit is 10,000. */\n        limit?: number;\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getTokensIdsV1Response\"];\n      };\n    };\n  };\n  /** Get for the given token contract historic prices by day/hour */\n  getTokensPricesV1: {\n    parameters: {\n      query: {\n        /** Filter to a particular token contract. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        contract?: string;\n        /** Return results by either hourly/daily granularity */\n        granularity?: \"hourly\" | \"daily\";\n        period?: \"1d\" | \"7d\" | \"30d\";\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getTokensPricesV1Response\"];\n      };\n    };\n  };\n  /** Get a boolean response on whether a particular transaction was synced or not. */\n  getTransactionsSyncedV2: {\n    parameters: {\n      query: {\n        txHash?: string[] | string;\n        /** If true, the depth of each order is included in the response. */\n        includeTransfers?: boolean;\n        /** Amount of items returned in response. Max limit is 50. */\n        limit?: number;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getTransactionSyncedV2Response\"];\n      };\n    };\n  };\n  /** Note: this API is optimized for bulk access, and offers minimal filters/metadata. If you need more flexibility, try the `NFT API > Transfers` endpoint */\n  getTransfersBulkV1: {\n    parameters: {\n      query: {\n        /** Filter to a particular contract. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        contract?: string;\n        /** Filter to a particular token. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n        token?: string;\n        /** Get events after a particular unix timestamp (inclusive) */\n        startTimestamp?: number;\n        /** Get events before a particular unix timestamp (inclusive) */\n        endTimestamp?: number;\n        /** Filter to a particular transaction. Example: `0x04654cc4c81882ed4d20b958e0eeb107915d75730110cce65333221439de6afc` */\n        txHash?: string;\n        /** Amount of items returned in response. Max limit is 1000. */\n        limit?: number;\n        /** Order the items are returned in the response. Options are `timestamp`, and `updated_at`. Default is `timestamp`. */\n        orderBy?: \"timestamp\" | \"updated_at\";\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getTransfersBulkV1Response\"];\n      };\n    };\n  };\n  /** Note: this API is optimized for bulk access, and offers minimal filters/metadata. If you need more flexibility, try the `NFT API > Transfers` endpoint */\n  getTransfersBulkV2: {\n    parameters: {\n      query: {\n        /** Filter to a particular contract. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        contract?: string;\n        /** Filter to a particular token. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n        token?: string;\n        /** Get events after a particular unix timestamp (inclusive) */\n        startTimestamp?: number;\n        /** Get events before a particular unix timestamp (inclusive) */\n        endTimestamp?: number;\n        txHash?: string[] | string;\n        /** Amount of items returned in response. Max limit is 1000. */\n        limit?: number;\n        /** Order the items are returned in the response. Options are `timestamp`, and `updatedAt`. Default is `timestamp`. */\n        sortBy?: \"timestamp\" | \"updatedAt\";\n        sortDirection?: string;\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getTransfersBulkV1Response\"];\n      };\n    };\n  };\n  /** This API can be used to build a feed for a user */\n  getUsersActivityV2: {\n    parameters: {\n      query: {\n        /** Array of users addresses. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        users: string[] | string;\n        /** Amount of items returned in response. */\n        limit?: number;\n        /** Use continuation token to request next offset of items. */\n        continuation?: number;\n        types?:\n          | (\n              | \"ask\"\n              | \"bid\"\n              | \"mint\"\n              | \"sale\"\n              | \"ask_cancel\"\n              | \"bid_cancel\"\n              | \"transfer\"\n            )[]\n          | string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getUserActivityV2Response\"];\n      };\n    };\n  };\n  /** This API can be used to build a feed for a user */\n  getUsersActivityV3: {\n    parameters: {\n      query: {\n        /** Array of users addresses. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        users: string[] | string;\n        /** Amount of items returned in response. */\n        limit?: number;\n        /** Order the items are returned in the response, eventTimestamp = The blockchain event time, createdAt - The time in which event was recorded */\n        sortBy?: \"eventTimestamp\" | \"createdAt\";\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        types?:\n          | (\n              | \"ask\"\n              | \"bid\"\n              | \"mint\"\n              | \"sale\"\n              | \"ask_cancel\"\n              | \"bid_cancel\"\n              | \"transfer\"\n            )[]\n          | string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getUserActivityV3Response\"];\n      };\n    };\n  };\n  /** This API can be used to build a feed for a user */\n  getUsersActivityV4: {\n    parameters: {\n      query: {\n        /** Array of users addresses. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        users: string[] | string;\n        collection?: string;\n        /** Filter to a particular collection set. */\n        collectionsSetId?: string;\n        /** Filter to a particular community. Example: `artblocks` */\n        community?: string;\n        /** Amount of items returned in response. If `includeMetadata=true` max limit is 20, otherwise max limit is 1,000. */\n        limit?: number;\n        /** Order the items are returned in the response, eventTimestamp = The blockchain event time, createdAt - The time in which event was recorded */\n        sortBy?: \"eventTimestamp\" | \"createdAt\";\n        /** If true, metadata is included in the response. */\n        includeMetadata?: boolean;\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        types?:\n          | (\n              | \"ask\"\n              | \"bid\"\n              | \"mint\"\n              | \"sale\"\n              | \"ask_cancel\"\n              | \"bid_cancel\"\n              | \"transfer\"\n            )[]\n          | string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getUserActivityV4Response\"];\n      };\n    };\n  };\n  /** This API can be used to build a feed for a user */\n  getUsersActivityV5: {\n    parameters: {\n      query: {\n        /** Array of users addresses. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        users: string[] | string;\n        collection?: string[] | string;\n        /** Filter to a particular collection set. */\n        collectionsSetId?: string;\n        /** Filter to a particular contracts set. */\n        contractsSetId?: string;\n        /** Filter to a particular community. Example: `artblocks` */\n        community?: string;\n        /** Amount of items returned in response. If `includeMetadata=true` max limit is 20, otherwise max limit is 1,000. */\n        limit?: number;\n        /** Order the items are returned in the response, eventTimestamp = The blockchain event time, createdAt - The time in which event was recorded */\n        sortBy?: \"eventTimestamp\" | \"createdAt\";\n        /** If true, metadata is included in the response. */\n        includeMetadata?: boolean;\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        types?:\n          | (\n              | \"ask\"\n              | \"bid\"\n              | \"mint\"\n              | \"sale\"\n              | \"ask_cancel\"\n              | \"bid_cancel\"\n              | \"transfer\"\n            )[]\n          | string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getUserActivityV5Response\"];\n      };\n    };\n  };\n  /** This API can be used to build a feed for a user including sales, asks, transfers, mints, bids, cancelled bids, and cancelled asks types. */\n  getUsersActivityV6: {\n    parameters: {\n      query: {\n        /** Array of users addresses. Max is 50. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        users: string[] | string;\n        collection?: string[] | string;\n        /** If true, will filter any activities marked as spam. */\n        excludeSpam?: boolean;\n        /** If true, will filter any activities marked as nsfw. */\n        excludeNsfw?: boolean;\n        /** Filter to a particular collection set. */\n        collectionsSetId?: string;\n        /** Filter to a particular contracts set. */\n        contractsSetId?: string;\n        /** Filter to a particular community. Example: `artblocks` */\n        community?: string;\n        /** Amount of items returned in response. Max limit is 20. */\n        limit?: number;\n        /** Order the items are returned in the response. The blockchain event time is `eventTimestamp`. The event time recorded is `createdAt`. */\n        sortBy?: \"eventTimestamp\" | \"createdAt\";\n        /** If true, metadata is included in the response. */\n        includeMetadata?: boolean;\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        types?:\n          | (\n              | \"ask\"\n              | \"bid\"\n              | \"mint\"\n              | \"sale\"\n              | \"ask_cancel\"\n              | \"bid_cancel\"\n              | \"transfer\"\n            )[]\n          | string;\n        /** Input any ERC20 address to return result in given currency. */\n        displayCurrency?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getUserActivityV6Response\"];\n      };\n    };\n  };\n  /** This API returns recommended marketplace configurations given a collection id */\n  getCollectionsCollectionMarketplaceconfigurationsV1: {\n    parameters: {\n      path: {\n        /** Filter to a particular collection, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection: string;\n      };\n      query: {\n        /** When set, token-level royalties will be returned in the response */\n        tokenId?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"Model274\"];\n      };\n    };\n  };\n  /** Get top traders for a particular collection */\n  getCollectionsCollectionToptradersV1: {\n    parameters: {\n      path: {\n        /** Filter to a particular collection, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection: string;\n      };\n      query: {\n        /** Time window to aggregate. */\n        period?: \"6h\" | \"1d\" | \"7d\";\n        /** Amount of items returned in response. */\n        limit?: number;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getTopTradersV1Response\"];\n      };\n    };\n  };\n  /** When users are placing collection or trait bids, this API can be used to show them where the bid is in the context of other bids, and how many tokens it will be the top bid for. */\n  getCollectionsCollectionTopbidsV1: {\n    parameters: {\n      path: {\n        /** Filter to a particular collection, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getCollectionTopBidsV1Response\"];\n      };\n    };\n  };\n  /** This API can be used to build a feed for a collection */\n  getCollectionsCollectionActivityV2: {\n    parameters: {\n      path: {\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection: string;\n      };\n      query: {\n        /** Amount of items returned in response. If `includeMetadata=true` max limit is 20, otherwise max limit is 1,000. */\n        limit?: number;\n        /** Order the items are returned in the response, eventTimestamp = The blockchain event time, createdAt - The time in which event was recorded */\n        sortBy?: \"eventTimestamp\" | \"createdAt\";\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** If true, metadata is included in the response. */\n        includeMetadata?: boolean;\n        types?:\n          | (\n              | \"ask\"\n              | \"bid\"\n              | \"mint\"\n              | \"sale\"\n              | \"ask_cancel\"\n              | \"bid_cancel\"\n              | \"transfer\"\n            )[]\n          | string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getCollectionActivityV2Response\"];\n      };\n    };\n  };\n  /** This API can be used to build a feed for a collection */\n  getCollectionsCollectionActivityV1: {\n    parameters: {\n      path: {\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection: string;\n      };\n      query: {\n        /** Amount of items returned in response. */\n        limit?: number;\n        /** Use continuation token to request next offset of items. */\n        continuation?: number;\n        types?:\n          | (\n              | \"ask\"\n              | \"bid\"\n              | \"mint\"\n              | \"sale\"\n              | \"ask_cancel\"\n              | \"bid_cancel\"\n              | \"transfer\"\n            )[]\n          | string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getUserActivityV2Response\"];\n      };\n    };\n  };\n  /** This API can be used to build a feed for a collection */\n  getCollectionsCollectionActivityV3: {\n    parameters: {\n      path: {\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection: string;\n      };\n      query: {\n        /** Amount of items returned in response. If `includeMetadata=true` max limit is 20, otherwise max limit is 1,000. */\n        limit?: number;\n        /** Order the items are returned in the response, eventTimestamp = The blockchain event time, createdAt - The time in which event was recorded */\n        sortBy?: \"eventTimestamp\" | \"createdAt\";\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** If true, metadata is included in the response. */\n        includeMetadata?: boolean;\n        types?:\n          | (\n              | \"ask\"\n              | \"bid\"\n              | \"mint\"\n              | \"sale\"\n              | \"ask_cancel\"\n              | \"bid_cancel\"\n              | \"transfer\"\n            )[]\n          | string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getCollectionActivityV3Response\"];\n      };\n    };\n  };\n  getCollectionsCollectionAttributesV1: {\n    parameters: {\n      path: {\n        /** Filter to a particular collection, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection: string;\n      };\n      query: {\n        attributeKey?: string;\n        sortBy?: \"floorAskPrice\" | \"topBidValue\";\n        offset?: number;\n        limit?: number;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getCollectionAttributesV1Response\"];\n      };\n    };\n  };\n  /** This API can be used to show what the distribution of owners in a collection looks like. */\n  getCollectionsCollectionOwnersdistributionV1: {\n    parameters: {\n      path: {\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getCollectionOwnersDistributionV1Response\"];\n      };\n    };\n  };\n  /** The ReservoirKit `ListModal` client utilizes this API to identify the marketplace(s) it can list on. */\n  getCollectionsCollectionSupportedmarketplacesV1: {\n    parameters: {\n      path: {\n        /** Filter to a particular collection, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection: string;\n      };\n      query: {\n        /** When set, token-level royalties will be returned in the response */\n        tokenId?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"Model288\"];\n      };\n    };\n  };\n  /** This API returns recommended marketplace configurations given a collection id */\n  getCollectionsCollectionMarketplaceconfigurationsV2: {\n    parameters: {\n      path: {\n        /** Filter to a particular collection, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection: string;\n      };\n      query: {\n        /** When set, token-level royalties will be returned in the response */\n        tokenId?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"Model294\"];\n      };\n    };\n  };\n  /** Get a list of bids (offers), filtered by collection. */\n  getCollectionsCollectionidBidsV1: {\n    parameters: {\n      path: {\n        /** Filter to a particular collection. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collectionId: string;\n      };\n      query: {\n        /** Filter to a particular order type. Must be one of `token`, `collection`, `attribute`, `custom`. */\n        type?: \"token\" | \"collection\" | \"attribute\" | \"custom\";\n        /** If true, criteria metadata is included in the response. */\n        includeCriteriaMetadata?: boolean;\n        /** If true, raw data is included in the response. */\n        includeRawData?: boolean;\n        /** If true, the depth of each order is included in the response. */\n        includeDepth?: boolean;\n        /** If true, prices will include missing royalties to be added on-top. */\n        normalizeRoyalties?: boolean;\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** Amount of items returned in response. Max limit is 50. */\n        limit?: number;\n        /** Return result in given currency */\n        displayCurrency?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getOrdersBidsV5Response\"];\n      };\n    };\n  };\n  /** This API can be used to show what the distribution of owners in a collections set id looks like. */\n  getCollectionssetsCollectionssetidOwnersdistributionV1: {\n    parameters: {\n      path: {\n        /** Filter to a particular collections set. Example: `8daa732ebe5db23f267e58d52f1c9b1879279bcdf4f78b8fb563390e6946ea65` */\n        collectionsSetId: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getCollectionsSetOwnersDistributionV1Response\"];\n      };\n    };\n  };\n  /**\n   * Every time the floor price of a collection changes (i.e. the 'floor ask'), an event is generated. This API is designed to be polled at high frequency, in order to keep an external system in sync with accurate prices for any token.\n   *\n   * There are multiple event types, which describe what caused the change in price:\n   *\n   * - `new-order` > new listing at a lower price\n   *\n   * - `expiry` > the previous best listing expired\n   *\n   * - `sale` > the previous best listing was filled\n   *\n   * - `cancel` > the previous best listing was cancelled\n   *\n   * - `balance-change` > the best listing was invalidated due to no longer owning the NFT\n   *\n   * - `approval-change` > the best listing was invalidated due to revoked approval\n   *\n   * - `revalidation` > manual revalidation of orders (e.g. after a bug fixed)\n   *\n   * - `reprice` > price update for dynamic orders (e.g. dutch auctions)\n   *\n   * - `bootstrap` > initial loading of data, so that all tokens have a price associated\n   *\n   * Some considerations to keep in mind\n   *\n   * - Due to the complex nature of monitoring off-chain liquidity across multiple marketplaces, including dealing with block re-orgs, events should be considered 'relative' to the perspective of the indexer, ie _when they were discovered_, rather than _when they happened_. A more deterministic historical record of price changes is in development, but in the meantime, this method is sufficent for keeping an external system in sync with the best available prices.\n   *\n   * - Events are only generated if the best price changes. So if a new order or sale happens without changing the best price, no event is generated. This is more common with 1155 tokens, which have multiple owners and more depth. For this reason, if you need sales data, use the Sales API.\n   */\n  getEventsCollectionsFlooraskV1: {\n    parameters: {\n      query: {\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** Get events after a particular unix timestamp (inclusive) */\n        startTimestamp?: number;\n        /** Get events before a particular unix timestamp (inclusive) */\n        endTimestamp?: number;\n        /** If true, prices will include missing royalties to be added on-top. */\n        normalizeRoyalties?: boolean;\n        /** If true, will exclude floor asks on flagged tokens. (only supported when `normalizeRoyalties` is false) */\n        excludeFlaggedTokens?: boolean;\n        /** Order the items are returned in the response. */\n        sortDirection?: \"asc\" | \"desc\";\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** Amount of items returned in response. */\n        limit?: number;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getCollectionsFloorAskV1Response\"];\n      };\n    };\n  };\n  /**\n   * Every time the floor price of a collection changes (i.e. the 'floor ask'), an event is generated. This API is designed to be polled at high frequency, in order to keep an external system in sync with accurate prices for any token.\n   *\n   * There are multiple event types, which describe what caused the change in price:\n   *\n   * - `new-order` > new listing at a lower price\n   *\n   * - `expiry` > the previous best listing expired\n   *\n   * - `sale` > the previous best listing was filled\n   *\n   * - `cancel` > the previous best listing was cancelled\n   *\n   * - `balance-change` > the best listing was invalidated due to no longer owning the NFT\n   *\n   * - `approval-change` > the best listing was invalidated due to revoked approval\n   *\n   * - `revalidation` > manual revalidation of orders (e.g. after a bug fixed)\n   *\n   * - `reprice` > price update for dynamic orders (e.g. dutch auctions)\n   *\n   * - `bootstrap` > initial loading of data, so that all tokens have a price associated\n   *\n   * Some considerations to keep in mind\n   *\n   * - Selling a partial quantity of available 1155 tokens in a listing will generate a `sale` and will have a new quantity.\n   *\n   * - Due to the complex nature of monitoring off-chain liquidity across multiple marketplaces, including dealing with block re-orgs, events should be considered 'relative' to the perspective of the indexer, ie _when they were discovered_, rather than _when they happened_. A more deterministic historical record of price changes is in development, but in the meantime, this method is sufficent for keeping an external system in sync with the best available prices.\n   *\n   * - Events are only generated if the best price changes. So if a new order or sale happens without changing the best price, no event is generated. This is more common with 1155 tokens, which have multiple owners and more depth. For this reason, if you need sales data, use the Sales API.\n   */\n  getEventsCollectionsFlooraskV2: {\n    parameters: {\n      query: {\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** Get events after a particular unix timestamp (inclusive) */\n        startTimestamp?: number;\n        /** Get events before a particular unix timestamp (inclusive) */\n        endTimestamp?: number;\n        /** If true, prices will include missing royalties to be added on-top. */\n        normalizeRoyalties?: boolean;\n        /** If true, will exclude floor asks on flagged tokens. (only supported when `normalizeRoyalties` is false) */\n        excludeFlaggedTokens?: boolean;\n        /** Order the items are returned in the response. */\n        sortDirection?: \"asc\" | \"desc\";\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** Amount of items returned in response. Max limit is 1000. */\n        limit?: number;\n        /** Return result in given currency */\n        displayCurrency?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getCollectionsFloorAskV2Response\"];\n      };\n    };\n  };\n  /** Every time the top offer of a collection changes (i.e. the 'top bid'), an event is generated. This API is designed to be polled at high frequency. */\n  getEventsCollectionsTopbidV1: {\n    parameters: {\n      query: {\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** Get events after a particular unix timestamp (inclusive) */\n        startTimestamp?: number;\n        /** Get events before a particular unix timestamp (inclusive) */\n        endTimestamp?: number;\n        /** Order the items are returned in the response. */\n        sortDirection?: \"asc\" | \"desc\";\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** Amount of items returned in response. */\n        limit?: number;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getCollectionsTopbidV1Response\"];\n      };\n    };\n  };\n  /**\n   * Every time the top offer of a collection changes (i.e. the 'top bid'), an event is generated. This API is designed to be polled at high frequency.\n   *\n   * There are multiple event types, which describe what caused the change in price:\n   *\n   * - `new-order` > new bid at a higher price\n   *\n   * - `expiry` > the previous top bid expired\n   *\n   * - `sale` > the previous top bid was accepted\n   *\n   * - `cancel` > the previous top bid was cancelled\n   *\n   * - `balance-change` > the top bid was invalidated due NFT no longer available\n   *\n   * - `approval-change` > the top bid was invalidated due to revoked approval\n   *\n   * - `revalidation` > manual revalidation of orders (e.g. after a bug fixed)\n   *\n   * - `reprice` > price update for dynamic orders (e.g. dutch auctions)\n   *\n   * - `bootstrap` > initial loading of data, so that all tokens have a price associated\n   *\n   * Some considerations to keep in mind\n   *\n   * - Selling a partial quantity of available 1155 tokens in a listing will generate a `sale` and will have a new quantity.\n   *\n   * - Due to the complex nature of monitoring off-chain liquidity across multiple marketplaces, including dealing with block re-orgs, events should be considered 'relative' to the perspective of the indexer, ie _when they were discovered_, rather than _when they happened_. A more deterministic historical record of price changes is in development, but in the meantime, this method is sufficent for keeping an external system in sync with the best available prices.\n   *\n   * - Events are only generated if the top bid changes. So if a new order or sale happens without changing the top bid, no event is generated. This is more common with 1155 tokens, which have multiple owners and more depth. For this reason, if you need sales data, use the Sales API.\n   */\n  getEventsCollectionsTopbidV2: {\n    parameters: {\n      query: {\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** Get events after a particular unix timestamp (inclusive) */\n        startTimestamp?: number;\n        /** Get events before a particular unix timestamp (inclusive) */\n        endTimestamp?: number;\n        /** Order the items are returned in the response. */\n        sortDirection?: \"asc\" | \"desc\";\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** Amount of items returned in response. Max limit is 1000. */\n        limit?: number;\n        /** Return result in given currency */\n        displayCurrency?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getCollectionsTopbidV2Response\"];\n      };\n    };\n  };\n  /**\n   * Every time the best price of a token changes (i.e. the 'floor ask'), an event is generated. This API is designed to be polled at high frequency, in order to keep an external system in sync with accurate prices for any token.\n   *\n   * There are multiple event types, which describe what caused the change in price:\n   *\n   * - `new-order` > new listing at a lower price\n   *\n   * - `expiry` > the previous best listing expired\n   *\n   * - `sale` > the previous best listing was filled\n   *\n   * - `cancel` > the previous best listing was cancelled\n   *\n   * - `balance-change` > the best listing was invalidated due to no longer owning the NFT\n   *\n   * - `approval-change` > the best listing was invalidated due to revoked approval\n   *\n   * - `revalidation` > manual revalidation of orders (e.g. after a bug fixed)\n   *\n   * - `reprice` > price update for dynamic orders (e.g. dutch auctions)\n   *\n   * - `bootstrap` > initial loading of data, so that all tokens have a price associated\n   *\n   * Some considerations to keep in mind\n   *\n   * - Due to the complex nature of monitoring off-chain liquidity across multiple marketplaces, including dealing with block re-orgs, events should be considered 'relative' to the perspective of the indexer, ie _when they were discovered_, rather than _when they happened_. A more deterministic historical record of price changes is in development, but in the meantime, this method is sufficent for keeping an external system in sync with the best available prices.\n   *\n   * - Events are only generated if the best price changes. So if a new order or sale happens without changing the best price, no event is generated. This is more common with 1155 tokens, which have multiple owners and more depth. For this reason, if you need sales data, use the Sales API.\n   */\n  getEventsTokensFlooraskV2: {\n    parameters: {\n      query: {\n        contract?: string;\n        /** Filter to a particular token, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n        token?: string;\n        /** Get events after a particular unix timestamp (inclusive) */\n        startTimestamp?: number;\n        /** Get events before a particular unix timestamp (inclusive) */\n        endTimestamp?: number;\n        sortDirection?: \"asc\" | \"desc\";\n        continuation?: string;\n        limit?: number;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getTokensFloorAskV2Response\"];\n      };\n    };\n  };\n  /**\n   * Every time the best price of a token changes (i.e. the 'floor ask'), an event is generated. This API is designed to be polled at high frequency, in order to keep an external system in sync with accurate prices for any token.\n   *\n   * There are multiple event types, which describe what caused the change in price:\n   *\n   * - `new-order` > new listing at a lower price\n   *\n   * - `expiry` > the previous best listing expired\n   *\n   * - `sale` > the previous best listing was filled\n   *\n   * - `cancel` > the previous best listing was cancelled\n   *\n   * - `balance-change` > the best listing was invalidated due to no longer owning the NFT\n   *\n   * - `approval-change` > the best listing was invalidated due to revoked approval\n   *\n   * - `revalidation` > manual revalidation of orders (e.g. after a bug fixed)\n   *\n   * - `reprice` > price update for dynamic orders (e.g. dutch auctions)\n   *\n   * - `bootstrap` > initial loading of data, so that all tokens have a price associated\n   *\n   * Some considerations to keep in mind\n   *\n   * - Due to the complex nature of monitoring off-chain liquidity across multiple marketplaces, including dealing with block re-orgs, events should be considered 'relative' to the perspective of the indexer, ie _when they were discovered_, rather than _when they happened_. A more deterministic historical record of price changes is in development, but in the meantime, this method is sufficent for keeping an external system in sync with the best available prices.\n   *\n   * - Events are only generated if the best price changes. So if a new order or sale happens without changing the best price, no event is generated. This is more common with 1155 tokens, which have multiple owners and more depth. For this reason, if you need sales data, use the Sales API.\n   */\n  getEventsTokensFlooraskV3: {\n    parameters: {\n      query: {\n        contract?: string;\n        /** Filter to a particular token, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n        token?: string;\n        /** Get events after a particular unix timestamp (inclusive) */\n        startTimestamp?: number;\n        /** Get events before a particular unix timestamp (inclusive) */\n        endTimestamp?: number;\n        sortDirection?: \"asc\" | \"desc\";\n        /** If true, prices will include missing royalties to be added on-top. */\n        normalizeRoyalties?: boolean;\n        continuation?: string;\n        limit?: number;\n        /** Return result in given currency */\n        displayCurrency?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getTokensFloorAskV3Response\"];\n      };\n    };\n  };\n  /**\n   * Every time the best price of a token changes (i.e. the 'floor ask'), an event is generated. This API is designed to be polled at high frequency, in order to keep an external system in sync with accurate prices for any token.\n   *\n   * There are multiple event types, which describe what caused the change in price:\n   *\n   * - `new-order` > new listing at a lower price\n   *\n   * - `expiry` > the previous best listing expired\n   *\n   * - `sale` > the previous best listing was filled\n   *\n   * - `cancel` > the previous best listing was cancelled\n   *\n   * - `balance-change` > the best listing was invalidated due to no longer owning the NFT\n   *\n   * - `approval-change` > the best listing was invalidated due to revoked approval\n   *\n   * - `revalidation` > manual revalidation of orders (e.g. after a bug fixed)\n   *\n   * - `reprice` > price update for dynamic orders (e.g. dutch auctions)\n   *\n   * - `bootstrap` > initial loading of data, so that all tokens have a price associated\n   *\n   * Some considerations to keep in mind\n   *\n   * - Selling a partial quantity of available 1155 tokens in a listing will generate a `sale` and will have a new quantity.\n   *\n   * - Due to the complex nature of monitoring off-chain liquidity across multiple marketplaces, including dealing with block re-orgs, events should be considered 'relative' to the perspective of the indexer, ie _when they were discovered_, rather than _when they happened_. A more deterministic historical record of price changes is in development, but in the meantime, this method is sufficent for keeping an external system in sync with the best available prices.\n   *\n   * - Events are only generated if the best price changes. So if a new order or sale happens without changing the best price, no event is generated. This is more common with 1155 tokens, which have multiple owners and more depth. For this reason, if you need sales data, use the Sales API.\n   */\n  getEventsTokensFlooraskV4: {\n    parameters: {\n      query: {\n        contract?: string;\n        /** Filter to a particular token, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n        token?: string;\n        /** Get events after a particular unix timestamp (inclusive) */\n        startTimestamp?: number;\n        /** Get events before a particular unix timestamp (inclusive) */\n        endTimestamp?: number;\n        sortDirection?: \"asc\" | \"desc\";\n        /** If true, prices will include missing royalties to be added on-top. */\n        normalizeRoyalties?: boolean;\n        continuation?: string;\n        /** Amount of items returned in response. Max limit is 1000. */\n        limit?: number;\n        /** Return result in given currency */\n        displayCurrency?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getTokensFloorAskV4Response\"];\n      };\n    };\n  };\n  /** Get a signed message of any collection's bid-ask midpoint (spot or twap). This is approximation of the colletion price. The oracle's address is 0xAeB1D03929bF87F69888f381e73FBf75753d75AF. The address is the same for all chains. */\n  getOracleCollectionsBidaskmidpointV1: {\n    parameters: {\n      query: {\n        kind?: \"spot\" | \"twap\" | \"lower\" | \"upper\";\n        currency?: string;\n        twapSeconds?: number;\n        collection?: string;\n        token?: string;\n        signer?:\n          | \"0x32da57e736e05f75aa4fae2e9be60fd904492726\"\n          | \"0xaeb1d03929bf87f69888f381e73fbf75753d75af\";\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getCollectionBidAskMidpointOracleV1Response\"];\n      };\n    };\n  };\n  /** Get a signed message of any collection's floor price (spot or twap). The oracle's address is 0x32dA57E736E05f75aa4FaE2E9Be60FD904492726. */\n  getOracleCollectionsFlooraskV4: {\n    parameters: {\n      query: {\n        kind?: \"spot\" | \"twap\" | \"lower\" | \"upper\";\n        currency?: string;\n        twapSeconds?: number;\n        eip3668Calldata?: string;\n        collection?: string;\n        token?: string;\n        /** If true, will use the collection non flagged floor ask events. */\n        useNonFlaggedFloorAsk?: boolean;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getCollectionFloorAskOracleV4Response\"];\n      };\n    };\n  };\n  /** Get a signed message of any collection's floor price (spot or twap). The oracle's address is 0xAeB1D03929bF87F69888f381e73FBf75753d75AF. The address is the same for all chains. */\n  getOracleCollectionsFlooraskV5: {\n    parameters: {\n      query: {\n        kind?: \"spot\" | \"twap\" | \"lower\" | \"upper\";\n        currency?: string;\n        twapSeconds?: number;\n        eip3668Calldata?: string;\n        collection?: string;\n        token?: string;\n        /** If true, will use the collection non flagged floor ask events. */\n        useNonFlaggedFloorAsk?: boolean;\n        signer?:\n          | \"0x32da57e736e05f75aa4fae2e9be60fd904492726\"\n          | \"0xaeb1d03929bf87f69888f381e73fbf75753d75af\";\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getCollectionFloorAskOracleV4Response\"];\n      };\n    };\n  };\n  /** Get a signed message of any collection's floor price (spot or twap). The oracle's address is 0xAeB1D03929bF87F69888f381e73FBf75753d75AF. The address is the same for all chains. */\n  getOracleCollectionsFlooraskV6: {\n    parameters: {\n      query: {\n        kind?: \"spot\" | \"twap\" | \"lower\" | \"upper\";\n        currency?: string;\n        twapSeconds?: number;\n        eip3668Calldata?: string;\n        collection?: string;\n        token?: string;\n        /** If true, will use the collection non flagged floor ask events. */\n        useNonFlaggedFloorAsk?: boolean;\n        signer?:\n          | \"0x32da57e736e05f75aa4fae2e9be60fd904492726\"\n          | \"0xaeb1d03929bf87f69888f381e73fbf75753d75af\";\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getCollectionFloorAskOracleV6Response\"];\n      };\n    };\n  };\n  /** Get a signed message of any collection's top bid price (spot or twap). The oracle's address is 0xAeB1D03929bF87F69888f381e73FBf75753d75AF. The address is the same for all chains. */\n  getOracleCollectionsTopbidV2: {\n    parameters: {\n      query: {\n        kind?: \"spot\" | \"twap\" | \"lower\" | \"upper\";\n        currency?: string;\n        twapSeconds?: number;\n        collection?: string;\n        token?: string;\n        signer?:\n          | \"0x32da57e736e05f75aa4fae2e9be60fd904492726\"\n          | \"0xaeb1d03929bf87f69888f381e73fbf75753d75af\";\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getCollectionTopBidOracleV2Response\"];\n      };\n    };\n  };\n  /** Get a signed message of any collection's top bid price (spot or twap). The oracle's address is 0xAeB1D03929bF87F69888f381e73FBf75753d75AF. The address is the same for all chains. */\n  getOracleCollectionsTopbidV3: {\n    parameters: {\n      query: {\n        kind?: \"spot\" | \"twap\" | \"lower\" | \"upper\";\n        currency?: string;\n        twapSeconds?: number;\n        collection?: string;\n        token?: string;\n        signer?:\n          | \"0x32da57e736e05f75aa4fae2e9be60fd904492726\"\n          | \"0xaeb1d03929bf87f69888f381e73fbf75753d75af\";\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getCollectionBidAskMidpointOracleV1Response\"];\n      };\n    };\n  };\n  /** Get a signed message of a token's details (flagged status and last transfer time). The oracle's address is 0xAeB1D03929bF87F69888f381e73FBf75753d75AF. The address is the same for all chains. */\n  getOracleTokensStatusV2: {\n    parameters: {\n      query: {\n        tokens: string[] | string;\n        signer?:\n          | \"0x32da57e736e05f75aa4fae2e9be60fd904492726\"\n          | \"0xaeb1d03929bf87f69888f381e73fbf75753d75af\";\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getTokenStatusOracleV2Response\"];\n      };\n    };\n  };\n  /** Get a signed message of a token's details (flagged status and last transfer time). The oracle's address is 0xAeB1D03929bF87F69888f381e73FBf75753d75AF. The address is the same for all chains. */\n  getOracleTokensStatusV3: {\n    parameters: {\n      query: {\n        tokens: string[] | string;\n        signer?:\n          | \"0x32da57e736e05f75aa4fae2e9be60fd904492726\"\n          | \"0xaeb1d03929bf87f69888f381e73fbf75753d75af\";\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getTokenStatusOracleV3Response\"];\n      };\n    };\n  };\n  /** Get for the given wallet its historical portfolio value */\n  getPortfolioHistoricalValueV1: {\n    parameters: {\n      query: {\n        wallet: string;\n        /** Return results by either hourly/daily granularity */\n        granularity?: \"hourly\" | \"daily\";\n        period?: \"1d\" | \"7d\" | \"30d\";\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getHistoricalPortfolioValueV1Response\"];\n      };\n    };\n  };\n  /** Get tokens held by a user, along with ownership information such as associated orders and date acquired. */\n  getPortfolioNftsBalanceV1: {\n    parameters: {\n      query: {\n        /** Filter to a particular user. Example: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00` */\n        wallet: string;\n        /** Array of collections. Max limit is 100. Example: `collections[0]: 0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string[] | string;\n        /** Order the items are returned in the response. Options are `acquiredAt`, `floorAskPrice`.  `floorAskPrice` is the collection floor ask */\n        sortBy?: \"acquiredAt\" | \"floorAskPrice\";\n        /** Order the items are returned in the response. */\n        sortDirection?: \"asc\" | \"desc\";\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** Amount of items returned in response. Max limit is 200. */\n        limit?: number;\n        /** If true, top bid will be returned in the response. */\n        includeTopBid?: boolean;\n        /** If true, will filter any tokens marked as spam. */\n        excludeSpam?: boolean;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getNftsBalancesV1Response\"];\n      };\n    };\n  };\n  /** Get for the given wallet its tokens balance */\n  getPortfolioTokensBalanceV1: {\n    parameters: {\n      query: {\n        wallet: string;\n        contracts?: string[] | string;\n        /** Amount of items returned in response. Max limit is 20. */\n        limit?: number;\n        continuation?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getTokensBalanceV1Response\"];\n      };\n    };\n  };\n  /** This API return the recent flagged/un-flagged tokens across all collections sorted by change time */\n  getTokensFlagChangesV1: {\n    parameters: {\n      query: {\n        /**\n         * -1 = All tokens (default)\n         * 0 = Non flagged tokens\n         * 1 = Flagged tokens\n         */\n        flagStatus?: -1 | 0 | 1;\n        /** Amount of items returned in response. Max is 200. */\n        limit?: number;\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getFlaggedTokensV1Response\"];\n      };\n    };\n  };\n  /** Get a list of bids (offers), filtered by token. */\n  getTokensTokenBidsV1: {\n    parameters: {\n      path: {\n        /** The token to get bids for. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n        token: string;\n      };\n      query: {\n        /** Filter to a particular order type. Must be one of `token`, `collection`, `attribute`, `custom`. */\n        type?: \"token\" | \"collection\" | \"attribute\" | \"custom\";\n        /** If true, criteria metadata is included in the response. */\n        includeCriteriaMetadata?: boolean;\n        /** If true, raw data is included in the response. */\n        includeRawData?: boolean;\n        /** If true, the depth of each order is included in the response. */\n        includeDepth?: boolean;\n        /** If true, prices will include missing royalties to be added on-top. */\n        normalizeRoyalties?: boolean;\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** Amount of items returned in response. Max limit is 50. */\n        limit?: number;\n        /** Return result in given currency */\n        displayCurrency?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getOrdersBidsV5Response\"];\n      };\n    };\n  };\n  /** This API can be used to build a feed for a token */\n  getTokensTokenActivityV4: {\n    parameters: {\n      path: {\n        /** Filter to a particular token. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n        token: string;\n      };\n      query: {\n        /** Amount of items returned in response. */\n        limit?: number;\n        /** Order the items are returned in the response, eventTimestamp = The blockchain event time, createdAt - The time in which event was recorded */\n        sortBy?: \"eventTimestamp\" | \"createdAt\";\n        /** If true, metadata is included in the response. */\n        includeMetadata?: boolean;\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        types?:\n          | (\n              | \"ask\"\n              | \"bid\"\n              | \"mint\"\n              | \"sale\"\n              | \"ask_cancel\"\n              | \"bid_cancel\"\n              | \"transfer\"\n            )[]\n          | string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getTokenActivityV4Response\"];\n      };\n    };\n  };\n  /** This API can be used to build a feed for a token */\n  getTokensTokenActivityV2: {\n    parameters: {\n      path: {\n        /** Filter to a particular token. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n        token: string;\n      };\n      query: {\n        /** Amount of items returned in response. */\n        limit?: number;\n        /** Order the items are returned in the response, eventTimestamp = The blockchain event time, createdAt - The time in which event was recorded */\n        sortBy?: \"eventTimestamp\" | \"createdAt\";\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        types?:\n          | (\n              | \"ask\"\n              | \"bid\"\n              | \"mint\"\n              | \"sale\"\n              | \"ask_cancel\"\n              | \"bid_cancel\"\n              | \"transfer\"\n            )[]\n          | string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getCollectionActivityV2Response\"];\n      };\n    };\n  };\n  /** This API can be used to build a feed for a token */\n  getTokensTokenActivityV1: {\n    parameters: {\n      path: {\n        /** Filter to a particular token. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n        token: string;\n      };\n      query: {\n        /** Amount of items returned in response. */\n        limit?: number;\n        /** Use continuation token to request next offset of items. */\n        continuation?: number;\n        types?:\n          | (\n              | \"ask\"\n              | \"bid\"\n              | \"mint\"\n              | \"sale\"\n              | \"ask_cancel\"\n              | \"bid_cancel\"\n              | \"transfer\"\n            )[]\n          | string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getUserActivityV2Response\"];\n      };\n    };\n  };\n  /** This API can be used to build a feed for a token */\n  getTokensTokenActivityV3: {\n    parameters: {\n      path: {\n        /** Filter to a particular token. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n        token: string;\n      };\n      query: {\n        /** Amount of items returned in response. */\n        limit?: number;\n        /** Order the items are returned in the response, eventTimestamp = The blockchain event time, createdAt - The time in which event was recorded */\n        sortBy?: \"eventTimestamp\" | \"createdAt\";\n        /** If true, metadata is included in the response. */\n        includeMetadata?: boolean;\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        types?:\n          | (\n              | \"ask\"\n              | \"bid\"\n              | \"mint\"\n              | \"sale\"\n              | \"ask_cancel\"\n              | \"bid_cancel\"\n              | \"transfer\"\n            )[]\n          | string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getCollectionActivityV4Response\"];\n      };\n    };\n  };\n  /** This API can be used to build a feed for a token activity including sales, asks, transfers, mints, bids, cancelled bids, and cancelled asks types. */\n  getTokensTokenActivityV5: {\n    parameters: {\n      path: {\n        /** Filter to a particular token. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n        token: string;\n      };\n      query: {\n        /** Amount of items returned. Default and max is 20. */\n        limit?: number;\n        /** Order the items are returned in the response. The blockchain event time is `eventTimestamp`. The event time recorded is `createdAt`. */\n        sortBy?: \"eventTimestamp\" | \"createdAt\";\n        /** If true, metadata is included in the response. */\n        includeMetadata?: boolean;\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** If true, will filter any activities marked as spam. */\n        excludeSpam?: boolean;\n        /** If true, will filter any activities marked as nsfw. */\n        excludeNsfw?: boolean;\n        types?:\n          | (\n              | \"ask\"\n              | \"bid\"\n              | \"mint\"\n              | \"sale\"\n              | \"ask_cancel\"\n              | \"bid_cancel\"\n              | \"transfer\"\n            )[]\n          | string;\n        /** Input any ERC20 address to return result in given currency */\n        displayCurrency?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getTokenActivityV5Response\"];\n      };\n    };\n  };\n  /** Get a list of asks (listings), filtered by token. */\n  getTokensTokenAsksV1: {\n    parameters: {\n      path: {\n        /** The token to get asks for. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n        token: string;\n      };\n      query: {\n        /** If true, criteria metadata is included in the response. */\n        includeCriteriaMetadata?: boolean;\n        /** If true, raw data is included in the response. */\n        includeRawData?: boolean;\n        /** If true, dynamic pricing data will be returned in the response. */\n        includeDynamicPricing?: boolean;\n        /** If true, prices will include missing royalties to be added on-top. */\n        normalizeRoyalties?: boolean;\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** Amount of items returned in response. Max limit is 50. */\n        limit?: number;\n        /** Return result in given currency */\n        displayCurrency?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getOrdersBidsV5Response\"];\n      };\n    };\n  };\n  /** Get a boolean response on whether a particular transaction was synced or not. */\n  getTransactionsTxhashSyncedV1: {\n    parameters: {\n      path: {\n        txHash: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getTransactionSyncedV1Response\"];\n      };\n    };\n  };\n  /** Get tokens held by a user, along with ownership information such as associated orders and date acquired. */\n  getUsersUserTokensV9: {\n    parameters: {\n      path: {\n        /** Filter to a particular user. Example: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00` */\n        user: string;\n      };\n      query: {\n        /** Filter to a particular community, e.g. `artblocks` */\n        community?: string;\n        /** Filter to a particular collection set. Example: `8daa732ebe5db23f267e58d52f1c9b1879279bcdf4f78b8fb563390e6946ea65` */\n        collectionsSetId?: string;\n        /** Array of collections. Max limit is 100. Example: `collections[0]: 0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string[] | string;\n        excludeCollections?: string[] | string;\n        /** Filter to a particular contract, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        contract?: string;\n        /** Array of tokens. Max limit is 50. Example: `tokens[0]: 0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:704 tokens[1]: 0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:979` */\n        tokens?: string[] | string;\n        /** If true, prices will include missing royalties to be added on-top. */\n        normalizeRoyalties?: boolean;\n        /** Order the items are returned in the response. Options are `acquiredAt`, `lastAppraisalValue` and `floorAskPrice`. `lastAppraisalValue` is the value of the last sale. `floorAskPrice` is the collection floor ask */\n        sortBy?: \"acquiredAt\" | \"lastAppraisalValue\" | \"floorAskPrice\";\n        /** Order the items are returned in the response. */\n        sortDirection?: \"asc\" | \"desc\";\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** Amount of items returned in response. Max limit is 200. */\n        limit?: number;\n        /** If true, top bid will be returned in the response. */\n        includeTopBid?: boolean;\n        /** If true, attributes will be returned in the response. */\n        includeAttributes?: boolean;\n        /** If true, last sale data including royalties paid will be returned in the response. */\n        includeLastSale?: boolean;\n        /** If true, raw data is included in the response. */\n        includeRawData?: boolean;\n        /** If true, will filter any tokens marked as spam. */\n        excludeSpam?: boolean;\n        /** If true, will filter any tokens marked as nsfw. */\n        excludeNsfw?: boolean;\n        /** If true, will filter any tokens that are not listed */\n        onlyListed?: boolean;\n        /** If true, will return the collection non flagged floor ask. */\n        useNonFlaggedFloorAsk?: boolean;\n        /** Input any ERC20 address to return result in given currency. Applies to `topBid` and `floorAsk`. */\n        displayCurrency?: string;\n        /** Filter to a particular token by name. This is case sensitive. Example: `token #1` */\n        tokenName?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getUserTokensV9Response\"];\n      };\n    };\n  };\n  /** Get tokens held by a user, along with ownership information such as associated orders and date acquired. */\n  getUsersUserTokensV7: {\n    parameters: {\n      path: {\n        /** Filter to a particular user. Example: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00` */\n        user: string;\n      };\n      query: {\n        /** Filter to a particular community, e.g. `artblocks` */\n        community?: string;\n        /** Filter to a particular collection set. Example: `8daa732ebe5db23f267e58d52f1c9b1879279bcdf4f78b8fb563390e6946ea65` */\n        collectionsSetId?: string;\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** Filter to a particular contract, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        contract?: string;\n        /** Array of tokens. Max limit is 50. Example: `tokens[0]: 0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:704 tokens[1]: 0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:979` */\n        tokens?: string[] | string;\n        /** If true, prices will include missing royalties to be added on-top. */\n        normalizeRoyalties?: boolean;\n        /** Order the items are returned in the response. Options are `acquiredAt` and `lastAppraisalValue`. `lastAppraisalValue` is the value of the last sale. */\n        sortBy?: \"acquiredAt\" | \"lastAppraisalValue\";\n        /** Order the items are returned in the response. */\n        sortDirection?: \"asc\" | \"desc\";\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** Amount of items returned in response. Max limit is 200. */\n        limit?: number;\n        /** If true, top bid will be returned in the response. */\n        includeTopBid?: boolean;\n        /** If true, attributes will be returned in the response. */\n        includeAttributes?: boolean;\n        /** If true, last sale data including royalties paid will be returned in the response. */\n        includeLastSale?: boolean;\n        /** If true, raw data is included in the response. */\n        includeRawData?: boolean;\n        /** If true, will filter any tokens marked as spam. */\n        excludeSpam?: boolean;\n        /** If true, will return the collection non flagged floor ask. */\n        useNonFlaggedFloorAsk?: boolean;\n        /** Input any ERC20 address to return result in given currency. Applies to `topBid` and `floorAsk`. */\n        displayCurrency?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getUserTokensV7Response\"];\n      };\n    };\n  };\n  /** Get tokens held by a user, along with ownership information such as associated orders and date acquired. */\n  getUsersUserTokensV5: {\n    parameters: {\n      path: {\n        /** Filter to a particular user. Example: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00` */\n        user: string;\n      };\n      query: {\n        /** Filter to a particular community, e.g. `artblocks` */\n        community?: string;\n        /** Filter to a particular collection set. */\n        collectionsSetId?: string;\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** Filter to a particular contract, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        contract?: string;\n        /** Array of tokens. Example: `tokens[0]: 0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:704 tokens[1]: 0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:979` */\n        tokens?: string[] | string;\n        /** If true, prices will include missing royalties to be added on-top. */\n        normalizeRoyalties?: boolean;\n        /** Order the items are returned in the response. */\n        sortBy?: \"acquiredAt\";\n        /** Order the items are returned in the response. */\n        sortDirection?: \"asc\" | \"desc\";\n        /** Use offset to request the next batch of items. */\n        offset?: number;\n        /** Amount of items returned in response. */\n        limit?: number;\n        /** If true, top bid will be returned in the response. */\n        includeTopBid?: boolean;\n        /** Return result in given currency */\n        displayCurrency?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getUserTokensV5Response\"];\n      };\n    };\n  };\n  /** Get tokens held by a user, along with ownership information such as associated orders and date acquired. */\n  getUsersUserTokensV3: {\n    parameters: {\n      path: {\n        /** Filter to a particular user. Example: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00` */\n        user: string;\n      };\n      query: {\n        /** Filter to a particular community, e.g. `artblocks` */\n        community?: string;\n        /** Filter to a particular collection set. */\n        collectionsSetId?: string;\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** Filter to a particular contract, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        contract?: string;\n        /** Order the items are returned in the response. */\n        sortBy?: \"acquiredAt\";\n        /** Order the items are returned in the response. */\n        sortDirection?: \"asc\" | \"desc\";\n        /** Use offset to request the next batch of items. */\n        offset?: number;\n        /** Amount of items returned in response. */\n        limit?: number;\n        /** If true, top bid will be returned in the response. */\n        includeTopBid?: boolean;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getUserTokensV3Response\"];\n      };\n    };\n  };\n  /** Get tokens held by a user, along with ownership information such as associated orders and date acquired. */\n  getUsersUserTokensV1: {\n    parameters: {\n      path: {\n        user: string;\n      };\n      query: {\n        /** Filter to a particular community, e.g. `artblocks` */\n        community?: string;\n        /** Filter to a particular collection, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** Filter to a particular contract, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        contract?: string;\n        hasOffer?: boolean;\n        sortBy?: \"topBuyValue\";\n        sortDirection?: \"asc\" | \"desc\";\n        offset?: number;\n        limit?: number;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getUserTokensV1Response\"];\n      };\n    };\n  };\n  /** Get a list of bids (offers), filtered by maker. */\n  getUsersUserBidsV1: {\n    parameters: {\n      path: {\n        /** Filter to a particular user. Example: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00` */\n        user: string;\n      };\n      query: {\n        ids?: string[] | string;\n        /** Filter to a particular order type. Must be one of `token`, `collection`, `attribute`, `custom`. */\n        type?: \"token\" | \"collection\" | \"attribute\" | \"custom\";\n        /**\n         * activeª^º = currently valid\n         * inactiveª^ = temporarily invalid\n         * valid^ = both active and inactive orders\n         */\n        status?: \"active\" | \"inactive\" | \"valid\";\n        /** Filter to a particular collection bids with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** Filter to a particular community. Example: `artblocks` */\n        community?: string;\n        /** Filter to a particular collection set. Requires `maker` to be passed. Example: `8daa732ebe5db23f267e58d52f1c9b1879279bcdf4f78b8fb563390e6946ea65` */\n        collectionsSetId?: string;\n        /** Order the items are returned in the response. Defaults sorting direction to descending. */\n        sortBy?: \"createdAt\" | \"price\";\n        /** If true, criteria metadata is included in the response. */\n        includeCriteriaMetadata?: boolean;\n        /** If true, raw data is included in the response. */\n        includeRawData?: boolean;\n        /** If true, the depth of each order is included in the response. */\n        includeDepth?: boolean;\n        /** If true, prices will include missing royalties to be added on-top. */\n        normalizeRoyalties?: boolean;\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** Amount of items returned in response. Max limit is 50. */\n        limit?: number;\n        /** Return result in given currency */\n        displayCurrency?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getOrdersBidsV5Response\"];\n      };\n    };\n  };\n  /** Get aggregate user liquidity, grouped by collection. Useful for showing a summary of liquidity being provided (orders made). */\n  getUsersUserPositionsV1: {\n    parameters: {\n      path: {\n        /** Wallet to see results for e.g. `0xf296178d553c8ec21a2fbd2c5dda8ca9ac905a00` */\n        user: string;\n      };\n      query: {\n        side: \"buy\" | \"sell\";\n        status: \"valid\" | \"invalid\";\n        offset?: number;\n        limit?: number;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getUserPositionsV1Response\"];\n      };\n    };\n  };\n  /** Get aggregate stats for a user, grouped by collection. Useful for showing total portfolio information. */\n  getUsersUserCollectionsV3: {\n    parameters: {\n      path: {\n        /** Filter to a particular user. Example: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00` */\n        user: string;\n      };\n      query: {\n        /** Filter to a particular community. Example: `artblocks` */\n        community?: string;\n        /** Filter to a particular collection set. Example: `8daa732ebe5db23f267e58d52f1c9b1879279bcdf4f78b8fb563390e6946ea65` */\n        collectionsSetId?: string;\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** If true, top bid will be returned in the response. */\n        includeTopBid?: boolean;\n        /** If true, number of tokens with bids will be returned in the response. */\n        includeLiquidCount?: boolean;\n        /** If true, will filter any collections marked as spam. */\n        excludeSpam?: boolean;\n        /** Use offset to request the next batch of items. Max is 10,000. */\n        offset?: number;\n        /** Amount of items returned in response. max limit is 100. */\n        limit?: number;\n        /** Input any ERC20 address to return result in given currency. Applies to `topBid` and `floorAsk`. */\n        displayCurrency?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getUserCollectionsV3Response\"];\n      };\n    };\n  };\n  /** Get aggregate stats for a user, grouped by collection. Useful for showing total portfolio information. */\n  getUsersUserCollectionsV1: {\n    parameters: {\n      path: {\n        /** Wallet to see results for e.g. `0xf296178d553c8ec21a2fbd2c5dda8ca9ac905a00` */\n        user: string;\n      };\n      query: {\n        /** Filter to a particular community, e.g. `artblocks` */\n        community?: string;\n        /** Filter to a particular collection, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        offset?: number;\n        limit?: number;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getUserCollectionsV1Response\"];\n      };\n    };\n  };\n  /** This API can be used to build a feed for a user */\n  getUsersUserActivityV1: {\n    parameters: {\n      path: {\n        /** Filter to a particular user. Example: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00` */\n        user: string;\n      };\n      query: {\n        /** Amount of items returned in response. */\n        limit?: number;\n        /** Use continuation token to request next offset of items. */\n        continuation?: number;\n        types?:\n          | (\n              | \"ask\"\n              | \"bid\"\n              | \"mint\"\n              | \"sale\"\n              | \"ask_cancel\"\n              | \"bid_cancel\"\n              | \"transfer\"\n            )[]\n          | string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getUserActivityV1Response\"];\n      };\n    };\n  };\n  /** Get aggregate stats for a user, grouped by collection. Useful for showing total portfolio information. */\n  getUsersUserCollectionsV2: {\n    parameters: {\n      path: {\n        /** Filter to a particular user. Example: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00` */\n        user: string;\n      };\n      query: {\n        /** Filter to a particular community. Example: `artblocks` */\n        community?: string;\n        /** Filter to a particular collection set. */\n        collectionsSetId?: string;\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** If true, top bid will be returned in the response. */\n        includeTopBid?: boolean;\n        /** If true, number of tokens with bids will be returned in the response. */\n        includeLiquidCount?: boolean;\n        /** Use offset to request the next batch of items. */\n        offset?: number;\n        /** Amount of items returned in response. */\n        limit?: number;\n        /** Order the items are returned in the response. Defaults to allTimeVolume */\n        sortBy?: \"allTimeVolume\" | \"1DayVolume\" | \"7DayVolume\" | \"30DayVolume\";\n        /** Order the items are returned in the response. */\n        sortDirection?: \"asc\" | \"desc\";\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getUserCollectionsV2Response\"];\n      };\n    };\n  };\n  /** Get aggregate stats for a user, grouped by collection. Useful for showing total portfolio information. */\n  getUsersUserCollectionsV4: {\n    parameters: {\n      path: {\n        /** Filter to a particular user. Example: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00` */\n        user: string;\n      };\n      query: {\n        /** Filter to a particular community. Example: `artblocks` */\n        community?: string;\n        /** Filter to a particular collection set. Example: `8daa732ebe5db23f267e58d52f1c9b1879279bcdf4f78b8fb563390e6946ea65` */\n        collectionsSetId?: string;\n        /** Array of collections. Max limit is 100. Example: `collections[0]: 0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string[] | string;\n        excludeCollections?: string[] | string;\n        /** Filter to a particular collection with name. This is case insensitive. Example: `ape` */\n        name?: string;\n        /** If true, top bid will be returned in the response. */\n        includeTopBid?: boolean;\n        /** If true, number of tokens with bids will be returned in the response. */\n        includeLiquidCount?: boolean;\n        /** If true, number of listed tokens will be returned in the response. */\n        includeOnSaleCount?: boolean;\n        /** If true, will filter any collections marked as spam. */\n        excludeSpam?: boolean;\n        /** If true, will filter any collections marked as spam. */\n        excludeNsfw?: boolean;\n        /** Use offset to request the next batch of items. Max is 10,000. */\n        offset?: number;\n        /** Amount of items returned in response. max limit is 100. */\n        limit?: number;\n        /** Input any ERC20 address to return result in given currency. Applies to `topBid` and `floorAsk`. */\n        displayCurrency?: string;\n        /** Order the items are returned in the response. Options are `allTimeVolume`, `totalValue`, `floorAskPrice` */\n        sortBy?: \"allTimeVolume\" | \"totalValue\" | \"floorAskPrice\";\n        /** Order the items are returned in the response. */\n        sortDirection?: \"asc\" | \"desc\";\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getUserCollectionsV4Response\"];\n      };\n    };\n  };\n  /** Get a list of asks (listings), filtered by maker. */\n  getUsersUserAsksV1: {\n    parameters: {\n      path: {\n        /** Filter to a particular user. Example: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00` */\n        user: string;\n      };\n      query: {\n        ids?: string[] | string;\n        /**\n         * activeª^º = currently valid\n         * inactiveª^ = temporarily invalid\n         * expiredª^, cancelledª^, filledª^ = permanently invalid\n         */\n        status?: \"active\" | \"inactive\" | \"expired\" | \"cancelled\" | \"filled\";\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** Filter to a particular community. Example: `artblocks` */\n        community?: string;\n        /** Filter to a particular collection set. Requires `maker` to be passed. Example: `8daa732ebe5db23f267e58d52f1c9b1879279bcdf4f78b8fb563390e6946ea65` */\n        collectionsSetId?: string;\n        /** Order the items are returned in the response. Sorting by `price` is ascending order / Sorting by `createdAt` is descending order. */\n        sortBy?: \"createdAt\" | \"price\";\n        /** If true, criteria metadata is included in the response. */\n        includeCriteriaMetadata?: boolean;\n        /** If true, raw data is included in the response. */\n        includeRawData?: boolean;\n        /** If true, dynamic pricing data will be returned in the response. */\n        includeDynamicPricing?: boolean;\n        /** If true, prices will include missing royalties to be added on-top. */\n        normalizeRoyalties?: boolean;\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** Amount of items returned in response. Max limit is 50. */\n        limit?: number;\n        /** Return result in given currency */\n        displayCurrency?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getOrdersBidsV5Response\"];\n      };\n    };\n  };\n  /** Get tokens held by a user, along with ownership information such as associated orders and date acquired. */\n  getUsersUserTokensV2: {\n    parameters: {\n      path: {\n        /** Filter to a particular user. Example: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00` */\n        user: string;\n      };\n      query: {\n        /** Filter to a particular community, e.g. `artblocks` */\n        community?: string;\n        /** Filter to a particular collection set. */\n        collectionsSetId?: string;\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** Filter to a particular contract, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        contract?: string;\n        /** Order the items are returned in the response. */\n        sortBy?: \"acquiredAt\";\n        /** Order the items are returned in the response. */\n        sortDirection?: \"asc\" | \"desc\";\n        /** Use offset to request the next batch of items. */\n        offset?: number;\n        /** Amount of items returned in response. */\n        limit?: number;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getUserTokensV2Response\"];\n      };\n    };\n  };\n  /** Get tokens held by a user, along with ownership information such as associated orders and date acquired. */\n  getUsersUserTokensV4: {\n    parameters: {\n      path: {\n        /** Filter to a particular user. Example: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00` */\n        user: string;\n      };\n      query: {\n        /** Filter to a particular community, e.g. `artblocks` */\n        community?: string;\n        /** Filter to a particular collection set. */\n        collectionsSetId?: string;\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** Filter to a particular contract, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        contract?: string;\n        /** Order the items are returned in the response. */\n        sortBy?: \"acquiredAt\";\n        /** Order the items are returned in the response. */\n        sortDirection?: \"asc\" | \"desc\";\n        /** Use offset to request the next batch of items. */\n        offset?: number;\n        /** Amount of items returned in response. */\n        limit?: number;\n        /** If true, top bid will be returned in the response. */\n        includeTopBid?: boolean;\n        /** Return result in given currency */\n        displayCurrency?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getUserTokensV4Response\"];\n      };\n    };\n  };\n  /** Get tokens held by a user, along with ownership information such as associated orders and date acquired. */\n  getUsersUserTokensV6: {\n    parameters: {\n      path: {\n        /** Filter to a particular user. Example: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00` */\n        user: string;\n      };\n      query: {\n        /** Filter to a particular community, e.g. `artblocks` */\n        community?: string;\n        /** Filter to a particular collection set. */\n        collectionsSetId?: string;\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** Filter to a particular contract, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        contract?: string;\n        /** Array of tokens. Example: `tokens[0]: 0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:704 tokens[1]: 0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:979` */\n        tokens?: string[] | string;\n        /** If true, prices will include missing royalties to be added on-top. */\n        normalizeRoyalties?: boolean;\n        /** Order the items are returned in the response. */\n        sortBy?: \"acquiredAt\" | \"lastAppraisalValue\";\n        /** Order the items are returned in the response. */\n        sortDirection?: \"asc\" | \"desc\";\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** Amount of items returned in response. */\n        limit?: number;\n        /** If true, top bid will be returned in the response. */\n        includeTopBid?: boolean;\n        /** If true, dynamic pricing data will be returned in the response. */\n        includeDynamicPricing?: boolean;\n        /** If true, will return the collection non flagged floor ask. */\n        useNonFlaggedFloorAsk?: boolean;\n        /** Return result in given currency */\n        displayCurrency?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getUserTokensV6Response\"];\n      };\n    };\n  };\n  /** Get tokens held by a user, along with ownership information such as associated orders and date acquired. */\n  getUsersUserTokensV8: {\n    parameters: {\n      path: {\n        /** Filter to a particular user. Example: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00` */\n        user: string;\n      };\n      query: {\n        /** Filter to a particular community, e.g. `artblocks` */\n        community?: string;\n        /** Filter to a particular collection set. Example: `8daa732ebe5db23f267e58d52f1c9b1879279bcdf4f78b8fb563390e6946ea65` */\n        collectionsSetId?: string;\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string;\n        /** Filter to a particular contract, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        contract?: string;\n        /** Array of tokens. Max limit is 50. Example: `tokens[0]: 0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:704 tokens[1]: 0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:979` */\n        tokens?: string[] | string;\n        /** If true, prices will include missing royalties to be added on-top. */\n        normalizeRoyalties?: boolean;\n        /** Order the items are returned in the response. Options are `acquiredAt` and `lastAppraisalValue`. `lastAppraisalValue` is the value of the last sale. */\n        sortBy?: \"acquiredAt\" | \"lastAppraisalValue\";\n        /** Order the items are returned in the response. */\n        sortDirection?: \"asc\" | \"desc\";\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** Amount of items returned in response. Max limit is 200. */\n        limit?: number;\n        /** If true, top bid will be returned in the response. */\n        includeTopBid?: boolean;\n        /** If true, attributes will be returned in the response. */\n        includeAttributes?: boolean;\n        /** If true, last sale data including royalties paid will be returned in the response. */\n        includeLastSale?: boolean;\n        /** If true, raw data is included in the response. */\n        includeRawData?: boolean;\n        /** If true, will filter any tokens marked as spam. */\n        excludeSpam?: boolean;\n        /** If true, will filter any tokens marked as nsfw. */\n        excludeNsfw?: boolean;\n        /** If true, will return the collection non flagged floor ask. */\n        useNonFlaggedFloorAsk?: boolean;\n        /** Input any ERC20 address to return result in given currency. Applies to `topBid` and `floorAsk`. */\n        displayCurrency?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getUserTokensV8Response\"];\n      };\n    };\n  };\n  /** Get tokens held by a user, along with ownership information such as associated orders and date acquired. */\n  getUsersUserTokensV10: {\n    parameters: {\n      path: {\n        /** Filter to a particular user. Example: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00` */\n        user: string;\n      };\n      query: {\n        /** Filter to a particular community, e.g. `artblocks` */\n        community?: string;\n        /** Filter to a particular collection set. Example: `8daa732ebe5db23f267e58d52f1c9b1879279bcdf4f78b8fb563390e6946ea65` */\n        collectionsSetId?: string;\n        /** Array of collections. Max limit is 100. Example: `collections[0]: 0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection?: string[] | string;\n        excludeCollections?: string[] | string;\n        /** Filter to a particular contract, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        contract?: string;\n        /** Array of tokens. Max limit is 50. Example: `tokens[0]: 0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:704 tokens[1]: 0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:979` */\n        tokens?: string[] | string;\n        /** If true, prices will include missing royalties to be added on-top. */\n        normalizeRoyalties?: boolean;\n        /** Order the items are returned in the response. Options are `acquiredAt`, `lastAppraisalValue` and `floorAskPrice`. `lastAppraisalValue` is the value of the last sale. `floorAskPrice` is the collection floor ask */\n        sortBy?: \"acquiredAt\" | \"lastAppraisalValue\" | \"floorAskPrice\";\n        /** Order the items are returned in the response. */\n        sortDirection?: \"asc\" | \"desc\";\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** Amount of items returned in response. Max limit is 200. */\n        limit?: number;\n        /** If true, top bid will be returned in the response. */\n        includeTopBid?: boolean;\n        /** If true, attributes will be returned in the response. */\n        includeAttributes?: boolean;\n        /** If true, last sale data including royalties paid will be returned in the response. */\n        includeLastSale?: boolean;\n        /** If true, raw data is included in the response. */\n        includeRawData?: boolean;\n        /** If true, dynamic pricing data will be returned in the response. */\n        includeDynamicPricing?: boolean;\n        /** If true, will filter any tokens marked as spam. */\n        excludeSpam?: boolean;\n        /** If true, will filter any tokens marked as nsfw. */\n        excludeNsfw?: boolean;\n        /** If true, will filter any tokens that are not listed */\n        onlyListed?: boolean;\n        /** If true, will return the collection non flagged floor ask. */\n        useNonFlaggedFloorAsk?: boolean;\n        /** Input any ERC20 address to return result in given currency. Applies to `topBid` and `floorAsk`. */\n        displayCurrency?: string;\n        /** Filter to a particular token by name. This is case sensitive. Example: `token #1` */\n        tokenName?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getUserTokensV10Response\"];\n      };\n    };\n  };\n  /**\n   * Use this API to see stats on a specific attribute within a collection. This endpoint will return `tokenCount`, `onSaleCount`, `sampleImages`, and `floorAskPrices` by default.\n   *\n   * - `floorAskPrices` will not be returned on attributes with more than 10k tokens.\n   */\n  getCollectionsCollectionAttributesExploreV5: {\n    parameters: {\n      path: {\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection: string;\n      };\n      query: {\n        /** Filter to a particular token-id. Example: `1` */\n        tokenId?: string;\n        /** If true, top bid will be returned in the response. */\n        includeTopBid?: boolean;\n        /** If true, range traits will be excluded from the response. */\n        excludeRangeTraits?: boolean;\n        /** If true, number traits will be excluded from the response. */\n        excludeNumberTraits?: boolean;\n        /** Filter to a particular attribute key. Example: `Composition` */\n        attributeKey?: string;\n        /** Max number of items returned in the response. */\n        maxFloorAskPrices?: number;\n        /** Max number of items returned in the response. */\n        maxLastSells?: number;\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** Amount of items returned in response. Default limit is 20. Max limit is 5000. */\n        limit?: number;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getAttributesExploreV5Response\"];\n      };\n    };\n  };\n  /** Get detailed aggregate about attributes in a collection, attribute floors */\n  getCollectionsCollectionAttributesExploreV3: {\n    parameters: {\n      path: {\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection: string;\n      };\n      query: {\n        /** If true, top bid will be returned in the response. */\n        includeTopBid?: boolean;\n        /** Filter to a particular attribute key. Example: `Composition` */\n        attributeKey?: string;\n        /** Max number of items returned in the response. */\n        maxFloorAskPrices?: number;\n        /** Max number of items returned in the response. */\n        maxLastSells?: number;\n        /** Order the items are returned in the response. */\n        sortBy?: \"floorAskPrice\" | \"topBidValue\";\n        /** Use offset to request the next batch of items. */\n        offset?: number;\n        /** Amount of items returned in response. */\n        limit?: number;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getAttributesExploreV3Response\"];\n      };\n    };\n  };\n  getCollectionsCollectionAttributesExploreV1: {\n    parameters: {\n      path: {\n        /** Filter to a particular collection, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection: string;\n      };\n      query: {\n        /** Filter to a particular attribute key, e.g. `Composition` */\n        attributeKey?: string;\n        sortBy?: \"floorAskPrice\" | \"topBidValue\";\n        offset?: number;\n        limit?: number;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getCollectionAttributesV1Response\"];\n      };\n    };\n  };\n  getCollectionsCollectionAttributesStaticV1: {\n    parameters: {\n      path: {\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getAttributesStaticV1Response\"];\n      };\n    };\n  };\n  getCollectionsCollectionAttributesAllV3: {\n    parameters: {\n      path: {\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getAttributesAllV3Response\"];\n      };\n    };\n  };\n  getCollectionsCollectionAttributesAllV1: {\n    parameters: {\n      path: {\n        /** Filter to a particular collection, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getAttributesV1Response\"];\n      };\n    };\n  };\n  getCollectionsCollectionAttributesAllV2: {\n    parameters: {\n      path: {\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getAttributesAllV2Response\"];\n      };\n    };\n  };\n  /**\n   * Use this API to see all possible attributes within a collection.\n   *\n   * - `floorAskPrice` for all attributes might not be returned on collections with more than 10k tokens.\n   *\n   * - Attributes are case sensitive.\n   *\n   * - Attributes will return a maximum of 500 values.\n   */\n  getCollectionsCollectionAttributesAllV4: {\n    parameters: {\n      path: {\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection: string;\n      };\n      query: {\n        /** Return result in given currency */\n        displayCurrency?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getAttributesAllV4Response\"];\n      };\n    };\n  };\n  /** Get detailed aggregate about attributes in a collection, attribute floors */\n  getCollectionsCollectionAttributesExploreV2: {\n    parameters: {\n      path: {\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection: string;\n      };\n      query: {\n        /** Filter to a particular attribute key. Example: `Composition` */\n        attributeKey?: string;\n        /** Max number of items returned in the response. */\n        maxFloorAskPrices?: number;\n        /** Max number of items returned in the response. */\n        maxLastSells?: number;\n        /** Order the items are returned in the response. */\n        sortBy?: \"floorAskPrice\" | \"topBidValue\";\n        /** Use offset to request the next batch of items. */\n        offset?: number;\n        /** Amount of items returned in response. */\n        limit?: number;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getAttributesExploreV2Response\"];\n      };\n    };\n  };\n  /** Use this API to see stats on a specific attribute within a collection. This endpoint will return `tokenCount`, `onSaleCount`, `sampleImages`, and `floorAsk` by default. */\n  getCollectionsCollectionAttributesExploreV4: {\n    parameters: {\n      path: {\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection: string;\n      };\n      query: {\n        /** Filter to a particular token-id. Example: `1` */\n        tokenId?: string;\n        /** If true, top bid will be returned in the response. */\n        includeTopBid?: boolean;\n        /** If true, range traits will be excluded from the response. */\n        excludeRangeTraits?: boolean;\n        /** If true, number traits will be excluded from the response. */\n        excludeNumberTraits?: boolean;\n        /** Filter to a particular attribute key. Example: `Composition` */\n        attributeKey?: string;\n        /** Max number of items returned in the response. */\n        maxFloorAskPrices?: number;\n        /** Max number of items returned in the response. */\n        maxLastSells?: number;\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** Amount of items returned in response. Default limit is 20. Max limit is 5000. */\n        limit?: number;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getAttributesExploreV4Response\"];\n      };\n    };\n  };\n  /**\n   * Use this API to see stats on a specific attribute within a collection. This endpoint will return `tokenCount`, `onSaleCount`, `sampleImages`, and `floorAskPrices` by default.\n   *\n   * - `floorAskPrices` will not be returned on attributes with more than 10k tokens.\n   */\n  getCollectionsCollectionAttributesExploreV6: {\n    parameters: {\n      path: {\n        /** Filter to a particular collection with collection-id. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection: string;\n      };\n      query: {\n        /** Filter to a particular token-id. Example: `1` */\n        tokenId?: string;\n        /** If true, top bid will be returned in the response. */\n        includeTopBid?: boolean;\n        /** If true, range traits will be excluded from the response. */\n        excludeRangeTraits?: boolean;\n        /** If true, number traits will be excluded from the response. */\n        excludeNumberTraits?: boolean;\n        /** Filter to a particular attribute key. Example: `Composition` */\n        attributeKey?: string;\n        /** Max number of items returned in the response. */\n        maxFloorAskPrices?: number;\n        /** Max number of items returned in the response. */\n        maxLastSells?: number;\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** Order the items are returned in the response. */\n        sortDirection?: \"asc\" | \"desc\";\n        /** Amount of items returned in response. Default limit is 20. Max limit is 5000. */\n        limit?: number;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getAttributesExploreV6Response\"];\n      };\n    };\n  };\n  /** Return the top bids for the given user tokens. Please mark `excludeEOA` as `true` to exclude Blur orders. */\n  getOrdersUsersUserTopbidsV4: {\n    parameters: {\n      path: {\n        /** Filter to a particular user. Example: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00` */\n        user: string;\n      };\n      query: {\n        collection?: string;\n        /** Filter to a particular contracts set. */\n        contractsSetId?: string;\n        /** Filter to a particular community. Example: `artblocks` */\n        community?: string;\n        /** Filter to a particular collection set. Example: `8daa732ebe5db23f267e58d52f1c9b1879279bcdf4f78b8fb563390e6946ea65` */\n        collectionsSetId?: string;\n        /** If true, urls will only be returned for optimized sources that support royalties. */\n        optimizeCheckoutURL?: boolean;\n        /** If true, criteria metadata is included in the response. */\n        includeCriteriaMetadata?: boolean;\n        /** Exclude orders that can only be filled by EOAs, to support filling with smart contracts. */\n        excludeEOA?: boolean;\n        /** If true, prices will include missing royalties to be added on-top. */\n        normalizeRoyalties?: boolean;\n        /** If true, will return the collection non flagged floor ask events. */\n        useNonFlaggedFloorAsk?: boolean;\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** Order of the items are returned in the response. Options are `topBidValue`, `dateCreated`, `orderExpiry`, and `floorDifferencePercentage`. */\n        sortBy?:\n          | \"topBidValue\"\n          | \"dateCreated\"\n          | \"orderExpiry\"\n          | \"floorDifferencePercentage\";\n        sortDirection?: \"asc\" | \"desc\";\n        /** Amount of items returned in response. Max limit is 100 */\n        limit?: number;\n        /** Amount of tokens considered. Min is 1000, max is default. */\n        sampleSize?: number;\n        /** Input any ERC20 address to return result in given currency */\n        displayCurrency?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getUserTopBidsV4Response\"];\n      };\n    };\n  };\n  /** Return the top bids for the given user tokens */\n  getOrdersUsersUserTopbidsV2: {\n    parameters: {\n      path: {\n        /** Filter to a particular user. Example: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00` */\n        user: string;\n      };\n      query: {\n        collection?: string;\n        /** Filter to a particular community. Example: `artblocks` */\n        community?: string;\n        /** If true, urls will only be returned for optimized sources that support royalties. */\n        optimizeCheckoutURL?: boolean;\n        /** If true, criteria metadata is included in the response. */\n        includeCriteriaMetadata?: boolean;\n        /** If true, prices will include missing royalties to be added on-top. */\n        normalizeRoyalties?: boolean;\n        /** If true, will return the collection non flagged floor ask events. */\n        useNonFlaggedFloorAsk?: boolean;\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** Order of the items are returned in the response. */\n        sortBy?:\n          | \"topBidValue\"\n          | \"dateCreated\"\n          | \"orderExpiry\"\n          | \"floorDifferencePercentage\";\n        sortDirection?: \"asc\" | \"desc\";\n        /** Amount of items returned in response. */\n        limit?: number;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getUserTopBidsV2Response\"];\n      };\n    };\n  };\n  /** Return the top bids for the given user tokens */\n  getOrdersUsersUserTopbidsV1: {\n    parameters: {\n      path: {\n        /** Filter to a particular user. Example: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00` */\n        user: string;\n      };\n      query: {\n        collection?: string;\n        /** Filter to a particular community. Example: `artblocks` */\n        community?: string;\n        /** If true, urls will only be returned for optimized sources that support royalties. */\n        optimizeCheckoutURL?: boolean;\n        /** If true, prices will include missing royalties to be added on-top. */\n        normalizeRoyalties?: boolean;\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** Order of the items are returned in the response. */\n        sortBy?:\n          | \"topBidValue\"\n          | \"dateCreated\"\n          | \"orderExpiry\"\n          | \"floorDifferencePercentage\";\n        sortDirection?: \"asc\" | \"desc\";\n        /** Amount of items returned in response. */\n        limit?: number;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getUserTopBidsV1Response\"];\n      };\n    };\n  };\n  /** Return the top bids for the given user tokens */\n  getOrdersUsersUserTopbidsV3: {\n    parameters: {\n      path: {\n        /** Filter to a particular user. Example: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00` */\n        user: string;\n      };\n      query: {\n        collection?: string;\n        /** Filter to a particular contracts set. */\n        contractsSetId?: string;\n        /** Filter to a particular community. Example: `artblocks` */\n        community?: string;\n        /** Filter to a particular collection set. */\n        collectionsSetId?: string;\n        /** If true, urls will only be returned for optimized sources that support royalties. */\n        optimizeCheckoutURL?: boolean;\n        /** If true, criteria metadata is included in the response. */\n        includeCriteriaMetadata?: boolean;\n        /** If true, prices will include missing royalties to be added on-top. */\n        normalizeRoyalties?: boolean;\n        /** If true, will return the collection non flagged floor ask events. */\n        useNonFlaggedFloorAsk?: boolean;\n        /** Use continuation token to request next offset of items. */\n        continuation?: string;\n        /** Order of the items are returned in the response. */\n        sortBy?:\n          | \"topBidValue\"\n          | \"dateCreated\"\n          | \"orderExpiry\"\n          | \"floorDifferencePercentage\";\n        sortDirection?: \"asc\" | \"desc\";\n        /** Amount of items returned in response. */\n        limit?: number;\n        /** Amount of tokens considered. */\n        sampleSize?: number;\n        /** Return result in given currency */\n        displayCurrency?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getUserTopBidsV3Response\"];\n      };\n    };\n  };\n  getRedirectCollectionsCollectionImageV1: {\n    parameters: {\n      path: {\n        /** Redirect to the given collection image. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  getRedirectCurrencyAddressIconV1: {\n    parameters: {\n      path: {\n        /** Redirect to the given currency address icon. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        address: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  getRedirectSourcesSourceLogoV2: {\n    parameters: {\n      path: {\n        /** Domain of the source. Example `opensea.io` */\n        source: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  getRedirectTokensTokenImageV1: {\n    parameters: {\n      path: {\n        /** Redirect to the given token image. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n        token: string;\n      };\n      query: {\n        /** Image size: 'small', 'medium', or 'large'. */\n        imageSize?: \"small\" | \"medium\" | \"large\";\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  getRedirectSourcesSourceTokensTokenLinkV2: {\n    parameters: {\n      path: {\n        /** Domain of the source. Example `opensea.io` */\n        source: string;\n        /** Redirect to the given token page. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63:123` */\n        token: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  /** This API requires an administrator API for execution. Explore and try the `/collections-sets/v1` or `/contracts-sets/v1` endpoints. Please contact technical support with more questions. */\n  putCollectionsCollectionCommunityV1: {\n    parameters: {\n      header: {\n        \"x-api-key\": string;\n      };\n      path: {\n        /** Update community for a particular collection, e.g. `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63`. Requires an authorized api key to be passed. */\n        collection: string;\n      };\n      body: {\n        body?: definitions[\"Model450\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"putSetCollectionCommunityV1Response\"];\n      };\n    };\n  };\n  /**\n   * The API key can be used in every route, by setting it as a request header **x-api-key**.\n   *\n   * <a href='https://docs.reservoir.tools/reference/getting-started'>Learn more</a> about API Keys and Rate Limiting\n   */\n  postApikeys: {\n    parameters: {\n      header: {\n        \"x-admin-api-key\": string;\n      };\n      formData: {\n        /** The name of your app */\n        appName: string;\n        /** An e-mail address where you can be reached, in case of issues, to avoid service disruption */\n        email: string;\n        /** The website of your project */\n        website: string;\n        tier?: number;\n        orderbookFees?: string[];\n        disableOrderbookFees?: boolean;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getNewApiKeyResponse\"];\n      };\n    };\n  };\n  postAdminCalcrarity: {\n    parameters: {\n      header: {\n        \"x-admin-api-key\": string;\n      };\n      body: {\n        body?: definitions[\"Model451\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  postAdminCalcusdprice: {\n    parameters: {\n      header: {\n        \"x-admin-api-key\": string;\n      };\n      body: {\n        body?: definitions[\"Model452\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  postAdminCreateratelimitrule: {\n    parameters: {\n      header: {\n        \"x-admin-api-key\": string;\n      };\n      body: {\n        body?: definitions[\"Model455\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  postAdminCreatesource: {\n    parameters: {\n      header: {\n        \"x-admin-api-key\": string;\n      };\n      body: {\n        body?: definitions[\"Model456\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  postAdminDeleteratelimitrule: {\n    parameters: {\n      header: {\n        \"x-admin-api-key\": string;\n      };\n      body: {\n        body?: definitions[\"Model457\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  postAdminFixblocks: {\n    parameters: {\n      header: {\n        \"x-admin-api-key\": string;\n      };\n      body: {\n        body?: definitions[\"Model458\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  postAdminFixcache: {\n    parameters: {\n      header: {\n        \"x-admin-api-key\": string;\n      };\n      body: {\n        body?: definitions[\"Model459\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  postAdminFixorders: {\n    parameters: {\n      header: {\n        \"x-admin-api-key\": string;\n      };\n      body: {\n        body?: definitions[\"Model460\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  postAdminFixtokencache: {\n    parameters: {\n      header: {\n        \"x-admin-api-key\": string;\n      };\n      body: {\n        body?: definitions[\"Model461\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  postAdminIndexmetadata: {\n    parameters: {\n      header: {\n        \"x-admin-api-key\": string;\n      };\n      body: {\n        body?: definitions[\"Model462\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  postAdminPauserabbitqueue: {\n    parameters: {\n      header: {\n        \"x-admin-api-key\": string;\n      };\n      body: {\n        body?: definitions[\"Model463\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  postAdminRefreshcollection: {\n    parameters: {\n      header: {\n        \"x-admin-api-key\": string;\n      };\n      body: {\n        body?: definitions[\"Model464\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  postAdminRefreshtoken: {\n    parameters: {\n      header: {\n        \"x-admin-api-key\": string;\n      };\n      body: {\n        body?: definitions[\"Model465\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  postAdminResumerabbitqueue: {\n    parameters: {\n      header: {\n        \"x-admin-api-key\": string;\n      };\n      body: {\n        body?: definitions[\"Model466\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  postAdminResyncapikey: {\n    parameters: {\n      header: {\n        \"x-admin-api-key\": string;\n      };\n      body: {\n        body?: definitions[\"Model467\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  postAdminResyncfloorevents: {\n    parameters: {\n      header: {\n        \"x-admin-api-key\": string;\n      };\n      body: {\n        body?: definitions[\"Model468\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  postAdminResyncnftbalances: {\n    parameters: {\n      header: {\n        \"x-admin-api-key\": string;\n      };\n      body: {\n        body?: definitions[\"Model469\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  postAdminResyncratelimitrule: {\n    parameters: {\n      header: {\n        \"x-admin-api-key\": string;\n      };\n      body: {\n        body?: definitions[\"Model470\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  postAdminResyncsaleroyalties: {\n    parameters: {\n      header: {\n        \"x-admin-api-key\": string;\n      };\n      body: {\n        body?: definitions[\"Model472\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  postAdminResyncsource: {\n    parameters: {\n      header: {\n        \"x-admin-api-key\": string;\n      };\n      body: {\n        body?: definitions[\"Model473\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  postAdminResyncuserbalance: {\n    parameters: {\n      header: {\n        \"x-admin-api-key\": string;\n      };\n      body: {\n        body?: definitions[\"Model474\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  postAdminRetryrabbitqueue: {\n    parameters: {\n      header: {\n        \"x-admin-api-key\": string;\n      };\n      body: {\n        body?: definitions[\"Model475\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  postAdminRevalidatemint: {\n    parameters: {\n      header: {\n        \"x-admin-api-key\": string;\n      };\n      body: {\n        body?: definitions[\"Model476\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  postAdminRevalidateorder: {\n    parameters: {\n      header: {\n        \"x-admin-api-key\": string;\n      };\n      body: {\n        body?: definitions[\"Model477\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  postAdminRouters: {\n    parameters: {\n      header: {\n        \"x-admin-api-key\": string;\n      };\n      body: {\n        body?: definitions[\"Model479\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  postAdminSetcommunity: {\n    parameters: {\n      header: {\n        \"x-admin-api-key\": string;\n      };\n      body: {\n        body?: definitions[\"Model480\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  postAdminSetindexingmethod: {\n    parameters: {\n      header: {\n        \"x-admin-api-key\": string;\n      };\n      body: {\n        body?: definitions[\"Model481\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  postAdminSyncdailyvolumes: {\n    parameters: {\n      header: {\n        \"x-admin-api-key\": string;\n      };\n      body: {\n        body?: definitions[\"Model482\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  postAdminSyncevents: {\n    parameters: {\n      header: {\n        \"x-admin-api-key\": string;\n      };\n      body: {\n        body?: definitions[\"Model484\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  postAdminTriggerjob: {\n    parameters: {\n      header: {\n        \"x-admin-api-key\": string;\n      };\n      body: {\n        body?: definitions[\"Model485\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  postAdminTriggerrabbitjob: {\n    parameters: {\n      header: {\n        \"x-admin-api-key\": string;\n      };\n      body: {\n        body?: definitions[\"Model486\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  postAdminUpdateapikey: {\n    parameters: {\n      header: {\n        \"x-admin-api-key\": string;\n      };\n      body: {\n        body?: definitions[\"Model488\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  postAdminUpdateimageversion: {\n    parameters: {\n      header: {\n        \"x-admin-api-key\": string;\n      };\n      body: {\n        body?: definitions[\"Model489\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  postAdminUpdateratelimitrule: {\n    parameters: {\n      header: {\n        \"x-admin-api-key\": string;\n      };\n      body: {\n        body?: definitions[\"Model490\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  postAdminUpdatesource: {\n    parameters: {\n      header: {\n        \"x-admin-api-key\": string;\n      };\n      body: {\n        body?: definitions[\"Model491\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  /**\n   * Array of collections to gather in a set. Adding or removing a collection will change the response. You may use this set when `collectionSetId` is an available param. The max limit of collection in an array is 500. An example is below.\n   *\n   * `\"collections\": \"0xba30E5F9Bb24caa003E9f2f0497Ad287FDF95623\", \"0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D\"`\n   *\n   * `\"collectionsSetId\": \"8daa732ebe5db23f267e58d52f1c9b1879279bcdf4f78b8fb563390e6946ea65\"`\n   */\n  postCollectionssetsV1: {\n    parameters: {\n      body: {\n        body?: definitions[\"Model493\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"postCreateCollectionsSetV1Response\"];\n      };\n    };\n  };\n  /**\n   * Array of contracts to gather in a set. Adding or removing a contract will change the response. You may use this set when contractSetId is an available param. Max limit of contracts passed in an array is 500. An example is below.\n   *\n   * `\"contracts\": \"0x60e4d786628fea6478f785a6d7e704777c86a7c6\", \"0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d\"`\n   *\n   * `\"contractsSetId\": \"74cc9bdc0824e92de13c75213015916557fcf8187e43b34a8e77175cd03d1931\"\n   */\n  postContractssetsV1: {\n    parameters: {\n      body: {\n        body?: definitions[\"Model494\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"postCreateContractsSetV1Response\"];\n      };\n    };\n  };\n  postOrderV2: {\n    parameters: {\n      query: {\n        signature?: string;\n      };\n      body: {\n        body?: definitions[\"Model496\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"postOrderV2Response\"];\n      };\n    };\n  };\n  postOrderV3: {\n    parameters: {\n      query: {\n        signature?: string;\n      };\n      body: {\n        body?: definitions[\"Model498\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"postOrderV2Response\"];\n      };\n    };\n  };\n  postOrderV4: {\n    parameters: {\n      query: {\n        signature?: string;\n      };\n      body: {\n        body?: definitions[\"Model503\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"postOrderV4Response\"];\n      };\n    };\n  };\n  postSeaportOffers: {\n    parameters: {\n      body: {\n        body?: definitions[\"Model509\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  postTokensetsV1: {\n    parameters: {\n      body: {\n        body?: definitions[\"Model510\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"Model297\"];\n      };\n    };\n  };\n  /**\n   * Use this API to create a `tokenSetId` to call specific tokens from a collection. Adding or removing a tokenId will change the response. See an example below.\n   *\n   *  Input of `0xd774557b647330c91bf44cfeab205095f7e6c367:1` and `0xd774557b647330c91bf44cfeab205095f7e6c367:2`\n   *\n   *  Output of `list:0xd774557b647330c91bf44cfeab205095f7e6c367:0xb6fd98eeb7e08fc521f11511289afe4d8e873fd7a3fb76ab757fa47c23f596e9`\n   *\n   *  Notes:\n   *\n   * - Include `list:` when using this `tokenSetId` for it to work successfully.\n   *\n   * - You cannot adjust tokens within a `tokenSetId`. Please create a new set.\n   *\n   * - Use the `/tokens/ids` endpoint to get a list of tokens within a set.\n   */\n  postTokensetsV2: {\n    parameters: {\n      body: {\n        body?: definitions[\"Model512\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"Model297\"];\n      };\n    };\n  };\n  /** Get API usage metrics for the given API key */\n  postAdminApikeysMetrics: {\n    parameters: {\n      header: {\n        \"x-admin-api-key\": string;\n      };\n      formData: {\n        /** Array API keys */\n        keys: string[] | string;\n        /** Return results by either hourly/daily/monthly granularity.<br>Hourly will return time in format YYYY-MM-DDTHH:00:000Z<br>Daily will return time in format YYYY-MM-DDT00:00:000Z<br>Monthly will return time in format YYYY-MM-01T00:00:000Z<br> */\n        granularity?: \"hourly\" | \"daily\" | \"monthly\";\n        /** 1 - All calls per hour/day/month<br>2 - All calls per key per hour/day/month<br>3 - All calls per key per route per hour/day/month<br>4 - All calls per key per route per status code per hour/day/month<br> */\n        groupBy?: 1 | 2 | 3 | 4;\n        /** Get metrics after a particular time (allowed format YYYY-MM-DD HH:00)<br>Hourly default to last 24 hours<br>Daily default to last 7 days<br>Monthly default to last 12 months */\n        startTime?: string;\n        /** Get metrics before a particular time (allowed format YYYY-MM-DD HH:00) */\n        endTime?: string;\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"postApiKeyMetricsResponse\"];\n      };\n    };\n  };\n  /** This API requires an allowed API key for execution. Please contact technical support with more questions. */\n  postCollectionsDisablemetadataV1: {\n    parameters: {\n      header: {\n        \"x-api-key\": string;\n      };\n      body: {\n        body?: definitions[\"Model515\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"putSetCollectionCommunityV1Response\"];\n      };\n    };\n  };\n  /** This API can be used by allowed API keys to update the nsfw status of a collection. */\n  postCollectionsNsfwstatusV1: {\n    parameters: {\n      header: {\n        \"x-api-key\": string;\n      };\n      body: {\n        body?: definitions[\"Model517\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"putSetCollectionCommunityV1Response\"];\n      };\n    };\n  };\n  postCollectionsRefreshV1: {\n    parameters: {\n      header: {\n        \"x-api-key\"?: string;\n      };\n      body: {\n        body?: definitions[\"Model518\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"putSetCollectionCommunityV1Response\"];\n      };\n    };\n  };\n  /**\n   * Use this API to refresh a collection metadata. Only use this endpoint when you notice multiple tokens with incorrect metadata. Otherwise, refresh single token metadata. Collections with over 30,000 tokens require admin key override, so please contact technical support for assistance.\n   *\n   *  Collection metadata is automatically updated at 23:30 UTC daily for:\n   *\n   * - Top 500 Collection by 24hr Volume\n   *\n   * - Collections Minted 1 Day Ago\n   *\n   * - Collections Minted 7 Days Ago\n   *\n   *  Caution: This API should be used in moderation, like only when missing data is discovered. Calling it in bulk or programmatically will result in your API key getting rate limited.\n   */\n  postCollectionsRefreshV2: {\n    parameters: {\n      header: {\n        \"x-api-key\"?: string;\n      };\n      body: {\n        body?: definitions[\"Model519\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"putSetCollectionCommunityV1Response\"];\n      };\n    };\n  };\n  /** This API can be used by allowed API keys to update the spam status of a collection. */\n  postCollectionsSpamstatusV1: {\n    parameters: {\n      header: {\n        \"x-api-key\": string;\n      };\n      body: {\n        body?: definitions[\"Model520\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"putSetCollectionCommunityV1Response\"];\n      };\n    };\n  };\n  postExecuteAuthsignatureV1: {\n    parameters: {\n      query: {\n        /** Signature to attach to the auth challenge */\n        signature: string;\n      };\n      body: {\n        body?: definitions[\"Model521\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"postAuthSignatureV1Response\"];\n      };\n    };\n  };\n  /** Generate a bid and submit it to multiple marketplaces */\n  postExecuteBidV4: {\n    parameters: {\n      body: {\n        body?: definitions[\"Model523\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getExecuteBidV4Response\"];\n      };\n    };\n  };\n  /**\n   * Generate bids and submit them to multiple marketplaces.\n   *\n   *  Notes:\n   *\n   * - Please use the `/cross-posting-orders/v1` to check the status on cross posted bids.\n   *\n   * - We recommend using Reservoir SDK as it abstracts the process of iterating through steps, and returning callbacks that can be used to update your UI.\n   */\n  postExecuteBidV5: {\n    parameters: {\n      body: {\n        body?: definitions[\"Model529\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getExecuteBidV5Response\"];\n      };\n    };\n  };\n  postExecuteBuyV5: {\n    parameters: {\n      body: {\n        body?: definitions[\"Model537\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getExecuteBuyV5Response\"];\n      };\n    };\n  };\n  postExecuteBuyV6: {\n    parameters: {\n      body: {\n        body?: definitions[\"Model546\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getExecuteBuyV6Response\"];\n      };\n    };\n  };\n  /** Use this API to fill listings. We recommend using the SDK over this API as the SDK will iterate through the steps and return callbacks. Please mark `excludeEOA` as `true` to exclude Blur orders. */\n  postExecuteBuyV7: {\n    parameters: {\n      body: {\n        body?: definitions[\"Model555\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getExecuteBuyV7Response\"];\n      };\n    };\n  };\n  postExecuteCallV1: {\n    parameters: {\n      body: {\n        body?: definitions[\"Model569\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"postExecuteCallV1Response\"];\n      };\n    };\n  };\n  /** Cancel existing orders on any marketplace */\n  postExecuteCancelV3: {\n    parameters: {\n      body: {\n        body?: definitions[\"Model575\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getExecuteCancelV3Response\"];\n      };\n    };\n  };\n  /** If your order was created using the Seaport Oracle to allow off chain & gasless cancellations, you can just use the Kit's cancel modals, SDK's `cancelOrder`, or `/execute/cancel/`. Those tools will automatically access this endpoint for an oracle cancellation without you directly calling this endpoint. */\n  postExecuteCancelsignatureV1: {\n    parameters: {\n      query: {\n        /** Cancellation signature */\n        signature?: string;\n        /** Optional auth token used instead of the signature */\n        auth?: string;\n      };\n      body: {\n        body?: definitions[\"Model581\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"putSetCollectionCommunityV1Response\"];\n      };\n    };\n  };\n  postExecuteDepositV1: {\n    parameters: {\n      body: {\n        body?: definitions[\"Model582\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"postExecuteDepositV1Response\"];\n      };\n    };\n  };\n  /** Generate a listing and submit it to multiple marketplaces */\n  postExecuteListV4: {\n    parameters: {\n      body: {\n        body?: definitions[\"Model587\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getExecuteListV4Response\"];\n      };\n    };\n  };\n  /**\n   * Generate listings and submit them to multiple marketplaces.\n   *\n   *  Notes:\n   *\n   * - Please use the `/cross-posting-orders/v1` to check the status on cross posted bids.\n   *\n   * - We recommend using Reservoir SDK as it abstracts the process of iterating through steps, and returning callbacks that can be used to update your UI.\n   */\n  postExecuteListV5: {\n    parameters: {\n      body: {\n        body?: definitions[\"Model591\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getExecuteListV5Response\"];\n      };\n    };\n  };\n  /** Use this API to mint tokens. We recommend using the SDK over this API as the SDK will iterate through the steps and return callbacks. */\n  postExecuteMintV1: {\n    parameters: {\n      body: {\n        body?: definitions[\"Model602\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"postExecuteMintV1Response\"];\n      };\n    };\n  };\n  postExecutePermitsignatureV1: {\n    parameters: {\n      query: {\n        /** Signature to attach to the permit */\n        signature: string;\n      };\n      body: {\n        body?: definitions[\"Model605\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"putSetCollectionCommunityV1Response\"];\n      };\n    };\n  };\n  postExecutePresignatureV1: {\n    parameters: {\n      query: {\n        /** Signature to attach to the pre-signature */\n        signature: string;\n      };\n      body: {\n        body?: definitions[\"Model606\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"putSetCollectionCommunityV1Response\"];\n      };\n    };\n  };\n  postExecuteResultsV1: {\n    parameters: {\n      body: {\n        body?: definitions[\"Model607\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"postExecuteResultsV1Response\"];\n      };\n    };\n  };\n  postExecuteSellV6: {\n    parameters: {\n      body: {\n        body?: definitions[\"Model610\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getExecuteBuyV6Response\"];\n      };\n    };\n  };\n  /** Use this API to accept bids. We recommend using the SDK over this API as the SDK will iterate through the steps and return callbacks. Please mark `excludeEOA` as `true` to exclude Blur orders. */\n  postExecuteSellV7: {\n    parameters: {\n      body: {\n        body?: definitions[\"Model615\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"getExecuteSellV7Response\"];\n      };\n    };\n  };\n  postExecuteSolveV1: {\n    parameters: {\n      query: {\n        /** Signature for the solve request */\n        signature?: string;\n      };\n      body: {\n        body?: definitions[\"Model622\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"postExecuteSolveV1Response\"];\n      };\n    };\n  };\n  postExecuteStatusV1: {\n    parameters: {\n      body: {\n        body?: definitions[\"Model623\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"postExecuteStatusV1Response\"];\n      };\n    };\n  };\n  /** Use this endpoint to bulk transfer an array of NFTs. */\n  postExecuteTransferV1: {\n    parameters: {\n      body: {\n        body?: definitions[\"Model626\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"postExecuteTransferV1Response\"];\n      };\n    };\n  };\n  postManagementCosignersV1: {\n    parameters: {\n      body: {\n        body?: definitions[\"Model631\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"putSetCollectionCommunityV1Response\"];\n      };\n    };\n  };\n  postOrdersInvalidateV1: {\n    parameters: {\n      header: {\n        \"x-api-key\": string;\n      };\n      body: {\n        body?: definitions[\"Model633\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      default: {\n        schema: string;\n      };\n    };\n  };\n  /** This API requires an allowed API key for execution. Please contact technical support with more questions. */\n  postTokensDisablemetadataV1: {\n    parameters: {\n      header: {\n        \"x-api-key\": string;\n      };\n      body: {\n        body?: definitions[\"Model635\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"putSetCollectionCommunityV1Response\"];\n      };\n    };\n  };\n  postTokensFlagV1: {\n    parameters: {\n      body: {\n        body?: definitions[\"Model636\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"putSetCollectionCommunityV1Response\"];\n      };\n    };\n  };\n  /** This API can be used by allowed API keys to update the nsfw status of a token. */\n  postTokensNsfwstatusV1: {\n    parameters: {\n      header: {\n        \"x-api-key\": string;\n      };\n      body: {\n        body?: definitions[\"Model638\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"putSetCollectionCommunityV1Response\"];\n      };\n    };\n  };\n  /**\n   * Token metadata is never automatically refreshed, but may be manually refreshed with this API.\n   *\n   * Caution: This API should be used in moderation, like only when missing data is discovered. Calling it in bulk or programmatically will result in your API key getting rate limited.\n   */\n  postTokensRefreshV1: {\n    parameters: {\n      body: {\n        body?: definitions[\"Model639\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"putSetCollectionCommunityV1Response\"];\n      };\n    };\n  };\n  /**\n   * Token metadata is never automatically refreshed, but may be manually refreshed with this API.\n   *\n   * Caution: This API should be used in moderation, like only when missing data is discovered. Calling it in bulk or programmatically will result in your API key getting rate limited.\n   */\n  postTokensRefreshV2: {\n    parameters: {\n      body: {\n        body?: definitions[\"Model641\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"postTokensRefreshV2Response\"];\n      };\n    };\n  };\n  postTokensSimulatefloorV1: {\n    parameters: {\n      body: {\n        body?: definitions[\"Model644\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"putSetCollectionCommunityV1Response\"];\n      };\n    };\n  };\n  postTokensSimulatetopbidV1: {\n    parameters: {\n      body: {\n        body?: definitions[\"Model645\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"putSetCollectionCommunityV1Response\"];\n      };\n    };\n  };\n  /** This API can be used by allowed API keys to update the spam status of a token. */\n  postTokensSpamstatusV1: {\n    parameters: {\n      header: {\n        \"x-api-key\": string;\n      };\n      body: {\n        body?: definitions[\"Model646\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"putSetCollectionCommunityV1Response\"];\n      };\n    };\n  };\n  /** Override collections metadata and royalties */\n  postCollectionsCollectionOverrideV1: {\n    parameters: {\n      header: {\n        \"x-api-key\": string;\n      };\n      path: {\n        /** The collection id to update. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection: string;\n      };\n      body: {\n        body?: definitions[\"Model649\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"putSetCollectionCommunityV1Response\"];\n      };\n    };\n  };\n  /** Override collections metadata and royalties */\n  postCollectionsCollectionOverrideV2: {\n    parameters: {\n      header: {\n        \"x-api-key\": string;\n      };\n      path: {\n        /** The collection id to update. Example: `0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63` */\n        collection: string;\n      };\n      body: {\n        body?: definitions[\"Model650\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"putSetCollectionCommunityV1Response\"];\n      };\n    };\n  };\n  postExecuteSolveCapacityV1: {\n    parameters: {\n      body: {\n        body?: definitions[\"Model651\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"postExecuteSolveCapacityV1Response\"];\n      };\n    };\n  };\n  postExecuteSolveCapacityV2: {\n    parameters: {\n      body: {\n        body?: definitions[\"Model651\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"postExecuteSolveCapacityV2Response\"];\n      };\n    };\n  };\n  postManagementMintsSimulateV1: {\n    parameters: {\n      body: {\n        body?: definitions[\"Model652\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"putSetCollectionCommunityV1Response\"];\n      };\n    };\n  };\n  postManagementOrdersSimulateV1: {\n    parameters: {\n      body: {\n        body?: definitions[\"Model653\"];\n      };\n    };\n    responses: {\n      /** Successful */\n      200: {\n        schema: definitions[\"postSimulateOrderV1Response\"];\n      };\n    };\n  };\n}\n\nexport interface external {}\n","import { ReservoirChain } from '../actions'\nimport { chainPaymentTokensMap } from './paymentTokens'\n\ntype ReservoirBaseChain = Omit<ReservoirChain, 'active'>\n\nconst mainnet = {\n  id: 1,\n  name: 'Ethereum',\n  baseApiUrl: 'https://api.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[1],\n  websocketUrl: 'wss://ws.reservoir.tools',\n  checkPollingInterval: 2000,\n} satisfies ReservoirBaseChain\n\nconst optimism = {\n  id: 10,\n  name: 'Optimism',\n  baseApiUrl: 'https://api-optimism.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[10],\n  websocketUrl: 'wss://ws-optimism.reservoir.tools',\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst polygon = {\n  id: 137,\n  name: 'Polygon',\n  baseApiUrl: 'https://api-polygon.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[137],\n  websocketUrl: 'wss://ws-polygon.reservoir.tools',\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst polygonAmoy = {\n  id: 80002,\n  name: 'Polygon Amoy',\n  baseApiUrl: 'https://api-amoy.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[80002],\n  websocketUrl: 'wss://ws-amoy.reservoir.tools',\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst arbitrum = {\n  id: 42161,\n  name: 'Arbitrum',\n  baseApiUrl: 'https://api-arbitrum.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[42161],\n  websocketUrl: 'wss://ws-arbitrum.reservoir.tools',\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst arbitrumNova = {\n  id: 42170,\n  name: 'Arbitrum Nova',\n  baseApiUrl: 'https://api-arbitrum-nova.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[42170],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst avalanche = {\n  id: 43114,\n  name: 'Avalanche',\n  baseApiUrl: 'https://api-avalanche.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[43114],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst sepolia = {\n  id: 11155111,\n  name: 'Sepolia',\n  baseApiUrl: 'https://api-sepolia.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[11155111],\n  websocketUrl: 'wss://ws-sepolia.reservoir.tools',\n  checkPollingInterval: 2000,\n} satisfies ReservoirBaseChain\n\nconst base = {\n  id: 8453,\n  name: 'Base',\n  baseApiUrl: 'https://api-base.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[8453],\n  websocketUrl: 'wss://ws-base.reservoir.tools',\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst baseSepolia = {\n  id: 84532,\n  name: 'Base Sepolia',\n  baseApiUrl: 'https://api-base-sepolia.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[84532],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst scrollTestnet = {\n  id: 534353,\n  name: 'Scroll Testnet',\n  baseApiUrl: 'https://api-scroll-alpha.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[534353],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst scroll = {\n  id: 534352,\n  name: 'Scroll',\n  baseApiUrl: 'https://api-scroll.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[534352],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst linea = {\n  id: 59144,\n  name: 'Linea',\n  baseApiUrl: 'https://api-linea.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[59144],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst bsc = {\n  id: 56,\n  name: 'BNB Smart Chain',\n  baseApiUrl: 'https://api-bsc.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[56],\n  websocketUrl: 'wss://ws-bsc.reservoir.tools',\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst opBnb = {\n  id: 204,\n  name: 'opBNB',\n  baseApiUrl: 'https://api-opbnb.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[204],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst zora = {\n  id: 7777777,\n  name: 'Zora',\n  baseApiUrl: 'https://api-zora.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[7777777],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst zoraTestnet = {\n  id: 999,\n  name: 'Zora Testnet',\n  baseApiUrl: 'https://api-zora-testnet.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[999],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst zkSync = {\n  id: 324,\n  name: 'zkSync',\n  baseApiUrl: 'https://api-zksync.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[324],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst polygonZkEvm = {\n  id: 1101,\n  name: 'Polygon zkEVM',\n  baseApiUrl: 'https://api-polygon-zkevm.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[1101],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst ancient8 = {\n  id: 888888888,\n  name: 'Ancient8 Testnet',\n  baseApiUrl: 'https://api-ancient8.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[888888888],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst ancient8Testnet = {\n  id: 28122024,\n  name: 'Ancient8 Testnet',\n  baseApiUrl: 'https://api-ancient8-testnet.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[28122024],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst frameTestnet = {\n  id: 68840142,\n  name: 'Frame Testnet',\n  baseApiUrl: 'https://api-frame-testnet.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[68840142],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst blastSepolia = {\n  id: 168587773,\n  name: 'Blast Sepolia',\n  baseApiUrl: 'https://api-blast-sepolia.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[168587773],\n  checkPollingInterval: 1000,\n}\nconst apexPop = {\n  id: 70700,\n  name: 'Apex',\n  baseApiUrl: 'https://api-apex.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[70700],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst apexPopTestnet = {\n  id: 70800,\n  name: 'Apex Testnet',\n  baseApiUrl: 'https://api-apex-testnet.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[70800],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst blast = {\n  id: 81457,\n  name: 'Blast',\n  baseApiUrl: 'https://api-blast.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[81457],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst astarZkEVM = {\n  id: 3776,\n  name: 'Astar zkEVM',\n  baseApiUrl: 'https://api-astar-zkevm.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[3776],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst garnet = {\n  id: 17069,\n  name: 'Garnet',\n  baseApiUrl: 'https://api-garnet.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[17069],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst redstone = {\n  id: 690,\n  name: 'Redstone',\n  baseApiUrl: 'https://api-redstone.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[690],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst berachainTestnet = {\n  id: 80084,\n  name: 'Berachain Testnet',\n  baseApiUrl: 'https://api-berachain-testnet.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[80084],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst degen = {\n  id: 666666666,\n  name: 'Degen',\n  baseApiUrl: 'https://api-degen.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[666666666],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst xai = {\n  id: 660279,\n  name: 'Xai',\n  baseApiUrl: 'https://api-xai.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[660279],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst nebula = {\n  id: 1482601649,\n  name: 'Nebula',\n  baseApiUrl: 'https://api-nebula.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[1482601649],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst seiTestnet = {\n  id: 713715,\n  name: 'Sei Testnet',\n  baseApiUrl: 'https://api-sei-testnet.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[713715],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst cyber = {\n  id: 7560,\n  name: 'Cyber',\n  baseApiUrl: 'https://api-cyber.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[7560],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst bitlayer = {\n  id: 200901,\n  name: 'Bitlayer',\n  baseApiUrl: 'https://api-bitlayer.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[200901],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst sei = {\n  id: 1329,\n  name: 'Sei',\n  baseApiUrl: 'https://api-sei.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[1329],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst b3Testnet = {\n  id: 1993,\n  name: 'B3 Testnet',\n  baseApiUrl: 'https://api-b3-testnet.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[1993],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst flowPreviewnet = {\n  id: 646,\n  name: 'Flow Previewnet',\n  baseApiUrl: 'https://api-flow-previewnet.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[646],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst cloud = {\n  id: 70805,\n  name: 'Cloud',\n  baseApiUrl: 'https://api-cloud.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[70805],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst game7Testnet = {\n  id: 13746,\n  name: 'Game7 Testnet',\n  baseApiUrl: 'https://api-game7-testnet.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[13746],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst boss = {\n  id: 70701,\n  name: 'Boss',\n  baseApiUrl: 'https://api-boss.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[70701],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst forma = {\n  id: 984122,\n  name: 'Forma',\n  baseApiUrl: 'https://api-forma.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[984122],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst formaSketchpad = {\n  id: 984123,\n  name: 'Forma Sketchpad',\n  baseApiUrl: 'https://api-forma-sketchpad.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[984123],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst b3 = {\n  id: 8333,\n  name: 'B3',\n  baseApiUrl: 'https://api-b3.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[8333],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst apechain = {\n  id: 33139,\n  name: 'Apechain',\n  baseApiUrl: 'https://api-apechain.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[33139],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst curtis = {\n  id: 33111,\n  name: 'Curtis',\n  baseApiUrl: 'https://api-curtis.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[33111],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst shape = {\n  id: 360,\n  name: 'Shape',\n  baseApiUrl: 'https://api-shape.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[360],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst shapeSepolia = {\n  id: 11011,\n  name: 'Shape Sepolia',\n  baseApiUrl: 'https://api-shape-sepolia.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[11011],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst abstractTestnet = {\n  id: 11124,\n  name: 'Abstract Testnet',\n  baseApiUrl: 'https://api-abstract-testnet.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[11124],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst minato = {\n  id: 1946,\n  name: 'Minato',\n  baseApiUrl: 'https://api-minato.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[1946],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst hychain = {\n  id: 2911,\n  name: 'Hychain',\n  baseApiUrl: 'https://api-hychain.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[2911],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst hychainTestnet = {\n  id: 29112,\n  name: 'Hychain Testnet',\n  baseApiUrl: 'https://api-hychain-testnet.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[29112],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst flow = {\n  id: 747,\n  name: 'Flow',\n  baseApiUrl: 'https://api-flow.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[747],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst zero = {\n  id: 543210,\n  name: 'Zero',\n  baseApiUrl: 'https://api-zero.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[543210],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst zeroTestnet = {\n  id: 43210,\n  name: 'Zero Testnet',\n  baseApiUrl: 'https://api-zero-testnet.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[43210],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst abstract = {\n  id: 2741,\n  name: 'Abstract',\n  baseApiUrl: 'https://api-abstract.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[2741],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst animeTestnet = {\n  id: 6900,\n  name: 'Anime Testnet',\n  baseApiUrl: 'https://api-anime-testnet.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[6900],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst monadDevnet = {\n  id: 41454,\n  name: 'Monad Devnet',\n  baseApiUrl: 'https://api-monad-devnet.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[41454],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst game7 = {\n  id: 2187,\n  name: 'game7',\n  baseApiUrl: 'https://api-game7.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[2187],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst creatorTestnet = {\n  id: 4654,\n  name: 'Creator Testnet',\n  baseApiUrl: 'https://api-creator-testnet.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[4654],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst soneium = {\n  id: 1868,\n  name: 'Soneium',\n  baseApiUrl: 'https://api-soneium.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[1868],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst storyOdyssey = {\n  id: 1516,\n  name: 'Story Odyssey',\n  baseApiUrl: 'https://api-story-odyssey.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[1516],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst monadTestnet = {\n  id: 10143,\n  name: 'Monad Testnet',\n  baseApiUrl: 'https://api-monad-testnet.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[10143],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst ink = {\n  id: 57073,\n  name: 'Ink',\n  baseApiUrl: 'https://api-ink.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[57073],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst berachain = {\n  id: 80094,\n  name: 'Berachain',\n  baseApiUrl: 'https://api-berachain.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[80094],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nconst anime = {\n  id: 69000,\n  name: 'Anime',\n  baseApiUrl: 'https://api-anime.reservoir.tools',\n  paymentTokens: chainPaymentTokensMap[69000],\n  checkPollingInterval: 1000,\n} satisfies ReservoirBaseChain\n\nexport const reservoirChains = {\n  mainnet,\n  polygon,\n  polygonAmoy,\n  optimism,\n  arbitrum,\n  arbitrumNova,\n  avalanche,\n  sepolia,\n  base,\n  baseSepolia,\n  bsc,\n  opBnb,\n  scrollTestnet,\n  scroll,\n  linea,\n  zora,\n  zoraTestnet,\n  zkSync,\n  polygonZkEvm,\n  ancient8,\n  ancient8Testnet,\n  frameTestnet,\n  blastSepolia,\n  apexPop,\n  apexPopTestnet,\n  blast,\n  astarZkEVM,\n  garnet,\n  redstone,\n  berachainTestnet,\n  degen,\n  xai,\n  nebula,\n  seiTestnet,\n  cyber,\n  bitlayer,\n  sei,\n  b3Testnet,\n  flowPreviewnet,\n  cloud,\n  game7Testnet,\n  boss,\n  forma,\n  formaSketchpad,\n  b3,\n  apechain,\n  curtis,\n  shape,\n  shapeSepolia,\n  abstractTestnet,\n  minato,\n  hychain,\n  hychainTestnet,\n  flow,\n  zero,\n  zeroTestnet,\n  abstract,\n  animeTestnet,\n  monadDevnet,\n  game7,\n  creatorTestnet,\n  soneium,\n  storyOdyssey,\n  monadTestnet,\n  ink,\n  berachain,\n  anime,\n}\n","export const routes = [\n  \"/assets/v1\",\n  \"/attributes/v1\",\n  \"/collection/v1\",\n  \"/collection/v2\",\n  \"/collection/v3\",\n  \"/collections/v1\",\n  \"/collections/v2\",\n  \"/collections/v3\",\n  \"/collections/v4\",\n  \"/collections/v5\",\n  \"/collections/v6\",\n  \"/collections/v7\",\n  \"/cross-posting-orders/v1\",\n  \"/fungibles/v1\",\n  \"/orders/v1\",\n  \"/orders/v2\",\n  \"/owners/v1\",\n  \"/owners/v2\",\n  \"/sales/v1\",\n  \"/sales/v2\",\n  \"/sales/v3\",\n  \"/sales/v4\",\n  \"/sales/v5\",\n  \"/sales/v6\",\n  \"/sources/v1\",\n  \"/stats/v1\",\n  \"/stats/v2\",\n  \"/tokens/v1\",\n  \"/tokens/v2\",\n  \"/tokens/v3\",\n  \"/tokens/v4\",\n  \"/tokens/v5\",\n  \"/tokens/v6\",\n  \"/tokens/v7\",\n  \"/transfers/v2\",\n  \"/transfers/v3\",\n  \"/transfers/v4\",\n  \"/api-keys/{key}/rate-limits\",\n  \"/chain/stats/v1\",\n  \"/collections/activity/v4\",\n  \"/collections/activity/v5\",\n  \"/collections/activity/v6\",\n  \"/collections/daily-volumes/v1\",\n  \"/collections/search/v1\",\n  \"/collections/top-selling/v1\",\n  \"/collections/top-selling/v2\",\n  \"/collections/trending/v1\",\n  \"/collections/trending-mints/v1\",\n  \"/collections/trending-mints/v2\",\n  \"/collections/{collectionOrSlug}/v1\",\n  \"/currencies/conversion/v1\",\n  \"/events/asks/v2\",\n  \"/events/asks/v3\",\n  \"/events/bids/v1\",\n  \"/events/bids/v2\",\n  \"/events/bids/v3\",\n  \"/events/orders/v1\",\n  \"/execute/cancel/v2\",\n  \"/liquidity/users/v1\",\n  \"/liquidity/users/v2\",\n  \"/orders/all/v1\",\n  \"/orders/all/v2\",\n  \"/orders/asks/v1\",\n  \"/orders/asks/v2\",\n  \"/orders/asks/v3\",\n  \"/orders/asks/v4\",\n  \"/orders/asks/v5\",\n  \"/orders/bids/v1\",\n  \"/orders/bids/v2\",\n  \"/orders/bids/v3\",\n  \"/orders/bids/v4\",\n  \"/orders/bids/v5\",\n  \"/orders/bids/v6\",\n  \"/orders/depth/v1\",\n  \"/orders/executed/v1\",\n  \"/owners/common-collections/v1\",\n  \"/owners/cross-collections/v1\",\n  \"/pending-txs/tokens/v1\",\n  \"/portfolio/activity/v1\",\n  \"/portfolio/value/v1\",\n  \"/redirect/logo/v1\",\n  \"/redirect/token/v1\",\n  \"/sales/bulk/v1\",\n  \"/search/activities/v1\",\n  \"/search/collections/v1\",\n  \"/search/collections/v2\",\n  \"/search/collections/v3\",\n  \"/sync/asks/v1\",\n  \"/tokens/bootstrap/v1\",\n  \"/tokens/details/v2\",\n  \"/tokens/details/v3\",\n  \"/tokens/details/v4\",\n  \"/tokens/floor/v1\",\n  \"/tokens/ids/v1\",\n  \"/tokens/prices/v1\",\n  \"/transactions/synced/v2\",\n  \"/transfers/bulk/v1\",\n  \"/transfers/bulk/v2\",\n  \"/users/activity/v2\",\n  \"/users/activity/v3\",\n  \"/users/activity/v4\",\n  \"/users/activity/v5\",\n  \"/users/activity/v6\",\n  \"/collections/{collection}/marketplace-configurations/v1\",\n  \"/collections/{collection}/top-traders/v1\",\n  \"/collections/{collection}/top-bids/v1\",\n  \"/collections/{collection}/activity/v2\",\n  \"/collections/{collection}/activity/v1\",\n  \"/collections/{collection}/activity/v3\",\n  \"/collections/{collection}/attributes/v1\",\n  \"/collections/{collection}/owners-distribution/v1\",\n  \"/collections/{collection}/supported-marketplaces/v1\",\n  \"/collections/{collection}/marketplace-configurations/v2\",\n  \"/collections/{collectionId}/bids/v1\",\n  \"/collections-sets/{collectionsSetId}/owners-distribution/v1\",\n  \"/events/collections/floor-ask/v1\",\n  \"/events/collections/floor-ask/v2\",\n  \"/events/collections/top-bid/v1\",\n  \"/events/collections/top-bid/v2\",\n  \"/events/tokens/floor-ask/v2\",\n  \"/events/tokens/floor-ask/v3\",\n  \"/events/tokens/floor-ask/v4\",\n  \"/oracle/collections/bid-ask-midpoint/v1\",\n  \"/oracle/collections/floor-ask/v4\",\n  \"/oracle/collections/floor-ask/v5\",\n  \"/oracle/collections/floor-ask/v6\",\n  \"/oracle/collections/top-bid/v2\",\n  \"/oracle/collections/top-bid/v3\",\n  \"/oracle/tokens/status/v2\",\n  \"/oracle/tokens/status/v3\",\n  \"/portfolio/historical/value/v1\",\n  \"/portfolio/nfts/balance/v1\",\n  \"/portfolio/tokens/balance/v1\",\n  \"/tokens/flag/changes/v1\",\n  \"/tokens/{token}/bids/v1\",\n  \"/tokens/{token}/activity/v4\",\n  \"/tokens/{token}/activity/v2\",\n  \"/tokens/{token}/activity/v1\",\n  \"/tokens/{token}/activity/v3\",\n  \"/tokens/{token}/activity/v5\",\n  \"/tokens/{token}/asks/v1\",\n  \"/transactions/{txHash}/synced/v1\",\n  \"/users/{user}/tokens/v9\",\n  \"/users/{user}/tokens/v7\",\n  \"/users/{user}/tokens/v5\",\n  \"/users/{user}/tokens/v3\",\n  \"/users/{user}/tokens/v1\",\n  \"/users/{user}/bids/v1\",\n  \"/users/{user}/positions/v1\",\n  \"/users/{user}/collections/v3\",\n  \"/users/{user}/collections/v1\",\n  \"/users/{user}/activity/v1\",\n  \"/users/{user}/collections/v2\",\n  \"/users/{user}/collections/v4\",\n  \"/users/{user}/asks/v1\",\n  \"/users/{user}/tokens/v2\",\n  \"/users/{user}/tokens/v4\",\n  \"/users/{user}/tokens/v6\",\n  \"/users/{user}/tokens/v8\",\n  \"/users/{user}/tokens/v10\",\n  \"/collections/{collection}/attributes/explore/v5\",\n  \"/collections/{collection}/attributes/explore/v3\",\n  \"/collections/{collection}/attributes/explore/v1\",\n  \"/collections/{collection}/attributes/static/v1\",\n  \"/collections/{collection}/attributes/all/v3\",\n  \"/collections/{collection}/attributes/all/v1\",\n  \"/collections/{collection}/attributes/all/v2\",\n  \"/collections/{collection}/attributes/all/v4\",\n  \"/collections/{collection}/attributes/explore/v2\",\n  \"/collections/{collection}/attributes/explore/v4\",\n  \"/collections/{collection}/attributes/explore/v6\",\n  \"/orders/users/{user}/top-bids/v4\",\n  \"/orders/users/{user}/top-bids/v2\",\n  \"/orders/users/{user}/top-bids/v1\",\n  \"/orders/users/{user}/top-bids/v3\",\n  \"/redirect/collections/{collection}/image/v1\",\n  \"/redirect/currency/{address}/icon/v1\",\n  \"/redirect/sources/{source}/logo/v2\",\n  \"/redirect/tokens/{token}/image/v1\",\n  \"/redirect/sources/{source}/tokens/{token}/link/v2\",\n  \"/collections/{collection}/community/v1\",\n  \"/api-keys\",\n  \"/collections-sets/v1\",\n  \"/contracts-sets/v1\",\n  \"/order/v2\",\n  \"/order/v3\",\n  \"/order/v4\",\n  \"/seaport/offers\",\n  \"/token-sets/v1\",\n  \"/token-sets/v2\",\n  \"/collections/disable-metadata/v1\",\n  \"/collections/nsfw-status/v1\",\n  \"/collections/refresh/v1\",\n  \"/collections/refresh/v2\",\n  \"/collections/spam-status/v1\",\n  \"/execute/auth-signature/v1\",\n  \"/execute/bid/v4\",\n  \"/execute/bid/v5\",\n  \"/execute/buy/v5\",\n  \"/execute/buy/v6\",\n  \"/execute/buy/v7\",\n  \"/execute/call/v1\",\n  \"/execute/cancel/v3\",\n  \"/execute/cancel-signature/v1\",\n  \"/execute/deposit/v1\",\n  \"/execute/list/v4\",\n  \"/execute/list/v5\",\n  \"/execute/mint/v1\",\n  \"/execute/permit-signature/v1\",\n  \"/execute/pre-signature/v1\",\n  \"/execute/results/v1\",\n  \"/execute/sell/v6\",\n  \"/execute/sell/v7\",\n  \"/execute/solve/v1\",\n  \"/execute/status/v1\",\n  \"/execute/transfer/v1\",\n  \"/management/cosigners/v1\",\n  \"/orders/invalidate/v1\",\n  \"/tokens/disable-metadata/v1\",\n  \"/tokens/flag/v1\",\n  \"/tokens/nsfw-status/v1\",\n  \"/tokens/refresh/v1\",\n  \"/tokens/refresh/v2\",\n  \"/tokens/simulate-floor/v1\",\n  \"/tokens/simulate-top-bid/v1\",\n  \"/tokens/spam-status/v1\",\n  \"/collections/{collection}/override/v1\",\n  \"/collections/{collection}/override/v2\",\n  \"/execute/solve/capacity/v1\",\n  \"/execute/solve/capacity/v2\",\n  \"/management/mints/simulate/v1\",\n  \"/management/orders/simulate/v1\"\n];"],"names":[],"version":3,"file":"index.mjs.map"}