@coinbase/cdp-core 0.0.33 → 0.0.35
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/README.md +74 -8
- package/dist/esm/index.native.js +40 -37
- package/dist/esm/index.native100.js +41 -7
- package/dist/esm/index.native101.js +18 -11
- package/dist/esm/index.native102.js +28 -13
- package/dist/esm/index.native103.js +8 -10
- package/dist/esm/index.native104.js +11 -17
- package/dist/esm/index.native105.js +12 -80
- package/dist/esm/index.native106.js +10 -13
- package/dist/esm/index.native107.js +17 -36
- package/dist/esm/index.native108.js +79 -40
- package/dist/esm/index.native14.js +6 -5
- package/dist/esm/index.native15.js +12 -10
- package/dist/esm/index.native17.js +1 -0
- package/dist/esm/index.native28.js +1 -1
- package/dist/esm/index.native54.js +1 -1
- package/dist/esm/index.native55.js +1 -1
- package/dist/esm/index.native57.js +2 -2
- package/dist/esm/index.native59.js +1 -1
- package/dist/esm/index.native6.js +188 -134
- package/dist/esm/index.native77.js +6 -6
- package/dist/esm/index.native82.js +2 -21
- package/dist/esm/index.native83.js +21 -2
- package/dist/esm/index.native84.js +18 -102
- package/dist/esm/index.native85.js +80 -20
- package/dist/esm/index.native86.js +103 -79
- package/dist/esm/index.native89.js +10 -21
- package/dist/esm/index.native90.js +21 -10
- package/dist/esm/index.native91.js +9 -19
- package/dist/esm/index.native92.js +15 -89
- package/dist/esm/index.native93.js +92 -19
- package/dist/esm/index.native94.js +18 -115
- package/dist/esm/index.native95.js +112 -73
- package/dist/esm/index.native96.js +79 -10
- package/dist/esm/index.native98.js +13 -18
- package/dist/esm/index.native99.js +35 -27
- package/dist/esm/index.web.js +41 -38
- package/dist/esm/index.web12.js +6 -5
- package/dist/esm/index.web13.js +12 -10
- package/dist/esm/index.web15.js +1 -0
- package/dist/esm/index.web5.js +188 -134
- package/dist/native/index.native.js +40 -37
- package/dist/native/index.native100.js +41 -7
- package/dist/native/index.native101.js +18 -11
- package/dist/native/index.native102.js +28 -13
- package/dist/native/index.native103.js +8 -10
- package/dist/native/index.native104.js +11 -17
- package/dist/native/index.native105.js +12 -80
- package/dist/native/index.native106.js +10 -13
- package/dist/native/index.native107.js +17 -36
- package/dist/native/index.native108.js +79 -40
- package/dist/native/index.native14.js +6 -5
- package/dist/native/index.native15.js +12 -10
- package/dist/native/index.native17.js +1 -0
- package/dist/native/index.native28.js +1 -1
- package/dist/native/index.native54.js +1 -1
- package/dist/native/index.native55.js +1 -1
- package/dist/native/index.native57.js +2 -2
- package/dist/native/index.native59.js +1 -1
- package/dist/native/index.native6.js +188 -134
- package/dist/native/index.native77.js +6 -6
- package/dist/native/index.native82.js +2 -21
- package/dist/native/index.native83.js +21 -2
- package/dist/native/index.native84.js +18 -102
- package/dist/native/index.native85.js +80 -20
- package/dist/native/index.native86.js +103 -79
- package/dist/native/index.native89.js +10 -21
- package/dist/native/index.native90.js +21 -10
- package/dist/native/index.native91.js +9 -19
- package/dist/native/index.native92.js +15 -89
- package/dist/native/index.native93.js +92 -19
- package/dist/native/index.native94.js +18 -115
- package/dist/native/index.native95.js +112 -73
- package/dist/native/index.native96.js +79 -10
- package/dist/native/index.native98.js +13 -18
- package/dist/native/index.native99.js +35 -27
- package/dist/native-types/auth/withAuth.d.ts +3 -1
- package/dist/native-types/core.d.ts +3 -1
- package/dist/native-types/types.d.ts +20 -3
- package/dist/types/auth/withAuth.d.ts +3 -1
- package/dist/types/core.d.ts +3 -1
- package/dist/types/types.d.ts +20 -3
- package/dist/web/index.web.js +41 -38
- package/dist/web/index.web12.js +6 -5
- package/dist/web/index.web13.js +12 -10
- package/dist/web/index.web15.js +1 -0
- package/dist/web/index.web5.js +188 -134
- package/dist/web-types/auth/withAuth.d.ts +3 -1
- package/dist/web-types/core.d.ts +3 -1
- package/dist/web-types/types.d.ts +20 -3
- package/package.json +2 -2
|
@@ -1,120 +1,23 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
if (n?.[s])
|
|
10
|
-
return n[s];
|
|
11
|
-
const t = await y({ ...r, alg: s });
|
|
12
|
-
return i && Object.freeze(e), n ? n[s] = t : c.set(e, { [s]: t }), t;
|
|
13
|
-
}, E = (e, r) => {
|
|
14
|
-
c ||= /* @__PURE__ */ new WeakMap();
|
|
15
|
-
let s = c.get(e);
|
|
16
|
-
if (s?.[r])
|
|
17
|
-
return s[r];
|
|
18
|
-
const i = e.type === "public", n = !!i;
|
|
1
|
+
import { JOSENotSupported as f } from "./index.native30.js";
|
|
2
|
+
const w = (n, r, a, e, s) => {
|
|
3
|
+
if (s.crit !== void 0 && e?.crit === void 0)
|
|
4
|
+
throw new n('"crit" (Critical) Header Parameter MUST be integrity protected');
|
|
5
|
+
if (!e || e.crit === void 0)
|
|
6
|
+
return /* @__PURE__ */ new Set();
|
|
7
|
+
if (!Array.isArray(e.crit) || e.crit.length === 0 || e.crit.some((i) => typeof i != "string" || i.length === 0))
|
|
8
|
+
throw new n('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');
|
|
19
9
|
let t;
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
throw new TypeError("given KeyObject instance cannot be used for this algorithm");
|
|
29
|
-
}
|
|
30
|
-
t = e.toCryptoKey(e.asymmetricKeyType, n, i ? [] : ["deriveBits"]);
|
|
10
|
+
a !== void 0 ? t = new Map([...Object.entries(a), ...r.entries()]) : t = r;
|
|
11
|
+
for (const i of e.crit) {
|
|
12
|
+
if (!t.has(i))
|
|
13
|
+
throw new f(`Extension Header Parameter "${i}" is not recognized`);
|
|
14
|
+
if (s[i] === void 0)
|
|
15
|
+
throw new n(`Extension Header Parameter "${i}" is missing`);
|
|
16
|
+
if (t.get(i) && e[i] === void 0)
|
|
17
|
+
throw new n(`Extension Header Parameter "${i}" MUST be integrity protected`);
|
|
31
18
|
}
|
|
32
|
-
|
|
33
|
-
if (r !== "EdDSA" && r !== "Ed25519")
|
|
34
|
-
throw new TypeError("given KeyObject instance cannot be used for this algorithm");
|
|
35
|
-
t = e.toCryptoKey(e.asymmetricKeyType, n, [
|
|
36
|
-
i ? "verify" : "sign"
|
|
37
|
-
]);
|
|
38
|
-
}
|
|
39
|
-
if (e.asymmetricKeyType === "rsa") {
|
|
40
|
-
let a;
|
|
41
|
-
switch (r) {
|
|
42
|
-
case "RSA-OAEP":
|
|
43
|
-
a = "SHA-1";
|
|
44
|
-
break;
|
|
45
|
-
case "RS256":
|
|
46
|
-
case "PS256":
|
|
47
|
-
case "RSA-OAEP-256":
|
|
48
|
-
a = "SHA-256";
|
|
49
|
-
break;
|
|
50
|
-
case "RS384":
|
|
51
|
-
case "PS384":
|
|
52
|
-
case "RSA-OAEP-384":
|
|
53
|
-
a = "SHA-384";
|
|
54
|
-
break;
|
|
55
|
-
case "RS512":
|
|
56
|
-
case "PS512":
|
|
57
|
-
case "RSA-OAEP-512":
|
|
58
|
-
a = "SHA-512";
|
|
59
|
-
break;
|
|
60
|
-
default:
|
|
61
|
-
throw new TypeError("given KeyObject instance cannot be used for this algorithm");
|
|
62
|
-
}
|
|
63
|
-
if (r.startsWith("RSA-OAEP"))
|
|
64
|
-
return e.toCryptoKey({
|
|
65
|
-
name: "RSA-OAEP",
|
|
66
|
-
hash: a
|
|
67
|
-
}, n, i ? ["encrypt"] : ["decrypt"]);
|
|
68
|
-
t = e.toCryptoKey({
|
|
69
|
-
name: r.startsWith("PS") ? "RSA-PSS" : "RSASSA-PKCS1-v1_5",
|
|
70
|
-
hash: a
|
|
71
|
-
}, n, [i ? "verify" : "sign"]);
|
|
72
|
-
}
|
|
73
|
-
if (e.asymmetricKeyType === "ec") {
|
|
74
|
-
const o = (/* @__PURE__ */ new Map([
|
|
75
|
-
["prime256v1", "P-256"],
|
|
76
|
-
["secp384r1", "P-384"],
|
|
77
|
-
["secp521r1", "P-521"]
|
|
78
|
-
])).get(e.asymmetricKeyDetails?.namedCurve);
|
|
79
|
-
if (!o)
|
|
80
|
-
throw new TypeError("given KeyObject instance cannot be used for this algorithm");
|
|
81
|
-
r === "ES256" && o === "P-256" && (t = e.toCryptoKey({
|
|
82
|
-
name: "ECDSA",
|
|
83
|
-
namedCurve: o
|
|
84
|
-
}, n, [i ? "verify" : "sign"])), r === "ES384" && o === "P-384" && (t = e.toCryptoKey({
|
|
85
|
-
name: "ECDSA",
|
|
86
|
-
namedCurve: o
|
|
87
|
-
}, n, [i ? "verify" : "sign"])), r === "ES512" && o === "P-521" && (t = e.toCryptoKey({
|
|
88
|
-
name: "ECDSA",
|
|
89
|
-
namedCurve: o
|
|
90
|
-
}, n, [i ? "verify" : "sign"])), r.startsWith("ECDH-ES") && (t = e.toCryptoKey({
|
|
91
|
-
name: "ECDH",
|
|
92
|
-
namedCurve: o
|
|
93
|
-
}, n, i ? [] : ["deriveBits"]));
|
|
94
|
-
}
|
|
95
|
-
if (!t)
|
|
96
|
-
throw new TypeError("given KeyObject instance cannot be used for this algorithm");
|
|
97
|
-
return s ? s[r] = t : c.set(e, { [r]: t }), t;
|
|
98
|
-
}, d = async (e, r) => {
|
|
99
|
-
if (e instanceof Uint8Array || S(e))
|
|
100
|
-
return e;
|
|
101
|
-
if (K(e)) {
|
|
102
|
-
if (e.type === "secret")
|
|
103
|
-
return e.export();
|
|
104
|
-
if ("toCryptoKey" in e && typeof e.toCryptoKey == "function")
|
|
105
|
-
try {
|
|
106
|
-
return E(e, r);
|
|
107
|
-
} catch (i) {
|
|
108
|
-
if (i instanceof TypeError)
|
|
109
|
-
throw i;
|
|
110
|
-
}
|
|
111
|
-
let s = e.export({ format: "jwk" });
|
|
112
|
-
return f(e, s, r);
|
|
113
|
-
}
|
|
114
|
-
if (p(e))
|
|
115
|
-
return e.k ? m(e.k) : f(e, e, r, !0);
|
|
116
|
-
throw new Error("unreachable");
|
|
19
|
+
return new Set(e.crit);
|
|
117
20
|
};
|
|
118
21
|
export {
|
|
119
|
-
|
|
22
|
+
w as default
|
|
120
23
|
};
|
|
@@ -1,81 +1,120 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
return
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
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);
|
|
1
|
+
import { isJWK as p } from "./index.native107.js";
|
|
2
|
+
import { decode as m } from "./index.native90.js";
|
|
3
|
+
import y from "./index.native108.js";
|
|
4
|
+
import { isCryptoKey as S, isKeyObject as K } from "./index.native106.js";
|
|
5
|
+
let c;
|
|
6
|
+
const f = async (e, r, s, i = !1) => {
|
|
7
|
+
c ||= /* @__PURE__ */ new WeakMap();
|
|
8
|
+
let n = c.get(e);
|
|
9
|
+
if (n?.[s])
|
|
10
|
+
return n[s];
|
|
11
|
+
const t = await y({ ...r, alg: s });
|
|
12
|
+
return i && Object.freeze(e), n ? n[s] = t : c.set(e, { [s]: t }), t;
|
|
13
|
+
}, E = (e, r) => {
|
|
14
|
+
c ||= /* @__PURE__ */ new WeakMap();
|
|
15
|
+
let s = c.get(e);
|
|
16
|
+
if (s?.[r])
|
|
17
|
+
return s[r];
|
|
18
|
+
const i = e.type === "public", n = !!i;
|
|
19
|
+
let t;
|
|
20
|
+
if (e.asymmetricKeyType === "x25519") {
|
|
21
|
+
switch (r) {
|
|
22
|
+
case "ECDH-ES":
|
|
23
|
+
case "ECDH-ES+A128KW":
|
|
24
|
+
case "ECDH-ES+A192KW":
|
|
25
|
+
case "ECDH-ES+A256KW":
|
|
26
|
+
break;
|
|
27
|
+
default:
|
|
28
|
+
throw new TypeError("given KeyObject instance cannot be used for this algorithm");
|
|
30
29
|
}
|
|
31
|
-
|
|
30
|
+
t = e.toCryptoKey(e.asymmetricKeyType, n, i ? [] : ["deriveBits"]);
|
|
32
31
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
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);
|
|
32
|
+
if (e.asymmetricKeyType === "ed25519") {
|
|
33
|
+
if (r !== "EdDSA" && r !== "Ed25519")
|
|
34
|
+
throw new TypeError("given KeyObject instance cannot be used for this algorithm");
|
|
35
|
+
t = e.toCryptoKey(e.asymmetricKeyType, n, [
|
|
36
|
+
i ? "verify" : "sign"
|
|
37
|
+
]);
|
|
49
38
|
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
39
|
+
if (e.asymmetricKeyType === "rsa") {
|
|
40
|
+
let a;
|
|
41
|
+
switch (r) {
|
|
42
|
+
case "RSA-OAEP":
|
|
43
|
+
a = "SHA-1";
|
|
44
|
+
break;
|
|
45
|
+
case "RS256":
|
|
46
|
+
case "PS256":
|
|
47
|
+
case "RSA-OAEP-256":
|
|
48
|
+
a = "SHA-256";
|
|
49
|
+
break;
|
|
50
|
+
case "RS384":
|
|
51
|
+
case "PS384":
|
|
52
|
+
case "RSA-OAEP-384":
|
|
53
|
+
a = "SHA-384";
|
|
54
|
+
break;
|
|
55
|
+
case "RS512":
|
|
56
|
+
case "PS512":
|
|
57
|
+
case "RSA-OAEP-512":
|
|
58
|
+
a = "SHA-512";
|
|
59
|
+
break;
|
|
60
|
+
default:
|
|
61
|
+
throw new TypeError("given KeyObject instance cannot be used for this algorithm");
|
|
62
|
+
}
|
|
63
|
+
if (r.startsWith("RSA-OAEP"))
|
|
64
|
+
return e.toCryptoKey({
|
|
65
|
+
name: "RSA-OAEP",
|
|
66
|
+
hash: a
|
|
67
|
+
}, n, i ? ["encrypt"] : ["decrypt"]);
|
|
68
|
+
t = e.toCryptoKey({
|
|
69
|
+
name: r.startsWith("PS") ? "RSA-PSS" : "RSASSA-PKCS1-v1_5",
|
|
70
|
+
hash: a
|
|
71
|
+
}, n, [i ? "verify" : "sign"]);
|
|
55
72
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
73
|
+
if (e.asymmetricKeyType === "ec") {
|
|
74
|
+
const o = (/* @__PURE__ */ new Map([
|
|
75
|
+
["prime256v1", "P-256"],
|
|
76
|
+
["secp384r1", "P-384"],
|
|
77
|
+
["secp521r1", "P-521"]
|
|
78
|
+
])).get(e.asymmetricKeyDetails?.namedCurve);
|
|
79
|
+
if (!o)
|
|
80
|
+
throw new TypeError("given KeyObject instance cannot be used for this algorithm");
|
|
81
|
+
r === "ES256" && o === "P-256" && (t = e.toCryptoKey({
|
|
82
|
+
name: "ECDSA",
|
|
83
|
+
namedCurve: o
|
|
84
|
+
}, n, [i ? "verify" : "sign"])), r === "ES384" && o === "P-384" && (t = e.toCryptoKey({
|
|
85
|
+
name: "ECDSA",
|
|
86
|
+
namedCurve: o
|
|
87
|
+
}, n, [i ? "verify" : "sign"])), r === "ES512" && o === "P-521" && (t = e.toCryptoKey({
|
|
88
|
+
name: "ECDSA",
|
|
89
|
+
namedCurve: o
|
|
90
|
+
}, n, [i ? "verify" : "sign"])), r.startsWith("ECDH-ES") && (t = e.toCryptoKey({
|
|
91
|
+
name: "ECDH",
|
|
92
|
+
namedCurve: o
|
|
93
|
+
}, n, i ? [] : ["deriveBits"]));
|
|
60
94
|
}
|
|
61
|
-
|
|
62
|
-
|
|
95
|
+
if (!t)
|
|
96
|
+
throw new TypeError("given KeyObject instance cannot be used for this algorithm");
|
|
97
|
+
return s ? s[r] = t : c.set(e, { [r]: t }), t;
|
|
98
|
+
}, d = async (e, r) => {
|
|
99
|
+
if (e instanceof Uint8Array || S(e))
|
|
100
|
+
return e;
|
|
101
|
+
if (K(e)) {
|
|
102
|
+
if (e.type === "secret")
|
|
103
|
+
return e.export();
|
|
104
|
+
if ("toCryptoKey" in e && typeof e.toCryptoKey == "function")
|
|
105
|
+
try {
|
|
106
|
+
return E(e, r);
|
|
107
|
+
} catch (i) {
|
|
108
|
+
if (i instanceof TypeError)
|
|
109
|
+
throw i;
|
|
110
|
+
}
|
|
111
|
+
let s = e.export({ format: "jwk" });
|
|
112
|
+
return f(e, s, r);
|
|
63
113
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
1013904242,
|
|
69
|
-
2773480762,
|
|
70
|
-
1359893119,
|
|
71
|
-
2600822924,
|
|
72
|
-
528734635,
|
|
73
|
-
1541459225
|
|
74
|
-
]);
|
|
114
|
+
if (p(e))
|
|
115
|
+
return e.k ? m(e.k) : f(e, e, r, !0);
|
|
116
|
+
throw new Error("unreachable");
|
|
117
|
+
};
|
|
75
118
|
export {
|
|
76
|
-
|
|
77
|
-
m as HashMD,
|
|
78
|
-
_ as Maj,
|
|
79
|
-
B as SHA256_IV,
|
|
80
|
-
y as setBigUint64
|
|
119
|
+
d as default
|
|
81
120
|
};
|
|
@@ -1,12 +1,81 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import { Hash as g, createView as l, aexists as b, toBytes as a, abytes as d, aoutput as x, clean as w } from "./index.native85.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);
|
|
7
|
+
}
|
|
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
|
+
]);
|
|
10
75
|
export {
|
|
11
|
-
|
|
76
|
+
U as Chi,
|
|
77
|
+
m as HashMD,
|
|
78
|
+
_ as Maj,
|
|
79
|
+
B as SHA256_IV,
|
|
80
|
+
y as setBigUint64
|
|
12
81
|
};
|
|
@@ -1,20 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
for (let r = 0; r < e.length; r++)
|
|
14
|
-
n[r] = e.charCodeAt(r);
|
|
15
|
-
return n;
|
|
16
|
-
}
|
|
1
|
+
const s = {
|
|
2
|
+
gasPriceOracle: { address: "0x420000000000000000000000000000000000000F" },
|
|
3
|
+
l1Block: { address: "0x4200000000000000000000000000000000000015" },
|
|
4
|
+
l2CrossDomainMessenger: {
|
|
5
|
+
address: "0x4200000000000000000000000000000000000007"
|
|
6
|
+
},
|
|
7
|
+
l2Erc721Bridge: { address: "0x4200000000000000000000000000000000000014" },
|
|
8
|
+
l2StandardBridge: { address: "0x4200000000000000000000000000000000000010" },
|
|
9
|
+
l2ToL1MessagePasser: {
|
|
10
|
+
address: "0x4200000000000000000000000000000000000016"
|
|
11
|
+
}
|
|
12
|
+
};
|
|
17
13
|
export {
|
|
18
|
-
|
|
19
|
-
o as encodeBase64
|
|
14
|
+
s as contracts
|
|
20
15
|
};
|
|
@@ -1,30 +1,38 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
return {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
1
|
+
import { hexToBigInt as n } from "./index.native50.js";
|
|
2
|
+
import { defineBlock as r } from "./index.native47.js";
|
|
3
|
+
import { defineTransaction as s, formatTransaction as m } from "./index.native49.js";
|
|
4
|
+
import { defineTransactionReceipt as l } from "./index.native52.js";
|
|
5
|
+
const p = {
|
|
6
|
+
block: /* @__PURE__ */ r({
|
|
7
|
+
format(e) {
|
|
8
|
+
return {
|
|
9
|
+
transactions: e.transactions?.map((t) => {
|
|
10
|
+
if (typeof t == "string")
|
|
11
|
+
return t;
|
|
12
|
+
const i = m(t);
|
|
13
|
+
return i.typeHex === "0x7e" && (i.isSystemTx = t.isSystemTx, i.mint = t.mint ? n(t.mint) : void 0, i.sourceHash = t.sourceHash, i.type = "deposit"), i;
|
|
14
|
+
}),
|
|
15
|
+
stateRoot: e.stateRoot
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
}),
|
|
19
|
+
transaction: /* @__PURE__ */ s({
|
|
20
|
+
format(e) {
|
|
21
|
+
const o = {};
|
|
22
|
+
return e.type === "0x7e" && (o.isSystemTx = e.isSystemTx, o.mint = e.mint ? n(e.mint) : void 0, o.sourceHash = e.sourceHash, o.type = "deposit"), o;
|
|
23
|
+
}
|
|
24
|
+
}),
|
|
25
|
+
transactionReceipt: /* @__PURE__ */ l({
|
|
26
|
+
format(e) {
|
|
27
|
+
return {
|
|
28
|
+
l1GasPrice: e.l1GasPrice ? n(e.l1GasPrice) : null,
|
|
29
|
+
l1GasUsed: e.l1GasUsed ? n(e.l1GasUsed) : null,
|
|
30
|
+
l1Fee: e.l1Fee ? n(e.l1Fee) : null,
|
|
31
|
+
l1FeeScalar: e.l1FeeScalar ? Number(e.l1FeeScalar) : null
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
})
|
|
27
35
|
};
|
|
28
36
|
export {
|
|
29
|
-
|
|
37
|
+
p as formatters
|
|
30
38
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EvmAddress, User } from '../types.js';
|
|
1
|
+
import { EvmAddress, SolanaAddress, User } from '../types.js';
|
|
2
2
|
import { IAuthManager } from './types.js';
|
|
3
3
|
export declare const isSignedIn: (authManager: IAuthManager) => Promise<boolean>;
|
|
4
4
|
type AuthenticatedFunction<T, R> = (params: T & {
|
|
@@ -9,5 +9,7 @@ export declare function withAuth<T, R>(options: T & ({
|
|
|
9
9
|
evmAccount: EvmAddress;
|
|
10
10
|
} | {
|
|
11
11
|
evmSmartAccount: EvmAddress;
|
|
12
|
+
} | {
|
|
13
|
+
solanaAccount: SolanaAddress;
|
|
12
14
|
}), authManager: IAuthManager, fn: AuthenticatedFunction<T, R>): Promise<R>;
|
|
13
15
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Config, User, SignInWithEmailOptions, SignInWithEmailResult, SignInWithSmsOptions, SignInWithSmsResult, VerifySmsOTPOptions, VerifySmsOTPResult, SignEvmHashOptions, SignEvmHashResult, VerifyEmailOTPOptions, VerifyEmailOTPResult, OnAuthStateChangeFn, SendEvmTransactionResult, SignEvmTransactionOptions, SignEvmTransactionResult, SignEvmTypedDataOptions, SignEvmTypedDataResult, SignEvmMessageOptions, ExportEvmAccountResult, SendEvmTransactionOptions, ExportEvmAccountOptions, SendUserOperationOptions, SendUserOperationResult, GetUserOperationOptions, GetUserOperationResult } from './types.js';
|
|
1
|
+
import { Config, User, SignInWithEmailOptions, SignInWithEmailResult, SignInWithSmsOptions, SignInWithSmsResult, VerifySmsOTPOptions, VerifySmsOTPResult, SignEvmHashOptions, SignEvmHashResult, VerifyEmailOTPOptions, VerifyEmailOTPResult, OnAuthStateChangeFn, SendEvmTransactionResult, SignEvmTransactionOptions, SignEvmTransactionResult, SignSolanaTransactionOptions, SignSolanaTransactionResult, SignEvmTypedDataOptions, SignEvmTypedDataResult, SignEvmMessageOptions, ExportEvmAccountResult, SendEvmTransactionOptions, SendSolanaTransactionOptions, SendSolanaTransactionResult, ExportEvmAccountOptions, SendUserOperationOptions, SendUserOperationResult, GetUserOperationOptions, GetUserOperationResult } from './types.js';
|
|
2
2
|
export declare const initialize: (cfg: Config) => Promise<void>;
|
|
3
3
|
export declare const signInWithEmail: (options: SignInWithEmailOptions) => Promise<SignInWithEmailResult>;
|
|
4
4
|
export declare const signInWithSms: (options: SignInWithSmsOptions) => Promise<SignInWithSmsResult>;
|
|
@@ -11,7 +11,9 @@ export declare const getAccessToken: () => Promise<string | null>;
|
|
|
11
11
|
export declare const onAuthStateChange: (callback: OnAuthStateChangeFn) => void;
|
|
12
12
|
export declare const signEvmHash: (options: SignEvmHashOptions) => Promise<SignEvmHashResult>;
|
|
13
13
|
export declare const signEvmTransaction: (options: SignEvmTransactionOptions) => Promise<SignEvmTransactionResult>;
|
|
14
|
+
export declare const signSolanaTransaction: (options: SignSolanaTransactionOptions) => Promise<SignSolanaTransactionResult>;
|
|
14
15
|
export declare const sendEvmTransaction: (options: SendEvmTransactionOptions) => Promise<SendEvmTransactionResult>;
|
|
16
|
+
export declare const sendSolanaTransaction: (options: SendSolanaTransactionOptions) => Promise<SendSolanaTransactionResult>;
|
|
15
17
|
export declare const signEvmMessage: (options: SignEvmMessageOptions) => Promise<SignEvmHashResult>;
|
|
16
18
|
export declare const signEvmTypedData: (options: SignEvmTypedDataOptions) => Promise<SignEvmTypedDataResult>;
|
|
17
19
|
export declare const sendUserOperation: (options: SendUserOperationOptions) => Promise<SendUserOperationResult>;
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import { SendEvmTransactionWithEndUserAccountBodyNetwork, APIError, APIErrorType, ErrorType, HttpErrorType, EvmUserOperation } from '@coinbase/cdp-api-client';
|
|
1
|
+
import { SendEvmTransactionWithEndUserAccountBodyNetwork, SendSolanaTransactionWithEndUserAccountBodyNetwork, APIError, APIErrorType, ErrorType, HttpErrorType, EvmUserOperation } from '@coinbase/cdp-api-client';
|
|
2
2
|
import { TransactionSerializableEIP1559 } from 'viem';
|
|
3
|
-
export { APIError, type APIErrorType, ErrorType, HttpErrorType, SendEvmTransactionWithEndUserAccountBodyNetwork, };
|
|
3
|
+
export { APIError, type APIErrorType, ErrorType, HttpErrorType, SendEvmTransactionWithEndUserAccountBodyNetwork, SendSolanaTransactionWithEndUserAccountBodyNetwork, };
|
|
4
4
|
export type Config = {
|
|
5
5
|
projectId: string;
|
|
6
6
|
useMock?: boolean;
|
|
7
7
|
debugging?: boolean;
|
|
8
8
|
basePath?: string;
|
|
9
|
-
createAccountOnLogin?: "evm-eoa" | "evm-smart";
|
|
9
|
+
createAccountOnLogin?: "evm-eoa" | "evm-smart" | "solana";
|
|
10
10
|
};
|
|
11
11
|
export type Hex = `0x${string}`;
|
|
12
12
|
export type EvmAddress = `0x${string}`;
|
|
13
|
+
export type SolanaAddress = string;
|
|
13
14
|
export type AuthenticationMethods = {
|
|
14
15
|
email?: EmailAuthentication;
|
|
15
16
|
sms?: SmsAuthentication;
|
|
@@ -19,6 +20,7 @@ export type User = {
|
|
|
19
20
|
authenticationMethods: AuthenticationMethods;
|
|
20
21
|
evmAccounts?: EvmAddress[];
|
|
21
22
|
evmSmartAccounts?: EvmAddress[];
|
|
23
|
+
solanaAccounts?: SolanaAddress[];
|
|
22
24
|
};
|
|
23
25
|
export type EmailAuthentication = {
|
|
24
26
|
type: "email";
|
|
@@ -76,6 +78,13 @@ export type SignEvmTransactionOptions = {
|
|
|
76
78
|
export type SignEvmTransactionResult = {
|
|
77
79
|
signedTransaction: Hex;
|
|
78
80
|
};
|
|
81
|
+
export type SignSolanaTransactionOptions = {
|
|
82
|
+
solanaAccount: SolanaAddress;
|
|
83
|
+
transaction: string;
|
|
84
|
+
};
|
|
85
|
+
export type SignSolanaTransactionResult = {
|
|
86
|
+
signedTransaction: string;
|
|
87
|
+
};
|
|
79
88
|
export type SendEvmTransactionOptions = {
|
|
80
89
|
evmAccount: EvmAddress;
|
|
81
90
|
network: SendEvmTransactionWithEndUserAccountBodyNetwork;
|
|
@@ -84,6 +93,14 @@ export type SendEvmTransactionOptions = {
|
|
|
84
93
|
export type SendEvmTransactionResult = {
|
|
85
94
|
transactionHash: Hex;
|
|
86
95
|
};
|
|
96
|
+
export type SendSolanaTransactionOptions = {
|
|
97
|
+
solanaAccount: SolanaAddress;
|
|
98
|
+
network: SendSolanaTransactionWithEndUserAccountBodyNetwork;
|
|
99
|
+
transaction: string;
|
|
100
|
+
};
|
|
101
|
+
export type SendSolanaTransactionResult = {
|
|
102
|
+
transactionSignature: string;
|
|
103
|
+
};
|
|
87
104
|
export type SignEvmMessageOptions = {
|
|
88
105
|
evmAccount: EvmAddress;
|
|
89
106
|
message: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EvmAddress, User } from '../types.js';
|
|
1
|
+
import { EvmAddress, SolanaAddress, User } from '../types.js';
|
|
2
2
|
import { IAuthManager } from './types.js';
|
|
3
3
|
export declare const isSignedIn: (authManager: IAuthManager) => Promise<boolean>;
|
|
4
4
|
type AuthenticatedFunction<T, R> = (params: T & {
|
|
@@ -9,5 +9,7 @@ export declare function withAuth<T, R>(options: T & ({
|
|
|
9
9
|
evmAccount: EvmAddress;
|
|
10
10
|
} | {
|
|
11
11
|
evmSmartAccount: EvmAddress;
|
|
12
|
+
} | {
|
|
13
|
+
solanaAccount: SolanaAddress;
|
|
12
14
|
}), authManager: IAuthManager, fn: AuthenticatedFunction<T, R>): Promise<R>;
|
|
13
15
|
export {};
|
package/dist/types/core.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Config, User, SignInWithEmailOptions, SignInWithEmailResult, SignInWithSmsOptions, SignInWithSmsResult, VerifySmsOTPOptions, VerifySmsOTPResult, SignEvmHashOptions, SignEvmHashResult, VerifyEmailOTPOptions, VerifyEmailOTPResult, OnAuthStateChangeFn, SendEvmTransactionResult, SignEvmTransactionOptions, SignEvmTransactionResult, SignEvmTypedDataOptions, SignEvmTypedDataResult, SignEvmMessageOptions, ExportEvmAccountResult, SendEvmTransactionOptions, ExportEvmAccountOptions, SendUserOperationOptions, SendUserOperationResult, GetUserOperationOptions, GetUserOperationResult } from './types.js';
|
|
1
|
+
import { Config, User, SignInWithEmailOptions, SignInWithEmailResult, SignInWithSmsOptions, SignInWithSmsResult, VerifySmsOTPOptions, VerifySmsOTPResult, SignEvmHashOptions, SignEvmHashResult, VerifyEmailOTPOptions, VerifyEmailOTPResult, OnAuthStateChangeFn, SendEvmTransactionResult, SignEvmTransactionOptions, SignEvmTransactionResult, SignSolanaTransactionOptions, SignSolanaTransactionResult, SignEvmTypedDataOptions, SignEvmTypedDataResult, SignEvmMessageOptions, ExportEvmAccountResult, SendEvmTransactionOptions, SendSolanaTransactionOptions, SendSolanaTransactionResult, ExportEvmAccountOptions, SendUserOperationOptions, SendUserOperationResult, GetUserOperationOptions, GetUserOperationResult } from './types.js';
|
|
2
2
|
export declare const initialize: (cfg: Config) => Promise<void>;
|
|
3
3
|
export declare const signInWithEmail: (options: SignInWithEmailOptions) => Promise<SignInWithEmailResult>;
|
|
4
4
|
export declare const signInWithSms: (options: SignInWithSmsOptions) => Promise<SignInWithSmsResult>;
|
|
@@ -11,7 +11,9 @@ export declare const getAccessToken: () => Promise<string | null>;
|
|
|
11
11
|
export declare const onAuthStateChange: (callback: OnAuthStateChangeFn) => void;
|
|
12
12
|
export declare const signEvmHash: (options: SignEvmHashOptions) => Promise<SignEvmHashResult>;
|
|
13
13
|
export declare const signEvmTransaction: (options: SignEvmTransactionOptions) => Promise<SignEvmTransactionResult>;
|
|
14
|
+
export declare const signSolanaTransaction: (options: SignSolanaTransactionOptions) => Promise<SignSolanaTransactionResult>;
|
|
14
15
|
export declare const sendEvmTransaction: (options: SendEvmTransactionOptions) => Promise<SendEvmTransactionResult>;
|
|
16
|
+
export declare const sendSolanaTransaction: (options: SendSolanaTransactionOptions) => Promise<SendSolanaTransactionResult>;
|
|
15
17
|
export declare const signEvmMessage: (options: SignEvmMessageOptions) => Promise<SignEvmHashResult>;
|
|
16
18
|
export declare const signEvmTypedData: (options: SignEvmTypedDataOptions) => Promise<SignEvmTypedDataResult>;
|
|
17
19
|
export declare const sendUserOperation: (options: SendUserOperationOptions) => Promise<SendUserOperationResult>;
|