@frak-labs/core-sdk 0.1.0-beta.8d103039 → 0.1.0-beta.b0bd1f8a

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 (90) hide show
  1. package/cdn/bundle.iife.js +14 -0
  2. package/dist/actions-CEEObPYc.js +1 -0
  3. package/dist/actions-DbQhWYx8.cjs +1 -0
  4. package/dist/actions.cjs +1 -1
  5. package/dist/actions.d.cts +3 -1481
  6. package/dist/actions.d.ts +3 -1481
  7. package/dist/actions.js +1 -1
  8. package/dist/bundle.cjs +1 -13
  9. package/dist/bundle.d.cts +6 -2087
  10. package/dist/bundle.d.ts +6 -2087
  11. package/dist/bundle.js +1 -13
  12. package/dist/index-7OZ39x1U.d.ts +195 -0
  13. package/dist/index-C6FxkWPC.d.cts +511 -0
  14. package/dist/index-UFX7xCg3.d.ts +351 -0
  15. package/dist/index-d8xS4ryI.d.ts +511 -0
  16. package/dist/index-p4FqSp8z.d.cts +351 -0
  17. package/dist/index-zDq-VlKx.d.cts +195 -0
  18. package/dist/index.cjs +1 -13
  19. package/dist/index.d.cts +4 -1387
  20. package/dist/index.d.ts +4 -1387
  21. package/dist/index.js +1 -13
  22. package/dist/interaction-DMJ3ZfaF.d.cts +45 -0
  23. package/dist/interaction-KX1h9a7V.d.ts +45 -0
  24. package/dist/interactions-DnfM3oe0.js +1 -0
  25. package/dist/interactions-EIXhNLf6.cjs +1 -0
  26. package/dist/interactions.cjs +1 -1
  27. package/dist/interactions.d.cts +2 -182
  28. package/dist/interactions.d.ts +2 -182
  29. package/dist/interactions.js +1 -1
  30. package/dist/openSso-D--Airj6.d.cts +1018 -0
  31. package/dist/openSso-DsKJ4y0j.d.ts +1018 -0
  32. package/dist/productTypes-BUkXJKZ7.cjs +1 -0
  33. package/dist/productTypes-CGb1MmBF.js +1 -0
  34. package/dist/src-B_xO0AR6.cjs +13 -0
  35. package/dist/src-D2d52OZa.js +13 -0
  36. package/dist/trackEvent-CHnYa85W.js +1 -0
  37. package/dist/trackEvent-GuQm_1Nm.cjs +1 -0
  38. package/package.json +21 -17
  39. package/src/actions/displayEmbeddedWallet.test.ts +194 -0
  40. package/src/actions/displayModal.test.ts +387 -0
  41. package/src/actions/getProductInformation.test.ts +133 -0
  42. package/src/actions/index.ts +19 -19
  43. package/src/actions/openSso.test.ts +407 -0
  44. package/src/actions/prepareSso.test.ts +223 -0
  45. package/src/actions/referral/processReferral.ts +1 -1
  46. package/src/actions/referral/referralInteraction.ts +1 -1
  47. package/src/actions/sendInteraction.test.ts +219 -0
  48. package/src/actions/trackPurchaseStatus.test.ts +287 -0
  49. package/src/actions/watchWalletStatus.test.ts +372 -0
  50. package/src/bundle.ts +1 -1
  51. package/src/clients/createIFrameFrakClient.ts +2 -2
  52. package/src/clients/index.ts +1 -1
  53. package/src/clients/setupClient.test.ts +343 -0
  54. package/src/clients/setupClient.ts +3 -1
  55. package/src/clients/transports/iframeLifecycleManager.test.ts +399 -0
  56. package/src/clients/transports/iframeLifecycleManager.ts +3 -1
  57. package/src/index.ts +72 -74
  58. package/src/interactions/index.ts +2 -2
  59. package/src/interactions/pressEncoder.test.ts +215 -0
  60. package/src/interactions/pressEncoder.ts +1 -1
  61. package/src/interactions/purchaseEncoder.test.ts +291 -0
  62. package/src/interactions/purchaseEncoder.ts +8 -3
  63. package/src/interactions/referralEncoder.test.ts +170 -0
  64. package/src/interactions/retailEncoder.test.ts +107 -0
  65. package/src/interactions/retailEncoder.ts +1 -1
  66. package/src/interactions/webshopEncoder.test.ts +56 -0
  67. package/src/types/index.ts +51 -50
  68. package/src/types/lifecycle/index.ts +1 -1
  69. package/src/types/rpc/embedded/loggedIn.ts +1 -1
  70. package/src/types/rpc/embedded/loggedOut.ts +1 -1
  71. package/src/types/rpc/modal/index.ts +11 -11
  72. package/src/utils/FrakContext.test.ts +407 -0
  73. package/src/utils/FrakContext.ts +8 -2
  74. package/src/utils/compression/b64.test.ts +181 -0
  75. package/src/utils/compression/compress.test.ts +123 -0
  76. package/src/utils/compression/decompress.test.ts +145 -0
  77. package/src/utils/compression/index.ts +1 -1
  78. package/src/utils/computeProductId.test.ts +80 -0
  79. package/src/utils/constants.test.ts +23 -0
  80. package/src/utils/formatAmount.test.ts +113 -0
  81. package/src/utils/getCurrencyAmountKey.test.ts +44 -0
  82. package/src/utils/getSupportedCurrency.test.ts +51 -0
  83. package/src/utils/getSupportedLocale.test.ts +64 -0
  84. package/src/utils/iframeHelper.test.ts +450 -0
  85. package/src/utils/iframeHelper.ts +4 -3
  86. package/src/utils/index.ts +12 -12
  87. package/src/utils/sso.test.ts +361 -0
  88. package/src/utils/trackEvent.test.ts +162 -0
  89. package/cdn/bundle.js +0 -19
  90. package/cdn/bundle.js.LICENSE.txt +0 -10
@@ -0,0 +1,170 @@
1
+ /**
2
+ * Tests for ReferralInteractionEncoder
3
+ * Tests encoding of referral-related user interactions
4
+ */
5
+
6
+ import { pad, toHex } from "viem";
7
+ import { describe, expect, it, test } from "../../tests/vitest-fixtures";
8
+ import { interactionTypes } from "../constants/interactionTypes";
9
+ import { productTypes } from "../constants/productTypes";
10
+ import { ReferralInteractionEncoder } from "./referralEncoder";
11
+
12
+ describe("ReferralInteractionEncoder", () => {
13
+ describe("createLink", () => {
14
+ it("should encode create link interaction with correct structure", () => {
15
+ const interaction = ReferralInteractionEncoder.createLink();
16
+
17
+ // Should return PreparedInteraction structure
18
+ expect(interaction).toHaveProperty("handlerTypeDenominator");
19
+ expect(interaction).toHaveProperty("interactionData");
20
+ });
21
+
22
+ it("should use referral product type in handlerTypeDenominator", () => {
23
+ const interaction = ReferralInteractionEncoder.createLink();
24
+
25
+ // Should use referral product type (30)
26
+ const expectedDenominator = toHex(productTypes.referral);
27
+ expect(interaction.handlerTypeDenominator).toBe(
28
+ expectedDenominator
29
+ );
30
+ });
31
+
32
+ it("should use createLink interaction type in data", () => {
33
+ const interaction = ReferralInteractionEncoder.createLink();
34
+
35
+ // Should use createLink interaction type
36
+ expect(interaction.interactionData).toBe(
37
+ interactionTypes.referral.createLink
38
+ );
39
+ });
40
+
41
+ it("should produce consistent output (no parameters)", () => {
42
+ const interaction1 = ReferralInteractionEncoder.createLink();
43
+ const interaction2 = ReferralInteractionEncoder.createLink();
44
+
45
+ // Should always produce the same output
46
+ expect(interaction1).toEqual(interaction2);
47
+ });
48
+ });
49
+
50
+ describe("referred", () => {
51
+ test("should encode referred interaction with correct structure", ({
52
+ mockReferrerAddress,
53
+ }) => {
54
+ const interaction = ReferralInteractionEncoder.referred({
55
+ referrer: mockReferrerAddress,
56
+ });
57
+
58
+ // Should return PreparedInteraction structure
59
+ expect(interaction).toHaveProperty("handlerTypeDenominator");
60
+ expect(interaction).toHaveProperty("interactionData");
61
+ });
62
+
63
+ test("should use referral product type in handlerTypeDenominator", ({
64
+ mockReferrerAddress,
65
+ }) => {
66
+ const interaction = ReferralInteractionEncoder.referred({
67
+ referrer: mockReferrerAddress,
68
+ });
69
+
70
+ // Should use referral product type (30)
71
+ const expectedDenominator = toHex(productTypes.referral);
72
+ expect(interaction.handlerTypeDenominator).toBe(
73
+ expectedDenominator
74
+ );
75
+ });
76
+
77
+ test("should include referred interaction type in data", ({
78
+ mockReferrerAddress,
79
+ }) => {
80
+ const interaction = ReferralInteractionEncoder.referred({
81
+ referrer: mockReferrerAddress,
82
+ });
83
+
84
+ // Should start with referred interaction type
85
+ expect(interaction.interactionData).toContain(
86
+ interactionTypes.referral.referred
87
+ );
88
+ });
89
+
90
+ test("should pad referrer address to 32 bytes", ({
91
+ mockReferrerAddress,
92
+ }) => {
93
+ const interaction = ReferralInteractionEncoder.referred({
94
+ referrer: mockReferrerAddress,
95
+ });
96
+
97
+ // Referrer address should be padded to 32 bytes
98
+ const paddedAddress = pad(mockReferrerAddress, { size: 32 });
99
+ expect(interaction.interactionData).toContain(
100
+ paddedAddress.slice(2)
101
+ );
102
+ });
103
+
104
+ test("should produce different output for different referrers", () => {
105
+ const referrer1 =
106
+ "0x1234567890123456789012345678901234567890" as const;
107
+ const referrer2 =
108
+ "0xabcdefabcdefabcdefabcdefabcdefabcdefabcd" as const;
109
+
110
+ const interaction1 = ReferralInteractionEncoder.referred({
111
+ referrer: referrer1,
112
+ });
113
+ const interaction2 = ReferralInteractionEncoder.referred({
114
+ referrer: referrer2,
115
+ });
116
+
117
+ // Different referrers should produce different interaction data
118
+ expect(interaction1.interactionData).not.toBe(
119
+ interaction2.interactionData
120
+ );
121
+ });
122
+
123
+ test("should produce consistent output for same referrer", ({
124
+ mockReferrerAddress,
125
+ }) => {
126
+ const interaction1 = ReferralInteractionEncoder.referred({
127
+ referrer: mockReferrerAddress,
128
+ });
129
+ const interaction2 = ReferralInteractionEncoder.referred({
130
+ referrer: mockReferrerAddress,
131
+ });
132
+
133
+ // Same referrer should produce same output
134
+ expect(interaction1).toEqual(interaction2);
135
+ });
136
+ });
137
+
138
+ describe("interaction data format", () => {
139
+ test("should produce valid hex strings", ({ mockReferrerAddress }) => {
140
+ const createLinkInteraction =
141
+ ReferralInteractionEncoder.createLink();
142
+ const referredInteraction = ReferralInteractionEncoder.referred({
143
+ referrer: mockReferrerAddress,
144
+ });
145
+
146
+ // Both should be valid hex strings starting with 0x
147
+ expect(createLinkInteraction.interactionData).toMatch(
148
+ /^0x[0-9a-f]+$/
149
+ );
150
+ expect(referredInteraction.interactionData).toMatch(
151
+ /^0x[0-9a-f]+$/
152
+ );
153
+ });
154
+
155
+ test("should have different interaction types", ({
156
+ mockReferrerAddress,
157
+ }) => {
158
+ const createLinkInteraction =
159
+ ReferralInteractionEncoder.createLink();
160
+ const referredInteraction = ReferralInteractionEncoder.referred({
161
+ referrer: mockReferrerAddress,
162
+ });
163
+
164
+ // Different interaction types should produce different data
165
+ expect(createLinkInteraction.interactionData).not.toBe(
166
+ referredInteraction.interactionData
167
+ );
168
+ });
169
+ });
170
+ });
@@ -0,0 +1,107 @@
1
+ /**
2
+ * Tests for RetailInteractionEncoder
3
+ * Tests encoding of retail-related user interactions
4
+ */
5
+
6
+ import { pad, toHex } from "viem";
7
+ import { describe, expect, test } from "../../tests/vitest-fixtures";
8
+ import { interactionTypes } from "../constants/interactionTypes";
9
+ import { productTypes } from "../constants/productTypes";
10
+ import { RetailInteractionEncoder } from "./retailEncoder";
11
+
12
+ describe("RetailInteractionEncoder", () => {
13
+ describe("customerMeeting", () => {
14
+ test("should encode customer meeting interaction with correct structure", ({
15
+ mockAgencyId,
16
+ }) => {
17
+ const interaction = RetailInteractionEncoder.customerMeeting({
18
+ agencyId: mockAgencyId,
19
+ });
20
+
21
+ // Should return PreparedInteraction structure
22
+ expect(interaction).toHaveProperty("handlerTypeDenominator");
23
+ expect(interaction).toHaveProperty("interactionData");
24
+ });
25
+
26
+ test("should use retail product type in handlerTypeDenominator", ({
27
+ mockAgencyId,
28
+ }) => {
29
+ const interaction = RetailInteractionEncoder.customerMeeting({
30
+ agencyId: mockAgencyId,
31
+ });
32
+
33
+ // Should use retail product type (4)
34
+ const expectedDenominator = toHex(productTypes.retail);
35
+ expect(interaction.handlerTypeDenominator).toBe(
36
+ expectedDenominator
37
+ );
38
+ });
39
+
40
+ test("should include customerMeeting interaction type in data", ({
41
+ mockAgencyId,
42
+ }) => {
43
+ const interaction = RetailInteractionEncoder.customerMeeting({
44
+ agencyId: mockAgencyId,
45
+ });
46
+
47
+ // Should start with customerMeeting interaction type
48
+ expect(interaction.interactionData).toContain(
49
+ interactionTypes.retail.customerMeeting
50
+ );
51
+ });
52
+
53
+ test("should pad agency ID to 32 bytes", ({ mockAgencyId }) => {
54
+ const interaction = RetailInteractionEncoder.customerMeeting({
55
+ agencyId: mockAgencyId,
56
+ });
57
+
58
+ // Agency ID should be padded to 32 bytes
59
+ const paddedAgencyId = pad(mockAgencyId, { size: 32 });
60
+ expect(interaction.interactionData).toContain(
61
+ paddedAgencyId.slice(2)
62
+ );
63
+ });
64
+
65
+ test("should produce consistent output for same agency ID", ({
66
+ mockAgencyId,
67
+ }) => {
68
+ const interaction1 = RetailInteractionEncoder.customerMeeting({
69
+ agencyId: mockAgencyId,
70
+ });
71
+ const interaction2 = RetailInteractionEncoder.customerMeeting({
72
+ agencyId: mockAgencyId,
73
+ });
74
+
75
+ // Same input should produce same output
76
+ expect(interaction1).toEqual(interaction2);
77
+ });
78
+
79
+ test("should produce different output for different agency IDs", () => {
80
+ const agencyId1 =
81
+ "0x0000000000000000000000000000000000000000000000000000000000000001" as const;
82
+ const agencyId2 =
83
+ "0x0000000000000000000000000000000000000000000000000000000000000002" as const;
84
+
85
+ const interaction1 = RetailInteractionEncoder.customerMeeting({
86
+ agencyId: agencyId1,
87
+ });
88
+ const interaction2 = RetailInteractionEncoder.customerMeeting({
89
+ agencyId: agencyId2,
90
+ });
91
+
92
+ // Different agency IDs should produce different interaction data
93
+ expect(interaction1.interactionData).not.toBe(
94
+ interaction2.interactionData
95
+ );
96
+ });
97
+
98
+ test("should produce valid hex string", ({ mockAgencyId }) => {
99
+ const interaction = RetailInteractionEncoder.customerMeeting({
100
+ agencyId: mockAgencyId,
101
+ });
102
+
103
+ // Should be valid hex string starting with 0x
104
+ expect(interaction.interactionData).toMatch(/^0x[0-9a-f]+$/);
105
+ });
106
+ });
107
+ });
@@ -1,4 +1,4 @@
1
- import { type Hex, concatHex, pad, toHex } from "viem";
1
+ import { concatHex, type Hex, pad, toHex } from "viem";
2
2
  import { interactionTypes } from "../constants/interactionTypes";
3
3
  import { productTypes } from "../constants/productTypes";
4
4
  import type { PreparedInteraction } from "../types";
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Tests for WebShopInteractionEncoder
3
+ * Tests encoding of webshop-related user interactions
4
+ */
5
+
6
+ import { toHex } from "viem";
7
+ import { describe, expect, it } from "../../tests/vitest-fixtures";
8
+ import { interactionTypes } from "../constants/interactionTypes";
9
+ import { productTypes } from "../constants/productTypes";
10
+ import { WebShopInteractionEncoder } from "./webshopEncoder";
11
+
12
+ describe("WebShopInteractionEncoder", () => {
13
+ describe("open", () => {
14
+ it("should encode open webshop interaction with correct structure", () => {
15
+ const interaction = WebShopInteractionEncoder.open();
16
+
17
+ // Should return PreparedInteraction structure
18
+ expect(interaction).toHaveProperty("handlerTypeDenominator");
19
+ expect(interaction).toHaveProperty("interactionData");
20
+ });
21
+
22
+ it("should use webshop product type in handlerTypeDenominator", () => {
23
+ const interaction = WebShopInteractionEncoder.open();
24
+
25
+ // Should use webshop product type (3)
26
+ const expectedDenominator = toHex(productTypes.webshop);
27
+ expect(interaction.handlerTypeDenominator).toBe(
28
+ expectedDenominator
29
+ );
30
+ });
31
+
32
+ it("should use open interaction type in data", () => {
33
+ const interaction = WebShopInteractionEncoder.open();
34
+
35
+ // Should use open interaction type
36
+ expect(interaction.interactionData).toBe(
37
+ interactionTypes.webshop.open
38
+ );
39
+ });
40
+
41
+ it("should produce consistent output (no parameters)", () => {
42
+ const interaction1 = WebShopInteractionEncoder.open();
43
+ const interaction2 = WebShopInteractionEncoder.open();
44
+
45
+ // Should always produce the same output
46
+ expect(interaction1).toEqual(interaction2);
47
+ });
48
+
49
+ it("should produce valid hex string", () => {
50
+ const interaction = WebShopInteractionEncoder.open();
51
+
52
+ // Should be valid hex string starting with 0x
53
+ expect(interaction.interactionData).toMatch(/^0x[0-9a-f]+$/);
54
+ });
55
+ });
56
+ });
@@ -1,70 +1,71 @@
1
1
  // Rpc related
2
- export type { WalletStatusReturnType } from "./rpc/walletStatus";
3
- export type {
4
- DisplayEmbeddedWalletParamsType,
5
- DisplayEmbeddedWalletResultType,
6
- LoggedOutEmbeddedView,
7
- LoggedInEmbeddedView,
8
- EmbeddedViewActionReferred,
9
- EmbeddedViewActionSharing,
10
- } from "./rpc/embedded";
11
- export type {
12
- SsoMetadata,
13
- OpenSsoParamsType,
14
- OpenSsoReturnType,
15
- PrepareSsoParamsType,
16
- PrepareSsoReturnType,
17
- } from "./rpc/sso";
18
- export type {
19
- TokenAmountType,
20
- GetProductInformationReturnType,
21
- } from "./rpc/productInformation";
22
- export type {
23
- PreparedInteraction,
24
- SendInteractionParamsType,
25
- SendInteractionReturnType,
26
- } from "./rpc/interaction";
27
- export type { IFrameRpcSchema } from "./rpc";
2
+
28
3
  // Client related
29
4
  export type { FrakClient } from "./client";
30
- export type { IFrameTransport, FrakLifecycleEvent } from "./transport";
31
5
  export type {
32
- IFrameLifecycleEvent,
33
- ClientLifecycleEvent,
34
- } from "./lifecycle";
6
+ CompressedData,
7
+ HashProtectedData,
8
+ KeyProvider,
9
+ } from "./compression";
35
10
  export type {
36
- FrakWalletSdkConfig,
37
11
  Currency,
38
- Language,
12
+ FrakWalletSdkConfig,
39
13
  I18nConfig,
14
+ Language,
40
15
  LocalizedI18nConfig,
41
16
  } from "./config";
17
+ // Utils
18
+ export type { FrakContext } from "./context";
42
19
  export type {
43
- CompressedData,
44
- HashProtectedData,
45
- KeyProvider,
46
- } from "./compression";
20
+ ClientLifecycleEvent,
21
+ IFrameLifecycleEvent,
22
+ } from "./lifecycle";
23
+ export type { IFrameRpcSchema } from "./rpc";
47
24
  // Modal related
48
25
  export type {
49
- ModalStepTypes,
50
- ModalRpcStepsInput,
51
- ModalRpcStepsResultType,
52
26
  DisplayModalParamsType,
53
27
  ModalRpcMetadata,
28
+ ModalRpcStepsInput,
29
+ ModalRpcStepsResultType,
30
+ ModalStepTypes,
54
31
  } from "./rpc/displayModal";
55
32
  export type {
56
- ModalStepMetadata,
33
+ DisplayEmbeddedWalletParamsType,
34
+ DisplayEmbeddedWalletResultType,
35
+ EmbeddedViewActionReferred,
36
+ EmbeddedViewActionSharing,
37
+ LoggedInEmbeddedView,
38
+ LoggedOutEmbeddedView,
39
+ } from "./rpc/embedded";
40
+ export type {
41
+ PreparedInteraction,
42
+ SendInteractionParamsType,
43
+ SendInteractionReturnType,
44
+ } from "./rpc/interaction";
45
+ export type {
46
+ FinalActionType,
47
+ FinalModalStepType,
57
48
  LoginModalStepType,
58
- SiweAuthenticateModalStepType,
59
- SiweAuthenticationParams,
60
- SiweAuthenticateReturnType,
61
- SendTransactionTxType,
49
+ ModalStepMetadata,
50
+ OpenInteractionSessionModalStepType,
51
+ OpenInteractionSessionReturnType,
62
52
  SendTransactionModalStepType,
63
53
  SendTransactionReturnType,
64
- OpenInteractionSessionReturnType,
65
- OpenInteractionSessionModalStepType,
66
- FinalModalStepType,
67
- FinalActionType,
54
+ SendTransactionTxType,
55
+ SiweAuthenticateModalStepType,
56
+ SiweAuthenticateReturnType,
57
+ SiweAuthenticationParams,
68
58
  } from "./rpc/modal";
69
- // Utils
70
- export type { FrakContext } from "./context";
59
+ export type {
60
+ GetProductInformationReturnType,
61
+ TokenAmountType,
62
+ } from "./rpc/productInformation";
63
+ export type {
64
+ OpenSsoParamsType,
65
+ OpenSsoReturnType,
66
+ PrepareSsoParamsType,
67
+ PrepareSsoReturnType,
68
+ SsoMetadata,
69
+ } from "./rpc/sso";
70
+ export type { WalletStatusReturnType } from "./rpc/walletStatus";
71
+ export type { FrakLifecycleEvent, IFrameTransport } from "./transport";
@@ -1,2 +1,2 @@
1
- export type { IFrameLifecycleEvent } from "./iframe";
2
1
  export type { ClientLifecycleEvent } from "./client";
2
+ export type { IFrameLifecycleEvent } from "./iframe";
@@ -17,7 +17,7 @@ export type EmbeddedViewActionSharing = {
17
17
  popupTitle?: string;
18
18
  /**
19
19
  * The text that will be shared alongside the link.
20
- * Can contain the variable {LINK} to specify where the link is placed, otherwise it will be added at the end
20
+ * Can contain the variable `{LINK}` to specify where the link is placed, otherwise it will be added at the end
21
21
  * @deprecated Use the top level `config.metadata.i18n` instead
22
22
  */
23
23
  text?: string;
@@ -10,7 +10,7 @@ export type LoggedOutEmbeddedView = {
10
10
  /**
11
11
  * The main CTA for the logged out view
12
12
  * - can include some variable, available ones are:
13
- * - {REWARD} -> The maximum reward a user can receive when interacting on your website
13
+ * - `{REWARD}` -> The maximum reward a user can receive when interacting on your website
14
14
  * - can be formatted in markdown
15
15
  *
16
16
  * If not set, it will default to a internationalized message
@@ -1,20 +1,20 @@
1
+ export type {
2
+ FinalActionType,
3
+ FinalModalStepType,
4
+ } from "./final";
5
+ export type { ModalStepMetadata } from "./generic";
1
6
  export type { LoginModalStepType } from "./login";
7
+ export type {
8
+ OpenInteractionSessionModalStepType,
9
+ OpenInteractionSessionReturnType,
10
+ } from "./openSession";
2
11
  export type {
3
12
  SiweAuthenticateModalStepType,
4
- SiweAuthenticationParams,
5
13
  SiweAuthenticateReturnType,
14
+ SiweAuthenticationParams,
6
15
  } from "./siweAuthenticate";
7
16
  export type {
8
17
  SendTransactionModalStepType,
9
- SendTransactionTxType,
10
18
  SendTransactionReturnType,
19
+ SendTransactionTxType,
11
20
  } from "./transaction";
12
- export type {
13
- OpenInteractionSessionReturnType,
14
- OpenInteractionSessionModalStepType,
15
- } from "./openSession";
16
- export type { ModalStepMetadata } from "./generic";
17
- export type {
18
- FinalModalStepType,
19
- FinalActionType,
20
- } from "./final";