@worldcoin/minikit-js 0.0.21-internal-alpha → 0.0.22-internal-alpha

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/build/index.cjs CHANGED
@@ -22,6 +22,8 @@ var src_exports = {};
22
22
  __export(src_exports, {
23
23
  Command: () => Command,
24
24
  MiniKit: () => MiniKit,
25
+ MiniKitInstallErrorCode: () => MiniKitInstallErrorCode,
26
+ MiniKitInstallErrorMessage: () => MiniKitInstallErrorMessage,
25
27
  Network: () => Network,
26
28
  PaymentErrorCodes: () => PaymentErrorCodes,
27
29
  PaymentErrorMessage: () => PaymentErrorMessage,
@@ -37,6 +39,7 @@ __export(src_exports, {
37
39
  generateNonce: () => generateNonce,
38
40
  parseSiweMessage: () => parseSiweMessage,
39
41
  tokenToDecimals: () => tokenToDecimals,
42
+ verifyCloudProof: () => import_backend.verifyCloudProof,
40
43
  verifySiweMessage: () => verifySiweMessage
41
44
  });
42
45
  module.exports = __toCommonJS(src_exports);
@@ -258,15 +261,30 @@ var PaymentErrorMessage = /* @__PURE__ */ ((PaymentErrorMessage2) => {
258
261
  return PaymentErrorMessage2;
259
262
  })(PaymentErrorMessage || {});
260
263
  var WalletAuthErrorCodes = /* @__PURE__ */ ((WalletAuthErrorCodes2) => {
261
- WalletAuthErrorCodes2["InvalidAddress"] = "invalid_address";
262
264
  WalletAuthErrorCodes2["MalformedRequest"] = "malformed_request";
263
265
  WalletAuthErrorCodes2["UserRejected"] = "user_rejected";
266
+ WalletAuthErrorCodes2["GenericError"] = "generic_error";
264
267
  return WalletAuthErrorCodes2;
265
268
  })(WalletAuthErrorCodes || {});
266
269
  var WalletAuthErrorMessage = {
267
- ["invalid_address" /* InvalidAddress */]: "The specified address is not valid for the connected wallet.",
268
270
  ["malformed_request" /* MalformedRequest */]: "Provided parameters in the request are invalid.",
269
- ["user_rejected" /* UserRejected */]: "User rejected the request."
271
+ ["user_rejected" /* UserRejected */]: "User rejected the request.",
272
+ ["generic_error" /* GenericError */]: "Something unexpected went wrong."
273
+ };
274
+ var MiniKitInstallErrorCode = /* @__PURE__ */ ((MiniKitInstallErrorCode2) => {
275
+ MiniKitInstallErrorCode2["Unknown"] = "unknown";
276
+ MiniKitInstallErrorCode2["AlreadyInstalled"] = "already_installed";
277
+ MiniKitInstallErrorCode2["OutsideOfWorldApp"] = "outside_of_worldapp";
278
+ MiniKitInstallErrorCode2["NotOnClient"] = "not_on_client";
279
+ MiniKitInstallErrorCode2["AppOutOfDate"] = "app_out_of_date";
280
+ return MiniKitInstallErrorCode2;
281
+ })(MiniKitInstallErrorCode || {});
282
+ var MiniKitInstallErrorMessage = {
283
+ ["unknown" /* Unknown */]: "Failed to install MiniKit.",
284
+ ["already_installed" /* AlreadyInstalled */]: "MiniKit is already installed.",
285
+ ["outside_of_worldapp" /* OutsideOfWorldApp */]: "MiniApp launched outside of WorldApp.",
286
+ ["not_on_client" /* NotOnClient */]: "Window object is not available.",
287
+ ["app_out_of_date" /* AppOutOfDate */]: "WorldApp is out of date. Please update the app."
270
288
  };
271
289
 
272
290
  // helpers/send-webview-event.ts
@@ -340,6 +358,12 @@ var sendMiniKitEvent = (payload) => {
340
358
  sendWebviewEvent(payload);
341
359
  };
342
360
  var _MiniKit = class _MiniKit {
361
+ static sendInit() {
362
+ sendWebviewEvent({
363
+ command: "init",
364
+ payload: { version: this.MINIKIT_VERSION }
365
+ });
366
+ }
343
367
  static subscribe(event, handler) {
344
368
  this.listeners[event] = handler;
345
369
  }
@@ -353,14 +377,46 @@ var _MiniKit = class _MiniKit {
353
377
  }
354
378
  this.listeners[event](payload);
355
379
  }
380
+ static commandsValid(input) {
381
+ return input.every(
382
+ (command) => command.supported_versions.includes(this.commandVersion[command.name])
383
+ );
384
+ }
356
385
  static install() {
357
- if (typeof window !== "undefined" && !Boolean(window.MiniKit)) {
358
- try {
359
- window.MiniKit = _MiniKit;
360
- } catch (error) {
361
- console.error("Failed to install MiniKit", error);
362
- return { success: false, error };
363
- }
386
+ if (typeof window === "undefined" || Boolean(window.MiniKit)) {
387
+ return {
388
+ success: false,
389
+ errorCode: "already_installed" /* AlreadyInstalled */,
390
+ errorMessage: MiniKitInstallErrorMessage["already_installed" /* AlreadyInstalled */]
391
+ };
392
+ }
393
+ if (!window.WorldApp) {
394
+ return {
395
+ success: false,
396
+ errorCode: "outside_of_worldapp" /* OutsideOfWorldApp */,
397
+ errorMessage: MiniKitInstallErrorMessage["outside_of_worldapp" /* OutsideOfWorldApp */]
398
+ };
399
+ }
400
+ if (!this.commandsValid(window.WorldApp.supported_commands)) {
401
+ return {
402
+ success: false,
403
+ errorCode: "app_out_of_date" /* AppOutOfDate */,
404
+ errorMessage: MiniKitInstallErrorMessage["app_out_of_date" /* AppOutOfDate */]
405
+ };
406
+ }
407
+ try {
408
+ window.MiniKit = _MiniKit;
409
+ this.sendInit();
410
+ } catch (error) {
411
+ console.error(
412
+ MiniKitInstallErrorMessage["unknown" /* Unknown */],
413
+ error
414
+ );
415
+ return {
416
+ success: false,
417
+ errorCode: "unknown" /* Unknown */,
418
+ errorMessage: MiniKitInstallErrorMessage["unknown" /* Unknown */]
419
+ };
364
420
  }
365
421
  return { success: true };
366
422
  }
@@ -370,6 +426,12 @@ var _MiniKit = class _MiniKit {
370
426
  return true;
371
427
  }
372
428
  };
429
+ _MiniKit.MINIKIT_VERSION = 1;
430
+ _MiniKit.commandVersion = {
431
+ ["verify" /* Verify */]: 1,
432
+ ["pay" /* Pay */]: 1,
433
+ ["wallet-auth" /* WalletAuth */]: 1
434
+ };
373
435
  _MiniKit.listeners = {
374
436
  ["miniapp-verify-action" /* MiniAppVerifyAction */]: () => {
375
437
  },
@@ -387,7 +449,11 @@ _MiniKit.commands = {
387
449
  verification_level: payload.verification_level || import_idkit_core3.VerificationLevel.Orb,
388
450
  timestamp
389
451
  };
390
- sendMiniKitEvent({ command: "verify" /* Verify */, payload: eventPayload });
452
+ sendMiniKitEvent({
453
+ command: "verify" /* Verify */,
454
+ version: _MiniKit.commandVersion["verify" /* Verify */],
455
+ payload: eventPayload
456
+ });
391
457
  return eventPayload;
392
458
  },
393
459
  pay: (payload) => {
@@ -408,6 +474,7 @@ _MiniKit.commands = {
408
474
  };
409
475
  sendMiniKitEvent({
410
476
  command: "pay" /* Pay */,
477
+ version: _MiniKit.commandVersion["pay" /* Pay */],
411
478
  payload: eventPayload
412
479
  });
413
480
  return eventPayload;
@@ -451,6 +518,7 @@ _MiniKit.commands = {
451
518
  const walletAuthPayload = { siweMessage };
452
519
  sendMiniKitEvent({
453
520
  command: "wallet-auth" /* WalletAuth */,
521
+ version: _MiniKit.commandVersion["wallet-auth" /* WalletAuth */],
454
522
  payload: walletAuthPayload
455
523
  });
456
524
  return walletAuthPayload;
@@ -477,10 +545,13 @@ var tokenToDecimals = (amount, token) => {
477
545
 
478
546
  // index.ts
479
547
  var import_idkit_core4 = require("@worldcoin/idkit-core");
548
+ var import_backend = require("@worldcoin/idkit-core/backend");
480
549
  // Annotate the CommonJS export names for ESM import in node:
481
550
  0 && (module.exports = {
482
551
  Command,
483
552
  MiniKit,
553
+ MiniKitInstallErrorCode,
554
+ MiniKitInstallErrorMessage,
484
555
  Network,
485
556
  PaymentErrorCodes,
486
557
  PaymentErrorMessage,
@@ -496,5 +567,6 @@ var import_idkit_core4 = require("@worldcoin/idkit-core");
496
567
  generateNonce,
497
568
  parseSiweMessage,
498
569
  tokenToDecimals,
570
+ verifyCloudProof,
499
571
  verifySiweMessage
500
572
  });
package/build/index.d.cts CHANGED
@@ -1,7 +1,8 @@
1
1
  import { ethers } from 'ethers';
2
2
  import { AppErrorCodes, VerificationLevel } from '@worldcoin/idkit-core';
3
- export { AppErrorCodes as VerificationErrorCodes, VerificationLevel } from '@worldcoin/idkit-core';
3
+ export { ISuccessResult, AppErrorCodes as VerificationErrorCodes, VerificationLevel } from '@worldcoin/idkit-core';
4
4
  import { IDKitConfig, VerificationLevel as VerificationLevel$1 } from '@worldcoin/idkit-core/*';
5
+ export { IVerifyResponse, verifyCloudProof } from '@worldcoin/idkit-core/backend';
5
6
 
6
7
  type SiweMessage = {
7
8
  scheme?: string;
@@ -50,14 +51,28 @@ declare enum PaymentErrorMessage {
50
51
  DuplicateReference = "This reference ID already exists please generate a new one and try again."
51
52
  }
52
53
  declare enum WalletAuthErrorCodes {
53
- InvalidAddress = "invalid_address",
54
54
  MalformedRequest = "malformed_request",
55
- UserRejected = "user_rejected"
55
+ UserRejected = "user_rejected",
56
+ GenericError = "generic_error"
56
57
  }
57
58
  declare const WalletAuthErrorMessage: {
58
- invalid_address: string;
59
59
  malformed_request: string;
60
60
  user_rejected: string;
61
+ generic_error: string;
62
+ };
63
+ declare enum MiniKitInstallErrorCode {
64
+ Unknown = "unknown",
65
+ AlreadyInstalled = "already_installed",
66
+ OutsideOfWorldApp = "outside_of_worldapp",
67
+ NotOnClient = "not_on_client",
68
+ AppOutOfDate = "app_out_of_date"
69
+ }
70
+ declare const MiniKitInstallErrorMessage: {
71
+ unknown: string;
72
+ already_installed: string;
73
+ outside_of_worldapp: string;
74
+ not_on_client: string;
75
+ app_out_of_date: string;
61
76
  };
62
77
 
63
78
  declare enum ResponseEvent {
@@ -71,10 +86,12 @@ type MiniAppVerifyActionSuccessPayload = {
71
86
  merkle_root: string;
72
87
  nullifier_hash: string;
73
88
  verification_level: VerificationLevel;
89
+ version: number;
74
90
  };
75
91
  type MiniAppVerifyActionErrorPayload = {
76
92
  status: "error";
77
93
  error_code: AppErrorCodes;
94
+ version: number;
78
95
  };
79
96
  type MiniAppVerifyActionPayload = MiniAppVerifyActionSuccessPayload | MiniAppVerifyActionErrorPayload;
80
97
  type MiniAppPaymentSuccessEventPayload = {
@@ -85,10 +102,12 @@ type MiniAppPaymentSuccessEventPayload = {
85
102
  from: string;
86
103
  chain: Network;
87
104
  timestamp: string;
105
+ version: number;
88
106
  };
89
107
  type MiniAppPaymentErrorPayload = {
90
108
  status: "error";
91
109
  error_code: PaymentErrorCodes;
110
+ version: number;
92
111
  };
93
112
  type MiniAppPaymentPayload = MiniAppPaymentSuccessEventPayload | MiniAppPaymentErrorPayload;
94
113
  type MiniAppWalletAuthSuccessPayload = {
@@ -96,11 +115,13 @@ type MiniAppWalletAuthSuccessPayload = {
96
115
  message: string;
97
116
  signature: string;
98
117
  address: string;
118
+ version: number;
99
119
  };
100
120
  type MiniAppWalletAuthErrorPayload = {
101
121
  status: "error";
102
122
  error_code: WalletAuthErrorCodes;
103
123
  details: (typeof WalletAuthErrorMessage)[WalletAuthErrorCodes];
124
+ version: number;
104
125
  };
105
126
  type EventPayload<T extends ResponseEvent = ResponseEvent> = T extends ResponseEvent.MiniAppVerifyAction ? MiniAppVerifyActionPayload : MiniAppPaymentPayload;
106
127
  type EventHandler<E extends ResponseEvent = ResponseEvent> = <T extends EventPayload<E>>(data: T) => void;
@@ -132,11 +153,14 @@ type VerifyCommandInput = {
132
153
  signal?: IDKitConfig["signal"];
133
154
  verification_level?: VerificationLevel$1;
134
155
  };
156
+ type TokensPayload = {
157
+ symbol: Tokens;
158
+ token_amount: string;
159
+ };
135
160
  type PayCommandInput = {
136
161
  reference: string;
137
162
  to: string;
138
- token_amount: string;
139
- token: Tokens;
163
+ tokens: TokensPayload[];
140
164
  network?: Network;
141
165
  description: string;
142
166
  };
@@ -156,19 +180,24 @@ type PayCommandPayload = PayCommandInput & {
156
180
  type WalletAuthPayload = {
157
181
  siweMessage: string;
158
182
  };
183
+ type MiniKitInstallReturnType = {
184
+ success: true;
185
+ } | {
186
+ success: false;
187
+ errorCode: MiniKitInstallErrorCode;
188
+ errorMessage: (typeof MiniKitInstallErrorMessage)[MiniKitInstallErrorCode];
189
+ };
159
190
 
160
191
  declare class MiniKit {
192
+ private static readonly MINIKIT_VERSION;
193
+ private static readonly commandVersion;
161
194
  private static listeners;
195
+ private static sendInit;
162
196
  static subscribe<E extends ResponseEvent>(event: E, handler: EventHandler<E>): void;
163
197
  static unsubscribe(event: ResponseEvent): void;
164
198
  static trigger(event: ResponseEvent, payload: EventPayload): void;
165
- static install(): {
166
- success: boolean;
167
- error: unknown;
168
- } | {
169
- success: boolean;
170
- error?: undefined;
171
- };
199
+ private static commandsValid;
200
+ static install(): MiniKitInstallReturnType;
172
201
  static isInstalled(debug?: boolean): boolean;
173
202
  static commands: {
174
203
  verify: (payload: VerifyCommandInput) => VerifyCommandPayload;
@@ -180,4 +209,4 @@ declare class MiniKit {
180
209
 
181
210
  declare const tokenToDecimals: (amount: number, token: Tokens) => number;
182
211
 
183
- export { Command, type MiniAppPaymentErrorPayload, type MiniAppPaymentPayload, type MiniAppPaymentSuccessEventPayload, type MiniAppVerifyActionErrorPayload, type MiniAppVerifyActionPayload, type MiniAppVerifyActionSuccessPayload, type MiniAppWalletAuthErrorPayload, type MiniAppWalletAuthSuccessPayload, MiniKit, Network, type PayCommandInput, PaymentErrorCodes, PaymentErrorMessage, ResponseEvent, SAFE_CONTRACT_ABI, type SiweMessage, TokenDecimals, Tokens, VerificationErrorMessage, type VerifyCommandInput, WalletAuthErrorCodes, WalletAuthErrorMessage, generateNonce, parseSiweMessage, tokenToDecimals, verifySiweMessage };
212
+ export { Command, type MiniAppPaymentErrorPayload, type MiniAppPaymentPayload, type MiniAppPaymentSuccessEventPayload, type MiniAppVerifyActionErrorPayload, type MiniAppVerifyActionPayload, type MiniAppVerifyActionSuccessPayload, type MiniAppWalletAuthErrorPayload, type MiniAppWalletAuthSuccessPayload, MiniKit, MiniKitInstallErrorCode, MiniKitInstallErrorMessage, Network, type PayCommandInput, PaymentErrorCodes, PaymentErrorMessage, ResponseEvent, SAFE_CONTRACT_ABI, type SiweMessage, TokenDecimals, Tokens, VerificationErrorMessage, type VerifyCommandInput, WalletAuthErrorCodes, WalletAuthErrorMessage, generateNonce, parseSiweMessage, tokenToDecimals, verifySiweMessage };
package/build/index.d.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  import { ethers } from 'ethers';
2
2
  import { AppErrorCodes, VerificationLevel } from '@worldcoin/idkit-core';
3
- export { AppErrorCodes as VerificationErrorCodes, VerificationLevel } from '@worldcoin/idkit-core';
3
+ export { ISuccessResult, AppErrorCodes as VerificationErrorCodes, VerificationLevel } from '@worldcoin/idkit-core';
4
4
  import { IDKitConfig, VerificationLevel as VerificationLevel$1 } from '@worldcoin/idkit-core/*';
5
+ export { IVerifyResponse, verifyCloudProof } from '@worldcoin/idkit-core/backend';
5
6
 
6
7
  type SiweMessage = {
7
8
  scheme?: string;
@@ -50,14 +51,28 @@ declare enum PaymentErrorMessage {
50
51
  DuplicateReference = "This reference ID already exists please generate a new one and try again."
51
52
  }
52
53
  declare enum WalletAuthErrorCodes {
53
- InvalidAddress = "invalid_address",
54
54
  MalformedRequest = "malformed_request",
55
- UserRejected = "user_rejected"
55
+ UserRejected = "user_rejected",
56
+ GenericError = "generic_error"
56
57
  }
57
58
  declare const WalletAuthErrorMessage: {
58
- invalid_address: string;
59
59
  malformed_request: string;
60
60
  user_rejected: string;
61
+ generic_error: string;
62
+ };
63
+ declare enum MiniKitInstallErrorCode {
64
+ Unknown = "unknown",
65
+ AlreadyInstalled = "already_installed",
66
+ OutsideOfWorldApp = "outside_of_worldapp",
67
+ NotOnClient = "not_on_client",
68
+ AppOutOfDate = "app_out_of_date"
69
+ }
70
+ declare const MiniKitInstallErrorMessage: {
71
+ unknown: string;
72
+ already_installed: string;
73
+ outside_of_worldapp: string;
74
+ not_on_client: string;
75
+ app_out_of_date: string;
61
76
  };
62
77
 
63
78
  declare enum ResponseEvent {
@@ -71,10 +86,12 @@ type MiniAppVerifyActionSuccessPayload = {
71
86
  merkle_root: string;
72
87
  nullifier_hash: string;
73
88
  verification_level: VerificationLevel;
89
+ version: number;
74
90
  };
75
91
  type MiniAppVerifyActionErrorPayload = {
76
92
  status: "error";
77
93
  error_code: AppErrorCodes;
94
+ version: number;
78
95
  };
79
96
  type MiniAppVerifyActionPayload = MiniAppVerifyActionSuccessPayload | MiniAppVerifyActionErrorPayload;
80
97
  type MiniAppPaymentSuccessEventPayload = {
@@ -85,10 +102,12 @@ type MiniAppPaymentSuccessEventPayload = {
85
102
  from: string;
86
103
  chain: Network;
87
104
  timestamp: string;
105
+ version: number;
88
106
  };
89
107
  type MiniAppPaymentErrorPayload = {
90
108
  status: "error";
91
109
  error_code: PaymentErrorCodes;
110
+ version: number;
92
111
  };
93
112
  type MiniAppPaymentPayload = MiniAppPaymentSuccessEventPayload | MiniAppPaymentErrorPayload;
94
113
  type MiniAppWalletAuthSuccessPayload = {
@@ -96,11 +115,13 @@ type MiniAppWalletAuthSuccessPayload = {
96
115
  message: string;
97
116
  signature: string;
98
117
  address: string;
118
+ version: number;
99
119
  };
100
120
  type MiniAppWalletAuthErrorPayload = {
101
121
  status: "error";
102
122
  error_code: WalletAuthErrorCodes;
103
123
  details: (typeof WalletAuthErrorMessage)[WalletAuthErrorCodes];
124
+ version: number;
104
125
  };
105
126
  type EventPayload<T extends ResponseEvent = ResponseEvent> = T extends ResponseEvent.MiniAppVerifyAction ? MiniAppVerifyActionPayload : MiniAppPaymentPayload;
106
127
  type EventHandler<E extends ResponseEvent = ResponseEvent> = <T extends EventPayload<E>>(data: T) => void;
@@ -132,11 +153,14 @@ type VerifyCommandInput = {
132
153
  signal?: IDKitConfig["signal"];
133
154
  verification_level?: VerificationLevel$1;
134
155
  };
156
+ type TokensPayload = {
157
+ symbol: Tokens;
158
+ token_amount: string;
159
+ };
135
160
  type PayCommandInput = {
136
161
  reference: string;
137
162
  to: string;
138
- token_amount: string;
139
- token: Tokens;
163
+ tokens: TokensPayload[];
140
164
  network?: Network;
141
165
  description: string;
142
166
  };
@@ -156,19 +180,24 @@ type PayCommandPayload = PayCommandInput & {
156
180
  type WalletAuthPayload = {
157
181
  siweMessage: string;
158
182
  };
183
+ type MiniKitInstallReturnType = {
184
+ success: true;
185
+ } | {
186
+ success: false;
187
+ errorCode: MiniKitInstallErrorCode;
188
+ errorMessage: (typeof MiniKitInstallErrorMessage)[MiniKitInstallErrorCode];
189
+ };
159
190
 
160
191
  declare class MiniKit {
192
+ private static readonly MINIKIT_VERSION;
193
+ private static readonly commandVersion;
161
194
  private static listeners;
195
+ private static sendInit;
162
196
  static subscribe<E extends ResponseEvent>(event: E, handler: EventHandler<E>): void;
163
197
  static unsubscribe(event: ResponseEvent): void;
164
198
  static trigger(event: ResponseEvent, payload: EventPayload): void;
165
- static install(): {
166
- success: boolean;
167
- error: unknown;
168
- } | {
169
- success: boolean;
170
- error?: undefined;
171
- };
199
+ private static commandsValid;
200
+ static install(): MiniKitInstallReturnType;
172
201
  static isInstalled(debug?: boolean): boolean;
173
202
  static commands: {
174
203
  verify: (payload: VerifyCommandInput) => VerifyCommandPayload;
@@ -180,4 +209,4 @@ declare class MiniKit {
180
209
 
181
210
  declare const tokenToDecimals: (amount: number, token: Tokens) => number;
182
211
 
183
- export { Command, type MiniAppPaymentErrorPayload, type MiniAppPaymentPayload, type MiniAppPaymentSuccessEventPayload, type MiniAppVerifyActionErrorPayload, type MiniAppVerifyActionPayload, type MiniAppVerifyActionSuccessPayload, type MiniAppWalletAuthErrorPayload, type MiniAppWalletAuthSuccessPayload, MiniKit, Network, type PayCommandInput, PaymentErrorCodes, PaymentErrorMessage, ResponseEvent, SAFE_CONTRACT_ABI, type SiweMessage, TokenDecimals, Tokens, VerificationErrorMessage, type VerifyCommandInput, WalletAuthErrorCodes, WalletAuthErrorMessage, generateNonce, parseSiweMessage, tokenToDecimals, verifySiweMessage };
212
+ export { Command, type MiniAppPaymentErrorPayload, type MiniAppPaymentPayload, type MiniAppPaymentSuccessEventPayload, type MiniAppVerifyActionErrorPayload, type MiniAppVerifyActionPayload, type MiniAppVerifyActionSuccessPayload, type MiniAppWalletAuthErrorPayload, type MiniAppWalletAuthSuccessPayload, MiniKit, MiniKitInstallErrorCode, MiniKitInstallErrorMessage, Network, type PayCommandInput, PaymentErrorCodes, PaymentErrorMessage, ResponseEvent, SAFE_CONTRACT_ABI, type SiweMessage, TokenDecimals, Tokens, VerificationErrorMessage, type VerifyCommandInput, WalletAuthErrorCodes, WalletAuthErrorMessage, generateNonce, parseSiweMessage, tokenToDecimals, verifySiweMessage };
package/build/index.js CHANGED
@@ -215,15 +215,30 @@ var PaymentErrorMessage = /* @__PURE__ */ ((PaymentErrorMessage2) => {
215
215
  return PaymentErrorMessage2;
216
216
  })(PaymentErrorMessage || {});
217
217
  var WalletAuthErrorCodes = /* @__PURE__ */ ((WalletAuthErrorCodes2) => {
218
- WalletAuthErrorCodes2["InvalidAddress"] = "invalid_address";
219
218
  WalletAuthErrorCodes2["MalformedRequest"] = "malformed_request";
220
219
  WalletAuthErrorCodes2["UserRejected"] = "user_rejected";
220
+ WalletAuthErrorCodes2["GenericError"] = "generic_error";
221
221
  return WalletAuthErrorCodes2;
222
222
  })(WalletAuthErrorCodes || {});
223
223
  var WalletAuthErrorMessage = {
224
- ["invalid_address" /* InvalidAddress */]: "The specified address is not valid for the connected wallet.",
225
224
  ["malformed_request" /* MalformedRequest */]: "Provided parameters in the request are invalid.",
226
- ["user_rejected" /* UserRejected */]: "User rejected the request."
225
+ ["user_rejected" /* UserRejected */]: "User rejected the request.",
226
+ ["generic_error" /* GenericError */]: "Something unexpected went wrong."
227
+ };
228
+ var MiniKitInstallErrorCode = /* @__PURE__ */ ((MiniKitInstallErrorCode2) => {
229
+ MiniKitInstallErrorCode2["Unknown"] = "unknown";
230
+ MiniKitInstallErrorCode2["AlreadyInstalled"] = "already_installed";
231
+ MiniKitInstallErrorCode2["OutsideOfWorldApp"] = "outside_of_worldapp";
232
+ MiniKitInstallErrorCode2["NotOnClient"] = "not_on_client";
233
+ MiniKitInstallErrorCode2["AppOutOfDate"] = "app_out_of_date";
234
+ return MiniKitInstallErrorCode2;
235
+ })(MiniKitInstallErrorCode || {});
236
+ var MiniKitInstallErrorMessage = {
237
+ ["unknown" /* Unknown */]: "Failed to install MiniKit.",
238
+ ["already_installed" /* AlreadyInstalled */]: "MiniKit is already installed.",
239
+ ["outside_of_worldapp" /* OutsideOfWorldApp */]: "MiniApp launched outside of WorldApp.",
240
+ ["not_on_client" /* NotOnClient */]: "Window object is not available.",
241
+ ["app_out_of_date" /* AppOutOfDate */]: "WorldApp is out of date. Please update the app."
227
242
  };
228
243
 
229
244
  // helpers/send-webview-event.ts
@@ -297,6 +312,12 @@ var sendMiniKitEvent = (payload) => {
297
312
  sendWebviewEvent(payload);
298
313
  };
299
314
  var _MiniKit = class _MiniKit {
315
+ static sendInit() {
316
+ sendWebviewEvent({
317
+ command: "init",
318
+ payload: { version: this.MINIKIT_VERSION }
319
+ });
320
+ }
300
321
  static subscribe(event, handler) {
301
322
  this.listeners[event] = handler;
302
323
  }
@@ -310,14 +331,46 @@ var _MiniKit = class _MiniKit {
310
331
  }
311
332
  this.listeners[event](payload);
312
333
  }
334
+ static commandsValid(input) {
335
+ return input.every(
336
+ (command) => command.supported_versions.includes(this.commandVersion[command.name])
337
+ );
338
+ }
313
339
  static install() {
314
- if (typeof window !== "undefined" && !Boolean(window.MiniKit)) {
315
- try {
316
- window.MiniKit = _MiniKit;
317
- } catch (error) {
318
- console.error("Failed to install MiniKit", error);
319
- return { success: false, error };
320
- }
340
+ if (typeof window === "undefined" || Boolean(window.MiniKit)) {
341
+ return {
342
+ success: false,
343
+ errorCode: "already_installed" /* AlreadyInstalled */,
344
+ errorMessage: MiniKitInstallErrorMessage["already_installed" /* AlreadyInstalled */]
345
+ };
346
+ }
347
+ if (!window.WorldApp) {
348
+ return {
349
+ success: false,
350
+ errorCode: "outside_of_worldapp" /* OutsideOfWorldApp */,
351
+ errorMessage: MiniKitInstallErrorMessage["outside_of_worldapp" /* OutsideOfWorldApp */]
352
+ };
353
+ }
354
+ if (!this.commandsValid(window.WorldApp.supported_commands)) {
355
+ return {
356
+ success: false,
357
+ errorCode: "app_out_of_date" /* AppOutOfDate */,
358
+ errorMessage: MiniKitInstallErrorMessage["app_out_of_date" /* AppOutOfDate */]
359
+ };
360
+ }
361
+ try {
362
+ window.MiniKit = _MiniKit;
363
+ this.sendInit();
364
+ } catch (error) {
365
+ console.error(
366
+ MiniKitInstallErrorMessage["unknown" /* Unknown */],
367
+ error
368
+ );
369
+ return {
370
+ success: false,
371
+ errorCode: "unknown" /* Unknown */,
372
+ errorMessage: MiniKitInstallErrorMessage["unknown" /* Unknown */]
373
+ };
321
374
  }
322
375
  return { success: true };
323
376
  }
@@ -327,6 +380,12 @@ var _MiniKit = class _MiniKit {
327
380
  return true;
328
381
  }
329
382
  };
383
+ _MiniKit.MINIKIT_VERSION = 1;
384
+ _MiniKit.commandVersion = {
385
+ ["verify" /* Verify */]: 1,
386
+ ["pay" /* Pay */]: 1,
387
+ ["wallet-auth" /* WalletAuth */]: 1
388
+ };
330
389
  _MiniKit.listeners = {
331
390
  ["miniapp-verify-action" /* MiniAppVerifyAction */]: () => {
332
391
  },
@@ -344,7 +403,11 @@ _MiniKit.commands = {
344
403
  verification_level: payload.verification_level || VerificationLevel.Orb,
345
404
  timestamp
346
405
  };
347
- sendMiniKitEvent({ command: "verify" /* Verify */, payload: eventPayload });
406
+ sendMiniKitEvent({
407
+ command: "verify" /* Verify */,
408
+ version: _MiniKit.commandVersion["verify" /* Verify */],
409
+ payload: eventPayload
410
+ });
348
411
  return eventPayload;
349
412
  },
350
413
  pay: (payload) => {
@@ -365,6 +428,7 @@ _MiniKit.commands = {
365
428
  };
366
429
  sendMiniKitEvent({
367
430
  command: "pay" /* Pay */,
431
+ version: _MiniKit.commandVersion["pay" /* Pay */],
368
432
  payload: eventPayload
369
433
  });
370
434
  return eventPayload;
@@ -408,6 +472,7 @@ _MiniKit.commands = {
408
472
  const walletAuthPayload = { siweMessage };
409
473
  sendMiniKitEvent({
410
474
  command: "wallet-auth" /* WalletAuth */,
475
+ version: _MiniKit.commandVersion["wallet-auth" /* WalletAuth */],
411
476
  payload: walletAuthPayload
412
477
  });
413
478
  return walletAuthPayload;
@@ -434,9 +499,14 @@ var tokenToDecimals = (amount, token) => {
434
499
 
435
500
  // index.ts
436
501
  import { VerificationLevel as VerificationLevel2 } from "@worldcoin/idkit-core";
502
+ import {
503
+ verifyCloudProof
504
+ } from "@worldcoin/idkit-core/backend";
437
505
  export {
438
506
  Command,
439
507
  MiniKit,
508
+ MiniKitInstallErrorCode,
509
+ MiniKitInstallErrorMessage,
440
510
  Network,
441
511
  PaymentErrorCodes,
442
512
  PaymentErrorMessage,
@@ -452,5 +522,6 @@ export {
452
522
  generateNonce,
453
523
  parseSiweMessage,
454
524
  tokenToDecimals,
525
+ verifyCloudProof,
455
526
  verifySiweMessage
456
527
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@worldcoin/minikit-js",
3
- "version": "0.0.21-internal-alpha",
3
+ "version": "0.0.22-internal-alpha",
4
4
  "homepage": "https://docs.worldcoin.org/id/minikit",
5
5
  "description": "Internal Alpha: Mini-kit JS is a lightweight sdk for building mini-apps compatible with World App",
6
6
  "license": "MIT",