@rift-finance/wallet 1.4.34 → 3.0.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../src/http-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAY,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1E,qBAAa,cAAe,YAAW,UAAU;IAC/C,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE,UAAU;IAK9B,OAAO,CAAC,iBAAiB;IAWnB,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC;YAyD5C,gBAAgB;YAqChB,cAAc;IAyC5B,OAAO,CAAC,WAAW;IA8BnB,OAAO,CAAC,KAAK;IAKb,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK/B,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAGpC"}
1
+ {"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../src/http-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAY,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1E,qBAAa,cAAe,YAAW,UAAU;IAC/C,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE,UAAU;IAK9B,OAAO,CAAC,iBAAiB;IAiBnB,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC;YAyD5C,gBAAgB;YAqChB,cAAc;IAyC5B,OAAO,CAAC,WAAW;IA8BnB,OAAO,CAAC,KAAK;IAKb,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK/B,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAGpC"}
@@ -12,6 +12,12 @@ class RiftHttpClient {
12
12
  switch (this.config.environment) {
13
13
  case "production":
14
14
  return "https://payment.riftfi.xyz";
15
+ case "sandbox":
16
+ // Sandbox uses the v3-enabled backend + sandbox enclave (PCR0
17
+ // pinned in sandbox KMS). Same wire shape as prod — the v3
18
+ // path is opt-in via enrolledMethods/authProof on a per-request
19
+ // basis.
20
+ return "https://sandbox.riftfi.com";
15
21
  case "development":
16
22
  return "https://payment.riftfi.xyz";
17
23
  default:
@@ -1 +1 @@
1
- {"version":3,"file":"http-client.js","sourceRoot":"","sources":["../src/http-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-client.js","sourceRoot":"","sources":["../src/http-client.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -79,5 +79,9 @@ export { KYCService } from "./services/kyc";
79
79
  export { BridgeService } from "./services/bridge";
80
80
  export { WalletConnectService } from "./services/wallet-connect";
81
81
  export { UserManagementService } from "./services/user-management";
82
+ export { PasskeyHelper, isPasskeySupported, isPlatformPasskeySupported, } from "./services/passkey-helper";
83
+ export type { PasskeyEnrolmentResult } from "./services/passkey-helper";
84
+ export { OidcHelper } from "./services/oidc-helper";
85
+ export type { OidcEnrolmentResult } from "./services/oidc-helper";
82
86
  export default Rift;
83
87
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.UserManagementService = exports.WalletConnectService = exports.BridgeService = exports.KYCService = exports.VaultService = exports.OfframpService = exports.NotificationService = exports.Environment = exports.Rift = void 0;
17
+ exports.OidcHelper = exports.isPlatformPasskeySupported = exports.isPasskeySupported = exports.PasskeyHelper = exports.UserManagementService = exports.WalletConnectService = exports.BridgeService = exports.KYCService = exports.VaultService = exports.OfframpService = exports.NotificationService = exports.Environment = exports.Rift = void 0;
18
18
  const types_1 = require("./types");
19
19
  Object.defineProperty(exports, "Environment", { enumerable: true, get: function () { return types_1.Environment; } });
20
20
  const http_client_1 = require("./http-client");
@@ -177,6 +177,15 @@ var wallet_connect_2 = require("./services/wallet-connect");
177
177
  Object.defineProperty(exports, "WalletConnectService", { enumerable: true, get: function () { return wallet_connect_2.WalletConnectService; } });
178
178
  var user_management_2 = require("./services/user-management");
179
179
  Object.defineProperty(exports, "UserManagementService", { enumerable: true, get: function () { return user_management_2.UserManagementService; } });
180
+ // v3 (non-custodial) browser-side ceremony helpers. These are tree-shake
181
+ // safe — if you don't import them they don't end up in your bundle. They
182
+ // throw at construction time on the server.
183
+ var passkey_helper_1 = require("./services/passkey-helper");
184
+ Object.defineProperty(exports, "PasskeyHelper", { enumerable: true, get: function () { return passkey_helper_1.PasskeyHelper; } });
185
+ Object.defineProperty(exports, "isPasskeySupported", { enumerable: true, get: function () { return passkey_helper_1.isPasskeySupported; } });
186
+ Object.defineProperty(exports, "isPlatformPasskeySupported", { enumerable: true, get: function () { return passkey_helper_1.isPlatformPasskeySupported; } });
187
+ var oidc_helper_1 = require("./services/oidc-helper");
188
+ Object.defineProperty(exports, "OidcHelper", { enumerable: true, get: function () { return oidc_helper_1.OidcHelper; } });
180
189
  // Default export
181
190
  exports.default = Rift;
182
191
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { BaseService } from "../base-service";
2
- import { LoginRequest, SignupRequest, OtpRequest, OtpVerifyRequest, OtpResponse, UserResponse, DeleteUserRequest, ApiResponse, LoginResponse, GoogleLoginRequest, GoogleLoginResponse, AppleLoginRequest, AppleLoginResponse, SignupResponse, DeleteUserResponse, CreateRecoveryRequest, CreateRecoveryResponse, RecoveryOptionsResponse, RequestPasswordResetRequest, RequestPasswordResetResponse, ResetPasswordRequest, ResetPasswordResponse, UpdateRecoveryRequest, UpdateRecoveryResponse, AddRecoveryMethodRequest, AddRecoveryMethodResponse, RemoveRecoveryMethodRequest, RemoveRecoveryMethodResponse, UpdateRecoveryMethodRequest, UpdateRecoveryMethodResponse, GetMyRecoveryMethodsRequest, GetMyRecoveryMethodsResponse, DeleteAllRecoveryMethodsRequest, DeleteAllRecoveryMethodsResponse, UpdateUserResponse, UpdateUserRequest } from "../types";
2
+ import { LoginRequest, SignupRequest, OtpRequest, OtpVerifyRequest, OtpResponse, UserResponse, DeleteUserRequest, ApiResponse, LoginResponse, GoogleLoginRequest, GoogleLoginResponse, AppleLoginRequest, AppleLoginResponse, SignupResponse, DeleteUserResponse, CreateRecoveryRequest, CreateRecoveryResponse, RecoveryOptionsResponse, RequestPasswordResetRequest, RequestPasswordResetResponse, ResetPasswordRequest, ResetPasswordResponse, UpdateRecoveryRequest, UpdateRecoveryResponse, AddRecoveryMethodRequest, AddRecoveryMethodResponse, RemoveRecoveryMethodRequest, RemoveRecoveryMethodResponse, UpdateRecoveryMethodRequest, UpdateRecoveryMethodResponse, GetMyRecoveryMethodsRequest, GetMyRecoveryMethodsResponse, DeleteAllRecoveryMethodsRequest, DeleteAllRecoveryMethodsResponse, UpdateUserResponse, UpdateUserRequest, MigrateToV3Request, MigrateToV3Response } from "../types";
3
3
  export declare class AuthService extends BaseService {
4
4
  signup(request: SignupRequest): Promise<SignupResponse>;
5
5
  login(request: LoginRequest): Promise<LoginResponse>;
@@ -37,6 +37,23 @@ export declare class AuthService extends BaseService {
37
37
  verifyOtp(request: OtpVerifyRequest): Promise<OtpResponse>;
38
38
  getUser(): Promise<UserResponse>;
39
39
  deleteUser(request: DeleteUserRequest): Promise<ApiResponse<DeleteUserResponse>>;
40
+ /**
41
+ * Upgrade the authenticated user's wallet to a v3 (device-bound)
42
+ * envelope. Same EOA private key, new auth methods sealed inside the
43
+ * enclave. The on-chain wallet address is preserved.
44
+ *
45
+ * Typical flow:
46
+ * 1. Show the user a "Make my wallet non-custodial" prompt.
47
+ * 2. Run a Passkey enrolment ceremony (see PasskeyHelper.enrol) OR
48
+ * an OIDC sign-in (see OidcHelper.fetchEnrolment).
49
+ * 3. Call this method with the resulting enrolledMethods.
50
+ * 4. From then on, every transaction MUST carry an `authProof` —
51
+ * the user authorises each one with their device or Google/Apple.
52
+ *
53
+ * Idempotent: if the wallet is already on v3, returns
54
+ * `{ alreadyMigrated: true }` with no DB write.
55
+ */
56
+ migrateToV3(request: MigrateToV3Request): Promise<MigrateToV3Response>;
40
57
  logout(): void;
41
58
  isAuthenticated(): boolean;
42
59
  createRecoveryMethods(request: CreateRecoveryRequest): Promise<CreateRecoveryResponse>;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/services/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EACL,YAAY,EACZ,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,2BAA2B,EAC3B,4BAA4B,EAC5B,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACxB,yBAAyB,EACzB,2BAA2B,EAC3B,4BAA4B,EAC5B,2BAA2B,EAC3B,4BAA4B,EAC5B,2BAA2B,EAC3B,4BAA4B,EAC5B,+BAA+B,EAC/B,gCAAgC,EAChC,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAElB,qBAAa,WAAY,SAAQ,WAAW;IACpC,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IAQvD,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;IAc1D;;;;;;;;;;;OAWG;IACG,eAAe,CACnB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,mBAAmB,CAAC;IAc/B;;;;;;;;;;;;;;OAcG;IACG,cAAc,CAClB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,kBAAkB,CAAC;IAcxB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IASnE,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;IAQlD,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC;IAQ1D,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC;IAOhC,UAAU,CACd,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IAc3C,MAAM,IAAI,IAAI;IAId,eAAe,IAAI,OAAO;IAMpB,qBAAqB,CACzB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,sBAAsB,CAAC;IAQ5B,kBAAkB,CACtB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,uBAAuB,CAAC;IAO7B,oBAAoB,CACxB,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,4BAA4B,CAAC;IAQlC,aAAa,CACjB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;IAQ3B,qBAAqB,CACzB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,sBAAsB,CAAC;IAQ5B,iBAAiB,CACrB,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,yBAAyB,CAAC;IAQ/B,oBAAoB,CACxB,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,4BAA4B,CAAC;IAQlC,oBAAoB,CACxB,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,4BAA4B,CAAC;IAQlC,oBAAoB,CACxB,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,4BAA4B,CAAC;IAQlC,wBAAwB,CAC5B,OAAO,EAAE,+BAA+B,GACvC,OAAO,CAAC,gCAAgC,CAAC;CAO7C"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/services/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EACL,YAAY,EACZ,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,2BAA2B,EAC3B,4BAA4B,EAC5B,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACxB,yBAAyB,EACzB,2BAA2B,EAC3B,4BAA4B,EAC5B,2BAA2B,EAC3B,4BAA4B,EAC5B,2BAA2B,EAC3B,4BAA4B,EAC5B,+BAA+B,EAC/B,gCAAgC,EAChC,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,UAAU,CAAC;AAElB,qBAAa,WAAY,SAAQ,WAAW;IACpC,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IAQvD,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;IAc1D;;;;;;;;;;;OAWG;IACG,eAAe,CACnB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,mBAAmB,CAAC;IAc/B;;;;;;;;;;;;;;OAcG;IACG,cAAc,CAClB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,kBAAkB,CAAC;IAcxB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IASnE,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;IAQlD,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC;IAQ1D,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC;IAOhC,UAAU,CACd,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IAc3C;;;;;;;;;;;;;;;OAeG;IACG,WAAW,CACf,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,mBAAmB,CAAC;IAQ/B,MAAM,IAAI,IAAI;IAId,eAAe,IAAI,OAAO;IAMpB,qBAAqB,CACzB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,sBAAsB,CAAC;IAQ5B,kBAAkB,CACtB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,uBAAuB,CAAC;IAO7B,oBAAoB,CACxB,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,4BAA4B,CAAC;IAQlC,aAAa,CACjB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;IAQ3B,qBAAqB,CACzB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,sBAAsB,CAAC;IAQ5B,iBAAiB,CACrB,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,yBAAyB,CAAC;IAQ/B,oBAAoB,CACxB,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,4BAA4B,CAAC;IAQlC,oBAAoB,CACxB,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,4BAA4B,CAAC;IAQlC,oBAAoB,CACxB,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,4BAA4B,CAAC;IAQlC,wBAAwB,CAC5B,OAAO,EAAE,+BAA+B,GACvC,OAAO,CAAC,gCAAgC,CAAC;CAO7C"}
@@ -106,6 +106,29 @@ class AuthService extends base_service_1.BaseService {
106
106
  this.clearBearerToken();
107
107
  return response;
108
108
  }
109
+ /**
110
+ * Upgrade the authenticated user's wallet to a v3 (device-bound)
111
+ * envelope. Same EOA private key, new auth methods sealed inside the
112
+ * enclave. The on-chain wallet address is preserved.
113
+ *
114
+ * Typical flow:
115
+ * 1. Show the user a "Make my wallet non-custodial" prompt.
116
+ * 2. Run a Passkey enrolment ceremony (see PasskeyHelper.enrol) OR
117
+ * an OIDC sign-in (see OidcHelper.fetchEnrolment).
118
+ * 3. Call this method with the resulting enrolledMethods.
119
+ * 4. From then on, every transaction MUST carry an `authProof` —
120
+ * the user authorises each one with their device or Google/Apple.
121
+ *
122
+ * Idempotent: if the wallet is already on v3, returns
123
+ * `{ alreadyMigrated: true }` with no DB write.
124
+ */
125
+ async migrateToV3(request) {
126
+ return this.authenticatedRequest({
127
+ method: "POST",
128
+ url: "/wallet/migrate-to-v3",
129
+ data: request,
130
+ });
131
+ }
109
132
  logout() {
110
133
  this.clearBearerToken();
111
134
  }
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/services/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/services/auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * OIDC helper — browser-only.
3
+ *
4
+ * Wraps the Google Identity Services (GIS) flow to produce id_tokens
5
+ * with a `nonce` claim bound to a specific user-op hash. The enclave
6
+ * verifies that nonce matches the prehash it's about to sign, so a
7
+ * stolen token can only authorise the exact transaction it was minted
8
+ * for.
9
+ *
10
+ * Typical usage:
11
+ *
12
+ * // 1. Once, when the user clicks "Sign in with Google":
13
+ * const enrolment = await OidcHelper.fetchEnrolment({ clientId, nonce: enrolNonce });
14
+ * await sdk.auth.migrateToV3({ enrolledMethods: [enrolment.method] });
15
+ *
16
+ * // 2. Per transaction, when the user clicks "Send":
17
+ * const userOpHashHex = await sdk.transactions.previewUserOpHash({ ... });
18
+ * const proof = await OidcHelper.sign({ clientId, userOpHashHex });
19
+ * await sdk.transactions.send({ ..., authProof: proof });
20
+ *
21
+ * Requires the Google Sign-In script to be reachable from the page —
22
+ * we load it dynamically on first use, no <script> tag needed.
23
+ *
24
+ * Apple support: SAME shape, different IdP. Add `OidcHelper.signWithApple`
25
+ * later — the spec is identical, only the script URL + payload differ.
26
+ */
27
+ import type { AuthProof, EnrolledMethod } from "../types";
28
+ interface GisAccountsId {
29
+ initialize: (config: {
30
+ client_id: string;
31
+ nonce?: string;
32
+ callback: (resp: {
33
+ credential: string;
34
+ }) => void;
35
+ auto_select?: boolean;
36
+ cancel_on_tap_outside?: boolean;
37
+ use_fedcm_for_prompt?: boolean;
38
+ }) => void;
39
+ prompt: (listener?: (n: unknown) => void) => void;
40
+ renderButton: (el: HTMLElement, options: Record<string, unknown>) => void;
41
+ disableAutoSelect: () => void;
42
+ }
43
+ declare global {
44
+ interface Window {
45
+ google?: {
46
+ accounts?: {
47
+ id?: GisAccountsId;
48
+ };
49
+ };
50
+ }
51
+ }
52
+ export interface OidcEnrolmentResult {
53
+ /** Pass this directly to signup / login / migrateToV3 as enrolledMethods[i]. */
54
+ method: EnrolledMethod;
55
+ /** The raw id_token — useful if you also want to send it as a one-shot authProof. */
56
+ idToken: string;
57
+ }
58
+ export declare class OidcHelper {
59
+ /**
60
+ * Fetch a Google id_token for enrolment. The user picks a Google
61
+ * account in the consent flow. The returned `method` is what you
62
+ * pass to `auth.migrateToV3()` or as `enrolledMethods` at signup.
63
+ *
64
+ * The `nonce` here is anti-replay for enrolment only — you can use
65
+ * any opaque value (a random UUID is fine). For per-transaction
66
+ * signing, use `sign()` instead, which binds nonce=user_op_hash.
67
+ */
68
+ static fetchEnrolment(opts: {
69
+ clientId: string;
70
+ /** Random opaque value. Defaults to a fresh crypto.randomUUID(). */
71
+ nonce?: string;
72
+ /** Where to render the Google button. Required. */
73
+ buttonContainer: HTMLElement;
74
+ /** Optional button visual config — see GIS docs. */
75
+ buttonOptions?: Record<string, unknown>;
76
+ }): Promise<OidcEnrolmentResult>;
77
+ /**
78
+ * Sign a specific user-op hash via Google. The id_token's `nonce`
79
+ * claim will equal `userOpHashHex` (no 0x prefix), which the enclave
80
+ * uses to bind this proof to this specific transaction.
81
+ *
82
+ * `clientId` MUST be the same one you used at enrolment (it ends up
83
+ * in the JWT's `aud` claim, which the enclave checks against its
84
+ * pinned accept list).
85
+ */
86
+ static sign(opts: {
87
+ clientId: string;
88
+ /** 32-byte hash, hex, with or without 0x prefix. */
89
+ userOpHashHex: string;
90
+ buttonContainer: HTMLElement;
91
+ buttonOptions?: Record<string, unknown>;
92
+ }): Promise<AuthProof>;
93
+ /**
94
+ * Lower-level: render a Google Sign-In button and wait for the user
95
+ * to click it. Returns the raw id_token. Used internally by both
96
+ * fetchEnrolment and sign.
97
+ */
98
+ private static requestIdToken;
99
+ }
100
+ export {};
101
+ //# sourceMappingURL=oidc-helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oidc-helper.d.ts","sourceRoot":"","sources":["../../src/services/oidc-helper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAI1D,UAAU,aAAa;IACrB,UAAU,EAAE,CAAC,MAAM,EAAE;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,CAAC,IAAI,EAAE;YAAE,UAAU,EAAE,MAAM,CAAA;SAAE,KAAK,IAAI,CAAC;QACjD,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,qBAAqB,CAAC,EAAE,OAAO,CAAC;QAChC,oBAAoB,CAAC,EAAE,OAAO,CAAC;KAChC,KAAK,IAAI,CAAC;IACX,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,KAAK,IAAI,CAAC;IAClD,YAAY,EAAE,CACZ,EAAE,EAAE,WAAW,EACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC7B,IAAI,CAAC;IACV,iBAAiB,EAAE,MAAM,IAAI,CAAC;CAC/B;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,MAAM,CAAC,EAAE;YAAE,QAAQ,CAAC,EAAE;gBAAE,EAAE,CAAC,EAAE,aAAa,CAAA;aAAE,CAAA;SAAE,CAAC;KAChD;CACF;AA6DD,MAAM,WAAW,mBAAmB;IAClC,gFAAgF;IAChF,MAAM,EAAE,cAAc,CAAC;IACvB,qFAAqF;IACrF,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,UAAU;IACrB;;;;;;;;OAQG;WACU,cAAc,CAAC,IAAI,EAAE;QAChC,QAAQ,EAAE,MAAM,CAAC;QACjB,oEAAoE;QACpE,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,mDAAmD;QACnD,eAAe,EAAE,WAAW,CAAC;QAC7B,oDAAoD;QACpD,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACzC,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAchC;;;;;;;;OAQG;WACU,IAAI,CAAC,IAAI,EAAE;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,oDAAoD;QACpD,aAAa,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE,WAAW,CAAC;QAC7B,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACzC,GAAG,OAAO,CAAC,SAAS,CAAC;IActB;;;;OAIG;mBACkB,cAAc;CAuCpC"}
@@ -0,0 +1,171 @@
1
+ "use strict";
2
+ /**
3
+ * OIDC helper — browser-only.
4
+ *
5
+ * Wraps the Google Identity Services (GIS) flow to produce id_tokens
6
+ * with a `nonce` claim bound to a specific user-op hash. The enclave
7
+ * verifies that nonce matches the prehash it's about to sign, so a
8
+ * stolen token can only authorise the exact transaction it was minted
9
+ * for.
10
+ *
11
+ * Typical usage:
12
+ *
13
+ * // 1. Once, when the user clicks "Sign in with Google":
14
+ * const enrolment = await OidcHelper.fetchEnrolment({ clientId, nonce: enrolNonce });
15
+ * await sdk.auth.migrateToV3({ enrolledMethods: [enrolment.method] });
16
+ *
17
+ * // 2. Per transaction, when the user clicks "Send":
18
+ * const userOpHashHex = await sdk.transactions.previewUserOpHash({ ... });
19
+ * const proof = await OidcHelper.sign({ clientId, userOpHashHex });
20
+ * await sdk.transactions.send({ ..., authProof: proof });
21
+ *
22
+ * Requires the Google Sign-In script to be reachable from the page —
23
+ * we load it dynamically on first use, no <script> tag needed.
24
+ *
25
+ * Apple support: SAME shape, different IdP. Add `OidcHelper.signWithApple`
26
+ * later — the spec is identical, only the script URL + payload differ.
27
+ */
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.OidcHelper = void 0;
30
+ const GIS_SRC = "https://accounts.google.com/gsi/client";
31
+ function assertBrowser() {
32
+ if (typeof window === "undefined" || typeof document === "undefined") {
33
+ throw new Error("OidcHelper can only be used in a browser — it depends on Google Identity Services. On the server, call your backend's OAuth-handling endpoint instead.");
34
+ }
35
+ }
36
+ async function loadGis() {
37
+ assertBrowser();
38
+ if (window.google?.accounts?.id)
39
+ return window.google.accounts.id;
40
+ await new Promise((resolve, reject) => {
41
+ const existing = document.querySelector(`script[src="${GIS_SRC}"]`);
42
+ if (existing) {
43
+ // Wait for it to load.
44
+ existing.addEventListener("load", () => resolve(), { once: true });
45
+ existing.addEventListener("error", () => reject(new Error("GIS script failed")), { once: true });
46
+ // If it's already loaded, the event has fired and we'll hang.
47
+ // Resolve immediately if google.accounts.id already exists.
48
+ if (window.google?.accounts?.id)
49
+ resolve();
50
+ return;
51
+ }
52
+ const s = document.createElement("script");
53
+ s.src = GIS_SRC;
54
+ s.async = true;
55
+ s.defer = true;
56
+ s.onload = () => resolve();
57
+ s.onerror = () => reject(new Error("failed to load Google Identity Services script"));
58
+ document.head.appendChild(s);
59
+ });
60
+ if (!window.google?.accounts?.id) {
61
+ throw new Error("Google Identity Services loaded but accounts.id is not available");
62
+ }
63
+ return window.google.accounts.id;
64
+ }
65
+ /**
66
+ * Decoded subset of the id_token claims we need to construct an
67
+ * `EnrolledMethod`. Decoded client-side; the enclave does the real
68
+ * verification — this is just to populate (iss, sub) for the user.
69
+ */
70
+ function decodeJwtUnverified(jwt) {
71
+ const parts = jwt.split(".");
72
+ if (parts.length !== 3)
73
+ throw new Error("not a JWT");
74
+ // base64url-decode the payload
75
+ const payloadB64 = parts[1].replace(/-/g, "+").replace(/_/g, "/");
76
+ const padded = payloadB64 + "===".slice(0, (4 - (payloadB64.length % 4)) % 4);
77
+ const json = atob(padded);
78
+ const obj = JSON.parse(json);
79
+ if (!obj.iss || !obj.sub) {
80
+ throw new Error("id_token missing iss or sub");
81
+ }
82
+ return { iss: obj.iss, sub: obj.sub };
83
+ }
84
+ class OidcHelper {
85
+ /**
86
+ * Fetch a Google id_token for enrolment. The user picks a Google
87
+ * account in the consent flow. The returned `method` is what you
88
+ * pass to `auth.migrateToV3()` or as `enrolledMethods` at signup.
89
+ *
90
+ * The `nonce` here is anti-replay for enrolment only — you can use
91
+ * any opaque value (a random UUID is fine). For per-transaction
92
+ * signing, use `sign()` instead, which binds nonce=user_op_hash.
93
+ */
94
+ static async fetchEnrolment(opts) {
95
+ const idToken = await OidcHelper.requestIdToken({
96
+ clientId: opts.clientId,
97
+ nonce: opts.nonce ?? crypto.randomUUID(),
98
+ buttonContainer: opts.buttonContainer,
99
+ buttonOptions: opts.buttonOptions,
100
+ });
101
+ const { iss, sub } = decodeJwtUnverified(idToken);
102
+ return {
103
+ method: { kind: "oidc", iss, sub },
104
+ idToken,
105
+ };
106
+ }
107
+ /**
108
+ * Sign a specific user-op hash via Google. The id_token's `nonce`
109
+ * claim will equal `userOpHashHex` (no 0x prefix), which the enclave
110
+ * uses to bind this proof to this specific transaction.
111
+ *
112
+ * `clientId` MUST be the same one you used at enrolment (it ends up
113
+ * in the JWT's `aud` claim, which the enclave checks against its
114
+ * pinned accept list).
115
+ */
116
+ static async sign(opts) {
117
+ const nonce = opts.userOpHashHex.replace(/^0x/i, "").toLowerCase();
118
+ if (!/^[0-9a-f]{64}$/.test(nonce)) {
119
+ throw new Error("userOpHashHex must be 32 bytes hex");
120
+ }
121
+ const idToken = await OidcHelper.requestIdToken({
122
+ clientId: opts.clientId,
123
+ nonce,
124
+ buttonContainer: opts.buttonContainer,
125
+ buttonOptions: opts.buttonOptions,
126
+ });
127
+ return { kind: "oidc", id_token: idToken };
128
+ }
129
+ /**
130
+ * Lower-level: render a Google Sign-In button and wait for the user
131
+ * to click it. Returns the raw id_token. Used internally by both
132
+ * fetchEnrolment and sign.
133
+ */
134
+ static async requestIdToken(opts) {
135
+ const gis = await loadGis();
136
+ return new Promise((resolve, reject) => {
137
+ let resolved = false;
138
+ try {
139
+ gis.initialize({
140
+ client_id: opts.clientId,
141
+ nonce: opts.nonce,
142
+ callback: (resp) => {
143
+ if (resolved)
144
+ return;
145
+ resolved = true;
146
+ if (!resp.credential) {
147
+ reject(new Error("Google returned no credential"));
148
+ return;
149
+ }
150
+ resolve(resp.credential);
151
+ },
152
+ auto_select: false,
153
+ cancel_on_tap_outside: false,
154
+ });
155
+ // Clear and render fresh button so the latest nonce sticks.
156
+ opts.buttonContainer.innerHTML = "";
157
+ gis.renderButton(opts.buttonContainer, {
158
+ theme: "outline",
159
+ size: "large",
160
+ text: "signin_with",
161
+ ...opts.buttonOptions,
162
+ });
163
+ }
164
+ catch (e) {
165
+ reject(e);
166
+ }
167
+ });
168
+ }
169
+ }
170
+ exports.OidcHelper = OidcHelper;
171
+ //# sourceMappingURL=oidc-helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oidc-helper.js","sourceRoot":"","sources":["../../src/services/oidc-helper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Passkey helper — browser-only.
3
+ *
4
+ * Wraps `navigator.credentials.create()` and `navigator.credentials.get()`
5
+ * with all the small encoding ceremonies the enclave expects:
6
+ *
7
+ * - Extracts X / Y coordinates from the SPKI-encoded public key the
8
+ * browser hands us and re-packs them as a COSE_Key CBOR blob (which
9
+ * is what the enclave's `webauthn_verification` module parses).
10
+ * - Binds the assertion's challenge to a specific user-op hash so the
11
+ * proof is non-replayable across transactions.
12
+ * - Returns ready-to-send `EnrolledMethod` / `AuthProof` objects.
13
+ *
14
+ * Algorithm: ES256 / P-256 (COSE alg -7). Covers virtually all modern
15
+ * platform authenticators (iOS Secure Enclave, Android Keystore, Windows
16
+ * Hello on TPM, most YubiKey models).
17
+ *
18
+ * Note about RP-ID: the enclave's pinned policy accepts a list of RP-IDs
19
+ * (typically your top-level domain + "localhost" for dev). You must pass
20
+ * the SAME `rpId` to enrol() and sign() — passkeys are bound to one RP.
21
+ */
22
+ import type { AuthProof, EnrolledMethod } from "../types";
23
+ /** Quick capability check for "should I offer a passkey UI?". */
24
+ export declare function isPasskeySupported(): boolean;
25
+ /**
26
+ * Async capability check that also asks "does this device have a built-in
27
+ * authenticator (Touch ID, Face ID, Windows Hello)?". Returns false on
28
+ * desktops without biometric hardware unless a roaming key is connected.
29
+ */
30
+ export declare function isPlatformPasskeySupported(): Promise<boolean>;
31
+ export interface PasskeyEnrolmentResult {
32
+ /** Pass to signup / login / migrateToV3 as enrolledMethods[i]. */
33
+ method: EnrolledMethod;
34
+ /** Raw credential ID (base64-padded). Same value as method.cred_id_b64. */
35
+ credentialIdB64: string;
36
+ /** Raw COSE_Key bytes (base64-padded). Same as method.cose_pubkey_b64. */
37
+ cosePublicKeyB64: string;
38
+ }
39
+ export declare class PasskeyHelper {
40
+ /**
41
+ * Run a WebAuthn enrolment ceremony. Prompts the user for biometric /
42
+ * device PIN. Returns an `EnrolledMethod` ready to pass to the SDK.
43
+ *
44
+ * `rpId` should be your eTLD+1 (e.g. "riftfi.xyz") or "localhost" for
45
+ * dev. The SAME rpId must appear in the enclave's pinned policy
46
+ * (see WebAuthnPolicy.accepted_rp_ids).
47
+ */
48
+ static enrol(opts: {
49
+ rpId: string;
50
+ rpName: string;
51
+ /** User identifier — any opaque 16-32 byte value. Defaults to randomUUID bytes. */
52
+ userId?: Uint8Array;
53
+ /** Display string for the user — usually email or username. */
54
+ userName: string;
55
+ userDisplayName?: string;
56
+ /**
57
+ * If true (default), requires biometric / PIN verification at enrolment.
58
+ * Set to false for "device PIN only" or roaming-key-only flows.
59
+ */
60
+ requireUserVerification?: boolean;
61
+ }): Promise<PasskeyEnrolmentResult>;
62
+ /**
63
+ * Produce an `AuthProof` for a specific user-op hash. Prompts the
64
+ * user for biometric / PIN. The assertion's challenge is the raw
65
+ * 32-byte hash, so the resulting proof is bound to this exact
66
+ * transaction.
67
+ *
68
+ * Pass the SAME `rpId` you used at enrolment.
69
+ *
70
+ * `allowedCredentialIdB64` — restrict to a specific credential. Pass
71
+ * the one you stored at enrolment. If omitted, the browser picks
72
+ * among all credentials for this RP (discoverable credentials).
73
+ */
74
+ static sign(opts: {
75
+ rpId: string;
76
+ /** 32-byte hash, hex, with or without 0x prefix. */
77
+ userOpHashHex: string;
78
+ allowedCredentialIdB64?: string;
79
+ requireUserVerification?: boolean;
80
+ }): Promise<AuthProof>;
81
+ }
82
+ //# sourceMappingURL=passkey-helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"passkey-helper.d.ts","sourceRoot":"","sources":["../../src/services/passkey-helper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAc1D,iEAAiE;AACjE,wBAAgB,kBAAkB,IAAI,OAAO,CAO5C;AAED;;;;GAIG;AACH,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,OAAO,CAAC,CAOnE;AAuED,MAAM,WAAW,sBAAsB;IACrC,kEAAkE;IAClE,MAAM,EAAE,cAAc,CAAC;IACvB,2EAA2E;IAC3E,eAAe,EAAE,MAAM,CAAC;IACxB,0EAA0E;IAC1E,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,aAAa;IACxB;;;;;;;OAOG;WACU,KAAK,CAAC,IAAI,EAAE;QACvB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,mFAAmF;QACnF,MAAM,CAAC,EAAE,UAAU,CAAC;QACpB,+DAA+D;QAC/D,QAAQ,EAAE,MAAM,CAAC;QACjB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB;;;WAGG;QACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;KACnC,GAAG,OAAO,CAAC,sBAAsB,CAAC;IA8CnC;;;;;;;;;;;OAWG;WACU,IAAI,CAAC,IAAI,EAAE;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,oDAAoD;QACpD,aAAa,EAAE,MAAM,CAAC;QACtB,sBAAsB,CAAC,EAAE,MAAM,CAAC;QAChC,uBAAuB,CAAC,EAAE,OAAO,CAAC;KACnC,GAAG,OAAO,CAAC,SAAS,CAAC;CAmCvB"}