@0xsequence/marketplace-sdk 0.4.2 → 0.4.4
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.
- package/dist/{chunk-ZWIRTV7A.js → chunk-4VS5NKDD.js} +2 -2
- package/dist/{chunk-GSDUAHL3.js → chunk-6WB4GCCJ.js} +1 -1
- package/dist/chunk-6WB4GCCJ.js.map +1 -0
- package/dist/{chunk-MTFS5SED.js → chunk-6XUCLBZC.js} +3093 -2463
- package/dist/chunk-6XUCLBZC.js.map +1 -0
- package/dist/{chunk-T5T6JNB2.js → chunk-ATDCYXXV.js} +49 -49
- package/dist/chunk-ATDCYXXV.js.map +1 -0
- package/dist/{chunk-LSMQVX77.js → chunk-CP2IVRMX.js} +2 -2
- package/dist/{chunk-OPMDGQFB.js → chunk-DNDPYQKV.js} +20 -2
- package/dist/chunk-DNDPYQKV.js.map +1 -0
- package/dist/{chunk-WBJKZOQ7.js → chunk-GLOIEUWC.js} +225 -364
- package/dist/chunk-GLOIEUWC.js.map +1 -0
- package/dist/{chunk-4RKM3VUV.js → chunk-IQXJZBMR.js} +2 -2
- package/dist/{chunk-MQ5WSFDH.js → chunk-J4TRSLTB.js} +29 -4
- package/dist/chunk-J4TRSLTB.js.map +1 -0
- package/dist/chunk-LHN6EBLM.js +420 -0
- package/dist/chunk-LHN6EBLM.js.map +1 -0
- package/dist/{chunk-WQCWBXBM.js → chunk-PAZ4MQXZ.js} +1 -1
- package/dist/chunk-PAZ4MQXZ.js.map +1 -0
- package/dist/{chunk-S5IPE7TH.js → chunk-URX7ZHX4.js} +2 -2
- package/dist/chunk-Y75XGZOB.js +11 -0
- package/dist/chunk-Y75XGZOB.js.map +1 -0
- package/dist/{chunk-Q2BVDQ3G.js → chunk-ZEKRTFBU.js} +1 -1
- package/dist/{chunk-Q2BVDQ3G.js.map → chunk-ZEKRTFBU.js.map} +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.js +10 -8
- package/dist/index.js.map +1 -1
- package/dist/react/_internal/api/index.js +2 -2
- package/dist/react/_internal/index.d.ts +1 -1
- package/dist/react/_internal/index.js +4 -4
- package/dist/react/_internal/wagmi/index.js +2 -2
- package/dist/react/hooks/index.d.ts +54 -42
- package/dist/react/hooks/index.js +8 -6
- package/dist/react/index.css +24 -24
- package/dist/react/index.css.map +1 -1
- package/dist/react/index.d.ts +2 -2
- package/dist/react/index.js +11 -9
- package/dist/react/ssr/index.js.map +1 -1
- package/dist/react/ui/components/index.css +24 -24
- package/dist/react/ui/components/index.css.map +1 -1
- package/dist/react/ui/components/index.d.ts +1 -1
- package/dist/react/ui/components/index.js +11 -9
- package/dist/react/ui/icons/index.js +1 -1
- package/dist/react/ui/index.css +24 -24
- package/dist/react/ui/index.css.map +1 -1
- package/dist/react/ui/index.d.ts +5 -2
- package/dist/react/ui/index.js +11 -9
- package/dist/react/ui/modals/_internal/components/actionModal/index.css +46 -0
- package/dist/react/ui/modals/_internal/components/actionModal/index.css.map +1 -1
- package/dist/react/ui/modals/_internal/components/actionModal/index.d.ts +1 -1
- package/dist/react/ui/modals/_internal/components/actionModal/index.js +11 -6
- package/dist/types/index.js +4 -4
- package/dist/{types-BlDoGvJV.d.ts → types-DZb7GsfL.d.ts} +10 -1
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.js +2 -2
- package/package.json +1 -1
- package/src/consts.ts +3 -0
- package/src/react/_internal/transaction-machine/useTransactionMachine.ts +9 -12
- package/src/react/_internal/transaction-machine/useWallet.ts +58 -0
- package/src/react/_internal/transaction-machine/wallet.ts +60 -3
- package/src/react/_internal/types.ts +11 -0
- package/src/react/hooks/useCancelOrder.tsx +26 -30
- package/src/react/hooks/useCancelTransactionSteps.tsx +222 -0
- package/src/react/hooks/useGetReceiptFromHash.tsx +32 -0
- package/src/react/ui/modals/BuyModal/Modal.tsx +97 -0
- package/src/react/ui/modals/BuyModal/hooks/useBuyCollectable.ts +109 -0
- package/src/react/ui/modals/BuyModal/hooks/useCheckoutOptions.ts +50 -0
- package/src/react/ui/modals/BuyModal/hooks/useFees.ts +38 -0
- package/src/react/ui/modals/BuyModal/hooks/useLoadData.ts +58 -0
- package/src/react/ui/modals/BuyModal/index.tsx +3 -210
- package/src/react/ui/modals/BuyModal/modals/CheckoutModal.tsx +29 -0
- package/src/react/ui/modals/BuyModal/modals/Modal1155.tsx +84 -0
- package/src/react/ui/modals/CreateListingModal/Modal.tsx +150 -207
- package/src/react/ui/modals/CreateListingModal/hooks/useCreateListing.tsx +62 -0
- package/src/react/ui/modals/CreateListingModal/hooks/useGetTokenApproval.ts +75 -0
- package/src/react/ui/modals/CreateListingModal/hooks/useTransactionSteps.tsx +216 -0
- package/src/react/ui/modals/CreateListingModal/index.tsx +1 -1
- package/src/react/ui/modals/CreateListingModal/store.ts +17 -9
- package/src/react/ui/modals/MakeOfferModal/Modal.tsx +173 -215
- package/src/react/ui/modals/MakeOfferModal/hooks/useGetTokenApproval.tsx +76 -0
- package/src/react/ui/modals/MakeOfferModal/hooks/useMakeOffer.tsx +62 -0
- package/src/react/ui/modals/MakeOfferModal/hooks/useTransactionSteps.tsx +225 -0
- package/src/react/ui/modals/MakeOfferModal/store.ts +15 -2
- package/src/react/ui/modals/SellModal/Modal.tsx +117 -190
- package/src/react/ui/modals/SellModal/hooks/useGetTokenApproval.tsx +73 -0
- package/src/react/ui/modals/SellModal/hooks/useSell.tsx +65 -0
- package/src/react/ui/modals/SellModal/hooks/useTransactionSteps.tsx +224 -0
- package/src/react/ui/modals/SellModal/store.ts +14 -1
- package/src/react/ui/modals/_internal/components/actionModal/ActionModal.tsx +26 -1
- package/src/react/ui/modals/_internal/components/currencyImage/index.tsx +8 -10
- package/src/react/ui/modals/_internal/components/currencyOptionsSelect/index.tsx +9 -1
- package/src/react/ui/modals/_internal/components/priceInput/hooks/useBalanceCheck.ts +67 -0
- package/src/react/ui/modals/_internal/components/priceInput/hooks/usePriceInput.ts +54 -0
- package/src/react/ui/modals/_internal/components/priceInput/index.tsx +49 -62
- package/src/react/ui/modals/_internal/components/switchChainModal/index.tsx +9 -4
- package/src/react/ui/modals/_internal/components/transactionStatusModal/index.tsx +3 -3
- package/src/react/ui/modals/_internal/types.ts +1 -1
- package/src/react/ui/modals/modal-provider.tsx +1 -1
- package/src/utils/_internal/error/transaction.ts +21 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/dist/chunk-GSDUAHL3.js.map +0 -1
- package/dist/chunk-MQ5WSFDH.js.map +0 -1
- package/dist/chunk-MTFS5SED.js.map +0 -1
- package/dist/chunk-OPMDGQFB.js.map +0 -1
- package/dist/chunk-T5T6JNB2.js.map +0 -1
- package/dist/chunk-WBJKZOQ7.js.map +0 -1
- package/dist/chunk-WQCWBXBM.js.map +0 -1
- package/src/react/hooks/useCreateListing.tsx +0 -125
- package/src/react/hooks/useMakeOffer.tsx +0 -122
- package/src/react/hooks/useSell.tsx +0 -121
- /package/dist/{chunk-ZWIRTV7A.js.map → chunk-4VS5NKDD.js.map} +0 -0
- /package/dist/{chunk-LSMQVX77.js.map → chunk-CP2IVRMX.js.map} +0 -0
- /package/dist/{chunk-4RKM3VUV.js.map → chunk-IQXJZBMR.js.map} +0 -0
- /package/dist/{chunk-S5IPE7TH.js.map → chunk-URX7ZHX4.js.map} +0 -0
- /package/src/react/ui/modals/BuyModal/{_store.ts → store.ts} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/react/ui/icons/MinusIcon.tsx","../src/react/ui/icons/PlusIcon.tsx","../src/react/ui/icons/CalendarIcon.tsx","../src/react/ui/icons/PositiveCircleIcon.tsx"],"sourcesContent":["import { Box, type IconProps } from '@0xsequence/design-system';\nimport { iconVariants } from './styles.css';\n\nconst Svg = () => (\n\t<svg\n\t\twidth=\"16\"\n\t\theight=\"16\"\n\t\tviewBox=\"0 0 16 16\"\n\t\tfill=\"none\"\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\trole=\"img\"\n\t\taria-labelledby=\"minus-title\"\n\t>\n\t\t<title id=\"minus-title\">Minus Icon</title>\n\t\t<path\n\t\t\tfillRule=\"evenodd\"\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M13.2303 8.60039L3.4375 8.60039L3.4375 7.40039L13.2303 7.40039V8.60039Z\"\n\t\t\tfill=\"white\"\n\t\t/>\n\t</svg>\n);\n\nconst SvgMinusIcon = ({ size = 'sm', ...props }: IconProps) => (\n\t<Box\n\t\tas={Svg}\n\t\tclassName={iconVariants({\n\t\t\tsize,\n\t\t})}\n\t\t{...props}\n\t/>\n);\n\nexport default SvgMinusIcon;\n","import { Box, type IconProps } from '@0xsequence/design-system';\nimport { iconVariants } from './styles.css';\n\nconst Svg = () => (\n\t<svg\n\t\twidth=\"16\"\n\t\theight=\"16\"\n\t\tviewBox=\"0 0 16 16\"\n\t\tfill=\"none\"\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\trole=\"img\"\n\t\taria-labelledby=\"plus-title\"\n\t>\n\t\t<title id=\"plus-title\">Plus Icon</title>\n\t\t<path\n\t\t\td=\"M8.65529 7.45725V2.40039H7.45529V7.45724H2.39844V8.65725H7.45529V13.7141H8.65529V8.65725H13.7121V7.45725H8.65529Z\"\n\t\t\tfill=\"white\"\n\t\t/>\n\t</svg>\n);\n\nconst SvgPlusIcon = ({ size = 'sm', ...props }: IconProps) => (\n\t<Box\n\t\tas={Svg}\n\t\tclassName={iconVariants({\n\t\t\tsize,\n\t\t})}\n\t\t{...props}\n\t/>\n);\n\nexport default SvgPlusIcon;\n","import { Box, type IconProps } from '@0xsequence/design-system';\nimport { iconVariants } from './styles.css';\n\nconst Svg = () => (\n\t<svg\n\t\twidth=\"20\"\n\t\theight=\"20\"\n\t\tviewBox=\"0 0 20 20\"\n\t\tfill=\"none\"\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\trole=\"img\"\n\t\taria-label=\"Calendar icon\"\n\t>\n\t\t<title>Calendar icon</title>\n\t\t<path\n\t\t\td=\"M4.57634 17.5C3.73146 17.5 3.08946 17.2816 2.65034 16.8449C2.21678 16.4081 2 15.7586 2 14.8965V5.10352C2 4.24135 2.21678 3.59189 2.65034 3.15513C3.08946 2.71838 3.73146 2.5 4.57634 2.5H15.4237C16.2741 2.5 16.9161 2.72121 17.3497 3.16364C17.7832 3.6004 18 4.24702 18 5.10352V14.8965C18 15.753 17.7832 16.3996 17.3497 16.8364C16.9161 17.2788 16.2741 17.5 15.4237 17.5H4.57634ZM4.55133 15.9515H15.4403C15.7738 15.9515 16.0295 15.8636 16.2074 15.6877C16.3908 15.5062 16.4825 15.2396 16.4825 14.888V7.44328C16.4825 7.08593 16.3908 6.81934 16.2074 6.64351C16.0295 6.46767 15.7738 6.37975 15.4403 6.37975H4.55133C4.21782 6.37975 3.96213 6.46767 3.78426 6.64351C3.61195 6.81934 3.52579 7.08593 3.52579 7.44328V14.888C3.52579 15.2396 3.61195 15.5062 3.78426 15.6877C3.96213 15.8636 4.21782 15.9515 4.55133 15.9515ZM8.48671 9.17896C8.34775 9.17896 8.25048 9.15343 8.19489 9.10238C8.13931 9.05133 8.11152 8.95207 8.11152 8.80459V8.33664C8.11152 8.19484 8.13931 8.09841 8.19489 8.04736C8.25048 7.99064 8.34775 7.96228 8.48671 7.96228H8.94528C9.0898 7.96228 9.18708 7.99064 9.2371 8.04736C9.29269 8.09841 9.32048 8.19484 9.32048 8.33664V8.80459C9.32048 8.95207 9.29269 9.05133 9.2371 9.10238C9.18708 9.15343 9.0898 9.17896 8.94528 9.17896H8.48671ZM11.0714 9.17896C10.9269 9.17896 10.8268 9.15343 10.7712 9.10238C10.7212 9.05133 10.6962 8.95207 10.6962 8.80459V8.33664C10.6962 8.19484 10.7212 8.09841 10.7712 8.04736C10.8268 7.99064 10.9269 7.96228 11.0714 7.96228H11.5383C11.6773 7.96228 11.7745 7.99064 11.8301 8.04736C11.8857 8.09841 11.9135 8.19484 11.9135 8.33664V8.80459C11.9135 8.95207 11.8857 9.05133 11.8301 9.10238C11.7745 9.15343 11.6773 9.17896 11.5383 9.17896H11.0714ZM13.6477 9.17896C13.5088 9.17896 13.4115 9.15343 13.3559 9.10238C13.3003 9.05133 13.2725 8.95207 13.2725 8.80459V8.33664C13.2725 8.19484 13.3003 8.09841 13.3559 8.04736C13.4115 7.99064 13.5088 7.96228 13.6477 7.96228H14.1146C14.2592 7.96228 14.3564 7.99064 14.4065 8.04736C14.462 8.09841 14.4898 8.19484 14.4898 8.33664V8.80459C14.4898 8.95207 14.462 9.05133 14.4065 9.10238C14.3564 9.15343 14.2592 9.17896 14.1146 9.17896H13.6477ZM5.90203 11.7825C5.75751 11.7825 5.65746 11.7541 5.60188 11.6974C5.55185 11.6407 5.52684 11.5442 5.52684 11.4081V10.9317C5.52684 10.7842 5.55185 10.6849 5.60188 10.6339C5.65746 10.5828 5.75751 10.5573 5.90203 10.5573H6.36894C6.5079 10.5573 6.60518 10.5828 6.66076 10.6339C6.71635 10.6849 6.74414 10.7842 6.74414 10.9317V11.4081C6.74414 11.5442 6.71635 11.6407 6.66076 11.6974C6.60518 11.7541 6.5079 11.7825 6.36894 11.7825H5.90203ZM8.48671 11.7825C8.34775 11.7825 8.25048 11.7541 8.19489 11.6974C8.13931 11.6407 8.11152 11.5442 8.11152 11.4081V10.9317C8.11152 10.7842 8.13931 10.6849 8.19489 10.6339C8.25048 10.5828 8.34775 10.5573 8.48671 10.5573H8.94528C9.0898 10.5573 9.18708 10.5828 9.2371 10.6339C9.29269 10.6849 9.32048 10.7842 9.32048 10.9317V11.4081C9.32048 11.5442 9.29269 11.6407 9.2371 11.6974C9.18708 11.7541 9.0898 11.7825 8.94528 11.7825H8.48671ZM11.0714 11.7825C10.9269 11.7825 10.8268 11.7541 10.7712 11.6974C10.7212 11.6407 10.6962 11.5442 10.6962 11.4081V10.9317C10.6962 10.7842 10.7212 10.6849 10.7712 10.6339C10.8268 10.5828 10.9269 10.5573 11.0714 10.5573H11.5383C11.6773 10.5573 11.7745 10.5828 11.8301 10.6339C11.8857 10.6849 11.9135 10.7842 11.9135 10.9317V11.4081C11.9135 11.5442 11.8857 11.6407 11.8301 11.6974C11.7745 11.7541 11.6773 11.7825 11.5383 11.7825H11.0714ZM13.6477 11.7825C13.5088 11.7825 13.4115 11.7541 13.3559 11.6974C13.3003 11.6407 13.2725 11.5442 13.2725 11.4081V10.9317C13.2725 10.7842 13.3003 10.6849 13.3559 10.6339C13.4115 10.5828 13.5088 10.5573 13.6477 10.5573H14.1146C14.2592 10.5573 14.3564 10.5828 14.4065 10.6339C14.462 10.6849 14.4898 10.7842 14.4898 10.9317V11.4081C14.4898 11.5442 14.462 11.6407 14.4065 11.6974C14.3564 11.7541 14.2592 11.7825 14.1146 11.7825H13.6477ZM5.90203 14.369C5.75751 14.369 5.65746 14.3434 5.60188 14.2924C5.55185 14.2414 5.52684 14.1421 5.52684 13.9946V13.5267C5.52684 13.3849 5.55185 13.2884 5.60188 13.2374C5.65746 13.1807 5.75751 13.1523 5.90203 13.1523H6.36894C6.5079 13.1523 6.60518 13.1807 6.66076 13.2374C6.71635 13.2884 6.74414 13.3849 6.74414 13.5267V13.9946C6.74414 14.1421 6.71635 14.2414 6.66076 14.2924C6.60518 14.3434 6.5079 14.369 6.36894 14.369H5.90203ZM8.48671 14.369C8.34775 14.369 8.25048 14.3434 8.19489 14.2924C8.13931 14.2414 8.11152 14.1421 8.11152 13.9946V13.5267C8.11152 13.3849 8.13931 13.2884 8.19489 13.2374C8.25048 13.1807 8.34775 13.1523 8.48671 13.1523H8.94528C9.0898 13.1523 9.18708 13.1807 9.2371 13.2374C9.29269 13.2884 9.32048 13.3849 9.32048 13.5267V13.9946C9.32048 14.1421 9.29269 14.2414 9.2371 14.2924C9.18708 14.3434 9.0898 14.369 8.94528 14.369H8.48671ZM11.0714 14.369C10.9269 14.369 10.8268 14.3434 10.7712 14.2924C10.7212 14.2414 10.6962 14.1421 10.6962 13.9946V13.5267C10.6962 13.3849 10.7212 13.2884 10.7712 13.2374C10.8268 13.1807 10.9269 13.1523 11.0714 13.1523H11.5383C11.6773 13.1523 11.7745 13.1807 11.8301 13.2374C11.8857 13.2884 11.9135 13.3849 11.9135 13.5267V13.9946C11.9135 14.1421 11.8857 14.2414 11.8301 14.2924C11.7745 14.3434 11.6773 14.369 11.5383 14.369H11.0714Z\"\n\t\t\tfill=\"white\"\n\t\t/>\n\t</svg>\n);\n\nconst SvgCalendarIcon = ({ size = 'sm', ...props }: IconProps) => (\n\t<Box\n\t\tas={Svg}\n\t\tclassName={iconVariants({\n\t\t\tsize,\n\t\t})}\n\t\t{...props}\n\t/>\n);\n\nexport default SvgCalendarIcon;\n","import { Box, type IconProps } from '@0xsequence/design-system';\nimport { iconVariants } from './styles.css';\n\nconst Svg = () => (\n\t<svg\n\t\twidth=\"24\"\n\t\theight=\"24\"\n\t\tviewBox=\"0 0 24 24\"\n\t\tfill=\"none\"\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\trole=\"img\"\n\t\taria-labelledby=\"positive-circle-title\"\n\t>\n\t\t<title id=\"positive-circle-title\">Positive Circle Icon</title>\n\t\t<path\n\t\t\td=\"M21.6004 11.9999C21.6004 17.3018 17.3023 21.5999 12.0004 21.5999C6.69846 21.5999 2.40039 17.3018 2.40039 11.9999C2.40039 6.69797 6.69846 2.3999 12.0004 2.3999C17.3023 2.3999 21.6004 6.69797 21.6004 11.9999Z\"\n\t\t\tfill=\"#14A554\"\n\t\t/>\n\t\t<path\n\t\t\tfillRule=\"evenodd\"\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M16.5798 7.79868L10.8701 16.7999L7.20039 12.6764L8.03544 11.9332L10.7199 14.9497L15.6359 7.1999L16.5798 7.79868Z\"\n\t\t\tfill=\"white\"\n\t\t/>\n\t</svg>\n);\n\nconst SvgPositiveCircleIcon = ({ size = 'sm', ...props }: IconProps) => (\n\t<Box\n\t\tas={Svg}\n\t\tclassName={iconVariants({\n\t\t\tsize,\n\t\t})}\n\t\t{...props}\n\t/>\n);\n\nexport default SvgPositiveCircleIcon;\n"],"mappings":"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","names":["Box","jsx","jsxs","Svg","Box","Box","jsx","jsxs","Svg","Box","Box","jsx","jsxs","Svg","Box"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/react/hooks/useBalanceOfCollectible.tsx","../src/react/hooks/useConfig.tsx","../src/utils/_internal/error/context.ts","../src/react/provider.tsx","../src/react/hooks/useCountOfCollectables.tsx","../src/react/_internal/api/zod-schema.ts","../src/react/hooks/useCollectible.tsx","../src/react/hooks/useCollection.tsx","../src/react/hooks/useCurrencies.tsx","../src/react/hooks/useMarketplaceConfig.tsx","../src/react/hooks/options/marketplaceConfigOptions.ts","../src/react/hooks/useCurrencyOptions.tsx","../src/react/hooks/useCurrency.tsx","../src/react/hooks/useFilters.tsx","../src/react/hooks/useFloorOrder.tsx","../src/react/hooks/useHighestOffer.tsx","../src/react/hooks/useListBalances.tsx","../src/react/hooks/useListCollectibles.tsx","../src/react/hooks/useListOffersForCollectible.tsx","../src/react/hooks/useCountOffersForCollectible.tsx","../src/react/hooks/useListListingsForCollectible.tsx","../src/react/hooks/useCountListingsForCollectible.tsx","../src/react/hooks/useLowestListing.tsx","../src/react/hooks/useRoyaltyPercentage.tsx","../src/react/hooks/useGenerateListingTransaction.tsx","../src/utils/date.ts","../src/react/hooks/useGenerateOfferTransaction.tsx","../src/react/hooks/useGenerateSellTransaction.tsx","../src/react/hooks/useGenerateCancelTransaction.tsx","../src/react/hooks/useTransferTokens.tsx","../src/react/hooks/useCheckoutOptions.tsx","../src/react/hooks/useListCollections.tsx","../src/react/hooks/useGenerateBuyTransaction.tsx","../src/react/_internal/transaction-machine/execute-transaction.ts","../src/react/_internal/transaction-machine/logger.ts","../src/react/_internal/transaction-machine/useTransactionMachine.ts","../src/react/ui/modals/_internal/components/switchChainModal/index.tsx","../src/react/ui/modals/_internal/components/alertMessage/index.tsx","../src/react/ui/modals/_internal/components/switchChainModal/store.ts","../src/react/_internal/transaction-machine/wallet.ts","../src/react/hooks/useCancelOrder.tsx","../src/react/hooks/useBuyCollectable.tsx"],"sourcesContent":["import { queryOptions, skipToken, useQuery } from '@tanstack/react-query';\nimport type { Hex } from 'viem';\nimport { z } from 'zod';\nimport type { SdkConfig } from '../../types';\nimport {\n\tAddressSchema,\n\tChainIdSchema,\n\tCollectableIdSchema,\n\ttype QueryArgSchema,\n\tcollectableKeys,\n\tgetIndexerClient,\n} from '../_internal';\nimport { useConfig } from './useConfig';\n\nconst fetchBalanceOfCollectibleSchema = z.object({\n\tcollectionAddress: AddressSchema,\n\tcollectableId: CollectableIdSchema.pipe(z.coerce.string()),\n\tuserAddress: AddressSchema,\n\tchainId: ChainIdSchema.pipe(z.coerce.number()),\n});\n\ntype FetchBalanceOfCollectibleArgs = z.input<\n\ttypeof fetchBalanceOfCollectibleSchema\n>;\n\nconst fetchBalanceOfCollectible = async (\n\targs: FetchBalanceOfCollectibleArgs,\n\tconfig: SdkConfig,\n) => {\n\tconst parsedArgs = fetchBalanceOfCollectibleSchema.parse(args);\n\tconst indexerClient = getIndexerClient(parsedArgs.chainId, config);\n\treturn indexerClient\n\t\t.getTokenBalances({\n\t\t\taccountAddress: parsedArgs.userAddress,\n\t\t\tcontractAddress: parsedArgs.collectionAddress,\n\t\t\ttokenID: parsedArgs.collectableId,\n\t\t\tincludeMetadata: false,\n\t\t\tmetadataOptions: {\n\t\t\t\tverifiedOnly: true,\n\t\t\t\tincludeContracts: [parsedArgs.collectionAddress],\n\t\t\t},\n\t\t})\n\t\t.then((res) => res.balances[0] || null);\n};\n\ninterface BalanceOfCollectibleOptions\n\textends Omit<FetchBalanceOfCollectibleArgs, 'userAddress'> {\n\tuserAddress: Hex | undefined;\n\tquery?: z.infer<typeof QueryArgSchema>;\n}\nexport const balanceOfCollectibleOptions = (\n\targs: BalanceOfCollectibleOptions,\n\tconfig: SdkConfig,\n) => {\n\tconst enabled = !!args.userAddress && (args.query?.enabled ?? true);\n\treturn queryOptions({\n\t\t...args.query,\n\t\tqueryKey: [...collectableKeys.userBalances, args],\n\t\tqueryFn: enabled\n\t\t\t? () =>\n\t\t\t\t\tfetchBalanceOfCollectible(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t...args,\n\t\t\t\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: this is guaranteed by the userAddress check above\n\t\t\t\t\t\t\tuserAddress: args.userAddress!,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tconfig,\n\t\t\t\t\t)\n\t\t\t: skipToken,\n\t\tenabled,\n\t});\n};\n\nexport const useBalanceOfCollectible = (args: BalanceOfCollectibleOptions) => {\n\tconst config = useConfig();\n\treturn useQuery(balanceOfCollectibleOptions(args, config));\n};\n","'use client';\n\nimport { useContext } from 'react';\n\nimport { MarketplaceSdkProviderNotFoundError } from '../../utils/_internal/error/context';\nimport { MarketplaceSdkContext } from '../provider';\n\nexport function useConfig() {\n\tconst context = useContext(MarketplaceSdkContext);\n\tif (!context) {\n\t\tthrow new MarketplaceSdkProviderNotFoundError();\n\t}\n\treturn context;\n}\n","import { BaseError } from './base';\n\nexport type MarketplaceSdkProviderNotFoundErrorType =\n\tMarketplaceSdkProviderNotFoundError & {\n\t\tname: 'MarketplaceSDKProviderNotFoundError';\n\t};\n\nexport class MarketplaceSdkProviderNotFoundError extends BaseError {\n\toverride name = 'MarketplaceSDKProviderNotFoundError';\n\tconstructor() {\n\t\tsuper('`useConfig` must be used within `MarketplaceSdkProvider`.');\n\t}\n}\n","'use client';\n\nimport { createContext } from 'react';\nimport '@0xsequence/design-system/styles.css';\nimport type { SdkConfig } from '../types';\nimport { PROVIDER_ID } from './_internal/get-provider';\n\nexport const MarketplaceSdkContext = createContext({} as SdkConfig);\n\nexport type MarketplaceSdkProviderProps = {\n\tconfig: SdkConfig;\n\tchildren: React.ReactNode;\n};\n\nexport function MarketplaceProvider({\n\tconfig,\n\tchildren,\n}: MarketplaceSdkProviderProps) {\n\treturn (\n\t\t<MarketplaceSdkContext.Provider value={config}>\n\t\t\t<div id={PROVIDER_ID}>{children}</div>\n\t\t</MarketplaceSdkContext.Provider>\n\t);\n}\n","import { queryOptions, useQuery } from '@tanstack/react-query';\nimport { z } from 'zod';\nimport type { SdkConfig } from '../../types';\nimport {\n\tAddressSchema,\n\tChainIdSchema,\n\tOrderSide,\n\tQueryArgSchema,\n\tcollectableKeys,\n\tgetMarketplaceClient,\n} from '../_internal';\nimport { collectiblesFilterSchema } from '../_internal/api/zod-schema';\nimport { useConfig } from './useConfig';\n\nconst BaseSchema = z.object({\n\tchainId: ChainIdSchema.pipe(z.coerce.string()),\n\tcollectionAddress: AddressSchema,\n\tquery: QueryArgSchema,\n});\n\nconst UseCountOfCollectableSchema = BaseSchema.extend({\n\tfilter: collectiblesFilterSchema,\n\tside: z.nativeEnum(OrderSide),\n}).or(\n\tBaseSchema.extend({\n\t\tfilter: z.undefined(),\n\t\tside: z.undefined(),\n\t}),\n);\n\nexport type UseCountOfCollectablesArgs = z.infer<\n\ttypeof UseCountOfCollectableSchema\n>;\n\nexport type UseContOfCollectableReturn = Awaited<\n\tReturnType<typeof fetchCountOfCollectables>\n>;\n\nconst fetchCountOfCollectables = async (\n\targs: UseCountOfCollectablesArgs,\n\tconfig: SdkConfig,\n) => {\n\tconst parsedArgs = UseCountOfCollectableSchema.parse(args);\n\tconst marketplaceClient = getMarketplaceClient(parsedArgs.chainId, config);\n\tif (parsedArgs.filter) {\n\t\treturn marketplaceClient\n\t\t\t.getCountOfFilteredCollectibles({\n\t\t\t\t...parsedArgs,\n\t\t\t\tcontractAddress: parsedArgs.collectionAddress,\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: safe to assert here, as it's validated\n\t\t\t\tside: parsedArgs.side!,\n\t\t\t})\n\t\t\t.then((resp) => resp.count);\n\t}\n\treturn marketplaceClient\n\t\t.getCountOfAllCollectibles({\n\t\t\t...parsedArgs,\n\t\t\tcontractAddress: parsedArgs.collectionAddress,\n\t\t})\n\t\t.then((resp) => resp.count);\n};\n\nexport const countOfCollectablesOptions = (\n\targs: UseCountOfCollectablesArgs,\n\tconfig: SdkConfig,\n) => {\n\treturn queryOptions({\n\t\t...args.query,\n\t\tqueryKey: [...collectableKeys.counts, args],\n\t\tqueryFn: () => fetchCountOfCollectables(args, config),\n\t});\n};\n\nexport const useCountOfCollectables = (args: UseCountOfCollectablesArgs) => {\n\tconst config = useConfig();\n\treturn useQuery(countOfCollectablesOptions(args, config));\n};\n","// generated with https://transform.tools/typescript-to-zod\n//\n//\nimport { z } from 'zod';\nimport {\n\tCollectibleStatus,\n\tCollectionStatus,\n\tContractType,\n\tExecuteType,\n\tMarketplaceKind,\n\tOrderSide,\n\tOrderStatus,\n\tOrderbookKind,\n\tProjectStatus,\n\tPropertyType,\n\tSortOrder,\n\tSourceKind,\n\tStepType,\n\tTransactionCrypto,\n\tTransactionNFTCheckoutProvider,\n\tTransactionOnRampProvider,\n\tTransactionSwapProvider,\n\tWalletKind,\n} from './marketplace.gen';\n\nexport const assetSchema = z.object({\n\tid: z.number(),\n\tcollectionId: z.number(),\n\ttokenId: z.string(),\n\turl: z.string().optional(),\n\tmetadataField: z.string(),\n\tname: z.string().optional(),\n\tfilesize: z.number().optional(),\n\tmimeType: z.string().optional(),\n\twidth: z.number().optional(),\n\theight: z.number().optional(),\n\tupdatedAt: z.string().optional(),\n});\n\nexport const sortOrderSchema = z.nativeEnum(SortOrder);\n\nexport const propertyTypeSchema = z.nativeEnum(PropertyType);\n\nexport const marketplaceKindSchema = z.nativeEnum(MarketplaceKind);\n\nexport const orderbookKindSchema = z.nativeEnum(OrderbookKind);\n\nexport const sourceKindSchema = z.nativeEnum(SourceKind);\n\nexport const orderSideSchema = z.nativeEnum(OrderSide);\n\nexport const orderStatusSchema = z.nativeEnum(OrderStatus);\n\nexport const contractTypeSchema = z.nativeEnum(ContractType);\n\nexport const collectionStatusSchema = z.nativeEnum(CollectionStatus);\n\nexport const projectStatusSchema = z.nativeEnum(ProjectStatus);\n\nexport const collectibleStatusSchema = z.nativeEnum(CollectibleStatus);\n\nexport const walletKindSchema = z.nativeEnum(WalletKind);\n\nexport const stepTypeSchema = z.nativeEnum(StepType);\n\nexport const transactionCryptoSchema = z.nativeEnum(TransactionCrypto);\n\nexport const transactionNFTCheckoutProviderSchema = z.nativeEnum(\n\tTransactionNFTCheckoutProvider,\n);\n\nexport const transactionOnRampProviderSchema = z.nativeEnum(\n\tTransactionOnRampProvider,\n);\n\nexport const transactionSwapProviderSchema = z.nativeEnum(\n\tTransactionSwapProvider,\n);\n\nexport const executeTypeSchema = z.nativeEnum(ExecuteType);\n\nexport const sortBySchema = z.object({\n\tcolumn: z.string(),\n\torder: sortOrderSchema,\n});\n\nexport const propertyFilterSchema = z.object({\n\tname: z.string(),\n\ttype: propertyTypeSchema,\n\tmin: z.number().optional(),\n\tmax: z.number().optional(),\n\tvalues: z.array(z.any()).optional(),\n});\n\nexport const collectiblesFilterSchema = z.object({\n\tincludeEmpty: z.boolean(),\n\tsearchText: z.string().optional(),\n\tproperties: z.array(propertyFilterSchema).optional(),\n\tmarketplaces: z.array(marketplaceKindSchema).optional(),\n\tinAccounts: z.array(z.string()).optional(),\n\tnotInAccounts: z.array(z.string()).optional(),\n\tordersCreatedBy: z.array(z.string()).optional(),\n\tordersNotCreatedBy: z.array(z.string()).optional(),\n});\n\nexport const feeBreakdownSchema = z.object({\n\tkind: z.string(),\n\trecipientAddress: z.string(),\n\tbps: z.number(),\n});\n\nexport const orderFilterSchema = z.object({\n\tcreatedBy: z.array(z.string()).optional(),\n\tmarketplace: z.array(marketplaceKindSchema).optional(),\n\tcurrencies: z.array(z.string()).optional(),\n});\n\nexport const collectionLastSyncedSchema = z.object({\n\tallOrders: z.string(),\n\tnewOrders: z.string(),\n});\n\nexport const projectSchema = z.object({\n\tprojectId: z.number(),\n\tchainId: z.number(),\n\tcontractAddress: z.string(),\n\tstatus: projectStatusSchema,\n\tcreatedAt: z.string(),\n\tupdatedAt: z.string(),\n\tdeletedAt: z.string().optional(),\n});\n\nexport const collectibleSchema = z.object({\n\tchainId: z.number(),\n\tcontractAddress: z.string(),\n\tstatus: collectibleStatusSchema,\n\ttokenId: z.string(),\n\tcreatedAt: z.string(),\n\tupdatedAt: z.string(),\n\tdeletedAt: z.string().optional(),\n});\n\nexport const currencySchema = z.object({\n\tchainId: z.number(),\n\tcontractAddress: z.string(),\n\tname: z.string(),\n\tsymbol: z.string(),\n\tdecimals: z.number(),\n\timageUrl: z.string(),\n\texchangeRate: z.number(),\n\tdefaultChainCurrency: z.boolean(),\n\tnativeCurrency: z.boolean(),\n\tcreatedAt: z.string(),\n\tupdatedAt: z.string(),\n\tdeletedAt: z.string().optional(),\n});\n\nexport const orderDataSchema = z.object({\n\torderId: z.string(),\n\tquantity: z.string(),\n});\n\nexport const additionalFeeSchema = z.object({\n\tamount: z.string(),\n\treceiver: z.string(),\n});\n\nexport const postRequestSchema = z.object({\n\tendpoint: z.string(),\n\tmethod: z.string(),\n\tbody: z.any(),\n});\n\nexport const createReqSchema = z.object({\n\ttokenId: z.string(),\n\tquantity: z.string(),\n\texpiry: z.string(),\n\tcurrencyAddress: z.string(),\n\tpricePerToken: z.string(),\n});\n\nexport const getOrdersInputSchema = z.object({\n\tcontractAddress: z.string(),\n\torderId: z.string(),\n\tmarketplace: marketplaceKindSchema,\n});\n\nexport const domainSchema = z.object({\n\tname: z.string(),\n\tversion: z.string(),\n\tchainId: z.number(),\n\tverifyingContract: z.string(),\n});\n\nexport const checkoutOptionsMarketplaceOrderSchema = z.object({\n\tcontractAddress: z.string(),\n\torderId: z.string(),\n\tmarketplace: marketplaceKindSchema,\n});\n\nexport const checkoutOptionsItemSchema = z.object({\n\ttokenId: z.string(),\n\tquantity: z.string(),\n});\n\nexport const checkoutOptionsSchema = z.object({\n\tcrypto: transactionCryptoSchema,\n\tswap: z.array(transactionSwapProviderSchema),\n\tnftCheckout: z.array(transactionNFTCheckoutProviderSchema),\n\tonRamp: z.array(transactionOnRampProviderSchema),\n});\n\nexport const listCurrenciesArgsSchema = z.object({});\n\nexport const listCurrenciesReturnSchema = z.object({\n\tcurrencies: z.array(currencySchema),\n});\n\nexport const getCollectibleArgsSchema = z.object({\n\tcontractAddress: z.string(),\n\ttokenId: z.string(),\n});\n\nexport const getLowestPriceOfferForCollectibleArgsSchema = z.object({\n\tcontractAddress: z.string(),\n\ttokenId: z.string(),\n\tfilter: orderFilterSchema.optional(),\n});\n\nexport const getHighestPriceOfferForCollectibleArgsSchema = z.object({\n\tcontractAddress: z.string(),\n\ttokenId: z.string(),\n\tfilter: orderFilterSchema.optional(),\n});\n\nexport const getLowestPriceListingForCollectibleArgsSchema = z.object({\n\tcontractAddress: z.string(),\n\ttokenId: z.string(),\n\tfilter: orderFilterSchema.optional(),\n});\n\nexport const getHighestPriceListingForCollectibleArgsSchema = z.object({\n\tcontractAddress: z.string(),\n\ttokenId: z.string(),\n\tfilter: orderFilterSchema.optional(),\n});\n\nexport const getCollectibleLowestOfferArgsSchema = z.object({\n\tcontractAddress: z.string(),\n\ttokenId: z.string(),\n\tfilter: orderFilterSchema.optional(),\n});\n\nexport const getCollectibleHighestOfferArgsSchema = z.object({\n\tcontractAddress: z.string(),\n\ttokenId: z.string(),\n\tfilter: orderFilterSchema.optional(),\n});\n\nexport const getCollectibleLowestListingArgsSchema = z.object({\n\tcontractAddress: z.string(),\n\ttokenId: z.string(),\n\tfilters: orderFilterSchema.optional(),\n});\n\nexport const getCollectibleHighestListingArgsSchema = z.object({\n\tcontractAddress: z.string(),\n\ttokenId: z.string(),\n\tfilter: orderFilterSchema.optional(),\n});\n\nexport const generateBuyTransactionArgsSchema = z.object({\n\tcollectionAddress: z.string(),\n\tbuyer: z.string(),\n\tmarketplace: marketplaceKindSchema,\n\tordersData: z.array(orderDataSchema),\n\tadditionalFees: z.array(additionalFeeSchema),\n\twalletType: walletKindSchema.optional(),\n});\n\nexport const generateSellTransactionArgsSchema = z.object({\n\tcollectionAddress: z.string(),\n\tseller: z.string(),\n\tmarketplace: marketplaceKindSchema,\n\tordersData: z.array(orderDataSchema),\n\tadditionalFees: z.array(additionalFeeSchema),\n\twalletType: walletKindSchema.optional(),\n});\n\nexport const generateListingTransactionArgsSchema = z.object({\n\tcollectionAddress: z.string(),\n\towner: z.string(),\n\tcontractType: contractTypeSchema,\n\torderbook: orderbookKindSchema,\n\tlisting: createReqSchema,\n\twalletType: walletKindSchema.optional(),\n});\n\nexport const generateOfferTransactionArgsSchema = z.object({\n\tcollectionAddress: z.string(),\n\tmaker: z.string(),\n\tcontractType: contractTypeSchema,\n\torderbook: orderbookKindSchema,\n\toffer: createReqSchema,\n\twalletType: walletKindSchema.optional(),\n});\n\nexport const executeArgsSchema = z.object({\n\tsignature: z.string(),\n\texecuteType: executeTypeSchema,\n\tbody: z.any(),\n});\n\nexport const executeReturnSchema = z.object({\n\torderId: z.string(),\n});\n\nexport const getCountOfAllCollectiblesArgsSchema = z.object({\n\tcontractAddress: z.string(),\n});\n\nexport const getCountOfAllCollectiblesReturnSchema = z.object({\n\tcount: z.number(),\n});\n\nexport const getCountOfFilteredCollectiblesArgsSchema = z.object({\n\tside: orderSideSchema,\n\tcontractAddress: z.string(),\n\tfilter: collectiblesFilterSchema.optional(),\n});\n\nexport const getCountOfFilteredCollectiblesReturnSchema = z.object({\n\tcount: z.number(),\n});\n\nexport const getFloorOrderArgsSchema = z.object({\n\tcontractAddress: z.string(),\n\tfilter: collectiblesFilterSchema.optional(),\n});\n\nexport const syncOrderReturnSchema = z.object({});\n\nexport const syncOrdersReturnSchema = z.object({});\n\nexport const checkoutOptionsMarketplaceArgsSchema = z.object({\n\twallet: z.string(),\n\torders: z.array(checkoutOptionsMarketplaceOrderSchema),\n\tadditionalFee: z.number(),\n});\n\nexport const checkoutOptionsMarketplaceReturnSchema = z.object({\n\toptions: checkoutOptionsSchema,\n});\n\nexport const checkoutOptionsSalesContractArgsSchema = z.object({\n\twallet: z.string(),\n\tcontractAddress: z.string(),\n\tcollectionAddress: z.string(),\n\titems: z.array(checkoutOptionsItemSchema),\n});\n\nexport const checkoutOptionsSalesContractReturnSchema = z.object({\n\toptions: checkoutOptionsSchema,\n});\n\nexport const countListingsForCollectibleArgsSchema = z.object({\n\tcontractAddress: z.string(),\n\ttokenId: z.string(),\n\tfilter: orderFilterSchema.optional(),\n});\n\nexport const countListingsForCollectibleReturnSchema = z.object({\n\tcount: z.number(),\n});\n\nexport const countOffersForCollectibleArgsSchema = z.object({\n\tcontractAddress: z.string(),\n\ttokenId: z.string(),\n\tfilter: orderFilterSchema.optional(),\n});\n\nexport const countOffersForCollectibleReturnSchema = z.object({\n\tcount: z.number(),\n});\n\nexport const tokenMetadataSchema = z.object({\n\ttokenId: z.string(),\n\tname: z.string(),\n\tdescription: z.string().optional(),\n\timage: z.string().optional(),\n\tvideo: z.string().optional(),\n\taudio: z.string().optional(),\n\tproperties: z.record(z.any()).optional(),\n\tattributes: z.array(z.record(z.any())),\n\timage_data: z.string().optional(),\n\texternal_url: z.string().optional(),\n\tbackground_color: z.string().optional(),\n\tanimation_url: z.string().optional(),\n\tdecimals: z.number().optional(),\n\tupdatedAt: z.string().optional(),\n\tassets: z.array(assetSchema).optional(),\n});\n\nexport const pageSchema = z.object({\n\tpage: z.number(),\n\tpageSize: z.number(),\n\tmore: z.boolean().optional(),\n\tsort: z.array(sortBySchema).optional(),\n});\n\nexport const filterSchema = z.object({\n\ttext: z.string().optional(),\n\tproperties: z.array(propertyFilterSchema).optional(),\n});\n\nexport const orderSchema = z.object({\n\torderId: z.string(),\n\tmarketplace: marketplaceKindSchema,\n\tside: orderSideSchema,\n\tstatus: orderStatusSchema,\n\tchainId: z.number(),\n\tcollectionContractAddress: z.string(),\n\ttokenId: z.string(),\n\tcreatedBy: z.string(),\n\tpriceAmount: z.string(),\n\tpriceAmountFormatted: z.string(),\n\tpriceAmountNet: z.string(),\n\tpriceAmountNetFormatted: z.string(),\n\tpriceCurrencyAddress: z.string(),\n\tpriceDecimals: z.number(),\n\tpriceUSD: z.number(),\n\tquantityInitial: z.string(),\n\tquantityInitialFormatted: z.string(),\n\tquantityRemaining: z.string(),\n\tquantityRemainingFormatted: z.string(),\n\tquantityAvailable: z.string(),\n\tquantityAvailableFormatted: z.string(),\n\tquantityDecimals: z.number(),\n\tfeeBps: z.number(),\n\tfeeBreakdown: z.array(feeBreakdownSchema),\n\tvalidFrom: z.string(),\n\tvalidUntil: z.string(),\n\tblockNumber: z.number(),\n\torderCreatedAt: z.string().optional(),\n\torderUpdatedAt: z.string().optional(),\n\tcreatedAt: z.string(),\n\tupdatedAt: z.string(),\n\tdeletedAt: z.string().optional(),\n});\n\nexport const collectibleOrderSchema = z.object({\n\tmetadata: tokenMetadataSchema,\n\torder: orderSchema.optional(),\n});\n\nexport const activitySchema = z.object({\n\ttype: z.string(),\n\tfromAddress: z.string(),\n\ttoAddress: z.string(),\n\ttxHash: z.string(),\n\ttimestamp: z.number(),\n\ttokenId: z.string(),\n\ttokenImage: z.string(),\n\ttokenName: z.string(),\n\tcurrency: currencySchema.optional(),\n});\n\nexport const collectionConfigSchema = z.object({\n\tlastSynced: z.record(collectionLastSyncedSchema),\n\tcollectiblesSynced: z.string(),\n});\n\nexport const signatureSchema = z.object({\n\tdomain: domainSchema,\n\ttypes: z.any(),\n\tprimaryType: z.string(),\n\tvalue: z.any(),\n});\n\nexport const getCollectibleReturnSchema = z.object({\n\tmetadata: tokenMetadataSchema,\n});\n\nexport const getLowestPriceOfferForCollectibleReturnSchema = z.object({\n\torder: orderSchema,\n});\n\nexport const getHighestPriceOfferForCollectibleReturnSchema = z.object({\n\torder: orderSchema,\n});\n\nexport const getLowestPriceListingForCollectibleReturnSchema = z.object({\n\torder: orderSchema,\n});\n\nexport const getHighestPriceListingForCollectibleReturnSchema = z.object({\n\torder: orderSchema,\n});\n\nexport const listListingsForCollectibleArgsSchema = z.object({\n\tcontractAddress: z.string(),\n\ttokenId: z.string(),\n\tfilter: orderFilterSchema.optional(),\n\tpage: pageSchema.optional(),\n});\n\nexport const listListingsForCollectibleReturnSchema = z.object({\n\tlistings: z.array(orderSchema),\n\tpage: pageSchema.optional(),\n});\n\nexport const listOffersForCollectibleArgsSchema = z.object({\n\tcontractAddress: z.string(),\n\ttokenId: z.string(),\n\tfilter: orderFilterSchema.optional(),\n\tpage: pageSchema.optional(),\n});\n\nexport const listOffersForCollectibleReturnSchema = z.object({\n\toffers: z.array(orderSchema),\n\tpage: pageSchema.optional(),\n});\n\nexport const getCollectibleLowestOfferReturnSchema = z.object({\n\torder: orderSchema.optional(),\n});\n\nexport const getCollectibleHighestOfferReturnSchema = z.object({\n\torder: orderSchema.optional(),\n});\n\nexport const getCollectibleLowestListingReturnSchema = z.object({\n\torder: orderSchema.optional(),\n});\n\nexport const getCollectibleHighestListingReturnSchema = z.object({\n\torder: orderSchema.optional(),\n});\n\nexport const listCollectibleListingsArgsSchema = z.object({\n\tcontractAddress: z.string(),\n\ttokenId: z.string(),\n\tfilter: orderFilterSchema.optional(),\n\tpage: pageSchema.optional(),\n});\n\nexport const listCollectibleListingsReturnSchema = z.object({\n\tlistings: z.array(orderSchema),\n\tpage: pageSchema.optional(),\n});\n\nexport const listCollectibleOffersArgsSchema = z.object({\n\tcontractAddress: z.string(),\n\ttokenId: z.string(),\n\tfilter: orderFilterSchema.optional(),\n\tpage: pageSchema.optional(),\n});\n\nexport const listCollectibleOffersReturnSchema = z.object({\n\toffers: z.array(orderSchema),\n\tpage: pageSchema.optional(),\n});\n\nexport const listCollectiblesArgsSchema = z.object({\n\tside: orderSideSchema,\n\tcontractAddress: z.string(),\n\tfilter: collectiblesFilterSchema.optional(),\n\tpage: pageSchema.optional(),\n});\n\nexport const listCollectiblesReturnSchema = z.object({\n\tcollectibles: z.array(collectibleOrderSchema),\n\tpage: pageSchema.optional(),\n});\n\nexport const getFloorOrderReturnSchema = z.object({\n\tcollectible: collectibleOrderSchema,\n});\n\nexport const listCollectiblesWithLowestListingArgsSchema = z.object({\n\tcontractAddress: z.string(),\n\tfilter: collectiblesFilterSchema.optional(),\n\tpage: pageSchema.optional(),\n});\n\nexport const listCollectiblesWithLowestListingReturnSchema = z.object({\n\tcollectibles: z.array(collectibleOrderSchema),\n\tpage: pageSchema.optional(),\n});\n\nexport const listCollectiblesWithHighestOfferArgsSchema = z.object({\n\tcontractAddress: z.string(),\n\tfilter: collectiblesFilterSchema.optional(),\n\tpage: pageSchema.optional(),\n});\n\nexport const listCollectiblesWithHighestOfferReturnSchema = z.object({\n\tcollectibles: z.array(collectibleOrderSchema),\n\tpage: pageSchema.optional(),\n});\n\nexport const syncOrderArgsSchema = z.object({\n\torder: orderSchema,\n});\n\nexport const syncOrdersArgsSchema = z.object({\n\torders: z.array(orderSchema),\n});\n\nexport const getOrdersArgsSchema = z.object({\n\tinput: z.array(getOrdersInputSchema),\n\tpage: pageSchema.optional(),\n});\n\nexport const getOrdersReturnSchema = z.object({\n\torders: z.array(orderSchema),\n\tpage: pageSchema.optional(),\n});\n\nexport const collectionSchema = z.object({\n\tstatus: collectionStatusSchema,\n\tchainId: z.number(),\n\tcontractAddress: z.string(),\n\tcontractType: contractTypeSchema,\n\ttokenQuantityDecimals: z.number(),\n\tconfig: collectionConfigSchema,\n\tcreatedAt: z.string(),\n\tupdatedAt: z.string(),\n\tdeletedAt: z.string().optional(),\n});\n\nexport const stepSchema = z.object({\n\tid: stepTypeSchema,\n\tdata: z.string(),\n\tto: z.string(),\n\tvalue: z.string(),\n\tsignature: signatureSchema.optional(),\n\tpost: postRequestSchema.optional(),\n\texecuteType: executeTypeSchema.optional(),\n});\n\nexport const generateBuyTransactionReturnSchema = z.object({\n\tsteps: z.array(stepSchema),\n});\n\nexport const generateSellTransactionReturnSchema = z.object({\n\tsteps: z.array(stepSchema),\n});\n\nexport const generateListingTransactionReturnSchema = z.object({\n\tsteps: z.array(stepSchema),\n});\n\nexport const generateOfferTransactionReturnSchema = z.object({\n\tsteps: z.array(stepSchema),\n});\n","import { queryOptions, useQuery } from '@tanstack/react-query';\nimport { z } from 'zod';\nimport type { SdkConfig } from '../../types';\nimport {\n\tAddressSchema,\n\tChainIdSchema,\n\tQueryArgSchema,\n\tcollectableKeys,\n\tgetMetadataClient,\n} from '../_internal';\nimport { useConfig } from './useConfig';\n\nconst UseCollectibleSchema = z.object({\n\tchainId: ChainIdSchema.pipe(z.coerce.string()),\n\tcollectionAddress: AddressSchema,\n\tcollectibleId: z.string(),\n\tquery: QueryArgSchema,\n});\n\nexport type UseCollectibleArgs = z.infer<typeof UseCollectibleSchema>;\n\nexport type UseCollectibleReturn = Awaited<ReturnType<typeof fetchCollectible>>;\n\nconst fetchCollectible = async (\n\targs: UseCollectibleArgs,\n\tconfig: SdkConfig,\n) => {\n\tconst parsedArgs = UseCollectibleSchema.parse(args);\n\tconst metadataClient = getMetadataClient(config);\n\treturn metadataClient\n\t\t.getTokenMetadata({\n\t\t\tchainID: parsedArgs.chainId,\n\t\t\tcontractAddress: parsedArgs.collectionAddress,\n\t\t\ttokenIDs: [parsedArgs.collectibleId],\n\t\t})\n\t\t.then((resp) => resp.tokenMetadata[0]);\n};\n\nexport const collectibleOptions = (\n\targs: UseCollectibleArgs,\n\tconfig: SdkConfig,\n) => {\n\treturn queryOptions({\n\t\t...args.query,\n\t\tqueryKey: [...collectableKeys.details, args, config],\n\t\tqueryFn: () => fetchCollectible(args, config),\n\t});\n};\n\nexport const useCollectible = (args: UseCollectibleArgs) => {\n\tconst config = useConfig();\n\treturn useQuery(collectibleOptions(args, config));\n};\n","import { queryOptions, useQuery } from '@tanstack/react-query';\nimport { z } from 'zod';\nimport type { SdkConfig } from '../../types';\nimport {\n\tAddressSchema,\n\tChainIdSchema,\n\tQueryArgSchema,\n\tcollectionKeys,\n\tgetMetadataClient,\n} from '../_internal';\nimport { useConfig } from './useConfig';\n\nconst UseCollectionSchema = z.object({\n\tchainId: ChainIdSchema.pipe(z.coerce.string()),\n\tcollectionAddress: AddressSchema,\n\tquery: QueryArgSchema,\n});\n\nexport type UseCollectionArgs = z.input<typeof UseCollectionSchema>;\n\nexport type UseCollectionReturn = Awaited<ReturnType<typeof fetchCollection>>;\n\nconst fetchCollection = async (args: UseCollectionArgs, config: SdkConfig) => {\n\tconst parsedArgs = UseCollectionSchema.parse(args);\n\tconst metadataClient = getMetadataClient(config);\n\treturn metadataClient\n\t\t.getContractInfo({\n\t\t\tchainID: parsedArgs.chainId,\n\t\t\tcontractAddress: parsedArgs.collectionAddress,\n\t\t})\n\t\t.then((resp) => resp.contractInfo);\n};\n\nexport const collectionOptions = (\n\targs: UseCollectionArgs,\n\tconfig: SdkConfig,\n) => {\n\treturn queryOptions({\n\t\t...args.query,\n\t\tqueryKey: [...collectionKeys.detail, args, config],\n\t\tqueryFn: () => fetchCollection(args, config),\n\t});\n};\n\nexport const useCollection = (args: UseCollectionArgs) => {\n\tconst config = useConfig();\n\treturn useQuery(collectionOptions(args, config));\n};\n","import { queryOptions, useQuery } from '@tanstack/react-query';\nimport { toHex, zeroAddress } from 'viem';\nimport { z } from 'zod';\nimport type { SdkConfig } from '../../types';\nimport { InvalidCurrencyOptionsError } from '../../utils/_internal/error/transaction';\nimport {\n\tAddressSchema,\n\ttype ChainId,\n\tChainIdSchema,\n\ttype Currency,\n\tQueryArgSchema,\n\tcurrencyKeys,\n\tgetMarketplaceClient,\n} from '../_internal';\nimport { useConfig } from './useConfig';\n\nconst ChainIdCoerce = ChainIdSchema.transform((val) => val.toString());\n\nconst UseCurrenciesArgsSchema = z.object({\n\tchainId: ChainIdCoerce,\n\tincludeNativeCurrency: z.boolean().optional().default(true),\n\tcurrencyOptions: z.array(AddressSchema).optional(),\n\tquery: QueryArgSchema,\n});\n\ntype UseCurrenciesArgs = z.input<typeof UseCurrenciesArgsSchema>;\n\nexport type UseCurrenciesReturn = Awaited<ReturnType<typeof fetchCurrencies>>;\n\nconst fetchCurrencies = async (chainId: ChainId, config: SdkConfig) => {\n\tconst parsedChainId = ChainIdCoerce.parse(chainId);\n\tconst marketplaceClient = getMarketplaceClient(parsedChainId, config);\n\treturn marketplaceClient.listCurrencies().then((resp) =>\n\t\tresp.currencies.map((currency) => ({\n\t\t\t...currency,\n\t\t\t// TODO: remove this, when we are sure of the schema\n\t\t\tcontractAddress: currency.contractAddress || zeroAddress,\n\t\t})),\n\t);\n};\n\nconst selectCurrencies = (data: Currency[], args: UseCurrenciesArgs) => {\n\tconst argsParsed = UseCurrenciesArgsSchema.parse(args);\n\t// if collectionAddress is passed, filter currencies based on collection currency options\n\tif (argsParsed.currencyOptions) {\n\t\tif (!argsParsed.currencyOptions) {\n\t\t\tthrow new InvalidCurrencyOptionsError(argsParsed.currencyOptions);\n\t\t}\n\n\t\treturn data.filter(\n\t\t\t(currency) =>\n\t\t\t\targsParsed.currencyOptions?.includes(toHex(currency.contractAddress)) ||\n\t\t\t\t// biome-ignore lint/suspicious/noDoubleEquals: <explanation>\n\t\t\t\tcurrency.nativeCurrency == argsParsed.includeNativeCurrency ||\n\t\t\t\tcurrency.defaultChainCurrency,\n\t\t);\n\t}\n\t// if includeNativeCurrency is true, return all currencies\n\tif (argsParsed.includeNativeCurrency) {\n\t\treturn data;\n\t}\n\n\t// if includeNativeCurrency is false or undefined, filter out native currencies\n\treturn data.filter((currency) => !currency.nativeCurrency);\n};\n\nexport const currenciesOptions = (\n\targs: UseCurrenciesArgs,\n\tconfig: SdkConfig,\n) => {\n\treturn queryOptions({\n\t\t...args.query,\n\t\tqueryKey: [...currencyKeys.lists, args.chainId],\n\t\tqueryFn: () => fetchCurrencies(args.chainId, config),\n\t\tselect: (data) => selectCurrencies(data, args),\n\t\tenabled: args.query?.enabled,\n\t});\n};\n\nexport const useCurrencies = (args: UseCurrenciesArgs) => {\n\tconst config = useConfig();\n\n\treturn useQuery(currenciesOptions(args, config));\n};\n","import { useQuery } from '@tanstack/react-query';\nimport { marketplaceConfigOptions } from './options/marketplaceConfigOptions';\nimport { useConfig } from './useConfig';\n\nexport * from './options/marketplaceConfigOptions';\n\nexport const useMarketplaceConfig = () => {\n\tconst config = useConfig();\n\treturn useQuery(marketplaceConfigOptions(config));\n};\n","import { queryOptions } from '@tanstack/react-query';\nimport type { Env, MarketplaceConfig, SdkConfig } from '../../../types';\nimport {\n\tMarketplaceConfigFetchError,\n\tProjectNotFoundError,\n} from '../../../utils/_internal/error/transaction';\nimport { builderMarketplaceApi, configKeys } from '../../_internal';\n\nconst fetchBuilderConfig = async (projectId: string, env: Env) => {\n\tconst url = `${builderMarketplaceApi(projectId, env)}`;\n\tconst response = await fetch(`${url}/config.json`);\n\n\tconst json = await response.json();\n\tif (!response.ok) {\n\t\tconsole.error('Failed to fetch marketplace config:', response.status, json);\n\t\t//@ts-ignore\n\t\tswitch (json.code) {\n\t\t\tcase 3000: // Throws 3000 if the project is not found\n\t\t\t\tthrow new ProjectNotFoundError(projectId, url);\n\t\t\tdefault:\n\t\t\t\t//@ts-ignore\n\t\t\t\tthrow new MarketplaceConfigFetchError(json.msg);\n\t\t}\n\t}\n\treturn json as MarketplaceConfig;\n};\n\nconst fetchStyles = async (projectId: string, env: Env) => {\n\tconst response = await fetch(\n\t\t`${builderMarketplaceApi(projectId, env)}/styles.css`,\n\t);\n\tconst styles = await response.text();\n\t// React sanitizes this string, so we need to remove all quotes, they are not needed anyway\n\treturn styles.replaceAll(/['\"]/g, '');\n};\n\nconst fetchMarketplaceConfig = async (\n\tenv: Env,\n\tprojectId: string,\n): Promise<MarketplaceConfig> => {\n\tconst [marketplaceConfig, cssString] = await Promise.all([\n\t\tfetchBuilderConfig(projectId, env),\n\t\tfetchStyles(projectId, env),\n\t]);\n\n\treturn {\n\t\t...marketplaceConfig,\n\t\tcssString,\n\t\tmanifestUrl: `${builderMarketplaceApi(projectId, env)}/manifest.json`,\n\t};\n};\n\nexport const marketplaceConfigOptions = (\n\tconfig: Pick<SdkConfig, 'projectId'> | SdkConfig,\n) => {\n\tlet env: Env = 'production';\n\tif ('_internal' in config && config._internal !== undefined) {\n\t\tenv = config._internal.builderEnv ?? env;\n\t}\n\n\tconst projectId = config.projectId;\n\treturn queryOptions({\n\t\tqueryKey: [...configKeys.marketplace, env, projectId],\n\t\tqueryFn: () => fetchMarketplaceConfig(env, projectId),\n\t});\n};\n","import type { Address } from 'viem';\nimport { useMarketplaceConfig } from './useMarketplaceConfig';\n\nexport const useCurrencyOptions = ({\n\tcollectionAddress,\n}: {\n\tcollectionAddress: Address;\n}) => {\n\tconst { data: marketplaceConfig } = useMarketplaceConfig();\n\tconst collections = marketplaceConfig?.collections;\n\tconst currencyOptions = collections?.find(\n\t\t(collection) => collection.collectionAddress === collectionAddress,\n\t)?.currencyOptions;\n\n\treturn currencyOptions;\n};\n","import { queryOptions, useQuery } from '@tanstack/react-query';\nimport { z } from 'zod';\nimport type { SdkConfig } from '../../types';\nimport {\n\tAddressSchema,\n\ttype ChainId,\n\tChainIdSchema,\n\ttype Currency,\n\tQueryArgSchema,\n\tcurrencyKeys,\n\tgetMarketplaceClient,\n\tgetQueryClient,\n} from '../_internal';\nimport { useConfig } from './useConfig';\n\nconst ChainIdCoerce = ChainIdSchema.transform((val) => val.toString());\n\nconst UseCurrencyArgsSchema = z.object({\n\tchainId: ChainIdCoerce,\n\tcurrencyAddress: AddressSchema,\n\tquery: QueryArgSchema,\n});\n\ntype UseCurrencyArgs = z.input<typeof UseCurrencyArgsSchema>;\n\nexport type UseCurrencyReturn = Currency | undefined;\n\nconst fetchCurrency = async (\n\tchainId: ChainId,\n\tcurrencyAddress: string,\n\tconfig: SdkConfig,\n): Promise<Currency | undefined> => {\n\tconst parsedChainId = ChainIdCoerce.parse(chainId);\n\n\tconst queryClient = getQueryClient();\n\tlet currencies = queryClient.getQueryData([...currencyKeys.lists, chainId]) as\n\t\t| Currency[]\n\t\t| undefined;\n\n\tif (!currencies) {\n\t\tconst marketplaceClient = getMarketplaceClient(parsedChainId, config);\n\t\tcurrencies = await marketplaceClient\n\t\t\t.listCurrencies()\n\t\t\t.then((resp) => resp.currencies);\n\t}\n\n\treturn currencies?.find(\n\t\t(currency) =>\n\t\t\tcurrency.contractAddress.toLowerCase() === currencyAddress.toLowerCase(),\n\t);\n};\n\nexport const currencyOptions = (args: UseCurrencyArgs, config: SdkConfig) => {\n\treturn queryOptions({\n\t\t...args.query,\n\t\tqueryKey: [...currencyKeys.details, args.chainId, args.currencyAddress],\n\t\tqueryFn: () => fetchCurrency(args.chainId, args.currencyAddress, config),\n\t});\n};\n\nexport const useCurrency = (args: UseCurrencyArgs) => {\n\tconst config = useConfig();\n\treturn useQuery(currencyOptions(args, config));\n};\n","import { queryOptions, useQuery } from '@tanstack/react-query';\nimport { z } from 'zod';\nimport type { SdkConfig } from '../../types';\nimport {\n\tAddressSchema,\n\tChainIdSchema,\n\tQueryArgSchema,\n\tcollectableKeys,\n\tgetMetadataClient,\n} from '../_internal';\nimport { useConfig } from './useConfig';\n\nconst UseFiltersSchema = z.object({\n\tchainId: ChainIdSchema.pipe(z.coerce.string()),\n\tcollectionAddress: AddressSchema,\n\tquery: QueryArgSchema,\n});\n\nexport type UseFiltersArgs = z.infer<typeof UseFiltersSchema>;\n\nexport type UseFilterReturn = Awaited<ReturnType<typeof fetchFilters>>;\n\nexport const fetchFilters = async (args: UseFiltersArgs, config: SdkConfig) => {\n\tconst parsedArgs = UseFiltersSchema.parse(args);\n\tconst metadataClient = getMetadataClient(config);\n\treturn metadataClient\n\t\t.tokenCollectionFilters({\n\t\t\tchainID: parsedArgs.chainId,\n\t\t\tcontractAddress: parsedArgs.collectionAddress,\n\t\t})\n\t\t.then((resp) => resp.filters);\n};\n\nexport const filtersOptions = (args: UseFiltersArgs, config: SdkConfig) => {\n\treturn queryOptions({\n\t\t...args.query,\n\t\tqueryKey: [...collectableKeys.filter, args, config],\n\t\tqueryFn: () => fetchFilters(args, config),\n\t});\n};\n\nexport const useFilters = (args: UseFiltersArgs) => {\n\tconst config = useConfig();\n\treturn useQuery(filtersOptions(args, config));\n};\n","import { queryOptions, useQuery } from '@tanstack/react-query';\nimport { z } from 'zod';\nimport type { SdkConfig } from '../../types';\nimport {\n\tAddressSchema,\n\tChainIdSchema,\n\tQueryArgSchema,\n\tcollectableKeys,\n\tgetMarketplaceClient,\n} from '../_internal';\nimport { useConfig } from './useConfig';\n\nconst UseFloorOrderSchema = z.object({\n\tchainId: ChainIdSchema.pipe(z.coerce.string()),\n\tcollectionAddress: AddressSchema,\n\tquery: QueryArgSchema,\n});\n\nexport type UseFloorOrderArgs = z.infer<typeof UseFloorOrderSchema>;\n\nexport type UseFloorOrderReturn = Awaited<ReturnType<typeof fetchFloorOrder>>;\n\nconst fetchFloorOrder = async (args: UseFloorOrderArgs, config: SdkConfig) => {\n\tconst marketplaceClient = getMarketplaceClient(args.chainId, config);\n\treturn marketplaceClient\n\t\t.getFloorOrder({ contractAddress: args.collectionAddress })\n\t\t.then((data) => data.collectible);\n};\n\nexport const floorOrderOptions = (\n\targs: UseFloorOrderArgs,\n\tconfig: SdkConfig,\n) => {\n\treturn queryOptions({\n\t\tqueryKey: [...collectableKeys.floorOrders, args, config],\n\t\tqueryFn: () => fetchFloorOrder(args, config),\n\t});\n};\n\nexport const useFloorOrder = (args: UseFloorOrderArgs) => {\n\tconst config = useConfig();\n\treturn useQuery(floorOrderOptions(args, config));\n};\n","import { queryOptions, useQuery } from '@tanstack/react-query';\nimport { z } from 'zod';\nimport type { SdkConfig } from '../../types';\nimport {\n\tAddressSchema,\n\tChainIdSchema,\n\tQueryArgSchema,\n\tcollectableKeys,\n\tgetMarketplaceClient,\n} from '../_internal';\nimport { getCollectibleHighestOfferArgsSchema } from '../_internal/api/zod-schema';\nimport { useConfig } from './useConfig';\n\nconst UseHighestOfferArgsSchema = getCollectibleHighestOfferArgsSchema\n\t.omit({\n\t\tcontractAddress: true,\n\t})\n\t.extend({\n\t\tcollectionAddress: AddressSchema,\n\t\tchainId: ChainIdSchema.pipe(z.coerce.string()),\n\t\tquery: QueryArgSchema,\n\t});\n\nexport type UseHighestOfferArgs = z.infer<typeof UseHighestOfferArgsSchema>;\n\nexport type UseHighestOfferReturn = Awaited<\n\tReturnType<typeof fetchHighestOffer>\n>;\n\nconst fetchHighestOffer = async (\n\targs: UseHighestOfferArgs,\n\tconfig: SdkConfig,\n) => {\n\tconst parsedArgs = UseHighestOfferArgsSchema.parse(args);\n\tconst marketplaceClient = getMarketplaceClient(parsedArgs.chainId, config);\n\treturn marketplaceClient.getCollectibleHighestOffer({\n\t\t...parsedArgs,\n\t\tcontractAddress: parsedArgs.collectionAddress,\n\t});\n};\n\nexport const highestOfferOptions = (\n\targs: UseHighestOfferArgs,\n\tconfig: SdkConfig,\n) => {\n\treturn queryOptions({\n\t\t...args.query,\n\t\tqueryKey: [...collectableKeys.highestOffers, args, config],\n\t\tqueryFn: () => fetchHighestOffer(args, config),\n\t});\n};\n\nexport const useHighestOffer = (args: UseHighestOfferArgs) => {\n\tconst config = useConfig();\n\treturn useQuery(highestOfferOptions(args, config));\n};\n","import { type Page, SortOrder } from '@0xsequence/indexer';\nimport { infiniteQueryOptions, useInfiniteQuery } from '@tanstack/react-query';\nimport { z } from 'zod';\nimport type { SdkConfig } from '../../types';\nimport {\n\tAddressSchema,\n\tChainIdSchema,\n\tQueryArgSchema,\n\tbalanceQueries,\n\tgetIndexerClient,\n} from '../_internal';\nimport { useConfig } from './useConfig';\n\nexport const metadataOptionsSchema = z.object({\n\tverifiedOnly: z.boolean().optional(),\n\tunverifiedOnly: z.boolean().optional(),\n\tincludeContracts: z.array(z.string()).optional(),\n});\n\nconst sortOrderSchema = z.nativeEnum(SortOrder);\n\nconst sortBySchema = z.object({\n\tcolumn: z.string(),\n\torder: sortOrderSchema,\n});\n\nconst pageSchema = z.object({\n\tpage: z.number().optional(),\n\tcolumn: z.string().optional(),\n\tbefore: z.any().optional(),\n\tafter: z.any().optional(),\n\tsort: z.array(sortBySchema).optional(),\n\tpageSize: z.number().optional(),\n\tmore: z.boolean().optional(),\n});\n\nconst useListBalancesArgsSchema = z.object({\n\tchainId: ChainIdSchema.pipe(z.coerce.number()),\n\taccountAddress: AddressSchema.optional(),\n\tcontractAddress: AddressSchema.optional(),\n\ttokenId: z.string().optional(),\n\tincludeMetadata: z.boolean().optional(),\n\tmetadataOptions: metadataOptionsSchema.optional(),\n\tincludeCollectionTokens: z.boolean().optional(),\n\tpage: pageSchema.optional(),\n\tquery: QueryArgSchema,\n});\n\nexport type UseFetchTokenBalancesReturn = Awaited<\n\tReturnType<typeof fetchBalances>\n>;\n\nexport type UseListBalancesArgs = z.input<typeof useListBalancesArgsSchema>;\n\nconst fetchBalances = async (\n\targs: UseListBalancesArgs,\n\tconfig: SdkConfig,\n\tpage: Page,\n) => {\n\tconst parsedArgs = useListBalancesArgsSchema.parse(args);\n\tconst indexerClient = getIndexerClient(parsedArgs.chainId, config);\n\n\treturn indexerClient.getTokenBalances({\n\t\t...parsedArgs,\n\t\ttokenID: parsedArgs.tokenId,\n\t\tpage: page,\n\t});\n};\n\nexport const listBalancesOptions = (\n\targs: UseListBalancesArgs,\n\tconfig: SdkConfig,\n) => {\n\treturn infiniteQueryOptions({\n\t\t...args.query,\n\t\tqueryKey: [...balanceQueries.lists, args, config],\n\t\tqueryFn: ({ pageParam }) => fetchBalances(args, config, pageParam),\n\t\tinitialPageParam: { page: 1, pageSize: 30 } as Page,\n\t\tgetNextPageParam: (lastPage) => lastPage.page.after,\n\t});\n};\n\nexport const useListBalances = (args: UseListBalancesArgs) => {\n\tconst config = useConfig();\n\treturn useInfiniteQuery(listBalancesOptions(args, config));\n};\n","import { infiniteQueryOptions, useInfiniteQuery } from '@tanstack/react-query';\nimport { z } from 'zod';\nimport type { Page, SdkConfig } from '../../types';\nimport {\n\tAddressSchema,\n\tChainIdSchema,\n\ttype ListCollectiblesArgs,\n\tQueryArgSchema,\n\tcollectableKeys,\n\tgetMarketplaceClient,\n} from '../_internal';\nimport { listCollectiblesArgsSchema } from '../_internal/api/zod-schema';\nimport { useConfig } from './useConfig';\n\nconst UseListCollectiblesArgsSchema = listCollectiblesArgsSchema\n\t.omit({\n\t\tcontractAddress: true,\n\t})\n\t.extend({\n\t\tcollectionAddress: AddressSchema,\n\t\tchainId: ChainIdSchema.pipe(z.coerce.string()),\n\t\tquery: QueryArgSchema,\n\t});\n\nexport type UseListCollectiblesArgs = z.infer<\n\ttypeof UseListCollectiblesArgsSchema\n>;\n\nexport type UseListCollectiblesReturn = Awaited<\n\tReturnType<typeof fetchCollectibles>\n>;\n\nconst fetchCollectibles = async (\n\targs: UseListCollectiblesArgs,\n\tmarketplaceClient: Awaited<ReturnType<typeof getMarketplaceClient>>,\n\tpage: Page,\n) => {\n\tconst parsedArgs = UseListCollectiblesArgsSchema.parse(args);\n\tconst arg = {\n\t\t...parsedArgs,\n\t\tcontractAddress: parsedArgs.collectionAddress,\n\t\tpage: page,\n\t} satisfies ListCollectiblesArgs;\n\n\treturn marketplaceClient.listCollectibles(arg);\n};\n\nexport const listCollectiblesOptions = (\n\targs: UseListCollectiblesArgs,\n\tconfig: SdkConfig,\n) => {\n\tconst marketplaceClient = getMarketplaceClient(args.chainId, config);\n\treturn infiniteQueryOptions({\n\t\tqueryKey: [...collectableKeys.lists, args],\n\t\tqueryFn: ({ pageParam }) =>\n\t\t\tfetchCollectibles(args, marketplaceClient, pageParam),\n\t\tinitialPageParam: { page: 1, pageSize: 30 },\n\t\tgetNextPageParam: (lastPage) =>\n\t\t\tlastPage.page?.more ? lastPage.page : undefined,\n\t});\n};\n\nexport const useListCollectibles = (args: UseListCollectiblesArgs) => {\n\tconst config = useConfig();\n\treturn useInfiniteQuery(listCollectiblesOptions(args, config));\n};\n","import { queryOptions, useQuery } from '@tanstack/react-query';\nimport { z } from 'zod';\nimport type { SdkConfig } from '../../types';\nimport {\n\tChainIdSchema,\n\ttype ListOffersForCollectibleArgs,\n\tcollectableKeys,\n\tgetMarketplaceClient,\n} from '../_internal';\nimport { listOffersForCollectibleArgsSchema } from '../_internal/api/zod-schema';\nimport { useConfig } from './useConfig';\n\nconst UseListOffersForCollectibleArgsSchema = listOffersForCollectibleArgsSchema\n\t.extend({\n\t\tchainId: ChainIdSchema.pipe(z.coerce.string()),\n\t\tcollectionAddress: z.string(),\n\t\tcollectibleId: z.string(),\n\t})\n\t.omit({ contractAddress: true, tokenId: true });\n\ntype UseListOffersForCollectibleArgs = z.infer<\n\ttypeof UseListOffersForCollectibleArgsSchema\n>;\n\nexport type UseListOffersForCollectibleReturn = Awaited<\n\tReturnType<typeof fetchListOffersForCollectible>\n>;\n\nconst fetchListOffersForCollectible = async (\n\tconfig: SdkConfig,\n\targs: UseListOffersForCollectibleArgs,\n) => {\n\tconst arg = {\n\t\tcontractAddress: args.collectionAddress,\n\t\ttokenId: args.collectibleId,\n\t\tfilter: args.filter,\n\t\tpage: args.page,\n\t} satisfies ListOffersForCollectibleArgs;\n\n\tconst marketplaceClient = getMarketplaceClient(args.chainId, config);\n\treturn marketplaceClient.listCollectibleOffers(arg);\n};\n\nexport const listOffersForCollectibleOptions = (\n\targs: UseListOffersForCollectibleArgs,\n\tconfig: SdkConfig,\n) => {\n\treturn queryOptions({\n\t\tqueryKey: [...collectableKeys.offers, args, config],\n\t\tqueryFn: () => fetchListOffersForCollectible(config, args),\n\t});\n};\n\nexport const useListOffersForCollectible = (\n\targs: UseListOffersForCollectibleArgs,\n) => {\n\tconst config = useConfig();\n\n\treturn useQuery(listOffersForCollectibleOptions(args, config));\n};\n","import { queryOptions, useQuery } from '@tanstack/react-query';\nimport { z } from 'zod';\nimport type { SdkConfig } from '../../types';\nimport {\n\tAddressSchema,\n\tChainIdSchema,\n\tQueryArgSchema,\n\tcollectableKeys,\n\tgetMarketplaceClient,\n} from '../_internal';\nimport { countOffersForCollectibleArgsSchema } from '../_internal/api/zod-schema';\nimport { useConfig } from './useConfig';\n\nconst UseCountOffersForCollectibleArgsSchema =\n\tcountOffersForCollectibleArgsSchema\n\t\t.omit({\n\t\t\tcontractAddress: true,\n\t\t\ttokenId: true,\n\t\t})\n\t\t.extend({\n\t\t\tcollectionAddress: AddressSchema,\n\t\t\tcollectibleId: z.string(),\n\t\t\tchainId: ChainIdSchema.pipe(z.coerce.string()),\n\t\t\tquery: QueryArgSchema,\n\t\t});\n\nexport type UseCountOffersForCollectibleArgs = z.infer<\n\ttypeof UseCountOffersForCollectibleArgsSchema\n>;\n\nexport type UseCountOffersForCollectibleReturn = Awaited<\n\tReturnType<typeof fetchCountOffersForCollectible>\n>;\n\nconst fetchCountOffersForCollectible = async (\n\targs: UseCountOffersForCollectibleArgs,\n\tconfig: SdkConfig,\n) => {\n\tconst parsedArgs = UseCountOffersForCollectibleArgsSchema.parse(args);\n\tconst marketplaceClient = getMarketplaceClient(parsedArgs.chainId, config);\n\treturn marketplaceClient.getCountOfOffersForCollectible({\n\t\t...parsedArgs,\n\t\tcontractAddress: parsedArgs.collectionAddress,\n\t\ttokenId: parsedArgs.collectibleId,\n\t});\n};\n\nexport const countOffersForCollectibleOptions = (\n\targs: UseCountOffersForCollectibleArgs,\n\tconfig: SdkConfig,\n) => {\n\treturn queryOptions({\n\t\t...args.query,\n\t\tqueryKey: [...collectableKeys.offersCount, args, config],\n\t\tqueryFn: () => fetchCountOffersForCollectible(args, config),\n\t});\n};\n\nexport const useCountOffersForCollectible = (\n\targs: UseCountOffersForCollectibleArgs,\n) => {\n\tconst config = useConfig();\n\treturn useQuery(countOffersForCollectibleOptions(args, config));\n};\n","import { queryOptions, useQuery } from '@tanstack/react-query';\nimport { z } from 'zod';\nimport type { SdkConfig } from '../../types';\nimport {\n\tChainIdSchema,\n\ttype ListListingsForCollectibleArgs,\n\tcollectableKeys,\n\tgetMarketplaceClient,\n} from '../_internal';\nimport { listListingsForCollectibleArgsSchema } from '../_internal/api/zod-schema';\nimport { useConfig } from './useConfig';\n\nconst UseListListingsForCollectibleArgsSchema =\n\tlistListingsForCollectibleArgsSchema\n\t\t.extend({\n\t\t\tchainId: ChainIdSchema.pipe(z.coerce.string()),\n\t\t\tcollectionAddress: z.string(),\n\t\t\tcollectibleId: z.string(),\n\t\t})\n\t\t.omit({ contractAddress: true, tokenId: true });\n\ntype UseListListingsForCollectibleArgs = z.infer<\n\ttypeof UseListListingsForCollectibleArgsSchema\n>;\n\nexport type UseListListingsForCollectibleReturn = Awaited<\n\tReturnType<typeof fetchListListingsForCollectible>\n>;\n\nconst fetchListListingsForCollectible = async (\n\tconfig: SdkConfig,\n\targs: UseListListingsForCollectibleArgs,\n) => {\n\tconst arg = {\n\t\tcontractAddress: args.collectionAddress,\n\t\ttokenId: args.collectibleId,\n\t\tfilter: args.filter,\n\t\tpage: args.page,\n\t} satisfies ListListingsForCollectibleArgs;\n\n\tconst marketplaceClient = getMarketplaceClient(args.chainId, config);\n\treturn marketplaceClient.listCollectibleListings(arg);\n};\n\nexport const listListingsForCollectibleOptions = (\n\targs: UseListListingsForCollectibleArgs,\n\tconfig: SdkConfig,\n) => {\n\treturn queryOptions({\n\t\tqueryKey: [...collectableKeys.listings, args, config],\n\t\tqueryFn: () => fetchListListingsForCollectible(config, args),\n\t});\n};\n\nexport const useListListingsForCollectible = (\n\targs: UseListListingsForCollectibleArgs,\n) => {\n\tconst config = useConfig();\n\n\treturn useQuery(listListingsForCollectibleOptions(args, config));\n};\n","import { queryOptions, useQuery } from '@tanstack/react-query';\nimport { z } from 'zod';\nimport type { SdkConfig } from '../../types';\nimport {\n\tAddressSchema,\n\tChainIdSchema,\n\tQueryArgSchema,\n\tcollectableKeys,\n\tgetMarketplaceClient,\n} from '../_internal';\nimport { countListingsForCollectibleArgsSchema } from '../_internal/api/zod-schema';\nimport { useConfig } from './useConfig';\n\nconst UseCountListingsForCollectibleArgsSchema =\n\tcountListingsForCollectibleArgsSchema\n\t\t.omit({\n\t\t\tcontractAddress: true,\n\t\t\ttokenId: true,\n\t\t})\n\t\t.extend({\n\t\t\tcollectionAddress: AddressSchema,\n\t\t\tcollectibleId: z.string(),\n\t\t\tchainId: ChainIdSchema.pipe(z.coerce.string()),\n\t\t\tquery: QueryArgSchema,\n\t\t});\n\nexport type UseCountListingsForCollectibleArgs = z.infer<\n\ttypeof UseCountListingsForCollectibleArgsSchema\n>;\n\nexport type UseCountListingsForCollectibleReturn = Awaited<\n\tReturnType<typeof fetchCountListingsForCollectible>\n>;\n\nconst fetchCountListingsForCollectible = async (\n\targs: UseCountListingsForCollectibleArgs,\n\tconfig: SdkConfig,\n) => {\n\tconst parsedArgs = UseCountListingsForCollectibleArgsSchema.parse(args);\n\tconst marketplaceClient = getMarketplaceClient(parsedArgs.chainId, config);\n\treturn marketplaceClient.getCountOfListingsForCollectible({\n\t\t...parsedArgs,\n\t\tcontractAddress: parsedArgs.collectionAddress,\n\t\ttokenId: parsedArgs.collectibleId,\n\t});\n};\n\nexport const countListingsForCollectibleOptions = (\n\targs: UseCountListingsForCollectibleArgs,\n\tconfig: SdkConfig,\n) => {\n\treturn queryOptions({\n\t\t...args.query,\n\t\tqueryKey: [...collectableKeys.listingsCount, args, config],\n\t\tqueryFn: () => fetchCountListingsForCollectible(args, config),\n\t});\n};\n\nexport const useCountListingsForCollectible = (\n\targs: UseCountListingsForCollectibleArgs,\n) => {\n\tconst config = useConfig();\n\treturn useQuery(countListingsForCollectibleOptions(args, config));\n};\n","import { queryOptions, useQuery } from '@tanstack/react-query';\nimport { z } from 'zod';\nimport type { SdkConfig } from '../../types';\nimport {\n\tAddressSchema,\n\tChainIdSchema,\n\tQueryArgSchema,\n\tcollectableKeys,\n\tgetMarketplaceClient,\n} from '../_internal';\nimport { getCollectibleLowestListingArgsSchema } from '../_internal/api/zod-schema';\nimport { useConfig } from './useConfig';\n\nconst UseLowestListingSchema = getCollectibleLowestListingArgsSchema\n\t.omit({\n\t\tcontractAddress: true,\n\t})\n\t.extend({\n\t\tcollectionAddress: AddressSchema,\n\t\tchainId: ChainIdSchema.pipe(z.coerce.string()),\n\t\tquery: QueryArgSchema,\n\t});\n\nexport type UseLowestListingArgs = z.infer<typeof UseLowestListingSchema>;\n\nexport type UseLowestListingReturn = Awaited<\n\tReturnType<typeof fetchLowestListing>\n>;\n\nconst fetchLowestListing = async (\n\targs: UseLowestListingArgs,\n\tconfig: SdkConfig,\n) => {\n\tconst parsedArgs = UseLowestListingSchema.parse(args);\n\tconst marketplaceClient = getMarketplaceClient(parsedArgs.chainId, config);\n\treturn marketplaceClient.getCollectibleLowestListing({\n\t\t...parsedArgs,\n\t\tcontractAddress: parsedArgs.collectionAddress,\n\t});\n};\n\nexport const lowestListingOptions = (\n\targs: UseLowestListingArgs,\n\tconfig: SdkConfig,\n) => {\n\treturn queryOptions({\n\t\t...args.query,\n\t\tqueryKey: [...collectableKeys.lowestListings, args, config],\n\t\tqueryFn: () => fetchLowestListing(args, config),\n\t});\n};\n\nexport const useLowestListing = (args: UseLowestListingArgs) => {\n\tconst config = useConfig();\n\treturn useQuery(lowestListingOptions(args, config));\n};\n","import { queryOptions, useQuery } from '@tanstack/react-query';\nimport type { Hex } from 'viem';\nimport { getContract } from 'viem';\nimport { z } from 'zod';\nimport { EIP2981_ABI } from '../../utils';\nimport { getPublicRpcClient } from '../../utils/get-public-rpc-client';\nimport {\n\tAddressSchema,\n\tChainIdSchema,\n\tQueryArgSchema,\n\tcollectableKeys,\n} from '../_internal';\n\nconst UseRoyaletyPercentageSchema = z.object({\n\tchainId: ChainIdSchema.pipe(z.coerce.string()),\n\tcollectionAddress: AddressSchema,\n\tcollectibleId: z.string(),\n\tquery: QueryArgSchema,\n});\n\ntype UseRoyaletyPercentageArgs = z.infer<typeof UseRoyaletyPercentageSchema>;\n\nconst fetchRoyaletyPercentage = async (args: UseRoyaletyPercentageArgs) => {\n\tconst parsedArgs = UseRoyaletyPercentageSchema.parse(args);\n\tconst publicClient = getPublicRpcClient(parsedArgs.chainId);\n\n\tconst contract = getContract({\n\t\taddress: parsedArgs.collectionAddress as Hex,\n\t\tabi: EIP2981_ABI,\n\t\tclient: publicClient,\n\t});\n\n\ttry {\n\t\tconst [_, royaltyPercentage] = await contract.read.royaltyInfo([\n\t\t\tBigInt(args.collectibleId),\n\t\t\t100n,\n\t\t]);\n\n\t\treturn royaltyPercentage;\n\t} catch {\n\t\t//TODO: dont swallow errors\n\t\treturn 0n;\n\t}\n};\n\nexport const royaletyPercentageOptions = (args: UseRoyaletyPercentageArgs) =>\n\tqueryOptions({\n\t\t...args.query,\n\t\tqueryKey: [...collectableKeys.royaltyPercentage, args],\n\t\tqueryFn: () => fetchRoyaletyPercentage(args),\n\t});\n\nexport const useRoyaltyPercentage = (args: UseRoyaletyPercentageArgs) => {\n\treturn useQuery(royaletyPercentageOptions(args));\n};\n","import { useMutation } from '@tanstack/react-query';\nimport { useConfig } from './useConfig';\n\nexport type UseGenerateListingTransactionArgs = {\n\tchainId: ChainId;\n\tonSuccess?: (data?: Step[]) => void;\n};\n\nimport type { SdkConfig } from '../../types';\nimport {\n\ttype ChainId,\n\ttype CreateReq,\n\ttype GenerateListingTransactionArgs,\n\ttype Step,\n\tgetMarketplaceClient,\n} from '../_internal';\nimport { dateToUnixTime } from '../../utils/date';\n\nexport type CreateReqWithDateExpiry = Omit<CreateReq, 'expiry'> & {\n\texpiry: Date;\n};\n\nexport type GenerateListingTransactionProps = Omit<\n\tGenerateListingTransactionArgs,\n\t'listing'\n> & {\n\tlisting: CreateReqWithDateExpiry;\n};\n\nexport const generateListingTransaction = async (\n\tparams: GenerateListingTransactionProps,\n\tconfig: SdkConfig,\n\tchainId: ChainId,\n) => {\n\tconst args = {\n\t\t...params,\n\t\tlisting: {\n\t\t\t...params.listing,\n\t\t\texpiry: dateToUnixTime(params.listing.expiry),\n\t\t},\n\t} satisfies GenerateListingTransactionArgs;\n\tconst marketplaceClient = getMarketplaceClient(chainId, config);\n\treturn (await marketplaceClient.generateListingTransaction(args)).steps;\n};\n\nexport const useGenerateListingTransaction = (\n\tparams: UseGenerateListingTransactionArgs,\n) => {\n\tconst config = useConfig();\n\n\tconst { mutate, mutateAsync, ...result } = useMutation({\n\t\tonSuccess: params.onSuccess,\n\t\tmutationFn: (args: GenerateListingTransactionProps) =>\n\t\t\tgenerateListingTransaction(args, config, params.chainId),\n\t});\n\n\treturn {\n\t\t...result,\n\t\tgenerateListingTransaction: mutate,\n\t\tgenerateListingTransactionAsync: mutateAsync,\n\t};\n};\n","export const dateToUnixTime = (date: Date) =>\n\tMath.floor(date.getTime() / 1000).toString();\n","import { useMutation } from '@tanstack/react-query';\nimport type { SdkConfig } from '../../types';\nimport {\n\ttype ChainId,\n\ttype CreateReq,\n\ttype GenerateOfferTransactionArgs,\n\ttype Step,\n\tgetMarketplaceClient,\n} from '../_internal';\nimport { useConfig } from './useConfig';\nimport { dateToUnixTime } from '../../utils/date';\n\nexport type UseGenerateOfferTransactionArgs = {\n\tchainId: ChainId;\n\tonSuccess?: (data?: Step[]) => void;\n};\n\ntype CreateReqWithDateExpiry = Omit<CreateReq, 'expiry'> & {\n\texpiry: Date;\n};\n\nexport type GenerateOfferTransactionProps = Omit<\n\tGenerateOfferTransactionArgs,\n\t'offer'\n> & {\n\toffer: CreateReqWithDateExpiry;\n};\n\nexport const generateOfferTransaction = async (\n\tparams: GenerateOfferTransactionProps,\n\tconfig: SdkConfig,\n\tchainId: ChainId,\n) => {\n\tconst args = {\n\t\t...params,\n\t\toffer: { ...params.offer, expiry: dateToUnixTime(params.offer.expiry) },\n\t} satisfies GenerateOfferTransactionArgs;\n\tconst marketplaceClient = getMarketplaceClient(chainId, config);\n\treturn (await marketplaceClient.generateOfferTransaction(args)).steps;\n};\n\nexport const useGenerateOfferTransaction = (\n\tparams: UseGenerateOfferTransactionArgs,\n) => {\n\tconst config = useConfig();\n\n\tconst { mutate, mutateAsync, ...result } = useMutation({\n\t\tonSuccess: params.onSuccess,\n\t\tmutationFn: (args: GenerateOfferTransactionProps) =>\n\t\t\tgenerateOfferTransaction(args, config, params.chainId),\n\t});\n\n\treturn {\n\t\t...result,\n\t\tgenerateOfferTransaction: mutate,\n\t\tgenerateOfferTransactionAsync: mutateAsync,\n\t};\n};\n","import { useMutation } from '@tanstack/react-query';\nimport { z } from 'zod';\nimport type { SdkConfig } from '../../types';\nimport {\n\ttype ChainId,\n\tChainIdSchema,\n\ttype GenerateSellTransactionArgs,\n\tgetMarketplaceClient,\n} from '../_internal';\nimport { stepSchema } from '../_internal/api/zod-schema';\nimport { useConfig } from './useConfig';\n\nconst UserGeneratSellTransactionArgsSchema = z.object({\n\tchainId: ChainIdSchema.pipe(z.coerce.string()),\n\tonSuccess: z.function().args(stepSchema.array().optional()).optional(),\n});\n\ntype UseGenerateSellTransactionArgs = z.infer<\n\ttypeof UserGeneratSellTransactionArgsSchema\n>;\n\nexport const generateSellTransaction = async (\n\targs: GenerateSellTransactionArgs,\n\tconfig: SdkConfig,\n\tchainId: ChainId,\n) => {\n\tconst parsedChainId = ChainIdSchema.pipe(z.coerce.string()).parse(chainId);\n\tconst marketplaceClient = getMarketplaceClient(parsedChainId, config);\n\treturn marketplaceClient\n\t\t.generateSellTransaction(args)\n\t\t.then((data) => data.steps);\n};\n\nexport const useGenerateSellTransaction = (\n\tparams: UseGenerateSellTransactionArgs,\n) => {\n\tconst config = useConfig();\n\n\tconst { mutate, mutateAsync, ...result } = useMutation({\n\t\tonSuccess: params.onSuccess,\n\t\tmutationFn: (args: GenerateSellTransactionArgs) =>\n\t\t\tgenerateSellTransaction(args, config, params.chainId),\n\t});\n\n\treturn {\n\t\t...result,\n\t\tgenerateSellTransaction: mutate,\n\t\tgenerateSellTransactionAsync: mutateAsync,\n\t};\n};\n","import { useMutation } from '@tanstack/react-query';\nimport { z } from 'zod';\nimport type { SdkConfig } from '../../types';\nimport {\n\ttype ChainId,\n\tChainIdSchema,\n\ttype GenerateCancelTransactionArgs,\n\tgetMarketplaceClient,\n} from '../_internal';\nimport { stepSchema } from '../_internal/api/zod-schema';\nimport { useConfig } from './useConfig';\n\nconst UserGenerateCancelTransactionArgsSchema = z.object({\n\tchainId: ChainIdSchema.pipe(z.coerce.string()),\n\tonSuccess: z.function().args(stepSchema.array().optional()).optional(),\n});\n\ntype UseGenerateCancelTransactionArgs = z.infer<\n\ttypeof UserGenerateCancelTransactionArgsSchema\n>;\n\nexport const generateCancelTransaction = async (\n\targs: GenerateCancelTransactionArgs,\n\tconfig: SdkConfig,\n\tchainId: ChainId,\n) => {\n\tconst parsedChainId = ChainIdSchema.pipe(z.coerce.string()).parse(chainId);\n\tconst marketplaceClient = getMarketplaceClient(parsedChainId, config);\n\treturn marketplaceClient\n\t\t.generateCancelTransaction(args)\n\t\t.then((data) => data.steps);\n};\n\nexport const useGenerateCancelTransaction = (\n\tparams: UseGenerateCancelTransactionArgs,\n) => {\n\tconst config = useConfig();\n\n\tconst { mutate, mutateAsync, ...result } = useMutation({\n\t\tonSuccess: params.onSuccess,\n\t\tmutationFn: (args: GenerateCancelTransactionArgs) =>\n\t\t\tgenerateCancelTransaction(args, config, params.chainId),\n\t});\n\n\treturn {\n\t\t...result,\n\t\tgenerateCancelTransaction: mutate,\n\t\tgenerateCancelTransactionAsync: mutateAsync,\n\t};\n};\n","import { type Abi, type Address, type Hex, erc721Abi } from 'viem';\nimport { useAccount, useWriteContract } from 'wagmi';\nimport { ERC1155_ABI } from '../../utils';\nimport { NoWalletConnectedError } from '../../utils/_internal/error/transaction';\nimport type { ChainId, ContractType } from '../_internal';\n\ninterface BaseTransferParams {\n\tchainId: ChainId;\n\tcollectionAddress: Hex;\n\ttokenId: string;\n\treceiverAddress: Address;\n}\n\ninterface ERC721TransferParams extends BaseTransferParams {\n\tcontractType: ContractType.ERC721;\n}\n\ninterface ERC1155TransferParams extends BaseTransferParams {\n\tcontractType: ContractType.ERC1155;\n\tquantity: string;\n}\n\nexport type TransferTokensParams = ERC721TransferParams | ERC1155TransferParams;\n\nconst prepareTransferConfig = (\n\tparams: TransferTokensParams,\n\taccountAddress: Address,\n) => {\n\tif (params.contractType === 'ERC721') {\n\t\treturn {\n\t\t\tabi: erc721Abi as Abi,\n\t\t\taddress: params.collectionAddress,\n\t\t\tfunctionName: 'safeTransferFrom',\n\t\t\targs: [\n\t\t\t\taccountAddress,\n\t\t\t\tparams.receiverAddress,\n\t\t\t\tBigInt(params.tokenId),\n\t\t\t] as const,\n\t\t} as const;\n\t}\n\n\treturn {\n\t\tabi: ERC1155_ABI as Abi,\n\t\taddress: params.collectionAddress,\n\t\tfunctionName: 'safeTransferFrom',\n\t\targs: [\n\t\t\taccountAddress,\n\t\t\tparams.receiverAddress,\n\t\t\tBigInt(params.tokenId),\n\t\t\tparams.quantity,\n\t\t\t'0x', // data\n\t\t] as const,\n\t};\n};\n\nexport const useTransferTokens = () => {\n\tconst { address: accountAddress } = useAccount();\n\tconst {\n\t\twriteContractAsync,\n\t\tdata: hash,\n\t\tisPending,\n\t\tisError,\n\t\tisSuccess,\n\t} = useWriteContract();\n\n\tconst transferTokensAsync = async (params: TransferTokensParams) => {\n\t\tif (!accountAddress) {\n\t\t\tthrow new NoWalletConnectedError();\n\t\t}\n\n\t\tconst config = prepareTransferConfig(params, accountAddress);\n\t\treturn await writeContractAsync(config);\n\t};\n\n\treturn {\n\t\ttransferTokensAsync,\n\t\thash,\n\t\ttransferring: isPending,\n\t\ttransferFailed: isError,\n\t\ttransferSuccess: isSuccess,\n\t};\n};\n","import { queryOptions, useQuery } from '@tanstack/react-query';\nimport type { Hex } from 'viem';\nimport { useAccount } from 'wagmi';\nimport { z } from 'zod';\nimport type { SdkConfig } from '../../types';\nimport {\n\tAddressSchema,\n\tChainIdSchema,\n\tMarketplaceKind,\n\tQueryArgSchema,\n\tgetMarketplaceClient,\n} from '../_internal';\nimport { useConfig } from './useConfig';\n\nconst UseCheckoutOptionsSchema = z.object({\n\tchainId: ChainIdSchema.pipe(z.coerce.string()),\n\torders: z.array(\n\t\tz.object({\n\t\t\tcollectionAddress: AddressSchema,\n\t\t\torderId: z.string(),\n\t\t\tmarketplace: z.nativeEnum(MarketplaceKind),\n\t\t}),\n\t),\n\tquery: QueryArgSchema,\n});\n\nexport type UseCheckoutOptionsArgs = z.infer<typeof UseCheckoutOptionsSchema>;\n\nexport type UseCheckoutOptionsReturn = Awaited<\n\tReturnType<typeof fetchCheckoutOptions>\n>;\n\nconst fetchCheckoutOptions = async (\n\targs: UseCheckoutOptionsArgs & { walletAddress: Hex },\n\tconfig: SdkConfig,\n) => {\n\tconst marketplaceClient = getMarketplaceClient(args.chainId, config);\n\treturn marketplaceClient.checkoutOptionsMarketplace({\n\t\twallet: args.walletAddress,\n\t\torders: args.orders.map((order) => ({\n\t\t\tcontractAddress: order.collectionAddress,\n\t\t\torderId: order.orderId,\n\t\t\tmarketplace: order.marketplace,\n\t\t})),\n\t\tadditionalFee: 0, //TODO: add additional fee\n\t});\n};\n\nexport const checkoutOptionsOptions = (\n\targs: UseCheckoutOptionsArgs & { walletAddress: Hex },\n\tconfig: SdkConfig,\n) => {\n\treturn queryOptions({\n\t\tqueryKey: ['checkoutOptions', args],\n\t\tqueryFn: () => fetchCheckoutOptions(args, config),\n\t});\n};\n\nexport const useCheckoutOptions = (args: UseCheckoutOptionsArgs) => {\n\tconst { address } = useAccount();\n\tconst config = useConfig();\n\treturn useQuery(\n\t\t// biome-ignore lint/style/noNonNullAssertion: <explanation>\n\t\tcheckoutOptionsOptions({ walletAddress: address!, ...args }, config),\n\t);\n};\n","import { queryOptions, useQuery } from '@tanstack/react-query';\nimport { z } from 'zod';\nimport type { MarketplaceConfig, SdkConfig } from '../../types';\nimport {\n\tQueryArgSchema,\n\tcollectionKeys,\n\tgetMetadataClient,\n} from '../_internal';\nimport { useConfig } from './useConfig';\nimport { useMarketplaceConfig } from './useMarketplaceConfig';\n\nconst UseListCollectionsSchema = z.object({\n\tquery: QueryArgSchema.optional().default({}),\n});\n\nexport type UseListCollectionsArgs = z.input<typeof UseListCollectionsSchema>;\n\nexport type UseListCollectionsReturn = Awaited<\n\tReturnType<typeof fetchListCollections>\n>;\n\ntype FetchListCollectionsArgs = {\n\tmarketplaceConfig: MarketplaceConfig;\n\tquery?: z.infer<typeof QueryArgSchema>;\n};\n\nconst fetchListCollections = async (\n\t{ marketplaceConfig }: FetchListCollectionsArgs,\n\tconfig: SdkConfig,\n) => {\n\tconst metadataClient = getMetadataClient(config);\n\n\tif (!marketplaceConfig?.collections?.length) {\n\t\treturn [];\n\t}\n\n\t// Group collections by chainId\n\tconst collectionsByChain = marketplaceConfig.collections.reduce<\n\t\tRecord<string, string[]>\n\t>((acc, curr) => {\n\t\tconst { chainId, collectionAddress } = curr;\n\t\tif (!acc[chainId]) {\n\t\t\tacc[chainId] = [];\n\t\t}\n\t\tacc[chainId].push(collectionAddress);\n\t\treturn acc;\n\t}, {});\n\n\t// Fetch collections for each chain\n\tconst promises = Object.entries(collectionsByChain).map(\n\t\t([chainId, addresses]) =>\n\t\t\tmetadataClient\n\t\t\t\t.getContractInfoBatch({\n\t\t\t\t\tchainID: chainId,\n\t\t\t\t\tcontractAddresses: addresses,\n\t\t\t\t})\n\t\t\t\t.then((resp) => Object.values(resp.contractInfoMap)),\n\t);\n\n\tconst results = await Promise.all(promises);\n\treturn results.flat();\n};\n\nexport const listCollectionsOptions = (\n\targs: FetchListCollectionsArgs,\n\tconfig: SdkConfig,\n) => {\n\treturn queryOptions({\n\t\t...args.query,\n\t\tqueryKey: [...collectionKeys.list],\n\t\tqueryFn: () => fetchListCollections(args, config),\n\t});\n};\n\nexport const useListCollections = (args: UseListCollectionsArgs = {}) => {\n\tconst config = useConfig();\n\tconst { data: marketplaceConfig, isLoading: isLoadingConfig } =\n\t\tuseMarketplaceConfig();\n\n\treturn useQuery({\n\t\t...listCollectionsOptions(\n\t\t\t// biome-ignore lint/style/noNonNullAssertion: <explanation>\n\t\t\t{ marketplaceConfig: marketplaceConfig!, query: args.query },\n\t\t\tconfig,\n\t\t),\n\t\tenabled: !isLoadingConfig && !!marketplaceConfig,\n\t});\n};\n","import { queryOptions, useQuery } from '@tanstack/react-query';\nimport type { Hex } from 'viem';\nimport { useAccount } from 'wagmi';\nimport { z } from 'zod';\nimport type { SdkConfig } from '../../types';\nimport {\n\tAddressSchema,\n\tChainIdSchema,\n\tMarketplaceKind,\n\tQueryArgSchema,\n\tWalletKind,\n\tgetMarketplaceClient,\n} from '../_internal';\nimport { useConfig } from './useConfig';\n\nexport const UseGenerateBuyTransactionArgsSchema = z.object({\n\tchainId: ChainIdSchema.pipe(z.coerce.string()),\n\tcollectionAddress: AddressSchema,\n\tmarketplace: z.nativeEnum(MarketplaceKind),\n\tordersData: z.array(\n\t\tz.object({\n\t\t\torderId: z.string(),\n\t\t\tquantity: z.string(),\n\t\t\tmarketplace: z.string(),\n\t\t}),\n\t),\n\twalletType: z.nativeEnum(WalletKind).optional(),\n\tquery: QueryArgSchema,\n});\n\ntype UseGenerateBuyTransactionArgs = z.infer<\n\ttypeof UseGenerateBuyTransactionArgsSchema\n>;\n\nexport const fetchGenerateBuyTransaction = async (\n\targs: UseGenerateBuyTransactionArgs & { buyer: Hex },\n\tconfig: SdkConfig,\n) => {\n\tconst parsedArgs = UseGenerateBuyTransactionArgsSchema.parse(args);\n\tconst marketplaceClient = getMarketplaceClient(parsedArgs.chainId, config);\n\n\treturn marketplaceClient\n\t\t.generateBuyTransaction({\n\t\t\t...parsedArgs,\n\t\t\tbuyer: args.buyer,\n\t\t\tadditionalFees: [], // TODO: Add additional fees\n\t\t})\n\t\t.then((data) => data.steps);\n};\n\nexport const generateBuyTransactionOptions = (\n\targs: UseGenerateBuyTransactionArgs & { buyer: Hex },\n\tconfig: SdkConfig,\n) => {\n\treturn queryOptions({\n\t\tqueryKey: ['generateBuyTransaction', args],\n\t\tqueryFn: () => fetchGenerateBuyTransaction(args, config),\n\t\t...args.query,\n\t});\n};\n\nexport const useGenerateBuyTransaction = (\n\targs: UseGenerateBuyTransactionArgs,\n) => {\n\tconst { address } = useAccount();\n\tconst config = useConfig();\n\treturn useQuery(\n\t\t// biome-ignore lint/style/noNonNullAssertion: <explanation>\n\t\tgenerateBuyTransactionOptions({ buyer: address!, ...args }, config),\n\t);\n};\n","import type { SelectPaymentSettings } from '@0xsequence/kit-checkout';\nimport type { Chain, Hash, Hex } from 'viem';\nimport { avalanche, optimism } from 'viem/chains';\nimport {\n\ttype AdditionalFee,\n\ttype SequenceMarketplace,\n\tTransactionSwapProvider,\n\tWebrpcError,\n\tgetMarketplaceClient,\n} from '..';\nimport {\n\ttype ContractType,\n\ttype CreateReq,\n\tExecuteType,\n\ttype MarketplaceConfig,\n\ttype MarketplaceKind,\n\tOrderbookKind,\n\ttype SdkConfig,\n\ttype Step,\n\tStepType,\n} from '../../../types';\nimport {\n\tChainSwitchError,\n\tCheckoutOptionsError,\n\tMissingSignatureDataError,\n\tMissingStepDataError,\n\tNoExecutionStepError,\n\tNoStepsFoundError,\n\tOrderNotFoundError,\n\tOrdersFetchError,\n\tPaymentModalError,\n\tPaymentModalTransactionError,\n\tStepExecutionError,\n\tStepGenerationError,\n\tTransactionError,\n\tTransactionReceiptError,\n\tUnexpectedStepsError,\n\tUnknownTransactionTypeError,\n} from '../../../utils/_internal/error/transaction';\nimport { type TransactionLogger, createLogger } from './logger';\nimport type {\n\tSignatureStep,\n\tTransactionStep as StepForTransaction,\n} from './utils';\nimport type { WalletInstance } from './wallet';\n\nexport enum TransactionState {\n\tIDLE = 'IDLE',\n\tSWITCH_CHAIN = 'SWITCH_CHAIN',\n\tCHECKING_STEPS = 'CHECKING_STEPS',\n\tTOKEN_APPROVAL = 'TOKEN_APPROVAL',\n\tEXECUTING_TRANSACTION = 'EXECUTING_TRANSACTION',\n\tCONFIRMING = 'CONFIRMING',\n\tSUCCESS = 'SUCCESS',\n\tERROR = 'ERROR',\n}\n\nexport enum TransactionType {\n\tBUY = 'BUY',\n\tSELL = 'SELL',\n\tLISTING = 'LISTING',\n\tOFFER = 'OFFER',\n\tTRANSFER = 'TRANSFER',\n\tCANCEL = 'CANCEL',\n}\n\nexport interface TransactionConfig {\n\ttype: TransactionType;\n\tchainId: string;\n\tchains: readonly Chain[];\n\tcollectionAddress: string;\n\tsdkConfig: SdkConfig;\n\tmarketplaceConfig: MarketplaceConfig;\n\torderbookKind?: OrderbookKind;\n}\n\ninterface StateConfig {\n\tconfig: TransactionConfig;\n\tonTransactionSent?: (hash?: Hash, orderId?: string) => void;\n\tonSuccess?: (hash: Hash) => void;\n\tonApprovalSuccess?: (hash: Hash) => void;\n}\n\nexport interface BuyInput {\n\torderId: string;\n\tcollectableDecimals: number;\n\tmarketplace: MarketplaceKind;\n\tquantity: string;\n}\n\nexport interface SellInput {\n\torderId: string;\n\tmarketplace: MarketplaceKind;\n\tquantity?: string;\n}\n\nexport interface ListingInput {\n\tcontractType: ContractType;\n\tlisting: CreateReq;\n}\n\nexport interface OfferInput {\n\tcontractType: ContractType;\n\toffer: CreateReq;\n}\n\nexport interface CancelInput {\n\torderId: string;\n\tmarketplace: MarketplaceKind;\n}\n\nexport type Input =\n\t| BuyInput\n\t| SellInput\n\t| ListingInput\n\t| OfferInput\n\t| CancelInput;\n\ntype TransactionInput =\n\t| {\n\t\t\ttype: TransactionType.BUY;\n\t\t\tprops: BuyInput;\n\t }\n\t| {\n\t\t\ttype: TransactionType.SELL;\n\t\t\tprops: SellInput;\n\t }\n\t| {\n\t\t\ttype: TransactionType.LISTING;\n\t\t\tprops: ListingInput;\n\t }\n\t| {\n\t\t\ttype: TransactionType.OFFER;\n\t\t\tprops: OfferInput;\n\t }\n\t| {\n\t\t\ttype: TransactionType.CANCEL;\n\t\t\tprops: CancelInput;\n\t };\n\nexport interface TransactionStep {\n\tisPending: boolean;\n\tisExecuting: boolean;\n\tisSuccess?: boolean;\n}\n\nexport interface TransactionSteps {\n\tswitchChain: TransactionStep & {\n\t\texecute: () => Promise<void>;\n\t};\n\tapproval: TransactionStep & {\n\t\texecute: () =>\n\t\t\t| Promise<{ hash: Hash } | undefined>\n\t\t\t| Promise<void>\n\t\t\t| undefined;\n\t};\n\ttransaction: TransactionStep & {\n\t\texecute: () => Promise<{ hash: Hash } | undefined> | Promise<void>;\n\t};\n}\n\nexport class TransactionMachine {\n\tprivate currentState: TransactionState;\n\tprivate readonly logger: TransactionLogger;\n\tprivate marketplaceClient: SequenceMarketplace;\n\tprivate memoizedSteps: TransactionSteps | null = null;\n\tprivate lastProps: Input | null = null;\n\n\tconstructor(\n\t\tprivate readonly config: StateConfig,\n\t\tprivate readonly wallet: WalletInstance,\n\t\tprivate readonly openSelectPaymentModal: (\n\t\t\tsettings: SelectPaymentSettings,\n\t\t) => void,\n\t\tprivate readonly switchChainFn: (chainId: string) => Promise<void>,\n\t\tprivate readonly onPaymentModalLoaded?: () => void,\n\t) {\n\t\tthis.currentState = TransactionState.IDLE;\n\t\tthis.logger = createLogger('TransactionMachine');\n\t\tthis.marketplaceClient = getMarketplaceClient(\n\t\t\tconfig.config.chainId,\n\t\t\tconfig.config.sdkConfig,\n\t\t);\n\t\tthis.onPaymentModalLoaded = onPaymentModalLoaded;\n\t}\n\n\tprivate getMarketplaceFee(collectionAddress: string) {\n\t\tconst defaultFee = 2.5;\n\t\tconst defaultPlatformFeeRecipient =\n\t\t\t'0x858dB1cbF6D09D447C96A11603189b49B2D1C219';\n\t\tconst avalancheAndOptimismPlatformFeeRecipient =\n\t\t\t'0x400cdab4676c17aec07e8ec748a5fc3b674bca41';\n\n\t\tconst chainId = Number(this.config.config.chainId);\n\t\tconst collection = this.config.config.marketplaceConfig.collections.find(\n\t\t\t(collection) =>\n\t\t\t\tcollection.collectionAddress.toLowerCase() ===\n\t\t\t\t\tcollectionAddress.toLowerCase() &&\n\t\t\t\tchainId === Number(collection.chainId),\n\t\t);\n\n\t\tconst avalancheOrOptimism =\n\t\t\tchainId === avalanche.id || chainId === optimism.id;\n\t\tconst receiver = avalancheOrOptimism\n\t\t\t? avalancheAndOptimismPlatformFeeRecipient\n\t\t\t: defaultPlatformFeeRecipient;\n\n\t\tconst percentageToBPS = (percentage: string | number) =>\n\t\t\t(Number(percentage) * 10000) / 100;\n\n\t\treturn {\n\t\t\tamount: percentageToBPS(\n\t\t\t\tcollection?.marketplaceFeePercentage || defaultFee,\n\t\t\t).toString(),\n\t\t\treceiver,\n\t\t} satisfies AdditionalFee;\n\t}\n\n\tprivate async generateSteps({\n\t\ttype,\n\t\tprops,\n\t}: TransactionInput): Promise<Step[]> {\n\t\tthis.logger.debug('Generating steps', { type, props });\n\t\tconst { collectionAddress } = this.config.config;\n\t\tconst address = await this.wallet.address();\n\n\t\ttry {\n\t\t\tswitch (type) {\n\t\t\t\tcase TransactionType.BUY:\n\t\t\t\t\treturn await this.marketplaceClient\n\t\t\t\t\t\t.generateBuyTransaction({\n\t\t\t\t\t\t\tcollectionAddress,\n\t\t\t\t\t\t\tbuyer: address,\n\t\t\t\t\t\t\twalletType: this.wallet.walletKind,\n\t\t\t\t\t\t\tmarketplace: props.marketplace,\n\t\t\t\t\t\t\tordersData: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\torderId: props.orderId,\n\t\t\t\t\t\t\t\t\tquantity: props.quantity || '1',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tadditionalFees: [this.getMarketplaceFee(collectionAddress)],\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.then((resp) => resp.steps);\n\n\t\t\t\tcase TransactionType.SELL:\n\t\t\t\t\treturn await this.marketplaceClient\n\t\t\t\t\t\t.generateSellTransaction({\n\t\t\t\t\t\t\tcollectionAddress,\n\t\t\t\t\t\t\tseller: address,\n\t\t\t\t\t\t\twalletType: this.wallet.walletKind,\n\t\t\t\t\t\t\tmarketplace: props.marketplace,\n\t\t\t\t\t\t\tordersData: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\torderId: props.orderId,\n\t\t\t\t\t\t\t\t\tquantity: props.quantity || '1',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tadditionalFees: [this.getMarketplaceFee(collectionAddress)],\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.then((resp) => resp.steps);\n\n\t\t\t\tcase TransactionType.LISTING:\n\t\t\t\t\tif (!this.config.config.orderbookKind) {\n\t\t\t\t\t\tthis.config.config.orderbookKind =\n\t\t\t\t\t\t\tOrderbookKind.sequence_marketplace_v2;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn await this.marketplaceClient\n\t\t\t\t\t\t.generateListingTransaction({\n\t\t\t\t\t\t\tcollectionAddress,\n\t\t\t\t\t\t\towner: address,\n\t\t\t\t\t\t\twalletType: this.wallet.walletKind,\n\t\t\t\t\t\t\tcontractType: props.contractType,\n\t\t\t\t\t\t\torderbook: this.config.config.orderbookKind,\n\t\t\t\t\t\t\tlisting: props.listing,\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.then((resp) => resp.steps);\n\n\t\t\t\tcase TransactionType.OFFER:\n\t\t\t\t\tif (!this.config.config.orderbookKind) {\n\t\t\t\t\t\tthis.config.config.orderbookKind =\n\t\t\t\t\t\t\tOrderbookKind.sequence_marketplace_v2;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn await this.marketplaceClient\n\t\t\t\t\t\t.generateOfferTransaction({\n\t\t\t\t\t\t\tcollectionAddress,\n\t\t\t\t\t\t\tmaker: address,\n\t\t\t\t\t\t\twalletType: this.wallet.walletKind,\n\t\t\t\t\t\t\tcontractType: props.contractType,\n\t\t\t\t\t\t\torderbook: this.config.config.orderbookKind,\n\t\t\t\t\t\t\toffer: props.offer,\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.then((resp) => resp.steps);\n\n\t\t\t\tcase TransactionType.CANCEL:\n\t\t\t\t\treturn await this.marketplaceClient\n\t\t\t\t\t\t.generateCancelTransaction({\n\t\t\t\t\t\t\tcollectionAddress,\n\t\t\t\t\t\t\tmaker: address,\n\t\t\t\t\t\t\tmarketplace: props.marketplace,\n\t\t\t\t\t\t\torderId: props.orderId,\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.then((resp) => resp.steps);\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new UnknownTransactionTypeError(type);\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tif (error instanceof WebrpcError) {\n\t\t\t\tthrow new StepGenerationError(type, error);\n\t\t\t}\n\t\t\tthrow error;\n\t\t}\n\t}\n\n\tprivate clearMemoizedSteps() {\n\t\tthis.logger.debug('Clearing memoized steps');\n\t\tthis.memoizedSteps = null;\n\t\tthis.lastProps = null;\n\t}\n\n\tprivate async transition(newState: TransactionState) {\n\t\tthis.logger.state(this.currentState, newState);\n\t\tthis.currentState = newState;\n\t\tthis.clearMemoizedSteps();\n\t}\n\n\tprivate async switchChain() {\n\t\tthis.logger.debug('Checking chain', {\n\t\t\tcurrentChain: await this.wallet.getChainId(),\n\t\t\ttargetChain: Number(this.config.config.chainId),\n\t\t});\n\n\t\tconst correctChain = await this.isOnCorrectChain();\n\n\t\tif (!correctChain) {\n\t\t\tconst currentChain = await this.wallet.getChainId();\n\t\t\tconst targetChain = Number(this.config.config.chainId);\n\n\t\t\tawait this.transition(TransactionState.SWITCH_CHAIN);\n\t\t\ttry {\n\t\t\t\tif (this.wallet.isWaaS) {\n\t\t\t\t\tawait this.wallet.switchChain(targetChain);\n\t\t\t\t} else {\n\t\t\t\t\tawait this.switchChainFn(this.config.config.chainId);\n\t\t\t\t}\n\n\t\t\t\tif (!this.isOnCorrectChain()) {\n\t\t\t\t\tthrow new Error('Chain switch verification failed');\n\t\t\t\t}\n\n\t\t\t\tthis.logger.debug('Switched chain successfully');\n\t\t\t} catch (error) {\n\t\t\t\tthis.logger.debug('Chain switch failed', error);\n\t\t\t\tthrow new ChainSwitchError(currentChain, targetChain);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate async isOnCorrectChain() {\n\t\treturn (\n\t\t\t(await this.wallet.getChainId()) === Number(this.config.config.chainId)\n\t\t);\n\t}\n\n\tasync start(props: Input) {\n\t\tthis.logger.debug('Starting transaction', props);\n\n\t\tawait this.transition(TransactionState.CHECKING_STEPS);\n\t\tconst { type } = this.config.config;\n\n\t\tconst steps = await this.generateSteps({\n\t\t\ttype,\n\t\t\tprops,\n\t\t} as TransactionInput);\n\n\t\tfor (const step of steps) {\n\t\t\tawait this.executeStep({ step, props });\n\t\t}\n\n\t\tawait this.transition(TransactionState.SUCCESS);\n\t}\n\n\tprivate async handleTransactionSuccess(\n\t\thash?: Hash,\n\t\tisApproval?: boolean,\n\t\torderId?: string,\n\t) {\n\t\tif (!hash) {\n\t\t\t// TODO: This is to handle signature steps, but it's not ideal\n\t\t\tawait this.transition(TransactionState.SUCCESS);\n\t\t\tthis.config.onTransactionSent?.(undefined, orderId);\n\t\t\treturn;\n\t\t}\n\n\t\tawait this.transition(TransactionState.CONFIRMING);\n\n\t\t// Only notify of transaction sent, don't show success toast yet\n\t\tif (!isApproval) {\n\t\t\tthis.config.onTransactionSent?.(hash);\n\t\t}\n\n\t\ttry {\n\t\t\tconst receipt = await this.wallet.handleConfirmTransactionStep(\n\t\t\t\thash,\n\t\t\t\tawait this.wallet.getChainId(),\n\t\t\t);\n\t\t\tthis.logger.debug('Transaction confirmed', receipt);\n\n\t\t\tawait this.transition(TransactionState.SUCCESS);\n\n\t\t\t// Only trigger success notification for the final confirmation\n\t\t\tif (isApproval) {\n\t\t\t\tthis.config.onApprovalSuccess?.(hash);\n\t\t\t} else {\n\t\t\t\tconsole.log('onSuccess', hash);\n\t\t\t\tthis.config.onSuccess?.(hash);\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tthrow new TransactionReceiptError(hash, error as Error);\n\t\t}\n\t}\n\n\tprivate async executeTransaction(step: Step): Promise<Hash> {\n\t\ttry {\n\t\t\tawait this.switchChain();\n\n\t\t\tif (step.id === StepType.tokenApproval) {\n\t\t\t\tawait this.transition(TransactionState.TOKEN_APPROVAL);\n\t\t\t}\n\n\t\t\tthis.logger.debug('Executing transaction', step);\n\t\t\tconst hash = await this.wallet.handleSendTransactionStep(\n\t\t\t\tNumber(this.config.config.chainId),\n\t\t\t\tstep as StepForTransaction,\n\t\t\t);\n\t\t\tthis.logger.debug('Transaction submitted', { hash });\n\n\t\t\tawait this.handleTransactionSuccess(\n\t\t\t\thash,\n\t\t\t\tstep.id === StepType.tokenApproval,\n\t\t\t);\n\t\t\treturn hash;\n\t\t} catch (error) {\n\t\t\tthrow new StepExecutionError(step.id, error as Error);\n\t\t}\n\t}\n\n\tprivate async executeSignature(step: Step) {\n\t\tawait this.switchChain();\n\n\t\tif (!step.signature) {\n\t\t\tthrow new MissingSignatureDataError();\n\t\t}\n\n\t\ttry {\n\t\t\tconst signature = await this.wallet.handleSignMessageStep(\n\t\t\t\tstep as SignatureStep,\n\t\t\t);\n\n\t\t\tconst result = await this.marketplaceClient.execute({\n\t\t\t\tsignature: signature as string,\n\t\t\t\texecuteType: ExecuteType.order,\n\t\t\t\tbody: step.post?.body,\n\t\t\t});\n\n\t\t\tawait this.handleTransactionSuccess(undefined, false, result.orderId);\n\t\t} catch (error) {\n\t\t\tthis.logger.error('Signature execution failed', { error });\n\t\t\tthrow new StepExecutionError(step.id, error as Error);\n\t\t}\n\t}\n\n\tprivate openPaymentModalWithPromise(\n\t\tsettings: Omit<SelectPaymentSettings, 'onSuccess' | 'onError'>,\n\t): Promise<void> {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tthis.openSelectPaymentModal({\n\t\t\t\t...settings,\n\t\t\t\tonSuccess: async (hash: string) => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait this.handleTransactionSuccess(hash as Hash);\n\t\t\t\t\t\tresolve();\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\treject(error);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tonError: (error: Error) => {\n\t\t\t\t\treject(new PaymentModalError(error));\n\t\t\t\t},\n\t\t\t});\n\t\t});\n\t}\n\n\tprivate async executeBuyStep({\n\t\tstep,\n\t\tprops,\n\t}: {\n\t\tstep: Step;\n\t\tprops: BuyInput;\n\t}) {\n\t\ttry {\n\t\t\tawait this.transition(TransactionState.EXECUTING_TRANSACTION);\n\n\t\t\ttry {\n\t\t\t\tconst [checkoutOptions, orders] = await Promise.all([\n\t\t\t\t\tthis.marketplaceClient\n\t\t\t\t\t\t.checkoutOptionsMarketplace({\n\t\t\t\t\t\t\twallet: await this.wallet.address(),\n\t\t\t\t\t\t\torders: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tcontractAddress: this.config.config.collectionAddress,\n\t\t\t\t\t\t\t\t\torderId: props.orderId,\n\t\t\t\t\t\t\t\t\tmarketplace: props.marketplace,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tadditionalFee: Number(\n\t\t\t\t\t\t\t\tthis.getMarketplaceFee(this.config.config.collectionAddress)\n\t\t\t\t\t\t\t\t\t.amount,\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch((error) => {\n\t\t\t\t\t\t\tthrow new CheckoutOptionsError(error);\n\t\t\t\t\t\t}),\n\t\t\t\t\tthis.marketplaceClient\n\t\t\t\t\t\t.getOrders({\n\t\t\t\t\t\t\tinput: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\torderId: props.orderId,\n\t\t\t\t\t\t\t\t\tmarketplace: props.marketplace,\n\t\t\t\t\t\t\t\t\tcontractAddress: this.config.config.collectionAddress,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch((error) => {\n\t\t\t\t\t\t\tthrow new OrdersFetchError(props.orderId, error);\n\t\t\t\t\t\t}),\n\t\t\t\t]);\n\n\t\t\t\tconst order = orders.orders[0];\n\t\t\t\tif (!order) {\n\t\t\t\t\tthrow new OrderNotFoundError(props.orderId);\n\t\t\t\t}\n\n\t\t\t\tconst paymentModalProps = {\n\t\t\t\t\tchain: this.config.config.chainId,\n\t\t\t\t\tcollectibles: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttokenId: order.tokenId,\n\t\t\t\t\t\t\tquantity: props.quantity,\n\t\t\t\t\t\t\tdecimals: props.collectableDecimals,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t\tcurrencyAddress: order.priceCurrencyAddress,\n\t\t\t\t\tprice: step.value,\n\t\t\t\t\ttargetContractAddress: step.to,\n\t\t\t\t\ttxData: step.data as Hex,\n\t\t\t\t\tcollectionAddress: this.config.config.collectionAddress,\n\t\t\t\t\trecipientAddress: await this.wallet.address(),\n\t\t\t\t\tenableMainCurrencyPayment: true,\n\t\t\t\t\tenableSwapPayments: !!checkoutOptions.options?.swap?.includes(\n\t\t\t\t\t\tTransactionSwapProvider.zerox,\n\t\t\t\t\t),\n\t\t\t\t\tcreditCardProviders: checkoutOptions?.options.nftCheckout || [],\n\t\t\t\t};\n\n\t\t\t\tthis.logger.debug('Opening payment modal', paymentModalProps);\n\n\t\t\t\tthis.onPaymentModalLoaded?.();\n\n\t\t\t\tawait this.openPaymentModalWithPromise(paymentModalProps);\n\t\t\t} catch (error) {\n\t\t\t\tif (error instanceof TransactionError) {\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t\tthrow new PaymentModalTransactionError(step.id, error as Error);\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tif (error instanceof TransactionError) {\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t\tthrow new StepExecutionError(step.id, error as Error);\n\t\t}\n\t}\n\n\tprivate async executeStep({\n\t\tstep,\n\t\tprops,\n\t}: {\n\t\tstep: Step;\n\t\tprops: TransactionInput['props'];\n\t}) {\n\t\ttry {\n\t\t\tthis.logger.debug('Executing step', { stepId: step.id });\n\n\t\t\tif (!step.to && !step.signature) {\n\t\t\t\tthrow new MissingStepDataError();\n\t\t\t}\n\n\t\t\tif (step.id === StepType.buy) {\n\t\t\t\tawait this.executeBuyStep({ step, props: props as BuyInput });\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (step.signature) {\n\t\t\t\tawait this.executeSignature(step);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst hash = await this.executeTransaction(step);\n\t\t\treturn { hash };\n\t\t} catch (error) {\n\t\t\tif (error instanceof TransactionError) {\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t\tthrow new StepExecutionError(step.id, error as Error);\n\t\t}\n\t}\n\n\tasync getTransactionSteps(props: Input): Promise<TransactionSteps> {\n\t\tthis.logger.debug('Getting transaction steps', props);\n\t\t// Return memoized value if props and state haven't changed\n\t\tif (\n\t\t\tthis.memoizedSteps &&\n\t\t\tthis.lastProps &&\n\t\t\tJSON.stringify(props) === JSON.stringify(this.lastProps)\n\t\t) {\n\t\t\tthis.logger.debug('Returning memoized steps');\n\t\t\treturn this.memoizedSteps;\n\t\t}\n\n\t\tconst type = this.config.config.type;\n\t\tconst steps = await this.generateSteps({\n\t\t\ttype,\n\t\t\tprops,\n\t\t} as TransactionInput);\n\t\t// Extract execution step, it should always be the last step\n\t\tconst executionStep = steps.pop();\n\t\tif (!executionStep) {\n\t\t\tthrow new NoStepsFoundError();\n\t\t}\n\t\tif (executionStep.id === StepType.tokenApproval) {\n\t\t\tthrow new NoExecutionStepError();\n\t\t}\n\t\tconst approvalStep = steps.pop();\n\n\t\tif (steps.length > 0) {\n\t\t\tthrow new UnexpectedStepsError();\n\t\t}\n\n\t\tthis.lastProps = props;\n\t\tthis.memoizedSteps = {\n\t\t\tswitchChain: {\n\t\t\t\tisPending: !this.isOnCorrectChain(),\n\t\t\t\tisExecuting: this.currentState === TransactionState.SWITCH_CHAIN,\n\t\t\t\texecute: () => this.switchChain(),\n\t\t\t},\n\t\t\tapproval: {\n\t\t\t\tisPending: Boolean(approvalStep),\n\t\t\t\tisExecuting: this.currentState === TransactionState.TOKEN_APPROVAL,\n\t\t\t\texecute: () =>\n\t\t\t\t\tapprovalStep && this.executeStep({ step: approvalStep, props }),\n\t\t\t},\n\t\t\ttransaction: {\n\t\t\t\tisPending: Boolean(executionStep),\n\t\t\t\tisExecuting:\n\t\t\t\t\tthis.currentState === TransactionState.EXECUTING_TRANSACTION,\n\t\t\t\texecute: () => this.executeStep({ step: executionStep, props }),\n\t\t\t},\n\t\t} as const;\n\n\t\tthis.logger.debug('Generated new transaction steps', this.memoizedSteps);\n\t\treturn this.memoizedSteps;\n\t}\n}\n","export class TransactionLogger {\n\tconstructor(\n\t\tprivate readonly context: string,\n\t\tprivate readonly enabled: boolean = true,\n\t) {}\n\n\tprivate formatData(data: unknown): unknown {\n\t\tif (data instanceof Error) {\n\t\t\treturn {\n\t\t\t\tname: data.name,\n\t\t\t\tmessage: data.message,\n\t\t\t\tcause:\n\t\t\t\t\tdata.cause instanceof Error\n\t\t\t\t\t\t? this.formatData(data.cause)\n\t\t\t\t\t\t: data.cause,\n\t\t\t\tstack: data.stack?.split('\\n').slice(0, 3),\n\t\t\t};\n\t\t}\n\n\t\tif (Array.isArray(data)) {\n\t\t\treturn data.map((item) => this.formatData(item));\n\t\t}\n\n\t\tif (typeof data === 'object' && data !== null) {\n\t\t\treturn Object.fromEntries(\n\t\t\t\tObject.entries(data).map(([key, value]) => [\n\t\t\t\t\tkey,\n\t\t\t\t\tthis.formatData(value),\n\t\t\t\t]),\n\t\t\t);\n\t\t}\n\n\t\treturn data;\n\t}\n\n\tprivate log(\n\t\tlevel: 'debug' | 'error' | 'info',\n\t\tmessage: string,\n\t\tdata?: unknown,\n\t) {\n\t\tif (!this.enabled) return;\n\t\tconsole[level](\n\t\t\t`[${this.context}] ${message}`,\n\t\t\tdata ? this.formatData(data) : '',\n\t\t);\n\t}\n\n\tdebug(message: string, data?: unknown) {\n\t\tthis.log('debug', message, data);\n\t}\n\n\terror(message: string, error: unknown) {\n\t\tthis.log('error', message, error);\n\t}\n\n\tinfo(message: string, data?: unknown) {\n\t\tthis.log('info', message, data);\n\t}\n\n\tstate(from: string, to: string) {\n\t\tthis.info(`State transition: ${from} -> ${to}`);\n\t}\n}\n\nexport const createLogger = (context: string, enabled = true) =>\n\tnew TransactionLogger(context, enabled);\n","import { useSelectPaymentModal } from '@0xsequence/kit-checkout';\nimport type { Hash } from 'viem';\nimport { useAccount, useSwitchChain, useWalletClient } from 'wagmi';\nimport {\n\tNoMarketplaceConfigError,\n\tNoWalletConnectedError,\n\tTransactionError,\n} from '../../../utils/_internal/error/transaction';\nimport { useConfig, useMarketplaceConfig } from '../../hooks';\nimport { useSwitchChainModal } from '../../ui/modals/_internal/components/switchChainModal';\nimport {\n\ttype Input,\n\ttype TransactionConfig,\n\tTransactionMachine,\n} from './execute-transaction';\nimport { wallet } from './wallet';\n\nexport type UseTransactionMachineConfig = Omit<\n\tTransactionConfig,\n\t'sdkConfig' | 'marketplaceConfig' | 'walletKind' | 'chains'\n>;\n\nexport const useTransactionMachine = ({\n\tconfig,\n\tenabled,\n\tonSuccess,\n\tonError,\n\tonTransactionSent,\n\tonApprovalSuccess,\n\tonPaymentModalLoaded,\n}: {\n\tconfig: UseTransactionMachineConfig;\n\tenabled: boolean;\n\tonSuccess?: (hash: Hash) => void;\n\tonError?: (error: TransactionError) => void;\n\tonTransactionSent?: (\n\t\thash?: Hash,\n\t\torderId?: string,\n\t\tisApproval?: boolean,\n\t) => void;\n\tonApprovalSuccess?: (hash: Hash) => void;\n\tonPaymentModalLoaded?: () => void;\n}) => {\n\tconst { data: walletClient, isLoading: walletClientIsLoading } =\n\t\tuseWalletClient();\n\tconst { show: showSwitchChainModal } = useSwitchChainModal();\n\tconst sdkConfig = useConfig();\n\tconst {\n\t\tdata: marketplaceConfig,\n\t\terror: marketplaceError,\n\t\tisLoading: marketplaceConfigIsLoading,\n\t} = useMarketplaceConfig();\n\tconst { openSelectPaymentModal } = useSelectPaymentModal();\n\tconst { chains } = useSwitchChain();\n\n\tconst { connector, isConnected } = useAccount();\n\n\tif (!enabled) return { machine: null, error: null, isLoading: false };\n\n\tif (!isConnected) {\n\t\t// No wallet connected, TODO: add some sort of state for this\n\t\treturn { machine: null, error: null, isLoading: false };\n\t}\n\n\tif (walletClientIsLoading || marketplaceConfigIsLoading) {\n\t\treturn { machine: null, error: null, isLoading: true };\n\t}\n\n\tif (marketplaceError) {\n\t\tconst error = new TransactionError('Marketplace config error', {\n\t\t\tcause: marketplaceError,\n\t\t});\n\t\tonError?.(error);\n\t\treturn { machine: null, error };\n\t}\n\n\tif (!walletClient) {\n\t\tconst error = new NoWalletConnectedError();\n\t\tonError?.(error);\n\t\treturn { machine: null, error };\n\t}\n\n\tif (!marketplaceConfig) {\n\t\tconst error = new NoMarketplaceConfigError();\n\t\tonError?.(error);\n\t\treturn { machine: null, error };\n\t}\n\n\tconst walletInstance = wallet({\n\t\twallet: walletClient,\n\t\tchains,\n\t\tconnector: connector!,\n\t});\n\n\tconst machine = new TransactionMachine(\n\t\t{\n\t\t\tconfig: {\n\t\t\t\tsdkConfig,\n\t\t\t\tmarketplaceConfig,\n\t\t\t\tchains,\n\t\t\t\t...config,\n\t\t\t},\n\t\t\tonSuccess,\n\t\t\tonTransactionSent,\n\t\t\tonApprovalSuccess,\n\t\t},\n\t\twalletInstance,\n\t\topenSelectPaymentModal,\n\t\tasync () =>\n\t\t\tnew Promise((resolve, reject) => {\n\t\t\t\tshowSwitchChainModal({\n\t\t\t\t\tchainIdToSwitchTo: Number(config.chainId),\n\t\t\t\t\tonSuccess: resolve,\n\t\t\t\t\tonError: reject,\n\t\t\t\t\tonClose: reject,\n\t\t\t\t});\n\t\t\t}),\n\t\tonPaymentModalLoaded,\n\t);\n\n\treturn {\n\t\tmachine: {\n\t\t\tgetTransactionSteps: async (props: Input) => {\n\t\t\t\ttry {\n\t\t\t\t\treturn await machine.getTransactionSteps(props);\n\t\t\t\t} catch (e) {\n\t\t\t\t\tconst error = e as TransactionError;\n\t\t\t\t\tonError?.(error);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstart: async (props: Input) => {\n\t\t\t\ttry {\n\t\t\t\t\tawait machine.start(props);\n\t\t\t\t} catch (e) {\n\t\t\t\t\tconst error = e as TransactionError;\n\t\t\t\t\tonError?.(error);\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\terror: null,\n\t\tisLoading: false,\n\t};\n};\n","import {\n\tButton,\n\tCloseIcon,\n\tIconButton,\n\tSpinner,\n\tText,\n} from '@0xsequence/design-system';\nimport { observer } from '@legendapp/state/react';\nimport { Close, Content, Overlay, Portal, Root } from '@radix-ui/react-dialog';\nimport type { SwitchChainErrorType } from 'viem';\nimport { useSwitchChain } from 'wagmi';\nimport { getPresentableChainName } from '../../../../../../utils/network';\nimport type { ChainId } from '../../../../../_internal';\nimport AlertMessage from '../alertMessage';\nimport { switchChainModal$ } from './store';\nimport {\n\tcloseButton,\n\tdialogOverlay,\n\tswitchChainCta,\n\tswitchChainModalContent,\n} from './styles.css';\n\nexport type ShowSwitchChainModalArgs = {\n\tchainIdToSwitchTo: ChainId;\n\tonSuccess?: () => void;\n\tonError?: (error: SwitchChainErrorType) => void;\n\tonClose?: () => void;\n};\n\nexport const useSwitchChainModal = () => {\n\treturn {\n\t\tshow: (args: ShowSwitchChainModalArgs) => switchChainModal$.open(args),\n\t\tclose: () => switchChainModal$.delete(),\n\t\tisSwitching$: switchChainModal$.state.isSwitching,\n\t};\n};\n\nconst SwitchChainModal = observer(() => {\n\tconst chainIdToSwitchTo = switchChainModal$.state.chainIdToSwitchTo.get();\n\tconst isSwitching$ = switchChainModal$.state.isSwitching;\n\tconst chainName = chainIdToSwitchTo\n\t\t? getPresentableChainName(chainIdToSwitchTo)\n\t\t: '';\n\tconst { switchChainAsync } = useSwitchChain();\n\n\tasync function handleSwitchChain() {\n\t\tisSwitching$.set(true);\n\n\t\ttry {\n\t\t\tif (!chainIdToSwitchTo) return;\n\t\t\tawait switchChainAsync({ chainId: Number(chainIdToSwitchTo) });\n\n\t\t\tswitchChainModal$.state.onSuccess?.();\n\n\t\t\tswitchChainModal$.delete();\n\t\t} catch (error) {\n\t\t\tswitchChainModal$.state.onError?.(error as SwitchChainErrorType);\n\t\t} finally {\n\t\t\tisSwitching$.set(false);\n\t\t}\n\t}\n\n\treturn (\n\t\t<Root open={switchChainModal$.isOpen.get()}>\n\t\t\t<Portal>\n\t\t\t\t<Overlay className={dialogOverlay} />\n\n\t\t\t\t<Content className={switchChainModalContent}>\n\t\t\t\t\t<Text fontSize=\"large\" fontWeight=\"bold\" color=\"text100\">\n\t\t\t\t\t\tWrong network\n\t\t\t\t\t</Text>\n\n\t\t\t\t\t<AlertMessage\n\t\t\t\t\t\ttype=\"warning\"\n\t\t\t\t\t\tmessage={`You need to switch to ${chainName} network before completing the transaction`}\n\t\t\t\t\t/>\n\n\t\t\t\t\t<Button\n\t\t\t\t\t\tname=\"switch-chain\"\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tlabel={isSwitching$.get() ? <Spinner /> : 'Switch Network'}\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tpending={isSwitching$.get()}\n\t\t\t\t\t\tshape=\"square\"\n\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\tisSwitching$.get()\n\t\t\t\t\t\t\t\t? switchChainCta.pending\n\t\t\t\t\t\t\t\t: switchChainCta.default\n\t\t\t\t\t\t}\n\t\t\t\t\t\tjustifySelf=\"flex-end\"\n\t\t\t\t\t\tonClick={handleSwitchChain}\n\t\t\t\t\t/>\n\n\t\t\t\t\t<Close\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tswitchChainModal$.state.onClose?.();\n\t\t\t\t\t\t\tswitchChainModal$.delete();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tclassName={closeButton}\n\t\t\t\t\t\tasChild\n\t\t\t\t\t>\n\t\t\t\t\t\t<IconButton size=\"xs\" aria-label=\"Close modal\" icon={CloseIcon} />\n\t\t\t\t\t</Close>\n\t\t\t\t</Content>\n\t\t\t</Portal>\n\t\t</Root>\n\t);\n});\n\nexport default SwitchChainModal;\n","import { Box, Text, WarningIcon } from '@0xsequence/design-system';\nimport SvgInfoIcon from '../../../../icons/InfoIcon';\nimport { alertMessageBox, alertMessageBoxVariants } from './styles.css';\n\ntype AlertMessageProps = {\n\tmessage: string;\n\ttype: 'warning' | 'info';\n};\n\nexport default function AlertMessage({ message, type }: AlertMessageProps) {\n\treturn (\n\t\t<Box className={`${alertMessageBox} ${alertMessageBoxVariants[type]}`}>\n\t\t\t<Text\n\t\t\t\tcolor=\"white\"\n\t\t\t\tfontSize=\"normal\"\n\t\t\t\tfontWeight=\"medium\"\n\t\t\t\tfontFamily=\"body\"\n\t\t\t>\n\t\t\t\t{message}\n\t\t\t</Text>\n\n\t\t\t{type === 'warning' && <WarningIcon size=\"sm\" color=\"white\" />}\n\t\t\t{type === 'info' && <SvgInfoIcon size=\"sm\" color=\"white\" />}\n\t\t</Box>\n\t);\n}\n","import { observable } from '@legendapp/state';\nimport type { SwitchChainErrorType } from 'viem';\nimport type { ShowSwitchChainModalArgs } from '.';\nimport type { ChainId } from '../../../../../_internal';\n\nexport interface SwitchChainModalState {\n\tisOpen: boolean;\n\topen: (args: ShowSwitchChainModalArgs) => void;\n\tclose: () => void;\n\tstate: {\n\t\tchainIdToSwitchTo: ChainId | undefined;\n\t\tisSwitching: boolean;\n\t\tonSuccess: (() => void) | undefined;\n\t\tonError: undefined | ((error: SwitchChainErrorType) => void);\n\t\tonClose: (() => void) | undefined;\n\t};\n}\n\nexport const initialState: SwitchChainModalState = {\n\tisOpen: false,\n\topen: ({ chainIdToSwitchTo, onError, onSuccess, onClose }) => {\n\t\tswitchChainModal$.state.set({\n\t\t\t...switchChainModal$.state.get(),\n\t\t\tchainIdToSwitchTo,\n\t\t\tonError,\n\t\t\tonSuccess,\n\t\t\tonClose,\n\t\t});\n\t\tswitchChainModal$.isOpen.set(true);\n\t},\n\tclose: () => {\n\t\tswitchChainModal$.isOpen.set(false);\n\t},\n\tstate: {\n\t\tchainIdToSwitchTo: undefined,\n\t\tonError: undefined,\n\t\tonSuccess: undefined,\n\t\tonClose: undefined,\n\t\tisSwitching: false,\n\t},\n};\n\nexport const switchChainModal$ = observable(initialState);\n","import {\n\ttype Account,\n\ttype Address,\n\ttype Chain,\n\ttype Hex,\n\ttype TransactionReceipt,\n\tTypedDataDomain,\n\ttype WalletClient as ViemWalletClient,\n\tcustom,\n\thexToBigInt,\n\tisHex,\n} from 'viem';\nimport type { Connector } from 'wagmi';\nimport type { SwitchChainErrorType } from 'wagmi/actions';\nimport { getPublicRpcClient } from '../../../utils';\nimport {\n\tChainSwitchError,\n\tTransactionConfirmationError,\n\tTransactionExecutionError,\n\tTransactionSignatureError,\n\tUserRejectedRequestError,\n} from '../../../utils/_internal/error/transaction';\nimport { StepType, WalletKind } from '../api';\nimport { createLogger } from './logger';\nimport type { SignatureStep, TransactionStep } from './utils';\n\ninterface WalletClient extends Omit<ViemWalletClient, 'account'> {\n\taccount: Account;\n}\n\nexport interface WalletInstance {\n\ttransport: ReturnType<typeof custom>;\n\tisWaaS: boolean;\n\twalletKind: WalletKind;\n\tgetChainId: () => Promise<number>;\n\tswitchChain: (chainId: number) => Promise<void>;\n\taddress: () => Promise<Hex>;\n\thandleSignMessageStep: (stepItem: SignatureStep) => Promise<Hex | undefined>;\n\thandleSendTransactionStep: (\n\t\tchainId: number,\n\t\tstepItem: TransactionStep,\n\t) => Promise<Hex>;\n\thandleConfirmTransactionStep: (\n\t\ttxHash: Hex,\n\t\tchainId: number,\n\t) => Promise<TransactionReceipt>;\n}\n\nexport const wallet = ({\n\twallet,\n\tchains,\n\tconnector,\n}: {\n\twallet: WalletClient;\n\tchains: readonly [Chain, ...Chain[]];\n\tconnector: Connector;\n}): WalletInstance => {\n\tconst logger = createLogger('Wallet');\n\n\treturn {\n\t\ttransport: custom(wallet.transport),\n\t\tisWaaS: connector.id.endsWith('waas'),\n\t\twalletKind:\n\t\t\tconnector.id === 'sequence' ? WalletKind.sequence : WalletKind.unknown,\n\t\tgetChainId: wallet.getChainId,\n\t\taddress: async () => {\n\t\t\tlet address = wallet.account?.address;\n\t\t\tif (!address) {\n\t\t\t\t[address] = await wallet.getAddresses();\n\t\t\t}\n\t\t\treturn address;\n\t\t},\n\t\tswitchChain: async (chainId: number) => {\n\t\t\tlogger.debug('Switching chain', { targetChainId: chainId });\n\n\t\t\ttry {\n\t\t\t\tawait wallet.switchChain({\n\t\t\t\t\tid: chainId,\n\t\t\t\t});\n\t\t\t\tlogger.info('Chain switch successful', { chainId });\n\t\t\t\treturn;\n\t\t\t} catch (e) {\n\t\t\t\tconst error = e as SwitchChainErrorType;\n\t\t\t\tlogger.error('Chain switch failed', error);\n\n\t\t\t\tswitch (error.name) {\n\t\t\t\t\tcase 'SwitchChainNotSupportedError':\n\t\t\t\t\t\tthrow new ChainSwitchError(await wallet.getChainId(), chainId);\n\t\t\t\t\tcase 'UserRejectedRequestError':\n\t\t\t\t\t\tthrow new UserRejectedRequestError();\n\t\t\t\t\tcase 'ChainNotConfiguredError':\n\t\t\t\t\t\treturn;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tthrow new ChainSwitchError(await wallet.getChainId(), chainId);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\thandleSignMessageStep: async (stepItem: SignatureStep) => {\n\t\t\ttry {\n\t\t\t\tif (stepItem.id === StepType.signEIP191) {\n\t\t\t\t\tlogger.debug('Signing with EIP-191', { data: stepItem.data });\n\t\t\t\t\tconst message = isHex(stepItem.data)\n\t\t\t\t\t\t? { raw: stepItem.data }\n\t\t\t\t\t\t: stepItem.data;\n\t\t\t\t\treturn await wallet.signMessage({\n\t\t\t\t\t\taccount: wallet.account,\n\t\t\t\t\t\tmessage,\n\t\t\t\t\t});\n\t\t\t\t\t// biome-ignore lint/style/noUselessElse: <explanation>\n\t\t\t\t} else if (stepItem.id === StepType.signEIP712) {\n\t\t\t\t\tlogger.debug('Signing with EIP-712', {\n\t\t\t\t\t\tdomain: stepItem.domain,\n\t\t\t\t\t\ttypes: stepItem.signature?.types,\n\t\t\t\t\t});\n\t\t\t\t\treturn await wallet.signTypedData({\n\t\t\t\t\t\taccount: wallet.account,\n\t\t\t\t\t\tdomain: stepItem.signature!.domain as TypedDataDomain,\n\t\t\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: <explanation>\n\t\t\t\t\t\ttypes: stepItem.signature!.types,\n\t\t\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: <explanation>\n\t\t\t\t\t\tprimaryType: stepItem.signature!.primaryType,\n\t\t\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: <explanation>\n\t\t\t\t\t\tmessage: stepItem.signature!.value,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error('Signature failed', error);\n\t\t\t\tthrow new TransactionSignatureError(stepItem.id, error as Error);\n\t\t\t}\n\t\t},\n\t\thandleSendTransactionStep: async (\n\t\t\tchainId: number,\n\t\t\tstepItem: TransactionStep,\n\t\t) => {\n\t\t\tlogger.debug('Sending transaction', {\n\t\t\t\tchainId,\n\t\t\t\tto: stepItem.to,\n\t\t\t\tvalue: stepItem.value,\n\t\t\t});\n\n\t\t\tconst chain = chains.find((chain) => chain.id === chainId);\n\t\t\ttry {\n\t\t\t\treturn await wallet.sendTransaction({\n\t\t\t\t\tchain,\n\t\t\t\t\tdata: stepItem.data,\n\t\t\t\t\taccount: wallet.account,\n\t\t\t\t\tto: stepItem.to,\n\t\t\t\t\tvalue: hexToBigInt(stepItem.value || '0x0'),\n\t\t\t\t\t...(stepItem.maxFeePerGas && {\n\t\t\t\t\t\tmaxFeePerGas: hexToBigInt(stepItem.maxFeePerGas),\n\t\t\t\t\t}),\n\t\t\t\t\t...(stepItem.maxPriorityFeePerGas && {\n\t\t\t\t\t\tmaxPriorityFeePerGas: hexToBigInt(stepItem.maxPriorityFeePerGas),\n\t\t\t\t\t}),\n\t\t\t\t\t...(stepItem.gas && {\n\t\t\t\t\t\tgas: hexToBigInt(stepItem.gas),\n\t\t\t\t\t}),\n\t\t\t\t});\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error('Transaction failed', error);\n\t\t\t\tthrow new TransactionExecutionError(stepItem.id, error as Error);\n\t\t\t}\n\t\t},\n\t\thandleConfirmTransactionStep: async (txHash: Hex, chainId: number) => {\n\t\t\tlogger.debug('Confirming transaction', { txHash, chainId });\n\n\t\t\ttry {\n\t\t\t\tconst publicClient = getPublicRpcClient(chainId);\n\t\t\t\tconst receipt = await publicClient.waitForTransactionReceipt({\n\t\t\t\t\thash: txHash as Address,\n\t\t\t\t});\n\t\t\t\tlogger.info('Transaction confirmed', { txHash, receipt });\n\t\t\t\treturn receipt;\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error('Transaction confirmation failed', error);\n\t\t\t\tthrow new TransactionConfirmationError(txHash, error as Error);\n\t\t\t}\n\t\t},\n\t};\n};\n","import type { Hex } from 'viem';\nimport {\n\ttype CancelInput,\n\tTransactionType,\n} from '../_internal/transaction-machine/execute-transaction';\nimport {\n\ttype UseTransactionMachineConfig,\n\tuseTransactionMachine,\n} from '../_internal/transaction-machine/useTransactionMachine';\n\ninterface UseCancelOrderArgs\n\textends Omit<UseTransactionMachineConfig, 'type' | 'orderbookKind'> {\n\tonSuccess?: (hash: string) => void;\n\tonError?: (error: Error) => void;\n\tonTransactionSent?: (hash?: Hex) => void;\n\tenabled: boolean;\n}\n\nexport const useCancelOrder = ({\n\tonSuccess,\n\tonError,\n\tonTransactionSent,\n\tenabled,\n\t...config\n}: UseCancelOrderArgs) => {\n\tconst machineConfig = {\n\t\t...config,\n\t\ttype: TransactionType.CANCEL,\n\t};\n\tconst { machine, isLoading } = useTransactionMachine({\n\t\tconfig: machineConfig,\n\t\tenabled,\n\t\tonSuccess,\n\t\tonError,\n\t\tonTransactionSent,\n\t});\n\n\treturn {\n\t\tcancel: (props: CancelInput) => machine?.start(props),\n\t\tonError,\n\t\tonSuccess,\n\t\tonTransactionSent,\n\t\tisLoading,\n\t};\n};\n","import type { Hash, Hex } from 'viem';\nimport type { TransactionErrorTypes } from '../../utils/_internal/error/transaction';\nimport {\n\ttype BuyInput,\n\tTransactionType,\n} from '../_internal/transaction-machine/execute-transaction';\nimport {\n\ttype UseTransactionMachineConfig,\n\tuseTransactionMachine,\n} from '../_internal/transaction-machine/useTransactionMachine';\nimport { useCallback } from 'react';\n\ntype UseBuyOrderError = TransactionErrorTypes;\n\ninterface UseBuyOrderArgs\n\textends Omit<UseTransactionMachineConfig, 'type' | 'orderbookKind'> {\n\tonSuccess?: (hash: Hash) => void;\n\tonError?: (error: UseBuyOrderError) => void;\n\tonTransactionSent?: (hash?: Hex) => void;\n\tsetPaymentLoadingModalOpen: (value: boolean) => void;\n\tonPaymentModalLoaded: () => void;\n\tenabled: boolean;\n}\n\nexport const useBuyCollectable = ({\n\tonSuccess,\n\tonError,\n\tonTransactionSent,\n\tsetPaymentLoadingModalOpen,\n\tonPaymentModalLoaded,\n\tenabled,\n\t...config\n}: UseBuyOrderArgs) => {\n\tconst machineConfig = {\n\t\t...config,\n\t\ttype: TransactionType.BUY,\n\t};\n\tconst { machine, error, isLoading } = useTransactionMachine({\n\t\tconfig: machineConfig,\n\t\tenabled,\n\t\tonSuccess,\n\t\tonError,\n\t\tonTransactionSent,\n\t\tonPaymentModalLoaded,\n\t});\n\n\tconst buy = useCallback(\n\t\t(props: BuyInput) => {\n\t\t\tif (!machine || isLoading) return;\n\t\t\tsetPaymentLoadingModalOpen(true);\n\t\t\tmachine.start(props);\n\t\t},\n\t\t[setPaymentLoadingModalOpen, machine],\n\t);\n\n\treturn {\n\t\tbuy,\n\t\tisLoading,\n\t\terror,\n\t};\n};\n"],"mappings":"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","names":["queryOptions","useQuery","z","z","z","z","queryOptions","useQuery","queryOptions","useQuery","z","z","queryOptions","useQuery","queryOptions","useQuery","z","z","queryOptions","useQuery","queryOptions","useQuery","z","z","queryOptions","useQuery","useQuery","queryOptions","queryOptions","useQuery","currencyOptions","queryOptions","useQuery","z","ChainIdCoerce","z","queryOptions","useQuery","queryOptions","useQuery","z","z","queryOptions","useQuery","queryOptions","useQuery","z","z","queryOptions","useQuery","queryOptions","useQuery","z","z","queryOptions","useQuery","SortOrder","z","z","sortOrderSchema","SortOrder","sortBySchema","pageSchema","infiniteQueryOptions","useInfiniteQuery","z","z","infiniteQueryOptions","useInfiniteQuery","queryOptions","useQuery","z","z","queryOptions","useQuery","queryOptions","useQuery","z","z","queryOptions","useQuery","queryOptions","useQuery","z","z","queryOptions","useQuery","queryOptions","useQuery","z","z","queryOptions","useQuery","queryOptions","useQuery","z","z","queryOptions","useQuery","queryOptions","useQuery","z","z","queryOptions","useQuery","useMutation","useMutation","useMutation","z","z","useMutation","useMutation","z","z","useMutation","queryOptions","useQuery","useAccount","z","z","queryOptions","useAccount","useQuery","queryOptions","useQuery","z","z","queryOptions","useQuery","queryOptions","useQuery","useAccount","z","z","queryOptions","useAccount","useQuery","wallet","collection","useAccount","useSwitchChain","Text","jsx","jsx","jsxs","Text","wallet","chain","useSwitchChain","useAccount"]}
|