@b3dotfun/sdk 0.0.79-alpha.0 → 0.0.79-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/dist/cjs/anyspend/react/components/AnySpendCollectorClubPurchase.js +9 -2
  2. package/dist/cjs/anyspend/react/components/AnySpendCustom.d.ts +2 -0
  3. package/dist/cjs/anyspend/react/components/AnySpendCustom.js +53 -13
  4. package/dist/cjs/anyspend/react/components/AnySpendNFT.js +6 -9
  5. package/dist/cjs/anyspend/react/components/common/CryptoReceiveSection.js +1 -3
  6. package/dist/cjs/anyspend/react/components/common/FiatPaymentMethod.d.ts +2 -1
  7. package/dist/cjs/anyspend/react/components/common/FiatPaymentMethod.js +32 -12
  8. package/dist/cjs/anyspend/react/components/common/PanelOnramp.js +6 -6
  9. package/dist/cjs/anyspend/react/components/common/PanelOnrampPayment.js +5 -3
  10. package/dist/cjs/anyspend/react/hooks/useGeoOnrampOptions.d.ts +2 -8
  11. package/dist/cjs/anyspend/react/hooks/useGeoOnrampOptions.js +4 -2
  12. package/dist/cjs/anyspend/react/hooks/useStripeSupport.d.ts +1 -0
  13. package/dist/cjs/anyspend/react/hooks/useStripeSupport.js +1 -0
  14. package/dist/cjs/global-account/react/components/IPFSMediaRenderer/IPFSMediaRenderer.js +5 -3
  15. package/dist/cjs/shared/utils/ipfs.d.ts +3 -3
  16. package/dist/cjs/shared/utils/ipfs.js +8 -8
  17. package/dist/esm/anyspend/react/components/AnySpendCollectorClubPurchase.js +9 -2
  18. package/dist/esm/anyspend/react/components/AnySpendCustom.d.ts +2 -0
  19. package/dist/esm/anyspend/react/components/AnySpendCustom.js +53 -13
  20. package/dist/esm/anyspend/react/components/AnySpendNFT.js +7 -10
  21. package/dist/esm/anyspend/react/components/common/CryptoReceiveSection.js +1 -3
  22. package/dist/esm/anyspend/react/components/common/FiatPaymentMethod.d.ts +2 -1
  23. package/dist/esm/anyspend/react/components/common/FiatPaymentMethod.js +32 -12
  24. package/dist/esm/anyspend/react/components/common/PanelOnramp.js +6 -6
  25. package/dist/esm/anyspend/react/components/common/PanelOnrampPayment.js +5 -3
  26. package/dist/esm/anyspend/react/hooks/useGeoOnrampOptions.d.ts +2 -8
  27. package/dist/esm/anyspend/react/hooks/useGeoOnrampOptions.js +4 -2
  28. package/dist/esm/anyspend/react/hooks/useStripeSupport.d.ts +1 -0
  29. package/dist/esm/anyspend/react/hooks/useStripeSupport.js +1 -0
  30. package/dist/esm/global-account/react/components/IPFSMediaRenderer/IPFSMediaRenderer.js +5 -3
  31. package/dist/esm/shared/utils/ipfs.d.ts +3 -3
  32. package/dist/esm/shared/utils/ipfs.js +8 -8
  33. package/dist/styles/index.css +1 -1
  34. package/dist/types/anyspend/react/components/AnySpendCustom.d.ts +2 -0
  35. package/dist/types/anyspend/react/components/common/FiatPaymentMethod.d.ts +2 -1
  36. package/dist/types/anyspend/react/hooks/useGeoOnrampOptions.d.ts +2 -8
  37. package/dist/types/anyspend/react/hooks/useStripeSupport.d.ts +1 -0
  38. package/dist/types/shared/utils/ipfs.d.ts +3 -3
  39. package/package.json +1 -1
  40. package/src/anyspend/react/components/AnySpendCollectorClubPurchase.tsx +9 -1
  41. package/src/anyspend/react/components/AnySpendCustom.tsx +71 -26
  42. package/src/anyspend/react/components/AnySpendNFT.tsx +49 -48
  43. package/src/anyspend/react/components/common/CryptoReceiveSection.tsx +1 -4
  44. package/src/anyspend/react/components/common/FiatPaymentMethod.tsx +45 -21
  45. package/src/anyspend/react/components/common/PanelOnramp.tsx +13 -13
  46. package/src/anyspend/react/components/common/PanelOnrampPayment.tsx +53 -16
  47. package/src/anyspend/react/hooks/useGeoOnrampOptions.ts +5 -2
  48. package/src/anyspend/react/hooks/useStripeSupport.ts +1 -0
  49. package/src/global-account/react/components/IPFSMediaRenderer/IPFSMediaRenderer.tsx +5 -7
  50. package/src/shared/utils/ipfs.ts +8 -8
@@ -1,13 +1,10 @@
1
1
  "use client";
2
2
 
3
+ import { getIpfsUrl } from "@b3dotfun/sdk/shared/utils/ipfs";
3
4
  import { client as defaultClient } from "@b3dotfun/sdk/shared/utils/thirdweb";
4
5
  import type { ThirdwebClient } from "thirdweb";
5
6
  import { MediaRenderer } from "thirdweb/react";
6
7
 
7
- // Primary IPFS gateway URL - matches our allowed list in profileDisplay.ts
8
- // Note: MediaRenderer expects the base gateway URL without /ipfs path
9
- // const IPFS_GATEWAY_URL = "https://cloudflare-ipfs.com";
10
-
11
8
  interface IPFSMediaRendererProps {
12
9
  /** The source URL - can be IPFS URL (ipfs://...) or HTTP URL */
13
10
  src: string | null | undefined;
@@ -66,12 +63,13 @@ export function IPFSMediaRenderer({
66
63
  );
67
64
  }
68
65
 
69
- // Convert IPFS URLs to HTTP gateway URLs if needed
70
- // This handles both ipfs:// URLs and existing HTTP gateway URLs
66
+ // Convert IPFS URLs to HTTP gateway URLs using our preferred gateway
67
+ // This avoids Thirdweb's default cloudflare-ipfs.com which can be unreliable
68
+ const resolvedSrc = src.startsWith("ipfs://") ? getIpfsUrl(src) : src;
71
69
 
72
70
  return (
73
71
  <MediaRenderer
74
- src={src}
72
+ src={resolvedSrc}
75
73
  client={client}
76
74
  alt={alt}
77
75
  className={className}
@@ -3,23 +3,23 @@
3
3
  * These gateways must match the allowed list in profileDisplay.ts validateImageUrl()
4
4
  */
5
5
  const IPFS_GATEWAYS = [
6
- "https://cloudflare-ipfs.com/ipfs", // Primary gateway - fast and reliable
6
+ "https://dweb.link/ipfs", // Primary gateway - Protocol Labs maintained
7
+ "https://w3s.link/ipfs", // web3.storage gateway - reliable
8
+ "https://nftstorage.link/ipfs", // NFT.storage gateway
9
+ "https://gateway.pinata.cloud/ipfs", // Pinata gateway
7
10
  "https://ipfs.io/ipfs", // Fallback gateway
8
- "https://gateway.pinata.cloud/ipfs", // Additional option
9
- "https://dweb.link/ipfs", // Additional option
10
- "https://nftstorage.link/ipfs", // Additional option
11
- "https://w3s.link/ipfs", // Additional option
11
+ "https://cloudflare-ipfs.com/ipfs", // Cloudflare gateway (can be slow/unreliable)
12
12
  ] as const;
13
13
 
14
14
  /**
15
15
  * Converts an IPFS URL to a gateway URL
16
16
  * @param ipfsUrl - URL in format ipfs://CID/path or just the CID
17
- * @param gatewayIndex - Optional index to specify which gateway to use (0: Cloudflare, 1: ipfs.io)
17
+ * @param gatewayIndex - Optional index to specify which gateway to use (0: dweb.link, 1: w3s.link, etc.)
18
18
  * @returns HTTP URL using the specified IPFS gateway
19
19
  * @example
20
- * // returns 'https://cloudflare-ipfs.com/ipfs/QmUbJ4p.../2.png'
20
+ * // returns 'https://dweb.link/ipfs/QmUbJ4p.../2.png'
21
21
  * getIpfsUrl('ipfs://QmUbJ4pnHMNXGeWWhBFFSEqCGuc6cEtDyz35wQfv7k2TXy/2.png')
22
- * // returns 'https://ipfs.io/ipfs/QmUbJ4p.../2.png'
22
+ * // returns 'https://w3s.link/ipfs/QmUbJ4p.../2.png'
23
23
  * getIpfsUrl('ipfs://QmUbJ4pnHMNXGeWWhBFFSEqCGuc6cEtDyz35wQfv7k2TXy/2.png', 1)
24
24
  */
25
25
  export function getIpfsUrl(ipfsUrl: string, gatewayIndex = 0): string {