@meshconnect/web-link-sdk 3.10.1 → 3.10.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/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@meshconnect/web-link-sdk",
3
- "version": "3.10.1",
3
+ "version": "3.10.4",
4
4
  "description": "A client-side JS library for integrating with Mesh Connect",
5
5
  "exports": "./index.js",
6
6
  "license": "MIT",
7
7
  "repository": "https://github.com/FrontFin/mesh-web-sdk.git",
8
8
  "homepage": "https://github.com/FrontFin/mesh-web-sdk",
9
9
  "dependencies": {
10
- "@meshconnect/node-api": "^2.0.27",
10
+ "@meshconnect/node-api": "^2.0.28",
11
11
  "@meshconnect/uwc-bridge-parent": "1.4.0"
12
12
  },
13
13
  "jest": {
@@ -1,6 +1,6 @@
1
1
  import { LinkPayload, TransferFinishedPayload } from './types';
2
- export type LinkEventType = IntegrationConnected | IntegrationConnectionError | TransferCompleted | IntegrationSelected | CredentialsEntered | TransferStarted | TransferPreviewed | TransferPreviewError | TransferExecutionError | PageLoaded | IntegrationMfaRequired | IntegrationMfaEntered | IntegrationOAuthStarted | IntegrationAccountSelectionRequired | TransferAssetSelected | TransferNetworkSelected | TransferAmountEntered | TransferMfaRequired | TransferMfaEntered | TransferKycRequired | TransferInitiated | TransferExecuted | TransferNoEligibleAssets | WalletMessageSigned | DoneEvent | CloseEvent | VerifyWalletRejected | VerifyDonePage | SDKinjectedWalletProviders | LegalTermsViewed | SeeWhatHappenedClicked | FundingOptionsUpdated | FundingOptionsViewed | GasIncreaseWarning | ExecuteFundingStep | LinkTransferQrGenerated | HomePageMethodSelected;
3
- declare const LINK_EVENT_TYPE_KEYS: readonly ["integrationConnected", "integrationConnectionError", "integrationMfaRequired", "integrationMfaEntered", "integrationOAuthStarted", "integrationAccountSelectionRequired", "transferCompleted", "integrationSelected", "credentialsEntered", "transferStarted", "transferPreviewed", "transferPreviewError", "transferExecutionError", "pageLoaded", "transferAssetSelected", "transferNetworkSelected", "transferAmountEntered", "transferMfaRequired", "transferMfaEntered", "transferKycRequired", "transferExecuted", "transferInitiated", "transferNoEligibleAssets", "walletMessageSigned", "verifyDonePage", "verifyWalletRejected", "connectionDeclined", "transferConfigureError", "connectionUnavailable", "transferDeclined", "done", "close", "SDKinjectedWalletProviders", "legalTermsViewed", "seeWhatHappenedClicked", "executeFundingStep", "fundingOptionsUpdated", "fundingOptionsViewed", "gasIncreaseWarning", "linkTransferQRGenerated", "methodSelected"];
2
+ export type LinkEventType = IntegrationConnected | IntegrationConnectionError | TransferCompleted | IntegrationSelected | CredentialsEntered | TransferStarted | TransferPreviewed | TransferPreviewError | TransferExecutionError | TransferConfigureError | PageLoaded | IntegrationMfaRequired | IntegrationMfaEntered | IntegrationOAuthStarted | IntegrationAccountSelectionRequired | TransferAssetSelected | TransferNetworkSelected | TransferAmountEntered | TransferMfaRequired | TransferMfaEntered | TransferKycRequired | TransferInitiated | TransferExecuted | TransferNoEligibleAssets | WalletMessageSigned | DoneEvent | CloseEvent | VerifyWalletRejected | VerifyDonePage | SDKinjectedWalletProviders | LegalTermsViewed | SeeWhatHappenedClicked | FundingOptionsUpdated | FundingOptionsViewed | GasIncreaseWarning | ExecuteFundingStep | LinkTransferQrGenerated | HomePageMethodSelected | ConnectionUnavailable | ConnectionDeclined | TransferDeclined | DefiWalletError | HomePageLoaded;
3
+ declare const LINK_EVENT_TYPE_KEYS: readonly ["integrationConnected", "integrationConnectionError", "integrationMfaRequired", "integrationMfaEntered", "integrationOAuthStarted", "integrationAccountSelectionRequired", "transferCompleted", "integrationSelected", "credentialsEntered", "transferStarted", "transferPreviewed", "transferPreviewError", "transferExecutionError", "transferConfigureError", "pageLoaded", "transferAssetSelected", "transferNetworkSelected", "transferAmountEntered", "transferMfaRequired", "transferMfaEntered", "transferKycRequired", "transferExecuted", "transferInitiated", "transferNoEligibleAssets", "walletMessageSigned", "verifyDonePage", "verifyWalletRejected", "connectionDeclined", "connectionUnavailable", "transferDeclined", "done", "close", "SDKinjectedWalletProviders", "legalTermsViewed", "seeWhatHappenedClicked", "executeFundingStep", "fundingOptionsUpdated", "fundingOptionsViewed", "gasIncreaseWarning", "linkTransferQRGenerated", "methodSelected", "defiWalletError", "homePageLoaded"];
4
4
  export type LinkEventTypeKeys = (typeof LINK_EVENT_TYPE_KEYS)[number];
5
5
  export declare function isLinkEventTypeKey(key: string): key is LinkEventTypeKeys;
6
6
  interface LinkEventBase {
@@ -17,6 +17,7 @@ export interface IntegrationConnectionError extends LinkEventBase {
17
17
  type: 'integrationConnectionError';
18
18
  payload: {
19
19
  errorMessage: string;
20
+ requestId?: string;
20
21
  };
21
22
  }
22
23
  export interface TransferCompleted extends LinkEventBase {
@@ -28,6 +29,8 @@ export interface IntegrationSelected extends LinkEventBase {
28
29
  payload: {
29
30
  integrationType: string;
30
31
  integrationName: string;
32
+ nativeLink?: string;
33
+ userSearched?: boolean;
31
34
  };
32
35
  }
33
36
  export interface CredentialsEntered extends LinkEventBase {
@@ -35,6 +38,10 @@ export interface CredentialsEntered extends LinkEventBase {
35
38
  }
36
39
  export interface TransferStarted extends LinkEventBase {
37
40
  type: 'transferStarted';
41
+ payload: {
42
+ integrationType?: string;
43
+ integrationName: string;
44
+ };
38
45
  }
39
46
  export interface TransferInitiated extends LinkEventBase {
40
47
  type: 'transferInitiated';
@@ -72,6 +79,27 @@ export interface TransferNoEligibleAssets extends LinkEventBase {
72
79
  }[];
73
80
  };
74
81
  }
82
+ export interface TransferFee {
83
+ fee?: number;
84
+ feeCurrency?: string;
85
+ feeInFiat?: number;
86
+ }
87
+ export interface CryptocurrencyFundingOption {
88
+ cryptocurrencyFundingOptionType?: string;
89
+ name?: string;
90
+ paymentMethodType?: string;
91
+ usedAmountInCryptocurrency?: number;
92
+ usedAmountInFiat?: number;
93
+ cryptocurrencySymbol?: string;
94
+ fee?: {
95
+ amountInFiat?: number;
96
+ fiatSymbol?: string;
97
+ amountInCryptocurrency?: number;
98
+ cryptocurrencySymbol?: string;
99
+ isInclusive?: boolean;
100
+ usedCurrencyType?: string;
101
+ };
102
+ }
75
103
  export interface TransferPreviewed extends LinkEventBase {
76
104
  type: 'transferPreviewed';
77
105
  payload: {
@@ -82,23 +110,36 @@ export interface TransferPreviewed extends LinkEventBase {
82
110
  previewId: string;
83
111
  networkName?: string;
84
112
  amountInFiat?: number;
85
- estimatedNetworkGasFee?: {
86
- fee?: number;
87
- feeCurrency?: string;
88
- feeInFiat?: number;
89
- };
113
+ fiatCurrency?: string;
114
+ integrationType?: string;
115
+ integrationName?: string;
116
+ estimatedNetworkGasFee?: TransferFee;
117
+ institutionTransferFee?: TransferFee;
118
+ customClientFee?: TransferFee;
119
+ cryptocurrencyFundingOptions?: CryptocurrencyFundingOption[];
120
+ userId?: string;
121
+ clientTransactionId?: string;
90
122
  };
91
123
  }
92
124
  export interface TransferPreviewError extends LinkEventBase {
93
125
  type: 'transferPreviewError';
94
126
  payload: {
95
127
  errorMessage: string;
128
+ requestId?: string;
96
129
  };
97
130
  }
98
131
  export interface TransferExecutionError extends LinkEventBase {
99
132
  type: 'transferExecutionError';
100
133
  payload: {
101
134
  errorMessage: string;
135
+ requestId?: string;
136
+ };
137
+ }
138
+ export interface TransferConfigureError extends LinkEventBase {
139
+ type: 'transferConfigureError';
140
+ payload: {
141
+ errorMessage: string;
142
+ requestId?: string;
102
143
  };
103
144
  }
104
145
  export interface IntegrationMfaRequired extends LinkEventBase {
@@ -138,6 +179,37 @@ export interface TransferMfaEntered extends LinkEventBase {
138
179
  export interface TransferKycRequired extends LinkEventBase {
139
180
  type: 'transferKycRequired';
140
181
  }
182
+ export interface ConnectionUnavailable extends LinkEventBase {
183
+ type: 'connectionUnavailable';
184
+ payload: {
185
+ integrationType?: string;
186
+ integrationName: string;
187
+ reason: string;
188
+ };
189
+ }
190
+ export interface ConnectionDeclined extends LinkEventBase {
191
+ type: 'connectionDeclined';
192
+ payload: {
193
+ integrationType?: string;
194
+ integrationName: string;
195
+ reason: string;
196
+ networkId?: string;
197
+ toAddress?: string;
198
+ errorMessage?: string;
199
+ };
200
+ }
201
+ export interface TransferDeclined extends LinkEventBase {
202
+ type: 'transferDeclined';
203
+ payload: {
204
+ integrationType?: string;
205
+ integrationName: string;
206
+ toAddress?: string;
207
+ token?: string;
208
+ network?: string;
209
+ amount?: number;
210
+ status: string;
211
+ };
212
+ }
141
213
  export interface DoneEvent extends LinkEventBase {
142
214
  type: 'done';
143
215
  payload: SessionSummary;
@@ -154,6 +226,22 @@ export interface WalletMessageSigned extends LinkEventBase {
154
226
  address: string;
155
227
  timeStamp: number;
156
228
  isVerified: boolean;
229
+ verifiedAddresses?: string[];
230
+ };
231
+ }
232
+ export interface DefiWalletError extends LinkEventBase {
233
+ type: 'defiWalletError';
234
+ payload: {
235
+ integrationName: string;
236
+ errorType: 'timeout' | 'verifyMismatch';
237
+ details: {
238
+ requestedAddress?: string;
239
+ connectedAddress?: string;
240
+ requestedNetwork?: string;
241
+ connectedNetwork?: string;
242
+ connectUri?: string;
243
+ };
244
+ timeStamp: number;
157
245
  };
158
246
  }
159
247
  export interface VerifyDonePage extends LinkEventBase {
@@ -163,34 +251,14 @@ export interface VerifyWalletRejected extends LinkEventBase {
163
251
  type: 'verifyWalletRejected';
164
252
  }
165
253
  export interface SessionSummary {
166
- /**
167
- * Current page of application. Possible values:
168
- * `startPage`
169
- * `integrationsCatalogPage`
170
- * `integrationLoginPage`
171
- * `integrationMfaPage`
172
- * `integrationAccountSelectPage`
173
- * `integrationConnectedPage`
174
- * `errorPage`
175
- * `transferKycPage`
176
- * `transferHoldingSelectionPage`
177
- * `transferNetworkSelectionPage`
178
- * `transferAmountSelectionPage`
179
- * `transferPreviewPage`
180
- * `transferMfaPage`
181
- * `transferFundingPage`
182
- * `transferExecutedPage`
183
- * `termsAndConditionPage`
184
- *
185
- * This list may change in future.
186
- */
254
+ /** The page the user was on when the session ended (e.g. 'transferExecutedPage', 'integrationConnectedPage'). */
187
255
  page: string;
188
- /** Selected integration */
189
256
  selectedIntegration?: {
190
257
  id?: string;
191
258
  name?: string;
259
+ integrationType?: string;
260
+ integrationName?: string;
192
261
  };
193
- /** Transfer information */
194
262
  transfer?: {
195
263
  previewId?: string;
196
264
  symbol?: string;
@@ -247,4 +315,7 @@ export interface HomePageMethodSelected {
247
315
  method: 'embedded' | 'manual' | 'buy';
248
316
  };
249
317
  }
318
+ export interface HomePageLoaded extends LinkEventBase {
319
+ type: 'homePageLoaded';
320
+ }
250
321
  export {};
@@ -12,6 +12,7 @@ var LINK_EVENT_TYPE_KEYS = [
12
12
  'transferPreviewed',
13
13
  'transferPreviewError',
14
14
  'transferExecutionError',
15
+ 'transferConfigureError',
15
16
  'pageLoaded',
16
17
  'transferAssetSelected',
17
18
  'transferNetworkSelected',
@@ -26,7 +27,6 @@ var LINK_EVENT_TYPE_KEYS = [
26
27
  'verifyDonePage',
27
28
  'verifyWalletRejected',
28
29
  'connectionDeclined',
29
- 'transferConfigureError',
30
30
  'connectionUnavailable',
31
31
  'transferDeclined',
32
32
  'done',
@@ -39,7 +39,9 @@ var LINK_EVENT_TYPE_KEYS = [
39
39
  'fundingOptionsViewed',
40
40
  'gasIncreaseWarning',
41
41
  'linkTransferQRGenerated',
42
- 'methodSelected'
42
+ 'methodSelected',
43
+ 'defiWalletError',
44
+ 'homePageLoaded'
43
45
  ];
44
46
  export function isLinkEventTypeKey(key) {
45
47
  return LINK_EVENT_TYPE_KEYS.includes(key);
package/utils/types.d.ts CHANGED
@@ -108,6 +108,7 @@ export interface LinkOptions {
108
108
  */
109
109
  clientId?: string;
110
110
  /**
111
+ * @deprecated This callback is now obsolete. Please use server-side webhooks instead for 'integration connected' events.
111
112
  * A callback function that is called when an integration is successfully connected.
112
113
  * It receives a payload of type `LinkPayload`.
113
114
  */
@@ -117,16 +118,19 @@ export interface LinkOptions {
117
118
  */
118
119
  onExit?: (error?: string, summary?: SessionSummary) => void;
119
120
  /**
121
+ * @deprecated This callback is now obsolete. Please use server-side webhooks instead for 'transfer finished' events.
120
122
  * (Optional) A callback function that is called when a transfer is finished.
121
123
  * It receives a payload of type `TransferFinishedPayload`.
122
124
  */
123
125
  onTransferFinished?: (payload: TransferFinishedPayload) => void;
124
126
  /**
127
+ * @deprecated This callback is now obsolete. Please use server-side webhooks instead for all events.
125
128
  * (Optional) A callback function that is called when various events occur within the Front iframe.
126
129
  * It receives an object with type `LinkEventTypeKeys` indicating the event, and an optional 'payload' containing additional data.
127
130
  */
128
131
  onEvent?: (event: LinkEventType) => void;
129
132
  /**
133
+ * @deprecated This property is now obsolete.
130
134
  * (Optional) An array of integration access tokens.
131
135
  * These access tokens are used to initialize crypto transfers flow at 'Select asset step'
132
136
  */
@@ -1 +1 @@
1
- export declare const sdkVersion = "3.10.1";
1
+ export declare const sdkVersion = "3.10.4";
package/utils/version.js CHANGED
@@ -1 +1 @@
1
- export var sdkVersion = '3.10.1';
1
+ export var sdkVersion = '3.10.4';