@0xsequence/marketplace-sdk 0.5.5 → 0.5.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/dist/{builder-types-Jl3Ymws8.d.ts → builder-types-DgncJB3q.d.ts} +1 -1
  2. package/dist/{chunk-TFRAOS7F.js → chunk-3OP3WHPU.js} +1 -1
  3. package/dist/chunk-3OP3WHPU.js.map +1 -0
  4. package/dist/{chunk-J6F5QOW5.js → chunk-3OU7BADC.js} +9 -75
  5. package/dist/chunk-3OU7BADC.js.map +1 -0
  6. package/dist/{chunk-Y75XGZOB.js → chunk-5O3ZAEEX.js} +4 -2
  7. package/dist/chunk-5O3ZAEEX.js.map +1 -0
  8. package/dist/{chunk-P7UNMRZ5.js → chunk-G2T7HCWE.js} +5 -7
  9. package/dist/chunk-G2T7HCWE.js.map +1 -0
  10. package/dist/chunk-GFADBQPX.js +2 -0
  11. package/dist/chunk-GFADBQPX.js.map +1 -0
  12. package/dist/{chunk-CIPPTQDA.js → chunk-L2K4DBH2.js} +162 -108
  13. package/dist/chunk-L2K4DBH2.js.map +1 -0
  14. package/dist/{chunk-SA3U25NU.js → chunk-LNMMWV77.js} +23 -8
  15. package/dist/chunk-LNMMWV77.js.map +1 -0
  16. package/dist/{chunk-7C7ADZ2H.js → chunk-OMCWTRBR.js} +9 -42
  17. package/dist/chunk-OMCWTRBR.js.map +1 -0
  18. package/dist/{chunk-7FN62HOP.js → chunk-UMYRZJVY.js} +11 -3
  19. package/dist/chunk-UMYRZJVY.js.map +1 -0
  20. package/dist/{chunk-UZIAX32Y.js → chunk-Y56IIYDF.js} +6 -4
  21. package/dist/{chunk-UZIAX32Y.js.map → chunk-Y56IIYDF.js.map} +1 -1
  22. package/dist/{chunk-AXTDPTRD.js → chunk-YA3DWLDC.js} +30 -26
  23. package/dist/chunk-YA3DWLDC.js.map +1 -0
  24. package/dist/{chunk-3BLBZYQX.js → chunk-YYBU45PK.js} +10 -4
  25. package/dist/chunk-YYBU45PK.js.map +1 -0
  26. package/dist/{create-config-DOUq8Day.d.ts → create-config-CILyA_Hy.d.ts} +2 -2
  27. package/dist/index.css +12 -6
  28. package/dist/index.d.ts +8 -7
  29. package/dist/index.js +9 -6
  30. package/dist/{marketplace.gen-CCJ-URn2.d.ts → marketplace.gen-BVOc6fUW.d.ts} +4 -0
  31. package/dist/{marketplace.gen-D0ADxbfH.d.ts → marketplace.gen-DLOcW6C4.d.ts} +15 -3
  32. package/dist/react/_internal/api/index.d.ts +3 -3
  33. package/dist/react/_internal/api/index.js +1 -1
  34. package/dist/react/_internal/databeat/index.css.map +1 -1
  35. package/dist/react/_internal/databeat/index.d.ts +1 -1
  36. package/dist/react/_internal/databeat/index.js +7 -7
  37. package/dist/react/_internal/index.d.ts +6 -6
  38. package/dist/react/_internal/index.js +2 -2
  39. package/dist/react/_internal/wagmi/index.d.ts +4 -4
  40. package/dist/react/_internal/wagmi/index.js +1 -1
  41. package/dist/react/hooks/index.css.map +1 -1
  42. package/dist/react/hooks/index.d.ts +10 -17
  43. package/dist/react/hooks/index.js +6 -6
  44. package/dist/react/index.css +12 -6
  45. package/dist/react/index.css.map +1 -1
  46. package/dist/react/index.d.ts +6 -6
  47. package/dist/react/index.js +11 -10
  48. package/dist/react/ssr/index.d.ts +1 -0
  49. package/dist/react/ssr/index.js +10 -2
  50. package/dist/react/ssr/index.js.map +1 -1
  51. package/dist/react/ui/components/collectible-card/index.css +12 -6
  52. package/dist/react/ui/components/collectible-card/index.css.map +1 -1
  53. package/dist/react/ui/components/collectible-card/index.d.ts +4 -4
  54. package/dist/react/ui/components/collectible-card/index.js +11 -10
  55. package/dist/react/ui/icons/index.css.map +1 -1
  56. package/dist/react/ui/index.css +12 -6
  57. package/dist/react/ui/index.css.map +1 -1
  58. package/dist/react/ui/index.d.ts +4 -4
  59. package/dist/react/ui/index.js +11 -10
  60. package/dist/react/ui/modals/_internal/components/actionModal/index.css.map +1 -1
  61. package/dist/react/ui/modals/_internal/components/actionModal/index.d.ts +4 -4
  62. package/dist/react/ui/modals/_internal/components/actionModal/index.js +7 -7
  63. package/dist/react/ui/styles/index.css.map +1 -1
  64. package/dist/{sdk-config-xWkdBdrL.d.ts → sdk-config-Bs3H_le_.d.ts} +1 -0
  65. package/dist/{services-Dd2MoBTM.d.ts → services-C3lzi1sL.d.ts} +2 -2
  66. package/dist/styles/index.css +12 -6
  67. package/dist/styles/index.css.map +1 -1
  68. package/dist/styles/index.d.ts +3 -2
  69. package/dist/styles/index.js +4 -2
  70. package/dist/types/index.d.ts +4 -4
  71. package/dist/types/index.js +2 -2
  72. package/dist/{types-vOfhbBkR.d.ts → types-BVD42zE_.d.ts} +3 -3
  73. package/dist/utils/index.d.ts +7 -8
  74. package/dist/utils/index.js +5 -5
  75. package/package.json +14 -14
  76. package/src/consts.ts +2 -0
  77. package/src/react/_internal/api/__mocks__/marketplace.msw.ts +13 -12
  78. package/src/react/_internal/api/marketplace.gen.ts +38 -13
  79. package/src/react/_internal/databeat/index.ts +11 -3
  80. package/src/react/_internal/utils.ts +3 -0
  81. package/src/react/_internal/wagmi/create-config.ts +11 -2
  82. package/src/react/_internal/wallet/__tests__/wallet.test.ts +343 -0
  83. package/src/react/_internal/wallet/useWallet.ts +22 -15
  84. package/src/react/_internal/wallet/wallet.ts +11 -9
  85. package/src/react/hooks/__tests__/useBalanceOfCollectible.test.tsx +6 -14
  86. package/src/react/hooks/__tests__/useCancelOrder.test.tsx +51 -154
  87. package/src/react/hooks/__tests__/useCancelTransactionSteps.test.tsx +21 -19
  88. package/src/react/hooks/__tests__/useCollectionBalanceDetails.test.tsx +5 -14
  89. package/src/react/hooks/__tests__/useCollectionDetailsPolling.test.tsx +5 -10
  90. package/src/react/hooks/__tests__/useCurrencyBalance.test.tsx +69 -80
  91. package/src/react/hooks/__tests__/useGenerateCancelTransaction.test.tsx +12 -67
  92. package/src/react/hooks/__tests__/useGenerateListingTransaction.test.tsx +7 -17
  93. package/src/react/hooks/__tests__/useGenerateOfferTransaction.test.tsx +7 -16
  94. package/src/react/hooks/__tests__/useGenerateSellTransaction.test.tsx +8 -17
  95. package/src/react/hooks/__tests__/useListBalances.test.tsx +3 -8
  96. package/src/react/hooks/__tests__/useListCollectibleActivities.test.tsx +5 -10
  97. package/src/react/hooks/__tests__/useListCollectionActivities.test.tsx +6 -11
  98. package/src/react/hooks/__tests__/useListCollections.test.tsx +5 -13
  99. package/src/react/hooks/__tests__/useMarketplaceConfig.test.tsx +5 -13
  100. package/src/react/hooks/__tests__/useRoyaltyPercentage.test.tsx +46 -78
  101. package/src/react/hooks/options/__mocks__/marketplaceConfig.msw.ts +9 -4
  102. package/src/react/hooks/useCurrencyBalance.tsx +4 -5
  103. package/src/react/hooks/useRoyaltyPercentage.tsx +16 -8
  104. package/src/react/ssr/__tests__/create-ssr-client.test.ts +118 -0
  105. package/src/react/ui/components/collectible-card/CollectibleCard.tsx +25 -6
  106. package/src/react/ui/components/collectible-card/Footer.tsx +56 -7
  107. package/src/react/ui/components/collectible-card/styles.css.ts +26 -2
  108. package/src/react/ui/modals/BuyModal/hooks/__tests__/useCheckoutOptions.test.tsx +10 -28
  109. package/src/react/ui/modals/BuyModal/hooks/__tests__/useLoadData.test.tsx +9 -36
  110. package/src/react/ui/modals/BuyModal/hooks/useBuyCollectable.ts +2 -24
  111. package/src/react/ui/modals/BuyModal/modals/Modal1155.tsx +16 -5
  112. package/src/react/ui/modals/CreateListingModal/Modal.tsx +3 -2
  113. package/src/react/ui/modals/SellModal/Modal.tsx +1 -0
  114. package/src/react/ui/modals/_internal/components/transactionDetails/index.tsx +8 -7
  115. package/src/types/sdk-config.ts +1 -0
  116. package/src/utils/index.ts +0 -1
  117. package/src/utils/price.ts +11 -0
  118. package/tsconfig.tsbuildinfo +1 -1
  119. package/dist/chunk-3BLBZYQX.js.map +0 -1
  120. package/dist/chunk-7C7ADZ2H.js.map +0 -1
  121. package/dist/chunk-7FN62HOP.js.map +0 -1
  122. package/dist/chunk-AXTDPTRD.js.map +0 -1
  123. package/dist/chunk-CIPPTQDA.js.map +0 -1
  124. package/dist/chunk-J6F5QOW5.js.map +0 -1
  125. package/dist/chunk-P7UNMRZ5.js.map +0 -1
  126. package/dist/chunk-SA3U25NU.js.map +0 -1
  127. package/dist/chunk-TFRAOS7F.js.map +0 -1
  128. package/dist/chunk-Y75XGZOB.js.map +0 -1
  129. package/src/react/_internal/test/mocks/publicClient.ts +0 -39
  130. package/src/react/_internal/test/mocks/wagmi.ts +0 -61
  131. package/src/utils/__tests__/get-public-rpc-client.test.ts +0 -111
  132. package/src/utils/get-public-rpc-client.ts +0 -41
@@ -1,4 +1,4 @@
1
- import { O as OrderbookKind } from './marketplace.gen-D0ADxbfH.js';
1
+ import { O as OrderbookKind } from './marketplace.gen-DLOcW6C4.js';
2
2
 
3
3
  declare enum MarketplaceWallet {
4
4
  UNIVERSAL = "UNIVERSAL",
@@ -162,4 +162,4 @@ export {
162
162
  FilterCondition,
163
163
  MarketplaceType
164
164
  };
165
- //# sourceMappingURL=chunk-TFRAOS7F.js.map
165
+ //# sourceMappingURL=chunk-3OP3WHPU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/react/_internal/api/marketplace.gen.ts","../src/types/builder-types.ts"],"sourcesContent":["/* eslint-disable */\n// marketplace-api 6779d2bf0321c42c065fb99e6b65d64f8e7edf2b\n// --\n// Code generated by webrpc-gen@v0.23.2 with typescript generator. DO NOT EDIT.\n//\n// webrpc-gen -schema=marketplace.ridl -target=typescript -client -out=./clients/marketplace.gen.ts\n\nexport const WebrpcHeader = \"Webrpc\"\n\nexport const WebrpcHeaderValue = \"webrpc@v0.23.2;gen-typescript@v0.16.3;marketplace-api@v0.0.0-6779d2bf0321c42c065fb99e6b65d64f8e7edf2b\"\n\n// WebRPC description and code-gen version\nexport const WebRPCVersion = \"v1\"\n\n// Schema version of your RIDL schema\nexport const WebRPCSchemaVersion = \"\"\n\n// Schema hash generated from your RIDL schema\nexport const WebRPCSchemaHash = \"6779d2bf0321c42c065fb99e6b65d64f8e7edf2b\"\n\ntype WebrpcGenVersions = {\n webrpcGenVersion: string;\n codeGenName: string;\n codeGenVersion: string;\n schemaName: string;\n schemaVersion: string;\n};\n\nexport function VersionFromHeader(headers: Headers): WebrpcGenVersions {\n const headerValue = headers.get(WebrpcHeader);\n if (!headerValue) {\n return {\n webrpcGenVersion: \"\",\n codeGenName: \"\",\n codeGenVersion: \"\",\n schemaName: \"\",\n schemaVersion: \"\",\n };\n }\n\n return parseWebrpcGenVersions(headerValue);\n}\n\nfunction parseWebrpcGenVersions(header: string): WebrpcGenVersions {\n const versions = header.split(\";\");\n if (versions.length < 3) {\n return {\n webrpcGenVersion: \"\",\n codeGenName: \"\",\n codeGenVersion: \"\",\n schemaName: \"\",\n schemaVersion: \"\",\n };\n }\n\n const [_, webrpcGenVersion] = versions[0]!.split(\"@\");\n const [codeGenName, codeGenVersion] = versions[1]!.split(\"@\");\n const [schemaName, schemaVersion] = versions[2]!.split(\"@\");\n\n return {\n webrpcGenVersion: webrpcGenVersion ?? \"\",\n codeGenName: codeGenName ?? \"\",\n codeGenVersion: codeGenVersion ?? \"\",\n schemaName: schemaName ?? \"\",\n schemaVersion: schemaVersion ?? \"\",\n };\n}\n\n//\n// Types\n//\n\n\nexport interface TokenMetadata {\n tokenId: string\n name: string\n description?: string\n image?: string\n video?: string\n audio?: string\n properties?: {[key: string]: any}\n attributes: Array<{[key: string]: any}>\n image_data?: string\n external_url?: string\n background_color?: string\n animation_url?: string\n decimals?: number\n updatedAt?: string\n assets?: Array<Asset>\n}\n\nexport interface Asset {\n id: number\n collectionId: number\n tokenId: string\n url?: string\n metadataField: string\n name?: string\n filesize?: number\n mimeType?: string\n width?: number\n height?: number\n updatedAt?: string\n}\n\nexport enum SortOrder {\n DESC = 'DESC',\n ASC = 'ASC'\n}\n\nexport enum PropertyType {\n INT = 'INT',\n STRING = 'STRING',\n ARRAY = 'ARRAY',\n GENERIC = 'GENERIC'\n}\n\nexport enum MarketplaceKind {\n unknown = 'unknown',\n sequence_marketplace_v1 = 'sequence_marketplace_v1',\n sequence_marketplace_v2 = 'sequence_marketplace_v2',\n blur = 'blur',\n zerox = 'zerox',\n opensea = 'opensea',\n looks_rare = 'looks_rare',\n x2y2 = 'x2y2',\n alienswap = 'alienswap',\n payment_processor = 'payment_processor',\n mintify = 'mintify'\n}\n\nexport enum OrderbookKind {\n unknown = 'unknown',\n sequence_marketplace_v1 = 'sequence_marketplace_v1',\n sequence_marketplace_v2 = 'sequence_marketplace_v2',\n blur = 'blur',\n opensea = 'opensea',\n looks_rare = 'looks_rare',\n reservoir = 'reservoir',\n x2y2 = 'x2y2'\n}\n\nexport enum SourceKind {\n unknown = 'unknown',\n external = 'external',\n sequence_marketplace_v1 = 'sequence_marketplace_v1',\n sequence_marketplace_v2 = 'sequence_marketplace_v2'\n}\n\nexport enum OrderSide {\n unknown = 'unknown',\n listing = 'listing',\n offer = 'offer'\n}\n\nexport enum OrderStatus {\n unknown = 'unknown',\n active = 'active',\n inactive = 'inactive',\n expired = 'expired',\n cancelled = 'cancelled',\n filled = 'filled',\n decimals_missing = 'decimals_missing'\n}\n\nexport enum ContractType {\n UNKNOWN = 'UNKNOWN',\n ERC20 = 'ERC20',\n ERC721 = 'ERC721',\n ERC1155 = 'ERC1155'\n}\n\nexport enum CollectionPriority {\n unknown = 'unknown',\n low = 'low',\n normal = 'normal',\n high = 'high'\n}\n\nexport enum CollectionStatus {\n unknown = 'unknown',\n created = 'created',\n syncing_contract_metadata = 'syncing_contract_metadata',\n synced_contract_metadata = 'synced_contract_metadata',\n syncing_metadata = 'syncing_metadata',\n synced_metadata = 'synced_metadata',\n syncing_tokens = 'syncing_tokens',\n synced_tokens = 'synced_tokens',\n syncing_orders = 'syncing_orders',\n active = 'active',\n failed = 'failed',\n inactive = 'inactive',\n incompatible_type = 'incompatible_type'\n}\n\nexport enum ProjectStatus {\n unknown = 'unknown',\n active = 'active',\n inactive = 'inactive'\n}\n\nexport enum CollectibleStatus {\n unknown = 'unknown',\n active = 'active',\n inactive = 'inactive'\n}\n\nexport enum CurrencyStatus {\n unknown = 'unknown',\n created = 'created',\n syncing_metadata = 'syncing_metadata',\n active = 'active',\n failed = 'failed'\n}\n\nexport enum WalletKind {\n unknown = 'unknown',\n sequence = 'sequence'\n}\n\nexport enum StepType {\n unknown = 'unknown',\n tokenApproval = 'tokenApproval',\n buy = 'buy',\n sell = 'sell',\n createListing = 'createListing',\n createOffer = 'createOffer',\n signEIP712 = 'signEIP712',\n signEIP191 = 'signEIP191',\n cancel = 'cancel'\n}\n\nexport enum TransactionCrypto {\n none = 'none',\n partially = 'partially',\n all = 'all'\n}\n\nexport enum TransactionNFTCheckoutProvider {\n unknown = 'unknown',\n sardine = 'sardine',\n transak = 'transak'\n}\n\nexport enum TransactionOnRampProvider {\n unknown = 'unknown',\n sardine = 'sardine',\n transak = 'transak'\n}\n\nexport enum TransactionSwapProvider {\n unknown = 'unknown',\n zerox = 'zerox'\n}\n\nexport enum ExecuteType {\n unknown = 'unknown',\n order = 'order'\n}\n\nexport enum ActivityAction {\n unknown = 'unknown',\n listing = 'listing',\n offer = 'offer',\n mint = 'mint',\n sale = 'sale',\n listingCancel = 'listingCancel',\n offerCancel = 'offerCancel',\n transfer = 'transfer'\n}\n\nexport interface Page {\n page: number\n pageSize: number\n more?: boolean\n sort?: Array<SortBy>\n}\n\nexport interface SortBy {\n column: string\n order: SortOrder\n}\n\nexport interface Filter {\n text?: string\n properties?: Array<PropertyFilter>\n}\n\nexport interface PropertyFilter {\n name: string\n type: PropertyType\n min?: number\n max?: number\n values?: Array<any>\n}\n\nexport interface CollectiblesFilter {\n includeEmpty: boolean\n searchText?: string\n properties?: Array<PropertyFilter>\n marketplaces?: Array<MarketplaceKind>\n inAccounts?: Array<string>\n notInAccounts?: Array<string>\n ordersCreatedBy?: Array<string>\n ordersNotCreatedBy?: Array<string>\n inCurrencyAddresses?: Array<string>\n notInCurrencyAddresses?: Array<string>\n}\n\nexport interface Order {\n orderId: string\n marketplace: MarketplaceKind\n side: OrderSide\n status: OrderStatus\n chainId: number\n originName: string\n collectionContractAddress: string\n tokenId: string\n createdBy: string\n priceAmount: string\n priceAmountFormatted: string\n priceAmountNet: string\n priceAmountNetFormatted: string\n priceCurrencyAddress: string\n priceDecimals: number\n priceUSD: number\n priceUSDFormatted: string\n quantityInitial: string\n quantityInitialFormatted: string\n quantityRemaining: string\n quantityRemainingFormatted: string\n quantityAvailable: string\n quantityAvailableFormatted: string\n quantityDecimals: number\n feeBps: number\n feeBreakdown: Array<FeeBreakdown>\n validFrom: string\n validUntil: string\n blockNumber: number\n orderCreatedAt?: string\n orderUpdatedAt?: string\n createdAt: string\n updatedAt: string\n deletedAt?: string\n}\n\nexport interface FeeBreakdown {\n kind: string\n recipientAddress: string\n bps: number\n}\n\nexport interface CollectibleOrder {\n metadata: TokenMetadata\n order?: Order\n listing?: Order\n offer?: Order\n}\n\nexport interface OrderFilter {\n createdBy?: Array<string>\n marketplace?: Array<MarketplaceKind>\n currencies?: Array<string>\n}\n\nexport interface Collection {\n status: CollectionStatus\n chainId: number\n contractAddress: string\n contractType: ContractType\n priority: CollectionPriority\n tokenQuantityDecimals: number\n config: CollectionConfig\n createdAt: string\n updatedAt: string\n deletedAt?: string\n}\n\nexport interface CollectionConfig {\n lastSynced: {[key: string]: CollectionLastSynced}\n collectiblesSynced: string\n activitiesSynced: string\n activitiesSyncedContinuity: string\n}\n\nexport interface CollectionLastSynced {\n allOrders: string\n newOrders: string\n}\n\nexport interface Project {\n projectId: number\n chainId: number\n contractAddress: string\n status: ProjectStatus\n createdAt: string\n updatedAt: string\n deletedAt?: string\n}\n\nexport interface Collectible {\n chainId: number\n contractAddress: string\n status: CollectibleStatus\n tokenId: string\n decimals: number\n createdAt: string\n updatedAt: string\n deletedAt?: string\n}\n\nexport interface Currency {\n chainId: number\n contractAddress: string\n status: CurrencyStatus\n name: string\n symbol: string\n decimals: number\n imageUrl: string\n exchangeRate: number\n defaultChainCurrency: boolean\n nativeCurrency: boolean\n createdAt: string\n updatedAt: string\n deletedAt?: string\n}\n\nexport interface OrderData {\n orderId: string\n quantity: string\n}\n\nexport interface AdditionalFee {\n amount: string\n receiver: string\n}\n\nexport interface Step {\n id: StepType\n data: string\n to: string\n value: string\n price: string\n signature?: Signature\n post?: PostRequest\n executeType?: ExecuteType\n}\n\nexport interface PostRequest {\n endpoint: string\n method: string\n body: any\n}\n\nexport interface CreateReq {\n tokenId: string\n quantity: string\n expiry: string\n currencyAddress: string\n pricePerToken: string\n}\n\nexport interface GetOrdersInput {\n contractAddress: string\n orderId: string\n marketplace: MarketplaceKind\n}\n\nexport interface Signature {\n domain: Domain\n types: any\n primaryType: string\n value: any\n}\n\nexport interface Domain {\n name: string\n version: string\n chainId: number\n verifyingContract: string\n}\n\nexport interface CheckoutOptionsMarketplaceOrder {\n contractAddress: string\n orderId: string\n marketplace: MarketplaceKind\n}\n\nexport interface CheckoutOptionsItem {\n tokenId: string\n quantity: string\n}\n\nexport interface CheckoutOptions {\n crypto: TransactionCrypto\n swap: Array<TransactionSwapProvider>\n nftCheckout: Array<TransactionNFTCheckoutProvider>\n onRamp: Array<TransactionOnRampProvider>\n}\n\nexport interface Activity {\n chainId: number\n contractAddress: string\n tokenId: string\n action: ActivityAction\n txHash: string\n from: string\n to?: string\n quantity: string\n quantityDecimals: number\n priceAmount?: string\n priceAmountFormatted?: string\n priceCurrencyAddress?: string\n priceDecimals?: number\n activityCreatedAt: string\n uniqueHash: string\n createdAt: string\n updatedAt: string\n deletedAt?: string\n}\n\nexport interface Admin {\n createCollection(args: CreateCollectionArgs, headers?: object, signal?: AbortSignal): Promise<CreateCollectionReturn>\n getCollection(args: GetCollectionArgs, headers?: object, signal?: AbortSignal): Promise<GetCollectionReturn>\n updateCollection(args: UpdateCollectionArgs, headers?: object, signal?: AbortSignal): Promise<UpdateCollectionReturn>\n listCollections(args: ListCollectionsArgs, headers?: object, signal?: AbortSignal): Promise<ListCollectionsReturn>\n deleteCollection(args: DeleteCollectionArgs, headers?: object, signal?: AbortSignal): Promise<DeleteCollectionReturn>\n syncCollection(args: SyncCollectionArgs, headers?: object, signal?: AbortSignal): Promise<SyncCollectionReturn>\n createCurrency(args: CreateCurrencyArgs, headers?: object, signal?: AbortSignal): Promise<CreateCurrencyReturn>\n createCurrencies(args: CreateCurrenciesArgs, headers?: object, signal?: AbortSignal): Promise<CreateCurrenciesReturn>\n updateCurrency(args: UpdateCurrencyArgs, headers?: object, signal?: AbortSignal): Promise<UpdateCurrencyReturn>\n listCurrencies(headers?: object, signal?: AbortSignal): Promise<ListCurrenciesReturn>\n deleteCurrency(args: DeleteCurrencyArgs, headers?: object, signal?: AbortSignal): Promise<DeleteCurrencyReturn>\n}\n\nexport interface CreateCollectionArgs {\n projectId: number\n contractAddress: string\n}\n\nexport interface CreateCollectionReturn {\n collection: Collection \n}\nexport interface GetCollectionArgs {\n projectId: number\n contractAddress: string\n}\n\nexport interface GetCollectionReturn {\n collection: Collection \n}\nexport interface UpdateCollectionArgs {\n collection: Collection\n}\n\nexport interface UpdateCollectionReturn {\n collection: Collection \n}\nexport interface ListCollectionsArgs {\n projectId: number\n page?: Page\n}\n\nexport interface ListCollectionsReturn {\n collections: Array<Collection>\n page?: Page \n}\nexport interface DeleteCollectionArgs {\n projectId: number\n contractAddress: string\n}\n\nexport interface DeleteCollectionReturn {\n collection: Collection \n}\nexport interface SyncCollectionArgs {\n projectId: number\n contractAddress: string\n}\n\nexport interface SyncCollectionReturn {\n collection: Collection \n}\nexport interface CreateCurrencyArgs {\n currency: Currency\n}\n\nexport interface CreateCurrencyReturn {\n currency: Currency \n}\nexport interface CreateCurrenciesArgs {\n currencies: Array<Currency>\n}\n\nexport interface CreateCurrenciesReturn {\n currency: {[key: string]: Currency} \n}\nexport interface UpdateCurrencyArgs {\n currency: Currency\n}\n\nexport interface UpdateCurrencyReturn {\n currency: Currency \n}\nexport interface ListCurrenciesArgs {\n}\n\nexport interface ListCurrenciesReturn {\n currencies: Array<Currency> \n}\nexport interface DeleteCurrencyArgs {\n chainId: number\n contractAddress: string\n}\n\nexport interface DeleteCurrencyReturn {\n currency: Currency \n}\n\nexport interface Marketplace {\n listCurrencies(headers?: object, signal?: AbortSignal): Promise<ListCurrenciesReturn>\n getCollectionDetail(args: GetCollectionDetailArgs, headers?: object, signal?: AbortSignal): Promise<GetCollectionDetailReturn>\n getCollectible(args: GetCollectibleArgs, headers?: object, signal?: AbortSignal): Promise<GetCollectibleReturn>\n getLowestPriceOfferForCollectible(args: GetLowestPriceOfferForCollectibleArgs, headers?: object, signal?: AbortSignal): Promise<GetLowestPriceOfferForCollectibleReturn>\n getHighestPriceOfferForCollectible(args: GetHighestPriceOfferForCollectibleArgs, headers?: object, signal?: AbortSignal): Promise<GetHighestPriceOfferForCollectibleReturn>\n getLowestPriceListingForCollectible(args: GetLowestPriceListingForCollectibleArgs, headers?: object, signal?: AbortSignal): Promise<GetLowestPriceListingForCollectibleReturn>\n getHighestPriceListingForCollectible(args: GetHighestPriceListingForCollectibleArgs, headers?: object, signal?: AbortSignal): Promise<GetHighestPriceListingForCollectibleReturn>\n listListingsForCollectible(args: ListListingsForCollectibleArgs, headers?: object, signal?: AbortSignal): Promise<ListListingsForCollectibleReturn>\n listOffersForCollectible(args: ListOffersForCollectibleArgs, headers?: object, signal?: AbortSignal): Promise<ListOffersForCollectibleReturn>\n getCountOfListingsForCollectible(args: GetCountOfListingsForCollectibleArgs, headers?: object, signal?: AbortSignal): Promise<GetCountOfListingsForCollectibleReturn>\n getCountOfOffersForCollectible(args: GetCountOfOffersForCollectibleArgs, headers?: object, signal?: AbortSignal): Promise<GetCountOfOffersForCollectibleReturn>\n getCollectibleLowestOffer(args: GetCollectibleLowestOfferArgs, headers?: object, signal?: AbortSignal): Promise<GetCollectibleLowestOfferReturn>\n getCollectibleHighestOffer(args: GetCollectibleHighestOfferArgs, headers?: object, signal?: AbortSignal): Promise<GetCollectibleHighestOfferReturn>\n getCollectibleLowestListing(args: GetCollectibleLowestListingArgs, headers?: object, signal?: AbortSignal): Promise<GetCollectibleLowestListingReturn>\n getCollectibleHighestListing(args: GetCollectibleHighestListingArgs, headers?: object, signal?: AbortSignal): Promise<GetCollectibleHighestListingReturn>\n listCollectibleListings(args: ListCollectibleListingsArgs, headers?: object, signal?: AbortSignal): Promise<ListCollectibleListingsReturn>\n listCollectibleOffers(args: ListCollectibleOffersArgs, headers?: object, signal?: AbortSignal): Promise<ListCollectibleOffersReturn>\n generateBuyTransaction(args: GenerateBuyTransactionArgs, headers?: object, signal?: AbortSignal): Promise<GenerateBuyTransactionReturn>\n generateSellTransaction(args: GenerateSellTransactionArgs, headers?: object, signal?: AbortSignal): Promise<GenerateSellTransactionReturn>\n generateListingTransaction(args: GenerateListingTransactionArgs, headers?: object, signal?: AbortSignal): Promise<GenerateListingTransactionReturn>\n generateOfferTransaction(args: GenerateOfferTransactionArgs, headers?: object, signal?: AbortSignal): Promise<GenerateOfferTransactionReturn>\n generateCancelTransaction(args: GenerateCancelTransactionArgs, headers?: object, signal?: AbortSignal): Promise<GenerateCancelTransactionReturn>\n execute(args: ExecuteArgs, headers?: object, signal?: AbortSignal): Promise<ExecuteReturn>\n listCollectibles(args: ListCollectiblesArgs, headers?: object, signal?: AbortSignal): Promise<ListCollectiblesReturn>\n getCountOfAllCollectibles(args: GetCountOfAllCollectiblesArgs, headers?: object, signal?: AbortSignal): Promise<GetCountOfAllCollectiblesReturn>\n getCountOfFilteredCollectibles(args: GetCountOfFilteredCollectiblesArgs, headers?: object, signal?: AbortSignal): Promise<GetCountOfFilteredCollectiblesReturn>\n getFloorOrder(args: GetFloorOrderArgs, headers?: object, signal?: AbortSignal): Promise<GetFloorOrderReturn>\n listCollectionActivities(args: ListCollectionActivitiesArgs, headers?: object, signal?: AbortSignal): Promise<ListCollectionActivitiesReturn>\n listCollectibleActivities(args: ListCollectibleActivitiesArgs, headers?: object, signal?: AbortSignal): Promise<ListCollectibleActivitiesReturn>\n listCollectiblesWithLowestListing(args: ListCollectiblesWithLowestListingArgs, headers?: object, signal?: AbortSignal): Promise<ListCollectiblesWithLowestListingReturn>\n listCollectiblesWithHighestOffer(args: ListCollectiblesWithHighestOfferArgs, headers?: object, signal?: AbortSignal): Promise<ListCollectiblesWithHighestOfferReturn>\n syncOrder(args: SyncOrderArgs, headers?: object, signal?: AbortSignal): Promise<SyncOrderReturn>\n syncOrders(args: SyncOrdersArgs, headers?: object, signal?: AbortSignal): Promise<SyncOrdersReturn>\n getOrders(args: GetOrdersArgs, headers?: object, signal?: AbortSignal): Promise<GetOrdersReturn>\n checkoutOptionsMarketplace(args: CheckoutOptionsMarketplaceArgs, headers?: object, signal?: AbortSignal): Promise<CheckoutOptionsMarketplaceReturn>\n checkoutOptionsSalesContract(args: CheckoutOptionsSalesContractArgs, headers?: object, signal?: AbortSignal): Promise<CheckoutOptionsSalesContractReturn>\n}\n\nexport interface ListCurrenciesArgs {\n}\n\nexport interface ListCurrenciesReturn {\n currencies: Array<Currency> \n}\nexport interface GetCollectionDetailArgs {\n contractAddress: string\n}\n\nexport interface GetCollectionDetailReturn {\n collection: Collection \n}\nexport interface GetCollectibleArgs {\n contractAddress: string\n tokenId: string\n}\n\nexport interface GetCollectibleReturn {\n metadata: TokenMetadata \n}\nexport interface GetLowestPriceOfferForCollectibleArgs {\n contractAddress: string\n tokenId: string\n filter?: OrderFilter\n}\n\nexport interface GetLowestPriceOfferForCollectibleReturn {\n order: Order \n}\nexport interface GetHighestPriceOfferForCollectibleArgs {\n contractAddress: string\n tokenId: string\n filter?: OrderFilter\n}\n\nexport interface GetHighestPriceOfferForCollectibleReturn {\n order: Order \n}\nexport interface GetLowestPriceListingForCollectibleArgs {\n contractAddress: string\n tokenId: string\n filter?: OrderFilter\n}\n\nexport interface GetLowestPriceListingForCollectibleReturn {\n order: Order \n}\nexport interface GetHighestPriceListingForCollectibleArgs {\n contractAddress: string\n tokenId: string\n filter?: OrderFilter\n}\n\nexport interface GetHighestPriceListingForCollectibleReturn {\n order: Order \n}\nexport interface ListListingsForCollectibleArgs {\n contractAddress: string\n tokenId: string\n filter?: OrderFilter\n skipRealtimeSync?: boolean\n page?: Page\n}\n\nexport interface ListListingsForCollectibleReturn {\n listings: Array<Order>\n page?: Page \n}\nexport interface ListOffersForCollectibleArgs {\n contractAddress: string\n tokenId: string\n filter?: OrderFilter\n skipRealtimeSync?: boolean\n page?: Page\n}\n\nexport interface ListOffersForCollectibleReturn {\n offers: Array<Order>\n page?: Page \n}\nexport interface GetCountOfListingsForCollectibleArgs {\n contractAddress: string\n tokenId: string\n filter?: OrderFilter\n}\n\nexport interface GetCountOfListingsForCollectibleReturn {\n count: number \n}\nexport interface GetCountOfOffersForCollectibleArgs {\n contractAddress: string\n tokenId: string\n filter?: OrderFilter\n}\n\nexport interface GetCountOfOffersForCollectibleReturn {\n count: number \n}\nexport interface GetCollectibleLowestOfferArgs {\n contractAddress: string\n tokenId: string\n filter?: OrderFilter\n}\n\nexport interface GetCollectibleLowestOfferReturn {\n order?: Order \n}\nexport interface GetCollectibleHighestOfferArgs {\n contractAddress: string\n tokenId: string\n filter?: OrderFilter\n}\n\nexport interface GetCollectibleHighestOfferReturn {\n order?: Order \n}\nexport interface GetCollectibleLowestListingArgs {\n contractAddress: string\n tokenId: string\n filter?: OrderFilter\n}\n\nexport interface GetCollectibleLowestListingReturn {\n order?: Order \n}\nexport interface GetCollectibleHighestListingArgs {\n contractAddress: string\n tokenId: string\n filter?: OrderFilter\n}\n\nexport interface GetCollectibleHighestListingReturn {\n order?: Order \n}\nexport interface ListCollectibleListingsArgs {\n contractAddress: string\n tokenId: string\n filter?: OrderFilter\n page?: Page\n}\n\nexport interface ListCollectibleListingsReturn {\n listings: Array<Order>\n page?: Page \n}\nexport interface ListCollectibleOffersArgs {\n contractAddress: string\n tokenId: string\n filter?: OrderFilter\n page?: Page\n}\n\nexport interface ListCollectibleOffersReturn {\n offers: Array<Order>\n page?: Page \n}\nexport interface GenerateBuyTransactionArgs {\n collectionAddress: string\n buyer: string\n marketplace: MarketplaceKind\n ordersData: Array<OrderData>\n additionalFees: Array<AdditionalFee>\n walletType?: WalletKind\n}\n\nexport interface GenerateBuyTransactionReturn {\n steps: Array<Step> \n}\nexport interface GenerateSellTransactionArgs {\n collectionAddress: string\n seller: string\n marketplace: MarketplaceKind\n ordersData: Array<OrderData>\n additionalFees: Array<AdditionalFee>\n walletType?: WalletKind\n}\n\nexport interface GenerateSellTransactionReturn {\n steps: Array<Step> \n}\nexport interface GenerateListingTransactionArgs {\n collectionAddress: string\n owner: string\n contractType: ContractType\n orderbook: OrderbookKind\n listing: CreateReq\n walletType?: WalletKind\n}\n\nexport interface GenerateListingTransactionReturn {\n steps: Array<Step> \n}\nexport interface GenerateOfferTransactionArgs {\n collectionAddress: string\n maker: string\n contractType: ContractType\n orderbook: OrderbookKind\n offer: CreateReq\n walletType?: WalletKind\n}\n\nexport interface GenerateOfferTransactionReturn {\n steps: Array<Step> \n}\nexport interface GenerateCancelTransactionArgs {\n collectionAddress: string\n maker: string\n marketplace: MarketplaceKind\n orderId: string\n}\n\nexport interface GenerateCancelTransactionReturn {\n steps: Array<Step> \n}\nexport interface ExecuteArgs {\n signature: string\n executeType: ExecuteType\n body: any\n}\n\nexport interface ExecuteReturn {\n orderId: string \n}\nexport interface ListCollectiblesArgs {\n side: OrderSide\n contractAddress: string\n filter?: CollectiblesFilter\n page?: Page\n}\n\nexport interface ListCollectiblesReturn {\n collectibles: Array<CollectibleOrder>\n page?: Page \n}\nexport interface GetCountOfAllCollectiblesArgs {\n contractAddress: string\n}\n\nexport interface GetCountOfAllCollectiblesReturn {\n count: number \n}\nexport interface GetCountOfFilteredCollectiblesArgs {\n side: OrderSide\n contractAddress: string\n filter?: CollectiblesFilter\n}\n\nexport interface GetCountOfFilteredCollectiblesReturn {\n count: number \n}\nexport interface GetFloorOrderArgs {\n contractAddress: string\n filter?: CollectiblesFilter\n}\n\nexport interface GetFloorOrderReturn {\n collectible: CollectibleOrder \n}\nexport interface ListCollectionActivitiesArgs {\n contractAddress: string\n page?: Page\n}\n\nexport interface ListCollectionActivitiesReturn {\n activities: Array<Activity>\n page?: Page \n}\nexport interface ListCollectibleActivitiesArgs {\n contractAddress: string\n tokenId: string\n page?: Page\n}\n\nexport interface ListCollectibleActivitiesReturn {\n activities: Array<Activity>\n page?: Page \n}\nexport interface ListCollectiblesWithLowestListingArgs {\n contractAddress: string\n filter?: CollectiblesFilter\n page?: Page\n}\n\nexport interface ListCollectiblesWithLowestListingReturn {\n collectibles: Array<CollectibleOrder>\n page?: Page \n}\nexport interface ListCollectiblesWithHighestOfferArgs {\n contractAddress: string\n filter?: CollectiblesFilter\n page?: Page\n}\n\nexport interface ListCollectiblesWithHighestOfferReturn {\n collectibles: Array<CollectibleOrder>\n page?: Page \n}\nexport interface SyncOrderArgs {\n order: Order\n}\n\nexport interface SyncOrderReturn { \n}\nexport interface SyncOrdersArgs {\n orders: Array<Order>\n}\n\nexport interface SyncOrdersReturn { \n}\nexport interface GetOrdersArgs {\n input: Array<GetOrdersInput>\n page?: Page\n}\n\nexport interface GetOrdersReturn {\n orders: Array<Order>\n page?: Page \n}\nexport interface CheckoutOptionsMarketplaceArgs {\n wallet: string\n orders: Array<CheckoutOptionsMarketplaceOrder>\n additionalFee: number\n}\n\nexport interface CheckoutOptionsMarketplaceReturn {\n options: CheckoutOptions \n}\nexport interface CheckoutOptionsSalesContractArgs {\n wallet: string\n contractAddress: string\n collectionAddress: string\n items: Array<CheckoutOptionsItem>\n}\n\nexport interface CheckoutOptionsSalesContractReturn {\n options: CheckoutOptions \n}\n\n\n \n//\n// Client\n//\nexport class Admin implements Admin {\n protected hostname: string\n protected fetch: Fetch\n protected path = '/rpc/Admin/'\n\n constructor(hostname: string, fetch: Fetch) {\n this.hostname = hostname.replace(/\\/*$/, '')\n this.fetch = (input: RequestInfo, init?: RequestInit) => fetch(input, init)\n }\n\n private url(name: string): string {\n return this.hostname + this.path + name\n }\n \n createCollection = (args: CreateCollectionArgs, headers?: object, signal?: AbortSignal): Promise<CreateCollectionReturn> => {\n return this.fetch(\n this.url('CreateCollection'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n collection: <Collection>(_data.collection),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n getCollection = (args: GetCollectionArgs, headers?: object, signal?: AbortSignal): Promise<GetCollectionReturn> => {\n return this.fetch(\n this.url('GetCollection'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n collection: <Collection>(_data.collection),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n updateCollection = (args: UpdateCollectionArgs, headers?: object, signal?: AbortSignal): Promise<UpdateCollectionReturn> => {\n return this.fetch(\n this.url('UpdateCollection'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n collection: <Collection>(_data.collection),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n listCollections = (args: ListCollectionsArgs, headers?: object, signal?: AbortSignal): Promise<ListCollectionsReturn> => {\n return this.fetch(\n this.url('ListCollections'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n collections: <Array<Collection>>(_data.collections),\n page: <Page>(_data.page),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n deleteCollection = (args: DeleteCollectionArgs, headers?: object, signal?: AbortSignal): Promise<DeleteCollectionReturn> => {\n return this.fetch(\n this.url('DeleteCollection'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n collection: <Collection>(_data.collection),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n syncCollection = (args: SyncCollectionArgs, headers?: object, signal?: AbortSignal): Promise<SyncCollectionReturn> => {\n return this.fetch(\n this.url('SyncCollection'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n collection: <Collection>(_data.collection),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n createCurrency = (args: CreateCurrencyArgs, headers?: object, signal?: AbortSignal): Promise<CreateCurrencyReturn> => {\n return this.fetch(\n this.url('CreateCurrency'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n currency: <Currency>(_data.currency),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n createCurrencies = (args: CreateCurrenciesArgs, headers?: object, signal?: AbortSignal): Promise<CreateCurrenciesReturn> => {\n return this.fetch(\n this.url('CreateCurrencies'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n currency: <{[key: string]: Currency}>(_data.currency),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n updateCurrency = (args: UpdateCurrencyArgs, headers?: object, signal?: AbortSignal): Promise<UpdateCurrencyReturn> => {\n return this.fetch(\n this.url('UpdateCurrency'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n currency: <Currency>(_data.currency),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n listCurrencies = (headers?: object, signal?: AbortSignal): Promise<ListCurrenciesReturn> => {\n return this.fetch(\n this.url('ListCurrencies'),\n createHTTPRequest({}, headers, signal)\n ).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n currencies: <Array<Currency>>(_data.currencies),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n deleteCurrency = (args: DeleteCurrencyArgs, headers?: object, signal?: AbortSignal): Promise<DeleteCurrencyReturn> => {\n return this.fetch(\n this.url('DeleteCurrency'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n currency: <Currency>(_data.currency),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n}\nexport class Marketplace implements Marketplace {\n protected hostname: string\n protected fetch: Fetch\n protected path = '/rpc/Marketplace/'\n\n constructor(hostname: string, fetch: Fetch) {\n this.hostname = hostname.replace(/\\/*$/, '')\n this.fetch = (input: RequestInfo, init?: RequestInit) => fetch(input, init)\n }\n\n private url(name: string): string {\n return this.hostname + this.path + name\n }\n \n listCurrencies = (headers?: object, signal?: AbortSignal): Promise<ListCurrenciesReturn> => {\n return this.fetch(\n this.url('ListCurrencies'),\n createHTTPRequest({}, headers, signal)\n ).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n currencies: <Array<Currency>>(_data.currencies),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n getCollectionDetail = (args: GetCollectionDetailArgs, headers?: object, signal?: AbortSignal): Promise<GetCollectionDetailReturn> => {\n return this.fetch(\n this.url('GetCollectionDetail'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n collection: <Collection>(_data.collection),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n getCollectible = (args: GetCollectibleArgs, headers?: object, signal?: AbortSignal): Promise<GetCollectibleReturn> => {\n return this.fetch(\n this.url('GetCollectible'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n metadata: <TokenMetadata>(_data.metadata),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n getLowestPriceOfferForCollectible = (args: GetLowestPriceOfferForCollectibleArgs, headers?: object, signal?: AbortSignal): Promise<GetLowestPriceOfferForCollectibleReturn> => {\n return this.fetch(\n this.url('GetLowestPriceOfferForCollectible'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n order: <Order>(_data.order),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n getHighestPriceOfferForCollectible = (args: GetHighestPriceOfferForCollectibleArgs, headers?: object, signal?: AbortSignal): Promise<GetHighestPriceOfferForCollectibleReturn> => {\n return this.fetch(\n this.url('GetHighestPriceOfferForCollectible'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n order: <Order>(_data.order),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n getLowestPriceListingForCollectible = (args: GetLowestPriceListingForCollectibleArgs, headers?: object, signal?: AbortSignal): Promise<GetLowestPriceListingForCollectibleReturn> => {\n return this.fetch(\n this.url('GetLowestPriceListingForCollectible'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n order: <Order>(_data.order),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n getHighestPriceListingForCollectible = (args: GetHighestPriceListingForCollectibleArgs, headers?: object, signal?: AbortSignal): Promise<GetHighestPriceListingForCollectibleReturn> => {\n return this.fetch(\n this.url('GetHighestPriceListingForCollectible'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n order: <Order>(_data.order),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n listListingsForCollectible = (args: ListListingsForCollectibleArgs, headers?: object, signal?: AbortSignal): Promise<ListListingsForCollectibleReturn> => {\n return this.fetch(\n this.url('ListListingsForCollectible'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n listings: <Array<Order>>(_data.listings),\n page: <Page>(_data.page),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n listOffersForCollectible = (args: ListOffersForCollectibleArgs, headers?: object, signal?: AbortSignal): Promise<ListOffersForCollectibleReturn> => {\n return this.fetch(\n this.url('ListOffersForCollectible'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n offers: <Array<Order>>(_data.offers),\n page: <Page>(_data.page),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n getCountOfListingsForCollectible = (args: GetCountOfListingsForCollectibleArgs, headers?: object, signal?: AbortSignal): Promise<GetCountOfListingsForCollectibleReturn> => {\n return this.fetch(\n this.url('GetCountOfListingsForCollectible'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n count: <number>(_data.count),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n getCountOfOffersForCollectible = (args: GetCountOfOffersForCollectibleArgs, headers?: object, signal?: AbortSignal): Promise<GetCountOfOffersForCollectibleReturn> => {\n return this.fetch(\n this.url('GetCountOfOffersForCollectible'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n count: <number>(_data.count),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n getCollectibleLowestOffer = (args: GetCollectibleLowestOfferArgs, headers?: object, signal?: AbortSignal): Promise<GetCollectibleLowestOfferReturn> => {\n return this.fetch(\n this.url('GetCollectibleLowestOffer'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n order: <Order>(_data.order),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n getCollectibleHighestOffer = (args: GetCollectibleHighestOfferArgs, headers?: object, signal?: AbortSignal): Promise<GetCollectibleHighestOfferReturn> => {\n return this.fetch(\n this.url('GetCollectibleHighestOffer'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n order: <Order>(_data.order),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n getCollectibleLowestListing = (args: GetCollectibleLowestListingArgs, headers?: object, signal?: AbortSignal): Promise<GetCollectibleLowestListingReturn> => {\n return this.fetch(\n this.url('GetCollectibleLowestListing'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n order: <Order>(_data.order),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n getCollectibleHighestListing = (args: GetCollectibleHighestListingArgs, headers?: object, signal?: AbortSignal): Promise<GetCollectibleHighestListingReturn> => {\n return this.fetch(\n this.url('GetCollectibleHighestListing'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n order: <Order>(_data.order),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n listCollectibleListings = (args: ListCollectibleListingsArgs, headers?: object, signal?: AbortSignal): Promise<ListCollectibleListingsReturn> => {\n return this.fetch(\n this.url('ListCollectibleListings'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n listings: <Array<Order>>(_data.listings),\n page: <Page>(_data.page),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n listCollectibleOffers = (args: ListCollectibleOffersArgs, headers?: object, signal?: AbortSignal): Promise<ListCollectibleOffersReturn> => {\n return this.fetch(\n this.url('ListCollectibleOffers'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n offers: <Array<Order>>(_data.offers),\n page: <Page>(_data.page),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n generateBuyTransaction = (args: GenerateBuyTransactionArgs, headers?: object, signal?: AbortSignal): Promise<GenerateBuyTransactionReturn> => {\n return this.fetch(\n this.url('GenerateBuyTransaction'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n steps: <Array<Step>>(_data.steps),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n generateSellTransaction = (args: GenerateSellTransactionArgs, headers?: object, signal?: AbortSignal): Promise<GenerateSellTransactionReturn> => {\n return this.fetch(\n this.url('GenerateSellTransaction'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n steps: <Array<Step>>(_data.steps),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n generateListingTransaction = (args: GenerateListingTransactionArgs, headers?: object, signal?: AbortSignal): Promise<GenerateListingTransactionReturn> => {\n return this.fetch(\n this.url('GenerateListingTransaction'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n steps: <Array<Step>>(_data.steps),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n generateOfferTransaction = (args: GenerateOfferTransactionArgs, headers?: object, signal?: AbortSignal): Promise<GenerateOfferTransactionReturn> => {\n return this.fetch(\n this.url('GenerateOfferTransaction'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n steps: <Array<Step>>(_data.steps),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n generateCancelTransaction = (args: GenerateCancelTransactionArgs, headers?: object, signal?: AbortSignal): Promise<GenerateCancelTransactionReturn> => {\n return this.fetch(\n this.url('GenerateCancelTransaction'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n steps: <Array<Step>>(_data.steps),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n execute = (args: ExecuteArgs, headers?: object, signal?: AbortSignal): Promise<ExecuteReturn> => {\n return this.fetch(\n this.url('Execute'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n orderId: <string>(_data.orderId),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n listCollectibles = (args: ListCollectiblesArgs, headers?: object, signal?: AbortSignal): Promise<ListCollectiblesReturn> => {\n return this.fetch(\n this.url('ListCollectibles'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n collectibles: <Array<CollectibleOrder>>(_data.collectibles),\n page: <Page>(_data.page),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n getCountOfAllCollectibles = (args: GetCountOfAllCollectiblesArgs, headers?: object, signal?: AbortSignal): Promise<GetCountOfAllCollectiblesReturn> => {\n return this.fetch(\n this.url('GetCountOfAllCollectibles'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n count: <number>(_data.count),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n getCountOfFilteredCollectibles = (args: GetCountOfFilteredCollectiblesArgs, headers?: object, signal?: AbortSignal): Promise<GetCountOfFilteredCollectiblesReturn> => {\n return this.fetch(\n this.url('GetCountOfFilteredCollectibles'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n count: <number>(_data.count),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n getFloorOrder = (args: GetFloorOrderArgs, headers?: object, signal?: AbortSignal): Promise<GetFloorOrderReturn> => {\n return this.fetch(\n this.url('GetFloorOrder'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n collectible: <CollectibleOrder>(_data.collectible),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n listCollectionActivities = (args: ListCollectionActivitiesArgs, headers?: object, signal?: AbortSignal): Promise<ListCollectionActivitiesReturn> => {\n return this.fetch(\n this.url('ListCollectionActivities'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n activities: <Array<Activity>>(_data.activities),\n page: <Page>(_data.page),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n listCollectibleActivities = (args: ListCollectibleActivitiesArgs, headers?: object, signal?: AbortSignal): Promise<ListCollectibleActivitiesReturn> => {\n return this.fetch(\n this.url('ListCollectibleActivities'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n activities: <Array<Activity>>(_data.activities),\n page: <Page>(_data.page),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n listCollectiblesWithLowestListing = (args: ListCollectiblesWithLowestListingArgs, headers?: object, signal?: AbortSignal): Promise<ListCollectiblesWithLowestListingReturn> => {\n return this.fetch(\n this.url('ListCollectiblesWithLowestListing'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n collectibles: <Array<CollectibleOrder>>(_data.collectibles),\n page: <Page>(_data.page),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n listCollectiblesWithHighestOffer = (args: ListCollectiblesWithHighestOfferArgs, headers?: object, signal?: AbortSignal): Promise<ListCollectiblesWithHighestOfferReturn> => {\n return this.fetch(\n this.url('ListCollectiblesWithHighestOffer'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n collectibles: <Array<CollectibleOrder>>(_data.collectibles),\n page: <Page>(_data.page),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n syncOrder = (args: SyncOrderArgs, headers?: object, signal?: AbortSignal): Promise<SyncOrderReturn> => {\n return this.fetch(\n this.url('SyncOrder'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {}\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n syncOrders = (args: SyncOrdersArgs, headers?: object, signal?: AbortSignal): Promise<SyncOrdersReturn> => {\n return this.fetch(\n this.url('SyncOrders'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {}\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n getOrders = (args: GetOrdersArgs, headers?: object, signal?: AbortSignal): Promise<GetOrdersReturn> => {\n return this.fetch(\n this.url('GetOrders'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n orders: <Array<Order>>(_data.orders),\n page: <Page>(_data.page),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n checkoutOptionsMarketplace = (args: CheckoutOptionsMarketplaceArgs, headers?: object, signal?: AbortSignal): Promise<CheckoutOptionsMarketplaceReturn> => {\n return this.fetch(\n this.url('CheckoutOptionsMarketplace'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n options: <CheckoutOptions>(_data.options),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n checkoutOptionsSalesContract = (args: CheckoutOptionsSalesContractArgs, headers?: object, signal?: AbortSignal): Promise<CheckoutOptionsSalesContractReturn> => {\n return this.fetch(\n this.url('CheckoutOptionsSalesContract'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n options: <CheckoutOptions>(_data.options),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n}\n\n const createHTTPRequest = (body: object = {}, headers: object = {}, signal: AbortSignal | null = null): object => {\n const reqHeaders: {[key: string]: string} = { ...headers, 'Content-Type': 'application/json' }\n reqHeaders[WebrpcHeader] = WebrpcHeaderValue\n\n return {\n method: 'POST',\n headers: reqHeaders,\n body: JSON.stringify(body || {}),\n signal\n }\n}\n\nconst buildResponse = (res: Response): Promise<any> => {\n return res.text().then(text => {\n let data\n try {\n data = JSON.parse(text)\n } catch(error) {\n let message = ''\n if (error instanceof Error) {\n message = error.message\n }\n throw WebrpcBadResponseError.new({\n status: res.status,\n cause: `JSON.parse(): ${message}: response text: ${text}`},\n )\n }\n if (!res.ok) {\n const code: number = (typeof data.code === 'number') ? data.code : 0\n throw (webrpcErrorByCode[code] || WebrpcError).new(data)\n }\n return data\n })\n}\n\n//\n// Errors\n//\n\nexport class WebrpcError extends Error {\n name: string\n code: number\n message: string\n status: number\n cause?: string\n\n /** @deprecated Use message instead of msg. Deprecated in webrpc v0.11.0. */\n msg: string\n\n constructor(name: string, code: number, message: string, status: number, cause?: string) {\n super(message)\n this.name = name || 'WebrpcError'\n this.code = typeof code === 'number' ? code : 0\n this.message = message || `endpoint error ${this.code}`\n this.msg = this.message\n this.status = typeof status === 'number' ? status : 0\n this.cause = cause\n Object.setPrototypeOf(this, WebrpcError.prototype)\n }\n\n static new(payload: any): WebrpcError {\n return new this(payload.error, payload.code, payload.message || payload.msg, payload.status, payload.cause)\n }\n}\n\n// Webrpc errors\n\nexport class WebrpcEndpointError extends WebrpcError {\n constructor(\n name: string = 'WebrpcEndpoint',\n code: number = 0,\n message: string = `endpoint error`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause)\n Object.setPrototypeOf(this, WebrpcEndpointError.prototype)\n }\n}\n\nexport class WebrpcRequestFailedError extends WebrpcError {\n constructor(\n name: string = 'WebrpcRequestFailed',\n code: number = -1,\n message: string = `request failed`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause)\n Object.setPrototypeOf(this, WebrpcRequestFailedError.prototype)\n }\n}\n\nexport class WebrpcBadRouteError extends WebrpcError {\n constructor(\n name: string = 'WebrpcBadRoute',\n code: number = -2,\n message: string = `bad route`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause)\n Object.setPrototypeOf(this, WebrpcBadRouteError.prototype)\n }\n}\n\nexport class WebrpcBadMethodError extends WebrpcError {\n constructor(\n name: string = 'WebrpcBadMethod',\n code: number = -3,\n message: string = `bad method`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause)\n Object.setPrototypeOf(this, WebrpcBadMethodError.prototype)\n }\n}\n\nexport class WebrpcBadRequestError extends WebrpcError {\n constructor(\n name: string = 'WebrpcBadRequest',\n code: number = -4,\n message: string = `bad request`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause)\n Object.setPrototypeOf(this, WebrpcBadRequestError.prototype)\n }\n}\n\nexport class WebrpcBadResponseError extends WebrpcError {\n constructor(\n name: string = 'WebrpcBadResponse',\n code: number = -5,\n message: string = `bad response`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause)\n Object.setPrototypeOf(this, WebrpcBadResponseError.prototype)\n }\n}\n\nexport class WebrpcServerPanicError extends WebrpcError {\n constructor(\n name: string = 'WebrpcServerPanic',\n code: number = -6,\n message: string = `server panic`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause)\n Object.setPrototypeOf(this, WebrpcServerPanicError.prototype)\n }\n}\n\nexport class WebrpcInternalErrorError extends WebrpcError {\n constructor(\n name: string = 'WebrpcInternalError',\n code: number = -7,\n message: string = `internal error`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause)\n Object.setPrototypeOf(this, WebrpcInternalErrorError.prototype)\n }\n}\n\nexport class WebrpcClientDisconnectedError extends WebrpcError {\n constructor(\n name: string = 'WebrpcClientDisconnected',\n code: number = -8,\n message: string = `client disconnected`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause)\n Object.setPrototypeOf(this, WebrpcClientDisconnectedError.prototype)\n }\n}\n\nexport class WebrpcStreamLostError extends WebrpcError {\n constructor(\n name: string = 'WebrpcStreamLost',\n code: number = -9,\n message: string = `stream lost`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause)\n Object.setPrototypeOf(this, WebrpcStreamLostError.prototype)\n }\n}\n\nexport class WebrpcStreamFinishedError extends WebrpcError {\n constructor(\n name: string = 'WebrpcStreamFinished',\n code: number = -10,\n message: string = `stream finished`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause)\n Object.setPrototypeOf(this, WebrpcStreamFinishedError.prototype)\n }\n}\n\n\n// Schema errors\n\nexport class UnauthorizedError extends WebrpcError {\n constructor(\n name: string = 'Unauthorized',\n code: number = 1000,\n message: string = `Unauthorized access`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause)\n Object.setPrototypeOf(this, UnauthorizedError.prototype)\n }\n}\n\nexport class PermissionDeniedError extends WebrpcError {\n constructor(\n name: string = 'PermissionDenied',\n code: number = 1001,\n message: string = `Permission denied`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause)\n Object.setPrototypeOf(this, PermissionDeniedError.prototype)\n }\n}\n\nexport class SessionExpiredError extends WebrpcError {\n constructor(\n name: string = 'SessionExpired',\n code: number = 1002,\n message: string = `Session expired`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause)\n Object.setPrototypeOf(this, SessionExpiredError.prototype)\n }\n}\n\nexport class MethodNotFoundError extends WebrpcError {\n constructor(\n name: string = 'MethodNotFound',\n code: number = 1003,\n message: string = `Method not found`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause)\n Object.setPrototypeOf(this, MethodNotFoundError.prototype)\n }\n}\n\nexport class TimeoutError extends WebrpcError {\n constructor(\n name: string = 'Timeout',\n code: number = 2000,\n message: string = `Request timed out`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause)\n Object.setPrototypeOf(this, TimeoutError.prototype)\n }\n}\n\nexport class InvalidArgumentError extends WebrpcError {\n constructor(\n name: string = 'InvalidArgument',\n code: number = 2001,\n message: string = `Invalid argument`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause)\n Object.setPrototypeOf(this, InvalidArgumentError.prototype)\n }\n}\n\nexport class NotFoundError extends WebrpcError {\n constructor(\n name: string = 'NotFound',\n code: number = 3000,\n message: string = `Resource not found`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause)\n Object.setPrototypeOf(this, NotFoundError.prototype)\n }\n}\n\nexport class UserNotFoundError extends WebrpcError {\n constructor(\n name: string = 'UserNotFound',\n code: number = 3001,\n message: string = `User not found`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause)\n Object.setPrototypeOf(this, UserNotFoundError.prototype)\n }\n}\n\nexport class ProjectNotFoundError extends WebrpcError {\n constructor(\n name: string = 'ProjectNotFound',\n code: number = 3002,\n message: string = `Project not found`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause)\n Object.setPrototypeOf(this, ProjectNotFoundError.prototype)\n }\n}\n\nexport class InvalidTierError extends WebrpcError {\n constructor(\n name: string = 'InvalidTier',\n code: number = 3003,\n message: string = `Invalid subscription tier`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause)\n Object.setPrototypeOf(this, InvalidTierError.prototype)\n }\n}\n\nexport class ProjectLimitReachedError extends WebrpcError {\n constructor(\n name: string = 'ProjectLimitReached',\n code: number = 3005,\n message: string = `Project limit reached`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause)\n Object.setPrototypeOf(this, ProjectLimitReachedError.prototype)\n }\n}\n\nexport class NotImplementedError extends WebrpcError {\n constructor(\n name: string = 'NotImplemented',\n code: number = 9999,\n message: string = `Not Implemented`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause)\n Object.setPrototypeOf(this, NotImplementedError.prototype)\n }\n}\n\n\nexport enum errors {\n WebrpcEndpoint = 'WebrpcEndpoint',\n WebrpcRequestFailed = 'WebrpcRequestFailed',\n WebrpcBadRoute = 'WebrpcBadRoute',\n WebrpcBadMethod = 'WebrpcBadMethod',\n WebrpcBadRequest = 'WebrpcBadRequest',\n WebrpcBadResponse = 'WebrpcBadResponse',\n WebrpcServerPanic = 'WebrpcServerPanic',\n WebrpcInternalError = 'WebrpcInternalError',\n WebrpcClientDisconnected = 'WebrpcClientDisconnected',\n WebrpcStreamLost = 'WebrpcStreamLost',\n WebrpcStreamFinished = 'WebrpcStreamFinished',\n Unauthorized = 'Unauthorized',\n PermissionDenied = 'PermissionDenied',\n SessionExpired = 'SessionExpired',\n MethodNotFound = 'MethodNotFound',\n Timeout = 'Timeout',\n InvalidArgument = 'InvalidArgument',\n NotFound = 'NotFound',\n UserNotFound = 'UserNotFound',\n ProjectNotFound = 'ProjectNotFound',\n InvalidTier = 'InvalidTier',\n ProjectLimitReached = 'ProjectLimitReached',\n NotImplemented = 'NotImplemented',\n}\n\nexport enum WebrpcErrorCodes {\n WebrpcEndpoint = 0,\n WebrpcRequestFailed = -1,\n WebrpcBadRoute = -2,\n WebrpcBadMethod = -3,\n WebrpcBadRequest = -4,\n WebrpcBadResponse = -5,\n WebrpcServerPanic = -6,\n WebrpcInternalError = -7,\n WebrpcClientDisconnected = -8,\n WebrpcStreamLost = -9,\n WebrpcStreamFinished = -10,\n Unauthorized = 1000,\n PermissionDenied = 1001,\n SessionExpired = 1002,\n MethodNotFound = 1003,\n Timeout = 2000,\n InvalidArgument = 2001,\n NotFound = 3000,\n UserNotFound = 3001,\n ProjectNotFound = 3002,\n InvalidTier = 3003,\n ProjectLimitReached = 3005,\n NotImplemented = 9999,\n}\n\nexport const webrpcErrorByCode: { [code: number]: any } = {\n [0]: WebrpcEndpointError,\n [-1]: WebrpcRequestFailedError,\n [-2]: WebrpcBadRouteError,\n [-3]: WebrpcBadMethodError,\n [-4]: WebrpcBadRequestError,\n [-5]: WebrpcBadResponseError,\n [-6]: WebrpcServerPanicError,\n [-7]: WebrpcInternalErrorError,\n [-8]: WebrpcClientDisconnectedError,\n [-9]: WebrpcStreamLostError,\n [-10]: WebrpcStreamFinishedError,\n [1000]: UnauthorizedError,\n [1001]: PermissionDeniedError,\n [1002]: SessionExpiredError,\n [1003]: MethodNotFoundError,\n [2000]: TimeoutError,\n [2001]: InvalidArgumentError,\n [3000]: NotFoundError,\n [3001]: UserNotFoundError,\n [3002]: ProjectNotFoundError,\n [3003]: InvalidTierError,\n [3005]: ProjectLimitReachedError,\n [9999]: NotImplementedError,\n}\n\nexport type Fetch = (input: RequestInfo, init?: RequestInit) => Promise<Response>\n","import type { OrderbookKind } from '../react/_internal/api/marketplace.gen';\n\n// Manual copy of the types from builder\nexport enum MarketplaceWallet {\n\tUNIVERSAL = 'UNIVERSAL',\n\tEMBEDDED = 'EMBEDDED',\n}\n\nexport enum FilterCondition {\n\tENTIRE_KEY = 'ENTIRE_KEY',\n\tSPECIFIC_VALUE = 'SPECIFIC_VALUE',\n}\n\nexport enum MarketplaceType { // This is only used for marketplace v1\n\tAMM = 'AMM',\n\tP2P = 'P2P',\n\tSEQUENCE = 'SEQUENCE',\n\tORDERBOOK = 'ORDERBOOK',\n}\n\nexport interface MarketplaceWalletOptions {\n\twalletType: MarketplaceWallet;\n\toidcIssuers: { [key: string]: string };\n\tconnectors: Array<string>;\n\tincludeEIP6963Wallets: boolean;\n}\n\nexport interface MetadataFilterRule {\n\tkey: string;\n\tcondition: FilterCondition;\n\tvalue?: string;\n}\n\nexport interface CollectionFilterSettings {\n\tfilterOrder: Array<string>;\n\texclusions: Array<MetadataFilterRule>;\n}\n\nexport interface MarketplaceCollection {\n\tmarketplaceType: MarketplaceType;\n\tchainId: number;\n\taddress: string;\n\texchanges: Array<string>;\n\tbannerUrl: string;\n\tfeePercentage: number;\n\tcurrencyOptions: Array<string>;\n\tdestinationMarketplace: OrderbookKind;\n\tfilterSettings?: CollectionFilterSettings;\n}\n\nexport interface MarketplaceSocials {\n\ttwitter: string;\n\tdiscord: string;\n\twebsite: string;\n\ttiktok: string;\n\tinstagram: string;\n\tyoutube: string;\n}\n\nexport interface MarketplaceSettings {\n\tpublisherId: string;\n\ttitle: string;\n\tshortDescription: string;\n\tsocials: MarketplaceSocials;\n\tfaviconUrl: string;\n\tlandingBannerUrl: string;\n\tcollections: Array<MarketplaceCollection>;\n\twalletOptions: MarketplaceWalletOptions;\n\tlandingPageLayout: string;\n\tlogoUrl: string;\n\tbannerUrl: string;\n\tfontUrl?: string;\n\togImage?: string;\n}\n\nexport interface MarketplaceConfig extends MarketplaceSettings {\n\tcssString: string;\n\tmanifestUrl: string;\n}\n"],"mappings":"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","names":["SortOrder","PropertyType","MarketplaceKind","OrderbookKind","SourceKind","OrderSide","OrderStatus","ContractType","CollectionStatus","ProjectStatus","CollectibleStatus","WalletKind","StepType","TransactionCrypto","ExecuteType","MarketplaceWallet","FilterCondition","MarketplaceType"]}
@@ -17,79 +17,6 @@ var compareAddress = (a = "", b = "") => {
17
17
  return a.toLowerCase() === b.toLowerCase();
18
18
  };
19
19
 
20
- // src/utils/get-public-rpc-client.ts
21
- import { allNetworks, findNetworkConfig } from "@0xsequence/network";
22
- import { http, createPublicClient } from "viem";
23
-
24
- // src/utils/_internal/error/base.ts
25
- var BaseError = class extends Error {
26
- details;
27
- shortMessage;
28
- name = "MarketplaceSdkBaseError";
29
- constructor(shortMessage, options = {}) {
30
- super();
31
- const details = "details" in options ? options.details : "";
32
- this.message = [
33
- shortMessage || "An error occurred.",
34
- "",
35
- ...details ? [`Details: ${details}`] : []
36
- ].join("\n");
37
- if ("cause" in options && options.cause) {
38
- this.cause = options.cause;
39
- }
40
- this.details = details || "";
41
- this.shortMessage = shortMessage;
42
- }
43
- };
44
-
45
- // src/utils/_internal/error/transaction.ts
46
- var TransactionError = class extends BaseError {
47
- name = "TransactionError";
48
- };
49
- var MissingConfigError = class extends TransactionError {
50
- name = "MissingConfigError";
51
- constructor(configName) {
52
- super(`Missing required config: ${configName}`, {
53
- details: "A required configuration parameter is missing."
54
- });
55
- }
56
- };
57
-
58
- // src/utils/get-public-rpc-client.ts
59
- var getPublicRpcClient = (chainId) => {
60
- if (chainId === void 0) {
61
- throw new MissingConfigError(
62
- `Network configuration for chainId: ${chainId}`
63
- );
64
- }
65
- const network = findNetworkConfig(allNetworks, chainId);
66
- if (!network) {
67
- throw new MissingConfigError(
68
- `Network configuration for chainId: ${chainId}`
69
- );
70
- }
71
- return createPublicClient({
72
- chain: {
73
- ...network,
74
- id: Number(chainId),
75
- name: network.name,
76
- nativeCurrency: { ...network.nativeToken },
77
- rpcUrls: {
78
- default: {
79
- http: [network.rpcUrl]
80
- },
81
- public: {
82
- http: [network.rpcUrl]
83
- }
84
- }
85
- },
86
- batch: {
87
- multicall: true
88
- },
89
- transport: http()
90
- });
91
- };
92
-
93
20
  // src/utils/network.ts
94
21
  import { networks } from "@0xsequence/network";
95
22
  var getPresentableChainName = (chainId) => {
@@ -110,6 +37,13 @@ var calculatePriceDifferencePercentage = ({
110
37
  const percentageDifference = difference / basePrice * 100;
111
38
  return percentageDifference.toFixed(2);
112
39
  };
40
+ var formatPrice = (amount, decimals) => {
41
+ const formattedUnits = Number(formatUnits(BigInt(amount), decimals));
42
+ return formattedUnits.toLocaleString("en-US", {
43
+ minimumFractionDigits: 0,
44
+ maximumFractionDigits: decimals
45
+ });
46
+ };
113
47
 
114
48
  // src/react/ui/components/marketplace-logos/marketplace-logos.tsx
115
49
  import { lazy, Suspense } from "react";
@@ -294,9 +228,9 @@ export {
294
228
  truncateMiddle,
295
229
  truncateEnd,
296
230
  compareAddress,
297
- getPublicRpcClient,
298
231
  getPresentableChainName,
299
232
  calculatePriceDifferencePercentage,
233
+ formatPrice,
300
234
  getMarketplaceDetails
301
235
  };
302
- //# sourceMappingURL=chunk-J6F5QOW5.js.map
236
+ //# sourceMappingURL=chunk-3OU7BADC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/address.ts","../src/utils/network.ts","../src/utils/price.ts","../src/react/ui/components/marketplace-logos/marketplace-logos.tsx","../src/utils/getMarketplaceDetails.ts"],"sourcesContent":["export const truncateMiddle = (\n\taddress: string,\n\tminPrefix = 20,\n\tminSuffix = 3,\n): string => {\n\tif (minPrefix + minSuffix >= 40) {\n\t\treturn address;\n\t}\n\treturn `${address.substring(0, 2 + minPrefix)}…${address.substring(address.length - minSuffix)}`;\n};\n\nexport const truncateEnd = (text: string | undefined, truncateAt: number) => {\n\tif (!text) return '';\n\n\tlet finalText = text;\n\n\tif (text.length >= truncateAt) {\n\t\tfinalText = `${text.slice(0, truncateAt)}...`;\n\t}\n\n\treturn finalText;\n};\n\nexport const compareAddress = (a = '', b = '') => {\n\treturn a.toLowerCase() === b.toLowerCase();\n};\n","import { networks, type ChainId as sequenceChainId } from '@0xsequence/network';\nimport type { ChainId } from '../react/_internal';\n\nexport const getPresentableChainName = (chainId: ChainId) => {\n\tconst id = Number(chainId) as sequenceChainId;\n\treturn networks[id]?.name;\n};\n","import { formatUnits } from 'viem';\n\ntype CalculatePriceDifferencePercentageArgs = {\n\tinputPriceRaw: bigint;\n\tbasePriceRaw: bigint;\n\tdecimals: number;\n};\n\nexport const calculatePriceDifferencePercentage = ({\n\tinputPriceRaw,\n\tbasePriceRaw,\n\tdecimals,\n}: CalculatePriceDifferencePercentageArgs) => {\n\tconst inputPrice = Number(formatUnits(inputPriceRaw, decimals));\n\tconst basePrice = Number(formatUnits(basePriceRaw, decimals));\n\tconst difference = inputPrice - basePrice;\n\tconst percentageDifference = (difference / basePrice) * 100;\n\n\treturn percentageDifference.toFixed(2);\n};\n\nexport const formatPrice = (\n\tamount: string | number | bigint,\n\tdecimals: number,\n): string => {\n\tconst formattedUnits = Number(formatUnits(BigInt(amount), decimals));\n\treturn formattedUnits.toLocaleString('en-US', {\n\t\tminimumFractionDigits: 0,\n\t\tmaximumFractionDigits: decimals,\n\t});\n};\n","import { type ComponentProps, lazy, Suspense } from 'react';\nimport { Image } from '@0xsequence/design-system';\n\n/* @__PURE__ */\nconst createMarketplaceLogo = (\n\timportFn: () => Promise<{ default: string }>,\n\talt: string,\n) => {\n\tconst LazyLogo = lazy(async () => {\n\t\tconst src = await importFn();\n\t\treturn {\n\t\t\tdefault: function MarketplaceLogo({\n\t\t\t\talt: altProp,\n\t\t\t\t...props\n\t\t\t}: ComponentProps<typeof Image>) {\n\t\t\t\treturn <Image src={src.default} alt={altProp || alt} {...props} />;\n\t\t\t},\n\t\t};\n\t});\n\n\treturn function MarketplaceLogo(props: ComponentProps<typeof Image>) {\n\t\treturn (\n\t\t\t<Suspense\n\t\t\t\tfallback={<div style={{ width: props.width, height: props.height }} />}\n\t\t\t>\n\t\t\t\t<LazyLogo {...props} />\n\t\t\t</Suspense>\n\t\t);\n\t};\n};\n\nexport const AlienSwapLogo = createMarketplaceLogo(\n\t() => import('../../images/marketplaces/alien_swap.png'),\n\t'AlienSwap Logo',\n);\nexport const AquaXyzLogo = createMarketplaceLogo(\n\t() => import('../../images/marketplaces/aqua-xyz.png'),\n\t'AquaXyz Logo',\n);\nexport const AuraLogo = createMarketplaceLogo(\n\t() => import('../../images/marketplaces/aura.png'),\n\t'Aura Logo',\n);\nexport const BlurLogo = createMarketplaceLogo(\n\t() => import('../../images/marketplaces/blur.png'),\n\t'Blur Logo',\n);\nexport const CoinbaseLogo = createMarketplaceLogo(\n\t() => import('../../images/marketplaces/coinbase.png'),\n\t'Coinbase Logo',\n);\nexport const ElementLogo = createMarketplaceLogo(\n\t() => import('../../images/marketplaces/element.png'),\n\t'Element Logo',\n);\nexport const FoundationLogo = createMarketplaceLogo(\n\t() => import('../../images/marketplaces/foundation.png'),\n\t'Foundation Logo',\n);\nexport const LooksRareLogo = createMarketplaceLogo(\n\t() => import('../../images/marketplaces/looks-rare.png'),\n\t'LooksRare Logo',\n);\nexport const MagicEdenLogo = createMarketplaceLogo(\n\t() => import('../../images/marketplaces/magic-eden.png'),\n\t'MagicEden Logo',\n);\nexport const ManifoldLogo = createMarketplaceLogo(\n\t() => import('../../images/marketplaces/manifold.png'),\n\t'Manifold Logo',\n);\nexport const MintifyLogo = createMarketplaceLogo(\n\t() => import('../../images/marketplaces/mintify.png'),\n\t'Mintify Logo',\n);\nexport const NftxLogo = createMarketplaceLogo(\n\t() => import('../../images/marketplaces/nftx.png'),\n\t'NFTX Logo',\n);\nexport const OkxLogo = createMarketplaceLogo(\n\t() => import('../../images/marketplaces/okx.png'),\n\t'OKX Logo',\n);\nexport const OpenSeaLogo = createMarketplaceLogo(\n\t() => import('../../images/marketplaces/open-sea.png'),\n\t'OpenSea Logo',\n);\nexport const RaribleLogo = createMarketplaceLogo(\n\t() => import('../../images/marketplaces/rarible.png'),\n\t'Rarible Logo',\n);\nexport const SequenceLogo = createMarketplaceLogo(\n\t() => import('../../images/marketplaces/sequence.png'),\n\t'Sequence Logo',\n);\nexport const SudoSwapLogo = createMarketplaceLogo(\n\t() => import('../../images/marketplaces/sudo-swap.png'),\n\t'SudoSwap Logo',\n);\nexport const SuperRareLogo = createMarketplaceLogo(\n\t() => import('../../images/marketplaces/super-rare.png'),\n\t'SuperRare Logo',\n);\nexport const X2y2Logo = createMarketplaceLogo(\n\t() => import('../../images/marketplaces/x2y2.png'),\n\t'X2Y2 Logo',\n);\nexport const ZoraLogo = createMarketplaceLogo(\n\t() => import('../../images/marketplaces/zora.png'),\n\t'Zora Logo',\n);\n","import { MarketplaceKind } from '../types';\nimport type { ComponentType } from 'react';\nimport type { Image } from '@0xsequence/design-system';\nimport {\n\tSequenceLogo,\n\tOpenSeaLogo,\n\tMagicEdenLogo,\n\tMintifyLogo,\n\tLooksRareLogo,\n\tX2y2Logo,\n\tBlurLogo,\n\tAlienSwapLogo,\n} from '../react/ui/components/marketplace-logos';\n\ninterface Marketplace {\n\tlogo: ComponentType<React.ComponentProps<typeof Image>>;\n\tdisplayName: string;\n}\n\nconst MARKETPLACES: Record<string, Marketplace> = {\n\tsequence: {\n\t\tlogo: SequenceLogo,\n\t\tdisplayName: 'Sequence',\n\t},\n\topensea: {\n\t\tlogo: OpenSeaLogo,\n\t\tdisplayName: 'OpenSea',\n\t},\n\tmagiceden: {\n\t\tlogo: MagicEdenLogo,\n\t\tdisplayName: 'Magic Eden',\n\t},\n\tmintify: {\n\t\tlogo: MintifyLogo,\n\t\tdisplayName: 'Mintify',\n\t},\n\tlooksrare: {\n\t\tlogo: LooksRareLogo,\n\t\tdisplayName: 'Looks Rare',\n\t},\n\tx2y2: {\n\t\tlogo: X2y2Logo,\n\t\tdisplayName: 'X2Y2',\n\t},\n\tblur: {\n\t\tlogo: BlurLogo,\n\t\tdisplayName: 'Blur',\n\t},\n\talienswap: {\n\t\tlogo: AlienSwapLogo,\n\t\tdisplayName: 'AlienSwap',\n\t},\n} as const;\n\nconst KIND_TO_MARKETPLACE: Partial<\n\tRecord<MarketplaceKind, keyof typeof MARKETPLACES>\n> = {\n\t[MarketplaceKind.sequence_marketplace_v1]: 'sequence',\n\t[MarketplaceKind.sequence_marketplace_v2]: 'sequence',\n\t[MarketplaceKind.opensea]: 'opensea',\n\t[MarketplaceKind.mintify]: 'mintify',\n\t[MarketplaceKind.looks_rare]: 'looksrare',\n\t[MarketplaceKind.x2y2]: 'x2y2',\n\t[MarketplaceKind.blur]: 'blur',\n};\n\ntype MarketplaceDetailsProp = {\n\toriginName: string;\n\tkind: MarketplaceKind;\n};\n\n// TODO: add suport for more marketplaces and improve detection of marketplace\nexport function getMarketplaceDetails({\n\toriginName,\n\tkind,\n}: MarketplaceDetailsProp) {\n\tif (\n\t\tkind === MarketplaceKind.sequence_marketplace_v1 ||\n\t\tkind === MarketplaceKind.sequence_marketplace_v2\n\t) {\n\t\treturn MARKETPLACES.sequence;\n\t}\n\n\tlet name = originName.toLowerCase();\n\n\ttry {\n\t\t//Check if the name can be parsed as a url\n\t\tnew URL(name);\n\t\t// if it can we are naively trying to extract the root domain\n\t\tname = getRootDomain(name) || name;\n\t} catch {}\n\n\tname = name.replace(/ /g, '');\n\n\tconst details = MARKETPLACES[name];\n\n\tif (details) {\n\t\treturn details;\n\t}\n\n\tif (KIND_TO_MARKETPLACE[kind]) {\n\t\treturn MARKETPLACES[KIND_TO_MARKETPLACE[kind]];\n\t}\n}\n\nfunction getRootDomain(url: string) {\n\tconst domain = url.replace(/^(https?:\\/\\/)?(www\\.)?/, '');\n\tconst parts = domain.split('.');\n\treturn parts[parts.length - 2] || parts[0];\n}\n"],"mappings":"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","names":[]}
@@ -3,9 +3,11 @@
3
3
  // src/consts.ts
4
4
  var SEQUENCE_MARKET_V1_ADDRESS = "0xB537a160472183f2150d42EB1c3DD6684A55f74c";
5
5
  var SEQUENCE_MARKET_V2_ADDRESS = "0xfdb42A198a932C8D3B506Ffa5e855bC4b348a712";
6
+ var DEFAULT_MARKETPLACE_FEE_PERCENTAGE = 2.5;
6
7
 
7
8
  export {
8
9
  SEQUENCE_MARKET_V1_ADDRESS,
9
- SEQUENCE_MARKET_V2_ADDRESS
10
+ SEQUENCE_MARKET_V2_ADDRESS,
11
+ DEFAULT_MARKETPLACE_FEE_PERCENTAGE
10
12
  };
11
- //# sourceMappingURL=chunk-Y75XGZOB.js.map
13
+ //# sourceMappingURL=chunk-5O3ZAEEX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/consts.ts"],"sourcesContent":["export const SEQUENCE_MARKET_V1_ADDRESS =\n\t'0xB537a160472183f2150d42EB1c3DD6684A55f74c';\n\nexport const SEQUENCE_MARKET_V2_ADDRESS =\n\t'0xfdb42A198a932C8D3B506Ffa5e855bC4b348a712';\n\nexport const DEFAULT_MARKETPLACE_FEE_PERCENTAGE = 2.5;\n"],"mappings":";;;AAAO,IAAM,6BACZ;AAEM,IAAM,6BACZ;AAEM,IAAM,qCAAqC;","names":[]}
@@ -8,10 +8,7 @@ import {
8
8
  import {
9
9
  useSwitchChainModal,
10
10
  useWallet
11
- } from "./chunk-AXTDPTRD.js";
12
- import {
13
- getPublicRpcClient
14
- } from "./chunk-7C7ADZ2H.js";
11
+ } from "./chunk-YA3DWLDC.js";
15
12
  import {
16
13
  getProviderEl
17
14
  } from "./chunk-YOKGP2EQ.js";
@@ -53,16 +50,17 @@ import { useAccount } from "wagmi";
53
50
  // src/react/hooks/useCurrencyBalance.tsx
54
51
  import { skipToken, useQuery } from "@tanstack/react-query";
55
52
  import { erc20Abi, formatUnits, zeroAddress } from "viem";
53
+ import { usePublicClient } from "wagmi";
56
54
  function useCurrencyBalance({
57
55
  currencyAddress,
58
56
  chainId,
59
57
  userAddress
60
58
  }) {
59
+ const publicClient = usePublicClient({ chainId });
61
60
  return useQuery({
62
61
  queryKey: ["balance", currencyAddress, chainId, userAddress],
63
- queryFn: !!userAddress && !!chainId && !!currencyAddress ? async () => {
62
+ queryFn: !!userAddress && !!chainId && !!currencyAddress && !!publicClient ? async () => {
64
63
  if (!userAddress) return null;
65
- const publicClient = getPublicRpcClient(chainId);
66
64
  if (currencyAddress === zeroAddress) {
67
65
  const balance2 = await publicClient.getBalance({
68
66
  address: userAddress
@@ -471,4 +469,4 @@ export {
471
469
  openModal,
472
470
  closeModal
473
471
  };
474
- //# sourceMappingURL=chunk-P7UNMRZ5.js.map
472
+ //# sourceMappingURL=chunk-G2T7HCWE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/react/ui/modals/_internal/components/actionModal/ActionModal.tsx","../src/react/ui/modals/_internal/components/waasFeeOptionsBox/index.tsx","../src/react/hooks/useCurrencyBalance.tsx","../src/react/ui/modals/_internal/components/waasFeeOptionsSelect/WaasFeeOptionsSelect.tsx","../src/react/ui/components/_internals/custom-select/CustomSelect.tsx","../src/react/ui/components/_internals/custom-select/styles.css.ts","../src/react/ui/modals/_internal/components/waasFeeOptionsBox/store.ts","../src/react/ui/modals/_internal/components/waasFeeOptionsBox/styles.css.ts","../src/react/ui/modals/_internal/components/actionModal/store.ts"],"sourcesContent":["'use client';\n\nimport type React from 'react';\nimport { useState, type ComponentProps } from 'react';\n\nimport {\n\tBox,\n\tButton,\n\tCloseIcon,\n\tIconButton,\n\tSpinner,\n\tText,\n} from '@0xsequence/design-system';\nimport { observer } from '@legendapp/state/react';\nimport {\n\tClose,\n\tContent,\n\tOverlay,\n\tPortal,\n\tRoot,\n\tTitle,\n} from '@radix-ui/react-dialog';\nimport { getProviderEl } from '../../../../../_internal';\nimport {\n\tcloseButton,\n\tcta as ctaStyle,\n\tdialogContent,\n\tdialogOverlay,\n} from './styles.css';\nimport WaasFeeOptionsBox from '../waasFeeOptionsBox';\nimport { useSwitchChainModal } from '../switchChainModal';\nimport { useWallet } from '../../../../../_internal/wallet/useWallet';\n\nexport interface ActionModalProps {\n\tisOpen: boolean;\n\tonClose: () => void;\n\ttitle: string;\n\tchildren: React.ReactNode;\n\tctas: {\n\t\tlabel: string;\n\t\tonClick: (() => Promise<void>) | (() => void);\n\t\tpending?: boolean;\n\t\tdisabled?: boolean;\n\t\thidden?: boolean;\n\t\tvariant?: ComponentProps<typeof Button>['variant'];\n\t\ttestid?: string;\n\t}[];\n\tchainId: number;\n}\n\nexport const ActionModal = observer(\n\t({ isOpen, onClose, title, children, ctas, chainId }: ActionModalProps) => {\n\t\tconst [isSelectingFees, setIsSelectingFees] = useState(false);\n\t\tconst { show: showSwitchChainModal } = useSwitchChainModal();\n\t\tconst { wallet } = useWallet();\n\n\t\tconst checkChain = async ({ onSuccess }: { onSuccess: () => void }) => {\n\t\t\tconst walletChainId = await wallet?.getChainId();\n\t\t\tconst chainMismatch = walletChainId !== Number(chainId);\n\t\t\tif (chainMismatch) {\n\t\t\t\tshowSwitchChainModal({\n\t\t\t\t\tchainIdToSwitchTo: Number(chainId),\n\t\t\t\t\tonSuccess,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tonSuccess();\n\t\t\t}\n\t\t};\n\n\t\tif (wallet?.isWaaS) {\n\t\t\twallet.switchChain(Number(chainId));\n\t\t}\n\n\t\treturn (\n\t\t\t<Root open={isOpen && !!chainId}>\n\t\t\t\t<Portal container={getProviderEl()}>\n\t\t\t\t\t<Overlay className={dialogOverlay} />\n\t\t\t\t\t<Content className={dialogContent.narrow}>\n\t\t\t\t\t\t<Box\n\t\t\t\t\t\t\tdisplay=\"flex\"\n\t\t\t\t\t\t\tflexGrow={'1'}\n\t\t\t\t\t\t\talignItems=\"center\"\n\t\t\t\t\t\t\tflexDirection=\"column\"\n\t\t\t\t\t\t\tgap=\"4\"\n\t\t\t\t\t\t\tposition={'relative'}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Title asChild>\n\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\tfontSize=\"medium\"\n\t\t\t\t\t\t\t\t\tfontWeight=\"bold\"\n\t\t\t\t\t\t\t\t\ttextAlign=\"center\"\n\t\t\t\t\t\t\t\t\twidth=\"full\"\n\t\t\t\t\t\t\t\t\tcolor=\"text100\"\n\t\t\t\t\t\t\t\t\tfontFamily=\"body\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t</Title>\n\n\t\t\t\t\t\t\t{children}\n\n\t\t\t\t\t\t\t<Box width=\"full\" display=\"flex\" flexDirection=\"column\" gap=\"2\">\n\t\t\t\t\t\t\t\t{ctas.map(\n\t\t\t\t\t\t\t\t\t(cta) =>\n\t\t\t\t\t\t\t\t\t\t!cta.hidden && (\n\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\tkey={cta.label}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={ctaStyle}\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={async () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tawait checkChain({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonSuccess: () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcta.onClick();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\tvariant={cta.variant || 'primary'}\n\t\t\t\t\t\t\t\t\t\t\t\tpending={cta.pending}\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={cta.disabled || isSelectingFees}\n\t\t\t\t\t\t\t\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\t\t\t\t\t\t\t\twidth=\"full\"\n\t\t\t\t\t\t\t\t\t\t\t\tdata-testid={cta.testid}\n\t\t\t\t\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Box\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplay=\"flex\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\talignItems=\"center\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tgap=\"2\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tjustifyContent=\"center\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{cta.pending && <Spinner size=\"sm\" />}\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{cta.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</Box>\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</Box>\n\t\t\t\t\t\t</Box>\n\n\t\t\t\t\t\t<WaasFeeOptionsBox\n\t\t\t\t\t\t\tchainId={chainId}\n\t\t\t\t\t\t\tonFeeOptionsLoaded={() => setIsSelectingFees(true)}\n\t\t\t\t\t\t\tonFeeOptionConfirmed={() => setIsSelectingFees(false)}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t<Close className={closeButton} asChild onClick={onClose}>\n\t\t\t\t\t\t\t<IconButton size=\"xs\" aria-label=\"Close modal\" icon={CloseIcon} />\n\t\t\t\t\t\t</Close>\n\t\t\t\t\t</Content>\n\t\t\t\t</Portal>\n\t\t\t</Root>\n\t\t);\n\t},\n);\n","import {\n\tBox,\n\tButton,\n\tSkeleton,\n\tText,\n\tWarningIcon,\n} from '@0xsequence/design-system';\nimport { useWaasFeeOptions } from '@0xsequence/kit';\nimport { observer } from '@legendapp/state/react';\nimport { useEffect } from 'react';\nimport { type Hex, zeroAddress } from 'viem';\nimport { useAccount } from 'wagmi';\nimport { useCurrencyBalance } from '../../../../../hooks/useCurrencyBalance';\nimport WaasFeeOptionsSelect, {\n\ttype FeeOption,\n} from '../waasFeeOptionsSelect/WaasFeeOptionsSelect';\nimport { waasFeeOptionsModal$ } from './store';\nimport { feeOptionsWrapper } from './styles.css';\n\ntype WaasFeeOptionsBoxProps = {\n\tonFeeOptionsLoaded: () => void;\n\tonFeeOptionConfirmed: () => void;\n\tchainId: number;\n};\n\nconst WaasFeeOptionsBox = observer(\n\t({\n\t\tonFeeOptionsLoaded,\n\t\tonFeeOptionConfirmed,\n\t\tchainId,\n\t}: WaasFeeOptionsBoxProps) => {\n\t\tconst { address: userAddress } = useAccount();\n\t\tconst selectedFeeOption$ = waasFeeOptionsModal$.selectedFeeOption;\n\t\tconst [pendingFeeOptionConfirmation, confirmPendingFeeOption] =\n\t\t\tuseWaasFeeOptions();\n\t\tconst { data: currencyBalance, isLoading: currencyBalanceLoading } =\n\t\t\tuseCurrencyBalance({\n\t\t\t\tchainId,\n\t\t\t\tcurrencyAddress: (selectedFeeOption$.token.contractAddress.get() ||\n\t\t\t\t\tzeroAddress) as Hex,\n\t\t\t\tuserAddress: userAddress as Hex,\n\t\t\t});\n\n\t\t// biome-ignore lint/correctness/useExhaustiveDependencies: <explanation>\n\t\tuseEffect(() => {\n\t\t\tif (pendingFeeOptionConfirmation) {\n\t\t\t\tonFeeOptionsLoaded();\n\t\t\t}\n\t\t}, [pendingFeeOptionConfirmation]);\n\n\t\tconst selectedFeeOption = selectedFeeOption$.get();\n\t\tconst insufficientBalance = (() => {\n\t\t\tif (!selectedFeeOption?.value || !selectedFeeOption.token.decimals) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif (!currencyBalance?.value && currencyBalance?.value !== 0n) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tconst feeValue = BigInt(selectedFeeOption.value);\n\t\t\t\treturn currencyBalance.value === 0n || currencyBalance.value < feeValue;\n\t\t\t} catch {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t})();\n\n\t\tconst handleConfirmFeeOption = () => {\n\t\t\tif (!selectedFeeOption?.token || !pendingFeeOptionConfirmation?.id)\n\t\t\t\treturn;\n\n\t\t\tconfirmPendingFeeOption(\n\t\t\t\tpendingFeeOptionConfirmation?.id,\n\t\t\t\tselectedFeeOption.token.contractAddress || zeroAddress,\n\t\t\t);\n\n\t\t\tonFeeOptionConfirmed();\n\t\t};\n\n\t\tif (!pendingFeeOptionConfirmation) return null;\n\n\t\treturn (\n\t\t\t<Box className={feeOptionsWrapper}>\n\t\t\t\t<Text\n\t\t\t\t\tfontSize=\"medium\"\n\t\t\t\t\tfontFamily=\"body\"\n\t\t\t\t\tfontWeight=\"bold\"\n\t\t\t\t\tmarginBottom=\"2\"\n\t\t\t\t>\n\t\t\t\t\tSelect a fee option\n\t\t\t\t</Text>\n\n\t\t\t\t<WaasFeeOptionsSelect\n\t\t\t\t\toptions={(pendingFeeOptionConfirmation?.options as FeeOption[]) || []}\n\t\t\t\t\tselectedFeeOption$={selectedFeeOption$}\n\t\t\t\t/>\n\n\t\t\t\t<Box\n\t\t\t\t\tdisplay=\"flex\"\n\t\t\t\t\talignItems=\"center\"\n\t\t\t\t\tjustifyContent=\"space-between\"\n\t\t\t\t\twidth=\"full\"\n\t\t\t\t>\n\t\t\t\t\t{currencyBalanceLoading ? (\n\t\t\t\t\t\t<Skeleton style={{ height: 15 }} borderRadius=\"md\" width=\"1/3\" />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<Box display=\"flex\" alignItems=\"center\" gap=\"2\">\n\t\t\t\t\t\t\t{insufficientBalance && (\n\t\t\t\t\t\t\t\t<WarningIcon color=\"negative\" size=\"xs\" />\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\tfontSize=\"small\"\n\t\t\t\t\t\t\t\tfontWeight=\"semibold\"\n\t\t\t\t\t\t\t\tfontFamily=\"body\"\n\t\t\t\t\t\t\t\tcolor={insufficientBalance ? 'negative' : 'text100'}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tYou have {currencyBalance?.formatted || '0'}{' '}\n\t\t\t\t\t\t\t\t{selectedFeeOption?.token.symbol}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</Box>\n\t\t\t\t\t)}\n\n\t\t\t\t\t<Button\n\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t!selectedFeeOption?.token ||\n\t\t\t\t\t\t\tinsufficientBalance ||\n\t\t\t\t\t\t\tcurrencyBalanceLoading\n\t\t\t\t\t\t}\n\t\t\t\t\t\tpending={currencyBalanceLoading}\n\t\t\t\t\t\tonClick={handleConfirmFeeOption}\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t<Box display=\"flex\" alignItems=\"center\" gap=\"2\">\n\t\t\t\t\t\t\t\tConfirm\n\t\t\t\t\t\t\t</Box>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvariant={insufficientBalance ? 'danger' : 'primary'}\n\t\t\t\t\t\tsize=\"xs\"\n\t\t\t\t\t/>\n\t\t\t\t</Box>\n\t\t\t</Box>\n\t\t);\n\t},\n);\n\nexport default WaasFeeOptionsBox;\n","import { skipToken, useQuery } from '@tanstack/react-query';\nimport { type Address, erc20Abi, formatUnits, zeroAddress } from 'viem';\nimport { usePublicClient } from 'wagmi';\nexport function useCurrencyBalance({\n\tcurrencyAddress,\n\tchainId,\n\tuserAddress,\n}: {\n\tcurrencyAddress: Address | undefined;\n\tchainId: number | undefined;\n\tuserAddress: Address | undefined;\n}) {\n\tconst publicClient = usePublicClient({ chainId });\n\n\treturn useQuery({\n\t\tqueryKey: ['balance', currencyAddress, chainId, userAddress],\n\t\tqueryFn:\n\t\t\t!!userAddress && !!chainId && !!currencyAddress && !!publicClient\n\t\t\t\t? async () => {\n\t\t\t\t\t\tif (!userAddress) return null;\n\n\t\t\t\t\t\tif (currencyAddress === zeroAddress) {\n\t\t\t\t\t\t\tconst balance = await publicClient.getBalance({\n\t\t\t\t\t\t\t\taddress: userAddress,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tvalue: balance,\n\t\t\t\t\t\t\t\tformatted: formatUnits(balance, 18),\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst [balance, decimals] = await Promise.all([\n\t\t\t\t\t\t\tpublicClient.readContract({\n\t\t\t\t\t\t\t\taddress: currencyAddress,\n\t\t\t\t\t\t\t\tabi: erc20Abi,\n\t\t\t\t\t\t\t\tfunctionName: 'balanceOf',\n\t\t\t\t\t\t\t\targs: [userAddress],\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tpublicClient.readContract({\n\t\t\t\t\t\t\t\taddress: currencyAddress,\n\t\t\t\t\t\t\t\tabi: erc20Abi,\n\t\t\t\t\t\t\t\tfunctionName: 'decimals',\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t]);\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tvalue: balance,\n\t\t\t\t\t\t\tformatted: formatUnits(balance, decimals),\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t: skipToken,\n\t});\n}\n","import { Box, Image, Text } from '@0xsequence/design-system';\nimport type { Observable } from '@legendapp/state';\nimport { observer } from '@legendapp/state/react';\nimport { useEffect } from 'react';\nimport { formatUnits, zeroAddress } from 'viem';\nimport {\n\tCustomSelect,\n\ttype SelectItem,\n} from '../../../../components/_internals/custom-select/CustomSelect';\n\nexport type FeeOption = {\n\tgasLimit: number;\n\tto: string;\n\ttoken: {\n\t\tchainId: number;\n\t\tcontractAddress: string | null;\n\t\tdecimals: number;\n\t\tlogoURL: string;\n\t\tname: string;\n\t\tsymbol: string;\n\t\ttokenID: string | null;\n\t\ttype: string;\n\t};\n\tvalue: string;\n};\n\nconst WaasFeeOptionsSelect = observer(\n\t({\n\t\toptions,\n\t\tselectedFeeOption$,\n\t}: {\n\t\toptions: FeeOption[];\n\t\tselectedFeeOption$: Observable<FeeOption | undefined>;\n\t}) => {\n\t\toptions = options.map((option) => ({\n\t\t\t...option,\n\t\t\ttoken: {\n\t\t\t\t...option.token,\n\t\t\t\tcontractAddress: option.token.contractAddress || zeroAddress,\n\t\t\t},\n\t\t}));\n\n\t\tconst feeOptions = options.map((option) => {\n\t\t\tconst value = option.token.contractAddress ?? '';\n\n\t\t\treturn FeeOptionSelectItem({ value, option });\n\t\t});\n\n\t\t// biome-ignore lint/correctness/useExhaustiveDependencies: <explanation>\n\t\tuseEffect(() => {\n\t\t\tif (options.length > 0 && !selectedFeeOption$.get())\n\t\t\t\tselectedFeeOption$.set(options[0]);\n\t\t}, [options]);\n\n\t\tif (options.length === 0 || !selectedFeeOption$.get()?.token) return null;\n\n\t\treturn (\n\t\t\t<CustomSelect\n\t\t\t\titems={feeOptions}\n\t\t\t\tonValueChange={(value) => {\n\t\t\t\t\tconst selectedOption = options.find(\n\t\t\t\t\t\t(option) => option.token.contractAddress === value,\n\t\t\t\t\t);\n\n\t\t\t\t\tselectedFeeOption$.set(selectedOption);\n\t\t\t\t}}\n\t\t\t\tdefaultValue={\n\t\t\t\t\tselectedFeeOption$.get()?.token.contractAddress\n\t\t\t\t\t\t? FeeOptionSelectItem({\n\t\t\t\t\t\t\t\tvalue: selectedFeeOption$.get()?.token.contractAddress ?? '',\n\t\t\t\t\t\t\t\toption: selectedFeeOption$.get() ?? options[0],\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t/>\n\t\t);\n\t},\n);\n\nfunction FeeOptionSelectItem({\n\tvalue,\n\toption,\n}: {\n\tvalue: string;\n\toption: FeeOption;\n}) {\n\treturn {\n\t\tvalue,\n\t\tcontent: (\n\t\t\t<Box display=\"flex\" alignItems=\"center\" gap=\"2\">\n\t\t\t\t<Image\n\t\t\t\t\tsrc={option.token.logoURL}\n\t\t\t\t\talt={option.token.symbol}\n\t\t\t\t\twidth=\"3\"\n\t\t\t\t\theight=\"3\"\n\t\t\t\t/>\n\n\t\t\t\t<Box display=\"flex\" gap=\"1\">\n\t\t\t\t\t<Text color=\"text100\" fontSize=\"small\" fontFamily=\"body\">\n\t\t\t\t\t\tFee\n\t\t\t\t\t</Text>\n\t\t\t\t\t<Text\n\t\t\t\t\t\tcolor=\"text50\"\n\t\t\t\t\t\tfontSize=\"small\"\n\t\t\t\t\t\tfontFamily=\"body\"\n\t\t\t\t\t\tfontWeight=\"semibold\"\n\t\t\t\t\t>\n\t\t\t\t\t\t(in {option.token.symbol})\n\t\t\t\t\t</Text>\n\n\t\t\t\t\t<Text color=\"text100\" fontSize=\"small\" fontFamily=\"body\">\n\t\t\t\t\t\t:\n\t\t\t\t\t</Text>\n\t\t\t\t</Box>\n\n\t\t\t\t<Text fontSize=\"small\" fontFamily=\"body\">\n\t\t\t\t\t{formatUnits(BigInt(option.value), option.token.decimals || 0)}\n\t\t\t\t</Text>\n\t\t\t</Box>\n\t\t),\n\t} as SelectItem;\n}\n\nexport default WaasFeeOptionsSelect;\n","import { CheckmarkIcon, ChevronDownIcon } from '@0xsequence/design-system';\nimport * as Select from '@radix-ui/react-select';\nimport React, { type ReactNode } from 'react';\nimport { content, item, itemIndicator, trigger } from './styles.css';\n\nexport interface SelectItem {\n\tvalue: string;\n\tcontent: ReactNode;\n\tdisabled?: boolean;\n}\n\ninterface CustomSelectProps {\n\titems: SelectItem[];\n\tonValueChange?: (value: string) => void;\n\tdefaultValue?: SelectItem;\n}\n\nconst CustomSelectItem = React.forwardRef<\n\tHTMLDivElement,\n\tSelect.SelectItemProps & { children: ReactNode }\n>(({ children, ...props }, forwardedRef) => {\n\treturn (\n\t\t<Select.Item className={item} {...props} ref={forwardedRef}>\n\t\t\t<Select.ItemText>{children}</Select.ItemText>\n\t\t\t<Select.ItemIndicator className={itemIndicator}>\n\t\t\t\t<CheckmarkIcon size=\"xs\" />\n\t\t\t</Select.ItemIndicator>\n\t\t</Select.Item>\n\t);\n});\n\nexport const CustomSelect: React.FC<CustomSelectProps> = ({\n\titems,\n\tonValueChange,\n\tdefaultValue,\n}) => {\n\treturn (\n\t\t<Select.Root\n\t\t\tonValueChange={onValueChange}\n\t\t\tdefaultValue={defaultValue?.value}\n\t\t>\n\t\t\t<Select.Trigger className={trigger}>\n\t\t\t\t<Select.Value />\n\t\t\t\t<Select.Icon>\n\t\t\t\t\t<ChevronDownIcon size=\"xs\" />\n\t\t\t\t</Select.Icon>\n\t\t\t</Select.Trigger>\n\n\t\t\t<Select.Portal>\n\t\t\t\t<Select.Content className={content}>\n\t\t\t\t\t<Select.Viewport>\n\t\t\t\t\t\t{items.map((item) => (\n\t\t\t\t\t\t\t<CustomSelectItem\n\t\t\t\t\t\t\t\tkey={item.value}\n\t\t\t\t\t\t\t\tvalue={item.value}\n\t\t\t\t\t\t\t\tdisabled={item.disabled}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{item.content}\n\t\t\t\t\t\t\t</CustomSelectItem>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</Select.Viewport>\n\t\t\t\t</Select.Content>\n\t\t\t</Select.Portal>\n\t\t</Select.Root>\n\t);\n};\n","import 'src/react/ui/components/_internals/custom-select/styles.css.ts.vanilla.css?source=LnN0eWxlc19pdGVtX18xZGR0dWprMjpob3ZlciB7CiAgYmFja2dyb3VuZDogdmFyKC0tc2VxLWNvbG9ycy1iYWNrZ3JvdW5kLW11dGVkKTsKfQ==';\nexport var content = 'fyvr11eg fyvr11es fyvr11f4 fyvr11fg fyvr11hc fyvr11i0 fyvr11g0 fyvr11go fyvr11q0 fyvr11qg fyvr12g3 fyvr12ar fyvr1203 fyvr125f fyvr12hr fyvr12cf fyvr121r fyvr1273 fyvr11vx fyvr11r0 fyvr11rt';\nexport var item = 'styles_item__1ddtujk2 fyvr11h0 fyvr11ho fyvr11fo fyvr11gc fyvr1v4 fyvr1x8 fyvr1zs fyvr111g fyvr11ik fyvr12k9 fyvr11l8 fyvr11ow fyvr14g fyvr11m4 fyvr11rc fyvr12nf';\nexport var itemIndicator = 'fyvr11lw fyvr1qk fyvr11lk fyvr11ow fyvr11no';\nexport var trigger = 'fyvr11hk fyvr11i8 fyvr11g8 fyvr11gw fyvr1zg fyvr111k fyvr11lk fyvr11ow fyvr11no fyvr11ik fyvr14g fyvr11cg fyvr11ur fyvr12k9 fyvr12nf fyvr12i9 fyvr11a4';","import { observable } from '@legendapp/state';\nimport type { FeeOption } from '../waasFeeOptionsSelect/WaasFeeOptionsSelect';\n\ntype WaasFeeOptionsModalState = {\n\tselectedFeeOption: FeeOption | undefined;\n};\n\nconst initialState = {\n\tselectedFeeOption: undefined,\n} as WaasFeeOptionsModalState;\n\nexport const waasFeeOptionsModal$ = observable(initialState);\n","import 'src/react/ui/modals/_internal/components/waasFeeOptionsBox/styles.css.ts.vanilla.css?source=LnN0eWxlc19mZWVPcHRpb25zV3JhcHBlcl9fMTI0aWswdzAgewogIGJvdHRvbTogLTE0MHB4Owp9Ci5zdHlsZXNfZGlhbG9nQ29udGVudF9fMTI0aWswdzIgewogIHRvcDogNTAlOwogIGxlZnQ6IDUwJTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKICBwYWRkaW5nOiAyNHB4Owp9Ci5zdHlsZXNfY3RhX18xMjRpazB3MyB7CiAgYm9yZGVyLXJhZGl1czogMTJweCAhaW1wb3J0YW50Owp9Ci5zdHlsZXNfY3RhX18xMjRpazB3MyA+IGRpdiB7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsKfQ==';\nexport var cta = 'styles_cta__124ik0w3';\nexport var dialogContent = 'styles_dialogContent__124ik0w2 fyvr11hg fyvr11i4 fyvr11g4 fyvr11gs fyvr11l8 fyvr11ul fyvr11m0 fyvr11rv';\nexport var dialogOverlay = 'fyvr1m0 fyvr1o8 fyvr1qg fyvr1so fyvr11vl fyvr11m0 fyvr11rv';\nexport var feeOptionsWrapper = 'styles_feeOptionsWrapper__124ik0w0 fyvr11hg fyvr11i4 fyvr11g4 fyvr11gs fyvr1vc fyvr1xg fyvr1zk fyvr111o fyvr11lw fyvr11w9 fyvr11r0 fyvr12g fyvr1qg fyvr11l8 fyvr11mc fyvr11cg';","import { type Observable, observable } from '@legendapp/state';\nimport type { ChainId } from '../../../../../_internal';\nimport type { Address } from 'viem';\n\nexport interface ActionModalState {\n\tisOpen: boolean;\n\tchainId: ChainId | null;\n\tcollectionAddress: Address | null;\n}\n\nexport function createActionModalStore() {\n\treturn observable<ActionModalState>({\n\t\tisOpen: false,\n\t\tchainId: null,\n\t\tcollectionAddress: null,\n\t});\n}\n\nexport function openModal(store: Observable<ActionModalState>) {\n\tstore.isOpen.set(true);\n}\n\nexport function closeModal(store: Observable<ActionModalState>) {\n\tstore.isOpen.set(false);\n}\n"],"mappings":"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","names":["Box","Button","Text","observer","Content","Portal","Root","Box","Text","observer","useEffect","zeroAddress","balance","formatUnits","zeroAddress","item","jsx","jsxs","zeroAddress","formatUnits","jsx","jsxs","observer","zeroAddress","useEffect","Box","Text","jsx","jsxs","observer","Root","Portal","Content","Box","Text","cta","Button","observable"]}
@@ -0,0 +1,2 @@
1
+ "use client"
2
+ //# sourceMappingURL=chunk-GFADBQPX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}