@coinbase/cdp-api-client 0.0.124 → 0.0.126

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.
@@ -2,346 +2,367 @@ import { Analytics as d } from "./index2.js";
2
2
  import "./index3.js";
3
3
  import p from "axios";
4
4
  import { ERROR_DOCS_PAGE_URL as R } from "./index10.js";
5
- import { isRefreshTokenUnavailableError as P, UnknownApiError as U, HttpErrorType as m, isOpenAPIError as $, APIError as f, UnknownError as S, RefreshTokenUnavailableError as A } from "./index7.js";
5
+ import { isRefreshTokenUnavailableError as P, UnknownApiError as U, HttpErrorType as m, isOpenAPIError as $, APIError as f, UnknownError as S, RefreshTokenUnavailableError as y } from "./index7.js";
6
6
  const k = () => typeof window < "u" && typeof document < "u";
7
- let n = p.create({
7
+ let i = p.create({
8
8
  baseURL: "https://api.cdp.coinbase.com/platform"
9
9
  }), g = p.create({
10
10
  baseURL: "https://api.cdp.coinbase.com/platform"
11
11
  }), h = null, w = null;
12
- const ee = (t) => {
13
- const a = t.basePath || "https://api.cdp.coinbase.com/platform";
14
- if (n = p.create({
15
- baseURL: a,
12
+ const re = (e) => {
13
+ const s = e.basePath || "https://api.cdp.coinbase.com/platform";
14
+ if (i = p.create({
15
+ baseURL: s,
16
16
  // Only enable cookies in browser environments where they're supported
17
17
  withCredentials: k()
18
- }), g = p.create({ baseURL: a }), n.interceptors.request.use(async (e) => {
19
- const s = Z(e), r = v(e);
20
- if (!h || y(r.pathname) || _(r.pathname) && !await h.isSignedIn() || !B(r.pathname))
21
- return e;
22
- const o = await h.getXWalletAuth({
23
- requestMethod: s,
18
+ }), g = p.create({ baseURL: s }), i.interceptors.request.use(async (t) => {
19
+ const a = Z(t), r = v(t);
20
+ if (!h || E(r.pathname) || _(r.pathname) && !await h.isSignedIn() || !B(r.pathname))
21
+ return t;
22
+ const n = await h.getXWalletAuth({
23
+ requestMethod: a,
24
24
  requestHost: r.host,
25
25
  requestPath: r.pathname,
26
- requestData: e.data
26
+ requestData: t.data
27
27
  });
28
- return o && (e.headers["X-Wallet-Auth"] = o), e;
29
- }), n.interceptors.request.use(async (e) => {
30
- const s = v(e);
31
- if (!h || y(s.pathname) || _(s.pathname) && !await h.isSignedIn())
32
- return e;
28
+ return n && (t.headers["X-Wallet-Auth"] = n), t;
29
+ }), i.interceptors.request.use(async (t) => {
30
+ const a = v(t);
31
+ if (!h || E(a.pathname) || _(a.pathname) && !await h.isSignedIn())
32
+ return t;
33
33
  const r = await h.getToken();
34
- return r && r !== "" && (e.headers.Authorization = `Bearer ${r}`), e;
34
+ return r && r !== "" && (t.headers.Authorization = `Bearer ${r}`), t;
35
35
  }), !k()) {
36
- const e = t.platform ? `CDP/reactnative/${t.platform}` : "CDP/reactnative";
37
- n.interceptors.request.use(async (s) => {
38
- let r = s.headers["User-Agent"];
39
- return r = r ? `${r} ${e}` : e, s.headers["User-Agent"] = r, s;
36
+ const t = e.platform ? `CDP/reactnative/${e.platform}` : "CDP/reactnative";
37
+ i.interceptors.request.use(async (a) => {
38
+ let r = a.headers["User-Agent"];
39
+ return r = r ? `${r} ${t}` : t, a.headers["User-Agent"] = r, a;
40
40
  });
41
41
  }
42
- t.refreshTokenStorage && x(
43
- t.refreshTokenStorage,
44
- t.retryTokenReads ?? !1,
45
- t.failClosedOnMissingToken ?? !1
46
- ), t.appAttestation && q(t.appAttestation, t.platform), t.debugging && (n.interceptors.request.use((e) => (console.log("Request:", e), e)), n.interceptors.response.use((e) => (console.log("Response:", e), e))), n.interceptors.request.use((e) => e._fallbackRetry ? (delete e._fallbackRetry, e) : (k() && w && (e.baseURL = `https://${w}/platform`), e)), n.interceptors.response.use(
47
- (e) => e,
48
- async (e) => {
49
- if (!p.isAxiosError(e) || !j(e))
50
- return Promise.reject(e);
51
- const s = e.config;
52
- return C(s) ? e.response?.status === 401 ? b(s) : I(e, s) : Promise.reject(e);
42
+ e.refreshTokenStorage && X(
43
+ e.refreshTokenStorage,
44
+ e.retryTokenReads ?? !1,
45
+ e.failClosedOnMissingToken ?? !1
46
+ ), e.appAttestation && q(e.appAttestation, e.platform), e.debugging && (i.interceptors.request.use((t) => (console.log("Request:", t), t)), i.interceptors.response.use((t) => (console.log("Response:", t), t))), i.interceptors.request.use((t) => t._fallbackRetry ? (delete t._fallbackRetry, t) : (k() && w && (t.baseURL = `https://${w}/platform`), t)), i.interceptors.response.use(
47
+ (t) => t,
48
+ async (t) => {
49
+ if (!p.isAxiosError(t) || !j(t))
50
+ return Promise.reject(t);
51
+ const a = t.config;
52
+ return C(a) ? t.response?.status === 401 ? b(a) : I(t, a) : Promise.reject(t);
53
53
  }
54
54
  );
55
- }, j = (t) => {
56
- const a = !t.response, e = t.response?.status === 401;
57
- return a || e;
58
- }, C = (t) => {
59
- const a = w ? `https://${w}/platform` : null;
60
- return !!(a && t?.baseURL === a && t.url && H(t.url));
61
- }, b = (t) => n({
62
- ...t,
55
+ }, j = (e) => {
56
+ const s = !e.response, t = e.response?.status === 401;
57
+ return s || t;
58
+ }, C = (e) => {
59
+ const s = w ? `https://${w}/platform` : null;
60
+ return !!(s && e?.baseURL === s && e.url && J(e.url));
61
+ }, b = (e) => i({
62
+ ...e,
63
63
  baseURL: void 0,
64
64
  _fallbackRetry: !0
65
- }), I = async (t, a) => {
66
- const e = a.url?.match(/\/v2\/embedded-wallet-api\/projects\/([^/]+)\//)?.[1];
67
- if (!e)
68
- return Promise.reject(t);
65
+ }), I = async (e, s) => {
66
+ const t = s.url?.match(/\/v2\/embedded-wallet-api\/projects\/([^/]+)\//)?.[1];
67
+ if (!t)
68
+ return Promise.reject(e);
69
69
  try {
70
70
  const r = (await g.get(
71
- `/v2/embedded-wallet-api/projects/${e}/config`
71
+ `/v2/embedded-wallet-api/projects/${t}/config`
72
72
  )).data?.activeCookieDomain ?? null;
73
- return M(r), r !== null ? Promise.reject(t) : b(a);
73
+ return M(r), r !== null ? Promise.reject(e) : b(s);
74
74
  } catch {
75
- return Promise.reject(t);
75
+ return Promise.reject(e);
76
76
  }
77
- }, te = (t) => {
78
- h = t;
79
- }, M = (t) => {
80
- const a = t?.trim() || null;
81
- if (a && !/^[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?(\.[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?)*$/.test(
82
- a
77
+ }, se = (e) => {
78
+ h = e;
79
+ }, M = (e) => {
80
+ const s = e?.trim() || null;
81
+ if (s && !/^[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?(\.[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?)*$/.test(
82
+ s
83
83
  )) {
84
- console.warn(`[CDP] Invalid cookie domain ignored: "${a}"`), w = null;
84
+ console.warn(`[CDP] Invalid cookie domain ignored: "${s}"`), w = null;
85
85
  return;
86
86
  }
87
- w = a;
88
- }, q = (t, a) => {
89
- n.interceptors.request.use(async (e) => {
90
- const s = v(e);
91
- if (!K(s.pathname) || !t.isEnabled())
92
- return e;
87
+ w = s;
88
+ }, q = (e, s) => {
89
+ i.interceptors.request.use(async (t) => {
90
+ const a = v(t);
91
+ if (!G(a.pathname) || !e.isEnabled())
92
+ return t;
93
93
  try {
94
- if (a === "ios") {
95
- const r = s.pathname.match(/\/projects\/([^/]+)\//);
94
+ if (s === "ios") {
95
+ const r = a.pathname.match(/\/projects\/([^/]+)\//);
96
96
  if (!r || !r[1])
97
- return e;
98
- const c = `/v2/embedded-wallet-api/projects/${r[1]}/attestation/challenge`, u = (await n.post(c)).data.challenge;
99
- if (!u)
100
- return console.warn("Failed to fetch assertion challenge"), e;
101
- const i = await t.generateAssertion(u);
102
- if (!i)
103
- return e;
104
- e.headers["X-App-Attestation-Assertion"] = i.assertion, e.headers["X-App-Attestation-Key-ID"] = i.keyId, e.headers["X-App-Attestation-Challenge"] = u;
97
+ return t;
98
+ const o = `/v2/embedded-wallet-api/projects/${r[1]}/attestation/challenge`, c = (await i.post(o)).data.challenge;
99
+ if (!c)
100
+ return console.warn("Failed to fetch assertion challenge"), t;
101
+ const l = await e.generateAssertion(c);
102
+ if (!l)
103
+ return t;
104
+ t.headers["X-App-Attestation-Assertion"] = l.assertion, t.headers["X-App-Attestation-Key-ID"] = l.keyId, t.headers["X-App-Attestation-Challenge"] = c;
105
105
  } else {
106
- const r = await t.generateAssertion(JSON.stringify(e.data));
106
+ const r = await e.generateAssertion(JSON.stringify(t.data));
107
107
  if (!r)
108
- return e;
109
- e.headers["X-Integrity-Token"] = r.assertion, e.headers["X-Package-Name"] = t.appIdentifier;
108
+ return t;
109
+ t.headers["X-Integrity-Token"] = r.assertion, t.headers["X-Package-Name"] = e.appIdentifier;
110
110
  }
111
- return e;
111
+ return t;
112
112
  } catch (r) {
113
113
  throw new Error(
114
114
  `App attestation required but assertion generation failed: ${r instanceof Error ? r.message : String(r)}`
115
115
  );
116
116
  }
117
117
  });
118
- }, D = (t, a) => ({
119
- ...t,
118
+ }, D = (e, s) => ({
119
+ ...e,
120
120
  headers: {
121
- ...t.headers || {},
122
- "X-Idempotency-Key": a
121
+ ...e.headers || {},
122
+ "X-Idempotency-Key": s
123
123
  }
124
- }), re = async (t, a) => {
125
- W(t), a && a !== "" && (t = D(t, a));
124
+ }), O = (e, s) => ({
125
+ ...e,
126
+ headers: {
127
+ ...e.headers || {},
128
+ "X-Mfa-Challenge-Id": s
129
+ }
130
+ }), L = (e) => {
131
+ const s = e?.toJSON;
132
+ if (typeof s == "function")
133
+ return s.call(e);
134
+ if (e && typeof e == "object")
135
+ return e;
136
+ }, ae = async (e, s) => {
137
+ H(e);
138
+ const { idempotencyKey: t, mfaChallengeId: a } = typeof s == "string" ? { idempotencyKey: s, mfaChallengeId: void 0 } : s ?? {};
139
+ t && t !== "" && (e = D(e, t)), a && a !== "" && (e = O(e, a));
126
140
  try {
127
- return (await n(t)).data;
128
- } catch (e) {
129
- if (P(e))
130
- throw e;
131
- if (p.isAxiosError(e) && !e.response)
141
+ return (await i(e)).data;
142
+ } catch (r) {
143
+ if (P(r))
144
+ throw r;
145
+ if (p.isAxiosError(r) && !r.response)
132
146
  throw new U(
133
147
  m.unknown,
134
- e.cause instanceof Error ? e.cause.message : e.message,
135
- e.cause
148
+ r.cause instanceof Error ? r.cause.message : r.message,
149
+ r.cause
136
150
  );
137
- if (p.isAxiosError(e) && e.response) {
138
- if ($(e.response.data))
151
+ if (p.isAxiosError(r) && r.response) {
152
+ const n = L(r.response.headers);
153
+ if ($(r.response.data))
139
154
  throw new f(
140
- e.response.status,
141
- e.response.data.errorType,
142
- e.response.data.errorMessage,
143
- e.response.data.correlationId,
144
- e.response.data.errorLink,
145
- e.cause
155
+ r.response.status,
156
+ r.response.data.errorType,
157
+ r.response.data.errorMessage,
158
+ r.response.data.correlationId,
159
+ r.response.data.errorLink,
160
+ r.cause,
161
+ n
146
162
  );
147
163
  {
148
- const s = e.response.status;
149
- switch (s) {
164
+ const o = r.response.status;
165
+ switch (o) {
150
166
  case 401:
151
167
  throw new f(
152
- s,
168
+ o,
153
169
  m.unauthorized,
154
170
  "Unauthorized.",
155
171
  void 0,
156
172
  `${R}#unauthorized`,
157
- e.cause
173
+ r.cause,
174
+ n
158
175
  );
159
176
  case 404:
160
177
  throw new f(
161
- s,
178
+ o,
162
179
  m.not_found,
163
180
  "API not found.",
164
181
  void 0,
165
182
  `${R}#not_found`,
166
- e.cause
183
+ r.cause,
184
+ n
167
185
  );
168
186
  case 502:
169
187
  throw new f(
170
- s,
188
+ o,
171
189
  m.bad_gateway,
172
190
  "Bad gateway.",
173
191
  void 0,
174
192
  `${R}`,
175
- e.cause
193
+ r.cause,
194
+ n
176
195
  );
177
196
  case 503:
178
197
  throw new f(
179
- s,
198
+ o,
180
199
  m.service_unavailable,
181
200
  "Service unavailable. Please try again later.",
182
201
  void 0,
183
202
  `${R}`,
184
- e.cause
203
+ r.cause,
204
+ n
185
205
  );
186
206
  default: {
187
- let r = "";
188
- if (e.response.data)
207
+ let u = "";
208
+ if (r.response.data)
189
209
  try {
190
- r = JSON.stringify(e.response.data);
210
+ u = JSON.stringify(r.response.data);
191
211
  } catch {
192
- r = String(e.response.data);
212
+ u = String(r.response.data);
193
213
  }
194
- const o = r ? `An unexpected error occurred: ${r}` : "An unexpected error occurred.";
214
+ const c = u ? `An unexpected error occurred: ${u}` : "An unexpected error occurred.";
195
215
  throw new f(
196
- s,
197
- m.unexpected_error,
198
216
  o,
217
+ m.unexpected_error,
218
+ c,
199
219
  void 0,
200
220
  `${R}`,
201
- e.cause
221
+ r.cause,
222
+ n
202
223
  );
203
224
  }
204
225
  }
205
226
  }
206
227
  }
207
- throw new S("Something went wrong.", e instanceof Error ? e : void 0);
228
+ throw new S("Something went wrong.", r instanceof Error ? r : void 0);
208
229
  }
209
- }, E = 4, L = [25, 50, 100], T = async (t) => {
210
- if (t.getRefreshTokenWithOutcome) {
211
- const { token: a, outcome: e, errorMessage: s } = await t.getRefreshTokenWithOutcome();
212
- return { token: a, outcome: e, errorMessage: s };
230
+ }, A = 4, x = [25, 50, 100], T = async (e) => {
231
+ if (e.getRefreshTokenWithOutcome) {
232
+ const { token: s, outcome: t, errorMessage: a } = await e.getRefreshTokenWithOutcome();
233
+ return { token: s, outcome: t, errorMessage: a };
213
234
  }
214
- return { token: await t.getRefreshToken() };
215
- }, O = async (t) => {
216
- let a = null, e, s;
217
- for (let r = 0; r < E; r++) {
218
- const o = await T(t);
219
- if (a = o.token, e = o.outcome, s = o.errorMessage, a)
235
+ return { token: await e.getRefreshToken() };
236
+ }, z = async (e) => {
237
+ let s = null, t, a;
238
+ for (let r = 0; r < A; r++) {
239
+ const n = await T(e);
240
+ if (s = n.token, t = n.outcome, a = n.errorMessage, s)
220
241
  return {
221
- token: a,
242
+ token: s,
222
243
  attempt: r,
223
- outcome: e,
224
- errorMessage: s
244
+ outcome: t,
245
+ errorMessage: a
225
246
  };
226
- const c = L[r];
227
- c !== void 0 && await new Promise((l) => setTimeout(l, c));
247
+ const o = x[r];
248
+ o !== void 0 && await new Promise((u) => setTimeout(u, o));
228
249
  }
229
250
  return {
230
- token: a,
231
- attempt: E - 1,
232
- outcome: e,
233
- errorMessage: s
251
+ token: s,
252
+ attempt: A - 1,
253
+ outcome: t,
254
+ errorMessage: a
234
255
  };
235
- }, x = (t, a, e) => {
236
- n.interceptors.response.use(
237
- async (s) => {
256
+ }, X = (e, s, t) => {
257
+ i.interceptors.response.use(
258
+ async (a) => {
238
259
  try {
239
- if (N(s)) {
260
+ if (W(a)) {
240
261
  d.sendSessionRefreshEvent({
241
262
  name: "refresh_token_response"
242
263
  });
243
- const r = s.data?.refreshToken;
264
+ const r = a.data?.refreshToken;
244
265
  r && (d.sendSessionRefreshEvent({
245
266
  name: "refresh_token_received"
246
267
  }), await Promise.race([
247
- t.setRefreshToken(r),
268
+ e.setRefreshToken(r),
248
269
  new Promise(
249
- (o, c) => setTimeout(() => c(new Error("setRefreshToken timed out after 5000ms")), 5e3)
270
+ (n, o) => setTimeout(() => o(new Error("setRefreshToken timed out after 5000ms")), 5e3)
250
271
  )
251
272
  ]), d.sendSessionRefreshEvent({
252
273
  name: "refresh_token_stored"
253
274
  }));
254
275
  }
255
276
  } catch (r) {
256
- const o = r instanceof Error ? r.message : String(r);
277
+ const n = r instanceof Error ? r.message : String(r);
257
278
  d.sendSessionRefreshEvent({
258
279
  name: "refresh_token_store_failed",
259
- error_message: o
280
+ error_message: n
260
281
  }), console.warn("Failed to store refresh token:", r);
261
282
  }
262
- return s;
283
+ return a;
263
284
  },
264
- (s) => Promise.reject(s)
265
- ), n.interceptors.request.use(async (s) => {
266
- if (X(s.url)) {
267
- const r = F(s.url);
268
- let o = null, c = 0, l, u;
285
+ (a) => Promise.reject(a)
286
+ ), i.interceptors.request.use(async (a) => {
287
+ if (F(a.url)) {
288
+ const r = K(a.url);
289
+ let n = null, o = 0, u, c;
269
290
  try {
270
- const i = a ? await O(t) : { ...await T(t), attempt: 0 };
271
- o = i.token, c = i.attempt, l = i.outcome, u = i.errorMessage;
272
- } catch (i) {
273
- if (u = i instanceof Error ? i.message : String(i), l = "error", d.sendSessionRefreshEvent({
291
+ const l = s ? await z(e) : { ...await T(e), attempt: 0 };
292
+ n = l.token, o = l.attempt, u = l.outcome, c = l.errorMessage;
293
+ } catch (l) {
294
+ if (c = l instanceof Error ? l.message : String(l), u = "error", d.sendSessionRefreshEvent({
274
295
  name: "refresh_token_retrieve_failed",
275
- error_message: u
276
- }), console.warn("Failed to retrieve refresh token:", i), r && e)
277
- throw new A("error", u);
296
+ error_message: c
297
+ }), console.warn("Failed to retrieve refresh token:", l), r && t)
298
+ throw new y("error", c);
278
299
  }
279
- if (o)
300
+ if (n)
280
301
  d.sendSessionRefreshEvent({
281
302
  name: "refresh_token_retrieved",
282
- attempt: c,
283
- read_outcome: l,
284
- error_message: u
285
- }), s.data = {
286
- ...s.data,
287
- refreshToken: o
303
+ attempt: o,
304
+ read_outcome: u,
305
+ error_message: c
306
+ }), a.data = {
307
+ ...a.data,
308
+ refreshToken: n
288
309
  };
289
310
  else if (d.sendSessionRefreshEvent({
290
311
  name: "refresh_token_missing",
291
- attempt: c,
292
- read_outcome: l,
293
- error_message: u
294
- }), r && e)
295
- throw new A(
296
- l === "error" ? "error" : "not_found",
297
- u
312
+ attempt: o,
313
+ read_outcome: u,
314
+ error_message: c
315
+ }), r && t)
316
+ throw new y(
317
+ u === "error" ? "error" : "not_found",
318
+ c
298
319
  );
299
320
  }
300
- if (z(s.url))
321
+ if (N(a.url))
301
322
  try {
302
323
  d.sendSessionRefreshEvent({
303
324
  name: "refresh_token_removing_token"
304
- }), await t.removeRefreshToken();
325
+ }), await e.removeRefreshToken();
305
326
  } catch (r) {
306
327
  console.warn("Failed to remove refresh token:", r);
307
328
  }
308
- return s;
329
+ return a;
309
330
  });
310
- }, z = (t) => t ? /^\/v2\/embedded-wallet-api\/projects\/[^/]+\/auth\/logout$/.test(t) : !1, X = (t) => t ? /^\/v2\/embedded-wallet-api\/projects\/[^/]+\/auth\/(refresh|logout)$/.test(t) : !1, F = (t) => t ? /^\/v2\/embedded-wallet-api\/projects\/[^/]+\/auth\/refresh$/.test(t) : !1, N = (t) => {
311
- const a = t.config.url;
312
- return a ? /^\/v2\/embedded-wallet-api\/projects\/[^/]+\/auth\/(verify\/(email|sms|siwe|oauth\/.*)|refresh)$/.test(
313
- a
331
+ }, N = (e) => e ? /^\/v2\/embedded-wallet-api\/projects\/[^/]+\/auth\/logout$/.test(e) : !1, F = (e) => e ? /^\/v2\/embedded-wallet-api\/projects\/[^/]+\/auth\/(refresh|logout)$/.test(e) : !1, K = (e) => e ? /^\/v2\/embedded-wallet-api\/projects\/[^/]+\/auth\/refresh$/.test(e) : !1, W = (e) => {
332
+ const s = e.config.url;
333
+ return s ? /^\/v2\/embedded-wallet-api\/projects\/[^/]+\/auth\/(verify\/(email|sms|siwe|oauth\/.*)|refresh)$/.test(
334
+ s
314
335
  ) : !1;
315
- }, W = (t) => {
316
- if (!n.getUri() || n.getUri() === "")
336
+ }, H = (e) => {
337
+ if (!i.getUri() || i.getUri() === "")
317
338
  throw new Error("CDP client URI not configured. Call configure() first.");
318
- if (!t.url || t.url === "")
339
+ if (!e.url || e.url === "")
319
340
  throw new Error("AxiosRequestConfig URL is empty. This should never happen.");
320
- if (!t.method || t.method === "")
341
+ if (!e.method || e.method === "")
321
342
  throw new Error("AxiosRequestConfig method is empty. This should never happen.");
322
- }, Z = (t) => t.method?.toString().toUpperCase() || "GET", v = (t) => {
323
- if (!t.url)
343
+ }, Z = (e) => e.method?.toString().toUpperCase() || "GET", v = (e) => {
344
+ if (!e.url)
324
345
  throw new Error("URL is required for authentication");
325
- const e = (t.baseURL ?? n.getUri()) + t.url;
326
- return new URL(e);
327
- }, y = (t) => {
328
- const a = /^(\/platform)?\/v2\/embedded-wallet-api\/projects\/[^/]+\/auth\/(refresh|logout)$/, e = /^(\/platform)?\/v2\/embedded-wallet-api\/projects\/[^/]+\/auth\/(mfa)$/, s = /^(\/platform)?\/v2\/embedded-wallet-api\/projects\/[^/]+\/config$/, r = /^(\/platform)?\/v2\/embedded-wallet-api\/projects\/[^/]+\/attestation\/(challenge|register)$/;
329
- return a.test(t) || e.test(t) || s.test(t) || r.test(t);
330
- }, B = (t) => !/^(\/platform)?\/v2\/embedded-wallet-api\/projects\/[^/]+\/auth\/custom\/authenticate$/.test(t), _ = (t) => {
331
- const a = /^(\/platform)?\/v2\/embedded-wallet-api\/projects\/[^/]+\/auth\/(init)$/, e = /^(\/platform)?\/v2\/embedded-wallet-api\/projects\/[^/]+\/auth\/verify\//;
332
- return a.test(t) || e.test(t);
333
- }, H = (t) => /^\/v2\/embedded-wallet-api\/projects\/[^/]+\/auth\/(init$|verify\/|refresh$|logout$)/.test(
334
- t
335
- ), K = (t) => [
346
+ const t = (e.baseURL ?? i.getUri()) + e.url;
347
+ return new URL(t);
348
+ }, E = (e) => {
349
+ const s = /^(\/platform)?\/v2\/embedded-wallet-api\/projects\/[^/]+\/auth\/(refresh|logout)$/, t = /^(\/platform)?\/v2\/embedded-wallet-api\/projects\/[^/]+\/auth\/(mfa)$/, a = /^(\/platform)?\/v2\/embedded-wallet-api\/projects\/[^/]+\/config$/, r = /^(\/platform)?\/v2\/embedded-wallet-api\/projects\/[^/]+\/attestation\/(challenge|register)$/;
350
+ return s.test(e) || t.test(e) || a.test(e) || r.test(e);
351
+ }, B = (e) => !/^(\/platform)?\/v2\/embedded-wallet-api\/projects\/[^/]+\/auth\/custom\/authenticate$/.test(e), _ = (e) => {
352
+ const s = /^(\/platform)?\/v2\/embedded-wallet-api\/projects\/[^/]+\/auth\/(init)$/, t = /^(\/platform)?\/v2\/embedded-wallet-api\/projects\/[^/]+\/auth\/verify\//;
353
+ return s.test(e) || t.test(e);
354
+ }, J = (e) => /^\/v2\/embedded-wallet-api\/projects\/[^/]+\/auth\/(init$|verify\/|refresh$|logout$)/.test(
355
+ e
356
+ ), G = (e) => [
336
357
  // Auth flows: prevent account takeover on mobile clients
337
358
  /\/auth\/verify\//,
338
359
  // VerifyEmailAuthentication, VerifySmsAuthentication, VerifyOAuthCode, VerifyOAuthEndUserIdentity
339
360
  /\/auth\/refresh$/
340
361
  // RefreshAccessToken
341
- ].some((e) => e.test(t));
362
+ ].some((t) => t.test(e));
342
363
  export {
343
- re as cdpApiClient,
344
- ee as configureCdpApiClient,
345
- te as setAuthManager,
364
+ ae as cdpApiClient,
365
+ re as configureCdpApiClient,
366
+ se as setAuthManager,
346
367
  M as setCookieDomain
347
368
  };