@b3dotfun/sdk 0.1.65 → 0.1.66-alpha.0

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 (116) hide show
  1. package/dist/cjs/anyspend/react/components/AnySpend.d.ts +2 -0
  2. package/dist/cjs/anyspend/react/components/AnySpend.js +7 -16
  3. package/dist/cjs/anyspend/react/components/AnySpendCollectorClubPurchase.d.ts +6 -1
  4. package/dist/cjs/anyspend/react/components/AnySpendCollectorClubPurchase.js +151 -22
  5. package/dist/cjs/anyspend/react/components/AnySpendCustom.js +4 -50
  6. package/dist/cjs/anyspend/react/components/AnySpendCustomExactIn.d.ts +2 -0
  7. package/dist/cjs/anyspend/react/components/AnySpendCustomExactIn.js +4 -2
  8. package/dist/cjs/anyspend/react/components/AnySpendDeposit.d.ts +3 -1
  9. package/dist/cjs/anyspend/react/components/AnySpendDeposit.js +2 -2
  10. package/dist/cjs/anyspend/react/components/AnySpendWorkflowTrigger.d.ts +31 -0
  11. package/dist/cjs/anyspend/react/components/AnySpendWorkflowTrigger.js +14 -0
  12. package/dist/cjs/anyspend/react/components/QRDeposit.js +5 -13
  13. package/dist/cjs/anyspend/react/components/ccShopAbi.d.ts +113 -0
  14. package/dist/cjs/anyspend/react/components/ccShopAbi.js +63 -0
  15. package/dist/cjs/anyspend/react/components/common/CryptoPaySection.d.ts +1 -3
  16. package/dist/cjs/anyspend/react/components/common/CryptoPaySection.js +3 -3
  17. package/dist/cjs/anyspend/react/components/common/OrderTokenAmount.d.ts +1 -4
  18. package/dist/cjs/anyspend/react/components/common/OrderTokenAmount.js +3 -57
  19. package/dist/cjs/anyspend/react/components/common/PaySection.js +1 -1
  20. package/dist/cjs/anyspend/react/components/index.d.ts +2 -0
  21. package/dist/cjs/anyspend/react/components/index.js +3 -1
  22. package/dist/cjs/anyspend/react/hooks/index.d.ts +1 -0
  23. package/dist/cjs/anyspend/react/hooks/index.js +1 -0
  24. package/dist/cjs/anyspend/react/hooks/useAnyspendCreateOnrampOrder.js +1 -0
  25. package/dist/cjs/anyspend/react/hooks/useAnyspendCreateOrder.d.ts +1 -0
  26. package/dist/cjs/anyspend/react/hooks/useAnyspendCreateOrder.js +1 -0
  27. package/dist/cjs/anyspend/react/hooks/useOnOrderSuccess.d.ts +10 -0
  28. package/dist/cjs/anyspend/react/hooks/useOnOrderSuccess.js +27 -0
  29. package/dist/cjs/anyspend/services/anyspend.d.ts +2 -1
  30. package/dist/cjs/anyspend/services/anyspend.js +2 -1
  31. package/dist/cjs/anyspend/utils/chain.d.ts +1 -1
  32. package/dist/cjs/anyspend/utils/chain.js +72 -62
  33. package/dist/cjs/global-account/react/components/B3DynamicModal.js +4 -0
  34. package/dist/cjs/global-account/react/hooks/useUserQuery.js +10 -0
  35. package/dist/cjs/global-account/react/stores/useModalStore.d.ts +37 -1
  36. package/dist/cjs/global-account/react/stores/userStore.js +1 -0
  37. package/dist/esm/anyspend/react/components/AnySpend.d.ts +2 -0
  38. package/dist/esm/anyspend/react/components/AnySpend.js +7 -16
  39. package/dist/esm/anyspend/react/components/AnySpendCollectorClubPurchase.d.ts +6 -1
  40. package/dist/esm/anyspend/react/components/AnySpendCollectorClubPurchase.js +152 -23
  41. package/dist/esm/anyspend/react/components/AnySpendCustom.js +4 -17
  42. package/dist/esm/anyspend/react/components/AnySpendCustomExactIn.d.ts +2 -0
  43. package/dist/esm/anyspend/react/components/AnySpendCustomExactIn.js +4 -2
  44. package/dist/esm/anyspend/react/components/AnySpendDeposit.d.ts +3 -1
  45. package/dist/esm/anyspend/react/components/AnySpendDeposit.js +2 -2
  46. package/dist/esm/anyspend/react/components/AnySpendWorkflowTrigger.d.ts +31 -0
  47. package/dist/esm/anyspend/react/components/AnySpendWorkflowTrigger.js +11 -0
  48. package/dist/esm/anyspend/react/components/QRDeposit.js +6 -14
  49. package/dist/esm/anyspend/react/components/ccShopAbi.d.ts +113 -0
  50. package/dist/esm/anyspend/react/components/ccShopAbi.js +60 -0
  51. package/dist/esm/anyspend/react/components/common/CryptoPaySection.d.ts +1 -3
  52. package/dist/esm/anyspend/react/components/common/CryptoPaySection.js +3 -3
  53. package/dist/esm/anyspend/react/components/common/OrderTokenAmount.d.ts +1 -4
  54. package/dist/esm/anyspend/react/components/common/OrderTokenAmount.js +2 -56
  55. package/dist/esm/anyspend/react/components/common/PaySection.js +1 -1
  56. package/dist/esm/anyspend/react/components/index.d.ts +2 -0
  57. package/dist/esm/anyspend/react/components/index.js +1 -0
  58. package/dist/esm/anyspend/react/hooks/index.d.ts +1 -0
  59. package/dist/esm/anyspend/react/hooks/index.js +1 -0
  60. package/dist/esm/anyspend/react/hooks/useAnyspendCreateOnrampOrder.js +1 -0
  61. package/dist/esm/anyspend/react/hooks/useAnyspendCreateOrder.d.ts +1 -0
  62. package/dist/esm/anyspend/react/hooks/useAnyspendCreateOrder.js +1 -0
  63. package/dist/esm/anyspend/react/hooks/useOnOrderSuccess.d.ts +10 -0
  64. package/dist/esm/anyspend/react/hooks/useOnOrderSuccess.js +24 -0
  65. package/dist/esm/anyspend/services/anyspend.d.ts +2 -1
  66. package/dist/esm/anyspend/services/anyspend.js +2 -1
  67. package/dist/esm/anyspend/utils/chain.d.ts +1 -1
  68. package/dist/esm/anyspend/utils/chain.js +72 -62
  69. package/dist/esm/global-account/react/components/B3DynamicModal.js +4 -0
  70. package/dist/esm/global-account/react/hooks/useUserQuery.js +11 -1
  71. package/dist/esm/global-account/react/stores/useModalStore.d.ts +37 -1
  72. package/dist/esm/global-account/react/stores/userStore.js +1 -0
  73. package/dist/types/anyspend/react/components/AnySpend.d.ts +2 -0
  74. package/dist/types/anyspend/react/components/AnySpendCollectorClubPurchase.d.ts +6 -1
  75. package/dist/types/anyspend/react/components/AnySpendCustomExactIn.d.ts +2 -0
  76. package/dist/types/anyspend/react/components/AnySpendDeposit.d.ts +3 -1
  77. package/dist/types/anyspend/react/components/AnySpendWorkflowTrigger.d.ts +31 -0
  78. package/dist/types/anyspend/react/components/ccShopAbi.d.ts +113 -0
  79. package/dist/types/anyspend/react/components/common/CryptoPaySection.d.ts +1 -3
  80. package/dist/types/anyspend/react/components/common/OrderTokenAmount.d.ts +1 -4
  81. package/dist/types/anyspend/react/components/index.d.ts +2 -0
  82. package/dist/types/anyspend/react/hooks/index.d.ts +1 -0
  83. package/dist/types/anyspend/react/hooks/useAnyspendCreateOrder.d.ts +1 -0
  84. package/dist/types/anyspend/react/hooks/useOnOrderSuccess.d.ts +10 -0
  85. package/dist/types/anyspend/services/anyspend.d.ts +2 -1
  86. package/dist/types/anyspend/utils/chain.d.ts +1 -1
  87. package/dist/types/global-account/react/stores/useModalStore.d.ts +37 -1
  88. package/package.json +1 -1
  89. package/src/anyspend/README.md +14 -0
  90. package/src/anyspend/docs/checkout-sessions.md +228 -0
  91. package/src/anyspend/docs/components.md +26 -0
  92. package/src/anyspend/docs/examples.md +58 -0
  93. package/src/anyspend/docs/hooks.md +32 -0
  94. package/src/anyspend/llms.txt +185 -0
  95. package/src/anyspend/react/components/AnySpend.tsx +9 -17
  96. package/src/anyspend/react/components/AnySpendCollectorClubPurchase.tsx +206 -22
  97. package/src/anyspend/react/components/AnySpendCustom.tsx +3 -18
  98. package/src/anyspend/react/components/AnySpendCustomExactIn.tsx +5 -1
  99. package/src/anyspend/react/components/AnySpendDeposit.tsx +5 -0
  100. package/src/anyspend/react/components/AnySpendWorkflowTrigger.tsx +73 -0
  101. package/src/anyspend/react/components/QRDeposit.tsx +19 -15
  102. package/src/anyspend/react/components/ccShopAbi.ts +64 -0
  103. package/src/anyspend/react/components/common/CryptoPaySection.tsx +0 -5
  104. package/src/anyspend/react/components/common/OrderTokenAmount.tsx +1 -70
  105. package/src/anyspend/react/components/common/PaySection.tsx +0 -1
  106. package/src/anyspend/react/components/index.ts +2 -0
  107. package/src/anyspend/react/hooks/index.ts +1 -0
  108. package/src/anyspend/react/hooks/useAnyspendCreateOnrampOrder.ts +1 -0
  109. package/src/anyspend/react/hooks/useAnyspendCreateOrder.ts +2 -0
  110. package/src/anyspend/react/hooks/useOnOrderSuccess.ts +36 -0
  111. package/src/anyspend/services/anyspend.ts +3 -0
  112. package/src/anyspend/utils/chain.ts +81 -65
  113. package/src/global-account/react/components/B3DynamicModal.tsx +4 -0
  114. package/src/global-account/react/hooks/useUserQuery.ts +12 -1
  115. package/src/global-account/react/stores/useModalStore.ts +39 -2
  116. package/src/global-account/react/stores/userStore.ts +1 -0
@@ -12,6 +12,7 @@ import {
12
12
  } from "@b3dotfun/sdk/anyspend/react";
13
13
  import { AnySpendDeposit } from "@b3dotfun/sdk/anyspend/react/components/AnySpendDeposit";
14
14
  import { AnySpendDepositHype } from "@b3dotfun/sdk/anyspend/react/components/AnyspendDepositHype";
15
+ import { AnySpendWorkflowTrigger } from "@b3dotfun/sdk/anyspend/react/components/AnySpendWorkflowTrigger";
15
16
  import { AnySpendDepositUpside } from "@b3dotfun/sdk/anyspend/react/components/AnySpendDepositUpside";
16
17
  import { AnySpendStakeUpside } from "@b3dotfun/sdk/anyspend/react/components/AnySpendStakeUpside";
17
18
  import { AnySpendStakeUpsideExactIn } from "@b3dotfun/sdk/anyspend/react/components/AnySpendStakeUpsideExactIn";
@@ -65,6 +66,7 @@ export function B3DynamicModal() {
65
66
  "send",
66
67
  "notifications",
67
68
  "anySpendDeposit",
69
+ "anySpendWorkflowTrigger",
68
70
  ];
69
71
 
70
72
  const freestyleTypes = [
@@ -152,6 +154,8 @@ export function B3DynamicModal() {
152
154
  return <AnySpendCollectorClubPurchase {...contentType} mode="modal" />;
153
155
  case "anySpendDeposit":
154
156
  return <AnySpendDeposit {...contentType} mode="modal" />;
157
+ case "anySpendWorkflowTrigger":
158
+ return <AnySpendWorkflowTrigger {...contentType} mode="modal" />;
155
159
  case "avatarEditor":
156
160
  return <AvatarEditor onSetAvatar={contentType.onSuccess} />;
157
161
  case "deposit":
@@ -1,5 +1,5 @@
1
1
  import { Users } from "@b3dotfun/b3-api";
2
- import { useEffect } from "react";
2
+ import { useEffect, useLayoutEffect } from "react";
3
3
  import { useUserStore } from "../stores/userStore";
4
4
 
5
5
  const USER_QUERY_KEY = ["b3-user"];
@@ -15,6 +15,17 @@ export function useUserQuery() {
15
15
  const setUserStore = useUserStore(state => state.setUser);
16
16
  const clearUserStore = useUserStore(state => state.clearUser);
17
17
 
18
+ // Manually rehydrate persisted store inside useLayoutEffect to avoid
19
+ // updating AuthenticationProvider state during Hydrate render.
20
+ // useLayoutEffect (not useEffect) ensures rehydration triggers a
21
+ // synchronous re-render before any useEffect callbacks fire, so
22
+ // downstream effects always see the persisted user value.
23
+ useLayoutEffect(() => {
24
+ if (!useUserStore.persist.hasHydrated()) {
25
+ useUserStore.persist.rehydrate();
26
+ }
27
+ }, []);
28
+
18
29
  // Listen for storage events from other tabs/windows
19
30
  useEffect(() => {
20
31
  const handleStorageChange = (e: StorageEvent) => {
@@ -497,12 +497,47 @@ export interface AnySpendCollectorClubPurchaseProps extends BaseModalProps {
497
497
  forceFiatPayment?: boolean;
498
498
  /** Staging environment support */
499
499
  isStaging?: boolean;
500
+ /** Optional discount code to apply to the purchase */
501
+ discountCode?: string;
500
502
  }
501
503
 
502
504
  /**
503
505
  * Props for the AnySpend Deposit modal
504
506
  * Flexible deposit component with optional chain selection
505
507
  */
508
+ /**
509
+ * Props for the AnySpend Workflow Trigger modal
510
+ * Handles payments that trigger b3os-workflow runs
511
+ */
512
+ export interface AnySpendWorkflowTriggerModalProps extends BaseModalProps {
513
+ /** Modal type identifier */
514
+ type: "anySpendWorkflowTrigger";
515
+ /** Payment recipient address (hex) */
516
+ recipientAddress: string;
517
+ /** Destination chain ID */
518
+ chainId: number;
519
+ /** Destination token address */
520
+ tokenAddress: string;
521
+ /** Required payment amount in token base units (wei) */
522
+ amount: string;
523
+ /** Workflow ID to trigger */
524
+ workflowId: string;
525
+ /** Organization ID that owns the workflow */
526
+ orgId: string;
527
+ /** Optional callback metadata */
528
+ callbackMetadata?: {
529
+ inputs?: Record<string, unknown>;
530
+ } & Record<string, unknown>;
531
+ /** Callback when payment succeeds */
532
+ onSuccess?: (amount: string) => void;
533
+ /** Callback when modal is closed */
534
+ onClose?: () => void;
535
+ /** Custom action label */
536
+ actionLabel?: string;
537
+ /** Custom class names */
538
+ classes?: AnySpendAllClasses;
539
+ }
540
+
506
541
  export interface AnySpendDepositModalProps extends BaseModalProps {
507
542
  /** Modal type identifier */
508
543
  type: "anySpendDeposit";
@@ -560,6 +595,8 @@ export interface AnySpendDepositModalProps extends BaseModalProps {
560
595
  classes?: AnySpendAllClasses;
561
596
  /** Whether to allow direct transfer without swap */
562
597
  allowDirectTransfer?: boolean;
598
+ /** Opaque metadata passed to the order for callbacks (e.g., workflow form data) */
599
+ callbackMetadata?: Record<string, unknown>;
563
600
  }
564
601
 
565
602
  /**
@@ -591,8 +628,8 @@ export type ModalContentType =
591
628
  | SendModalProps
592
629
  | NotificationsModalProps
593
630
  | AnySpendCollectorClubPurchaseProps
594
- | AnySpendDepositModalProps;
595
- // Add other modal types here like: | OtherModalProps | AnotherModalProps
631
+ | AnySpendDepositModalProps
632
+ | AnySpendWorkflowTriggerModalProps;
596
633
 
597
634
  /**
598
635
  * State interface for the modal store
@@ -31,6 +31,7 @@ export const useUserStore = create<UserStore>()(
31
31
  }),
32
32
  {
33
33
  name: "b3-user",
34
+ skipHydration: true,
34
35
  onRehydrateStorage: () => (_, error) => {
35
36
  if (error) {
36
37
  console.warn("Failed to rehydrate user store:", error);