@coinbase/cdp-core 0.0.17 → 0.0.19

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,13 +1,57 @@
1
- const d = new TextEncoder(), s = new TextDecoder();
2
- function f(...n) {
3
- const c = n.reduce((e, { length: r }) => e + r, 0), t = new Uint8Array(c);
4
- let o = 0;
5
- for (const e of n)
6
- t.set(e, o), o += e.length;
7
- return t;
1
+ import { encode as d } from "./index91.js";
2
+ import y from "./index92.js";
3
+ import b from "./index93.js";
4
+ import { JWSInvalid as r } from "./index73.js";
5
+ import { encoder as s, concat as u, decoder as h } from "./index83.js";
6
+ import g from "./index94.js";
7
+ import H from "./index95.js";
8
+ import P from "./index96.js";
9
+ class x {
10
+ #r;
11
+ #e;
12
+ #t;
13
+ constructor(e) {
14
+ if (!(e instanceof Uint8Array))
15
+ throw new TypeError("payload must be an instance of Uint8Array");
16
+ this.#r = e;
17
+ }
18
+ setProtectedHeader(e) {
19
+ if (this.#e)
20
+ throw new TypeError("setProtectedHeader can only be called once");
21
+ return this.#e = e, this;
22
+ }
23
+ setUnprotectedHeader(e) {
24
+ if (this.#t)
25
+ throw new TypeError("setUnprotectedHeader can only be called once");
26
+ return this.#t = e, this;
27
+ }
28
+ async sign(e, l) {
29
+ if (!this.#e && !this.#t)
30
+ throw new r("either setProtectedHeader or setUnprotectedHeader must be called before #sign()");
31
+ if (!b(this.#e, this.#t))
32
+ throw new r("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");
33
+ const c = {
34
+ ...this.#e,
35
+ ...this.#t
36
+ }, p = H(r, /* @__PURE__ */ new Map([["b64", !0]]), l?.crit, this.#e, c);
37
+ let o = !0;
38
+ if (p.has("b64") && (o = this.#e.b64, typeof o != "boolean"))
39
+ throw new r('The "b64" (base64url-encode payload) Header Parameter must be a boolean');
40
+ const { alg: t } = c;
41
+ if (typeof t != "string" || !t)
42
+ throw new r('JWS "alg" (Algorithm) Header Parameter missing or invalid');
43
+ g(t, e, "sign");
44
+ let i = this.#r;
45
+ o && (i = s.encode(d(i)));
46
+ let n;
47
+ this.#e ? n = s.encode(d(JSON.stringify(this.#e))) : n = s.encode("");
48
+ const f = u(n, s.encode("."), i), m = await P(e, t), w = await y(t, m, f), a = {
49
+ signature: d(w),
50
+ payload: ""
51
+ };
52
+ return o && (a.payload = h.decode(i)), this.#t && (a.header = this.#t), this.#e && (a.protected = h.decode(n)), a;
53
+ }
8
54
  }
9
55
  export {
10
- f as concat,
11
- s as decoder,
12
- d as encoder
56
+ x as FlattenedSign
13
57
  };
@@ -1,4 +1,13 @@
1
- const o = (e) => Math.floor(e.getTime() / 1e3);
1
+ const d = new TextEncoder(), s = new TextDecoder();
2
+ function f(...n) {
3
+ const c = n.reduce((e, { length: r }) => e + r, 0), t = new Uint8Array(c);
4
+ let o = 0;
5
+ for (const e of n)
6
+ t.set(e, o), o += e.length;
7
+ return t;
8
+ }
2
9
  export {
3
- o as default
10
+ f as concat,
11
+ s as decoder,
12
+ d as encoder
4
13
  };
@@ -1,47 +1,4 @@
1
- const o = /^(\+|\-)? ?(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)(?: (ago|from now))?$/i, t = (c) => {
2
- const s = o.exec(c);
3
- if (!s || s[4] && s[1])
4
- throw new TypeError("Invalid time period format");
5
- const a = parseFloat(s[2]), r = s[3].toLowerCase();
6
- let e;
7
- switch (r) {
8
- case "sec":
9
- case "secs":
10
- case "second":
11
- case "seconds":
12
- case "s":
13
- e = Math.round(a);
14
- break;
15
- case "minute":
16
- case "minutes":
17
- case "min":
18
- case "mins":
19
- case "m":
20
- e = Math.round(a * 60);
21
- break;
22
- case "hour":
23
- case "hours":
24
- case "hr":
25
- case "hrs":
26
- case "h":
27
- e = Math.round(a * 3600);
28
- break;
29
- case "day":
30
- case "days":
31
- case "d":
32
- e = Math.round(a * 86400);
33
- break;
34
- case "week":
35
- case "weeks":
36
- case "w":
37
- e = Math.round(a * 604800);
38
- break;
39
- default:
40
- e = Math.round(a * 31557600);
41
- break;
42
- }
43
- return s[1] === "-" || s[4] === "ago" ? -e : e;
44
- };
1
+ const o = (e) => Math.floor(e.getTime() / 1e3);
45
2
  export {
46
- t as default
3
+ o as default
47
4
  };
@@ -1,16 +1,47 @@
1
- function o(t) {
2
- return typeof t == "object" && t !== null;
3
- }
4
- const r = (t) => {
5
- if (!o(t) || Object.prototype.toString.call(t) !== "[object Object]")
6
- return !1;
7
- if (Object.getPrototypeOf(t) === null)
8
- return !0;
9
- let e = t;
10
- for (; Object.getPrototypeOf(e) !== null; )
11
- e = Object.getPrototypeOf(e);
12
- return Object.getPrototypeOf(t) === e;
1
+ const o = /^(\+|\-)? ?(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)(?: (ago|from now))?$/i, t = (c) => {
2
+ const s = o.exec(c);
3
+ if (!s || s[4] && s[1])
4
+ throw new TypeError("Invalid time period format");
5
+ const a = parseFloat(s[2]), r = s[3].toLowerCase();
6
+ let e;
7
+ switch (r) {
8
+ case "sec":
9
+ case "secs":
10
+ case "second":
11
+ case "seconds":
12
+ case "s":
13
+ e = Math.round(a);
14
+ break;
15
+ case "minute":
16
+ case "minutes":
17
+ case "min":
18
+ case "mins":
19
+ case "m":
20
+ e = Math.round(a * 60);
21
+ break;
22
+ case "hour":
23
+ case "hours":
24
+ case "hr":
25
+ case "hrs":
26
+ case "h":
27
+ e = Math.round(a * 3600);
28
+ break;
29
+ case "day":
30
+ case "days":
31
+ case "d":
32
+ e = Math.round(a * 86400);
33
+ break;
34
+ case "week":
35
+ case "weeks":
36
+ case "w":
37
+ e = Math.round(a * 604800);
38
+ break;
39
+ default:
40
+ e = Math.round(a * 31557600);
41
+ break;
42
+ }
43
+ return s[1] === "-" || s[4] === "ago" ? -e : e;
13
44
  };
14
45
  export {
15
- r as default
46
+ t as default
16
47
  };
@@ -1,81 +1,16 @@
1
- import { Hash as g, createView as l, aexists as b, toBytes as a, abytes as d, aoutput as x, clean as w } from "./index76.js";
2
- function y(o, t, s, n) {
3
- if (typeof o.setBigUint64 == "function")
4
- return o.setBigUint64(t, s, n);
5
- const i = BigInt(32), h = BigInt(4294967295), e = Number(s >> i & h), r = Number(s & h), c = n ? 4 : 0, u = n ? 0 : 4;
6
- o.setUint32(t + c, e, n), o.setUint32(t + u, r, n);
1
+ function o(t) {
2
+ return typeof t == "object" && t !== null;
7
3
  }
8
- function U(o, t, s) {
9
- return o & t ^ ~o & s;
10
- }
11
- function _(o, t, s) {
12
- return o & t ^ o & s ^ t & s;
13
- }
14
- class m extends g {
15
- constructor(t, s, n, i) {
16
- super(), this.finished = !1, this.length = 0, this.pos = 0, this.destroyed = !1, this.blockLen = t, this.outputLen = s, this.padOffset = n, this.isLE = i, this.buffer = new Uint8Array(t), this.view = l(this.buffer);
17
- }
18
- update(t) {
19
- b(this), t = a(t), d(t);
20
- const { view: s, buffer: n, blockLen: i } = this, h = t.length;
21
- for (let e = 0; e < h; ) {
22
- const r = Math.min(i - this.pos, h - e);
23
- if (r === i) {
24
- const c = l(t);
25
- for (; i <= h - e; e += i)
26
- this.process(c, e);
27
- continue;
28
- }
29
- n.set(t.subarray(e, e + r), this.pos), this.pos += r, e += r, this.pos === i && (this.process(s, 0), this.pos = 0);
30
- }
31
- return this.length += t.length, this.roundClean(), this;
32
- }
33
- digestInto(t) {
34
- b(this), x(t, this), this.finished = !0;
35
- const { buffer: s, view: n, blockLen: i, isLE: h } = this;
36
- let { pos: e } = this;
37
- s[e++] = 128, w(this.buffer.subarray(e)), this.padOffset > i - e && (this.process(n, 0), e = 0);
38
- for (let f = e; f < i; f++)
39
- s[f] = 0;
40
- y(n, i - 8, BigInt(this.length * 8), h), this.process(n, 0);
41
- const r = l(t), c = this.outputLen;
42
- if (c % 4)
43
- throw new Error("_sha2: outputLen should be aligned to 32bit");
44
- const u = c / 4, p = this.get();
45
- if (u > p.length)
46
- throw new Error("_sha2: outputLen bigger than state");
47
- for (let f = 0; f < u; f++)
48
- r.setUint32(4 * f, p[f], h);
49
- }
50
- digest() {
51
- const { buffer: t, outputLen: s } = this;
52
- this.digestInto(t);
53
- const n = t.slice(0, s);
54
- return this.destroy(), n;
55
- }
56
- _cloneInto(t) {
57
- t || (t = new this.constructor()), t.set(...this.get());
58
- const { blockLen: s, buffer: n, length: i, finished: h, destroyed: e, pos: r } = this;
59
- return t.destroyed = e, t.finished = h, t.length = i, t.pos = r, i % s && t.buffer.set(n), t;
60
- }
61
- clone() {
62
- return this._cloneInto();
63
- }
64
- }
65
- const B = /* @__PURE__ */ Uint32Array.from([
66
- 1779033703,
67
- 3144134277,
68
- 1013904242,
69
- 2773480762,
70
- 1359893119,
71
- 2600822924,
72
- 528734635,
73
- 1541459225
74
- ]);
4
+ const r = (t) => {
5
+ if (!o(t) || Object.prototype.toString.call(t) !== "[object Object]")
6
+ return !1;
7
+ if (Object.getPrototypeOf(t) === null)
8
+ return !0;
9
+ let e = t;
10
+ for (; Object.getPrototypeOf(e) !== null; )
11
+ e = Object.getPrototypeOf(e);
12
+ return Object.getPrototypeOf(t) === e;
13
+ };
75
14
  export {
76
- U as Chi,
77
- m as HashMD,
78
- _ as Maj,
79
- B as SHA256_IV,
80
- y as setBigUint64
15
+ r as default
81
16
  };
@@ -1,4 +1,4 @@
1
- import { encoder as t, decoder as o } from "./index82.js";
1
+ import { encoder as t, decoder as o } from "./index83.js";
2
2
  import { encodeBase64 as c, decodeBase64 as a } from "./index97.js";
3
3
  function i(r) {
4
4
  if (Uint8Array.fromBase64)
@@ -1,4 +1,4 @@
1
- import { JOSENotSupported as f } from "./index71.js";
1
+ import { JOSENotSupported as f } from "./index73.js";
2
2
  const w = (n, r, a, e, s) => {
3
3
  if (s.crit !== void 0 && e?.crit === void 0)
4
4
  throw new n('"crit" (Critical) Header Parameter MUST be integrity protected');
@@ -1,4 +1,4 @@
1
- import { JOSENotSupported as r } from "./index71.js";
1
+ import { JOSENotSupported as r } from "./index73.js";
2
2
  const S = (e, s) => {
3
3
  const a = `SHA-${e.slice(-3)}`;
4
4
  switch (e) {
@@ -115,6 +115,8 @@ export declare type ExportEvmAccountResult = {
115
115
  privateKey: string;
116
116
  };
117
117
 
118
+ export declare const getAccessToken: () => Promise<string | null>;
119
+
118
120
  export declare const getCurrentUser: () => Promise<User | null>;
119
121
 
120
122
  export declare type Hex = `0x${string}`;
@@ -245,6 +247,17 @@ export declare type SignInWithEmailResult = {
245
247
  flowId: string;
246
248
  };
247
249
 
250
+ export declare const signInWithSms: (options: SignInWithSmsOptions) => Promise<SignInWithSmsResult>;
251
+
252
+ export declare type SignInWithSmsOptions = {
253
+ phoneNumber: string;
254
+ };
255
+
256
+ export declare type SignInWithSmsResult = {
257
+ message: string;
258
+ flowId: string;
259
+ };
260
+
248
261
  export declare const signOut: () => Promise<void>;
249
262
 
250
263
  export declare type SignTypedDataRequest = {
@@ -309,6 +322,19 @@ export declare type VerifyEmailOTPResult = {
309
322
  isNewUser: boolean;
310
323
  };
311
324
 
325
+ export declare const verifySmsOTP: (options: VerifySmsOTPOptions) => Promise<VerifySmsOTPResult>;
326
+
327
+ export declare type VerifySmsOTPOptions = {
328
+ flowId: string;
329
+ otp: string;
330
+ };
331
+
332
+ export declare type VerifySmsOTPResult = {
333
+ user: User;
334
+ message: string;
335
+ isNewUser: boolean;
336
+ };
337
+
312
338
  export declare type WalletDisconnectRequest = {
313
339
  method: "wallet_disconnect";
314
340
  params: [];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coinbase/cdp-core",
3
- "version": "0.0.17",
3
+ "version": "0.0.19",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist/**",
@@ -17,7 +17,7 @@
17
17
  "ox": "0.8.1",
18
18
  "viem": "^2.33.0",
19
19
  "zustand": "^5.0.6",
20
- "@coinbase/cdp-api-client": "^0.0.17"
20
+ "@coinbase/cdp-api-client": "^0.0.19"
21
21
  },
22
22
  "devDependencies": {
23
23
  "@size-limit/preset-big-lib": "^11.2.0",