@coinbase/cdp-core 0.0.87 → 0.0.88
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/dist/esm/index.native10.js +1 -1
- package/dist/esm/index.native101.js +2 -2
- package/dist/esm/index.native105.js +3 -3
- package/dist/esm/index.native106.js +31 -2
- package/dist/esm/index.native107.js +28 -65
- package/dist/esm/index.native108.js +2 -367
- package/dist/esm/index.native109.js +65 -28
- package/dist/esm/index.native110.js +364 -28
- package/dist/esm/index.native122.js +5 -35
- package/dist/esm/index.native123.js +40 -60
- package/dist/esm/index.native124.js +35 -5
- package/dist/esm/index.native125.js +60 -40
- package/dist/esm/index.native197.js +37 -107
- package/dist/esm/index.native199.js +69 -7
- package/dist/esm/index.native2.js +35 -30
- package/dist/esm/index.native200.js +35 -2
- package/dist/esm/index.native201.js +17 -374
- package/dist/esm/index.native202.js +7 -835
- package/dist/esm/index.native203.js +2 -39
- package/dist/esm/index.native204.js +378 -2
- package/dist/esm/index.native205.js +835 -69
- package/dist/esm/index.native206.js +106 -32
- package/dist/esm/index.native207.js +2 -21
- package/dist/esm/index.native222.js +2 -2
- package/dist/esm/index.native223.js +2 -2
- package/dist/esm/index.native224.js +2 -2
- package/dist/esm/index.native225.js +1 -1
- package/dist/esm/index.native3.js +1 -1
- package/dist/esm/index.native67.js +97 -60
- package/dist/esm/index.native9.js +1 -1
- package/dist/esm/index.native90.js +2 -2
- package/dist/esm/index.web102.js +12 -12
- package/dist/esm/index.web106.js +3 -3
- package/dist/esm/index.web107.js +2 -31
- package/dist/esm/index.web108.js +65 -28
- package/dist/esm/index.web109.js +367 -2
- package/dist/esm/index.web110.js +28 -65
- package/dist/esm/index.web111.js +28 -364
- package/dist/esm/index.web116.js +1 -1
- package/dist/esm/index.web117.js +2 -2
- package/dist/esm/index.web123.js +1 -1
- package/dist/esm/index.web127.js +4 -17
- package/dist/esm/index.web128.js +16 -44
- package/dist/esm/index.web129.js +45 -13
- package/dist/esm/index.web130.js +13 -55
- package/dist/esm/index.web131.js +55 -6
- package/dist/esm/index.web132.js +6 -21
- package/dist/esm/index.web133.js +21 -3
- package/dist/esm/index.web134.js +3 -3
- package/dist/esm/index.web135.js +3 -34
- package/dist/esm/index.web136.js +32 -10
- package/dist/esm/index.web137.js +12 -4
- package/dist/esm/index.web138.js +4 -28
- package/dist/esm/index.web139.js +28 -6
- package/dist/esm/index.web140.js +6 -42
- package/dist/esm/index.web141.js +41 -54
- package/dist/esm/index.web142.js +54 -126
- package/dist/esm/index.web143.js +127 -23
- package/dist/esm/index.web144.js +22 -11
- package/dist/esm/index.web145.js +9 -101
- package/dist/esm/index.web146.js +104 -6
- package/dist/esm/index.web147.js +7 -3
- package/dist/esm/index.web148.js +3 -15
- package/dist/esm/index.web149.js +14 -34
- package/dist/esm/index.web150.js +31 -75
- package/dist/esm/index.web151.js +79 -2
- package/dist/esm/index.web152.js +2 -2
- package/dist/esm/index.web153.js +2 -38
- package/dist/esm/index.web154.js +36 -5
- package/dist/esm/index.web155.js +5 -33
- package/dist/esm/index.web156.js +34 -8
- package/dist/esm/index.web157.js +8 -10
- package/dist/esm/index.web158.js +10 -11
- package/dist/esm/index.web159.js +11 -13
- package/dist/esm/index.web160.js +13 -18
- package/dist/esm/index.web161.js +18 -5
- package/dist/esm/index.web162.js +6 -5
- package/dist/esm/index.web163.js +5 -11
- package/dist/esm/index.web164.js +10 -4
- package/dist/esm/index.web165.js +14 -103
- package/dist/esm/index.web166.js +27 -77
- package/dist/esm/index.web167.js +7 -79
- package/dist/esm/index.web168.js +3 -14
- package/dist/esm/index.web169.js +16 -16
- package/dist/esm/index.web170.js +8 -7
- package/dist/esm/index.web171.js +7 -3
- package/dist/esm/index.web172.js +70 -18
- package/dist/esm/index.web173.js +28 -8
- package/dist/esm/index.web174.js +3 -7
- package/dist/esm/index.web175.js +7 -72
- package/dist/esm/index.web176.js +4 -28
- package/dist/esm/index.web177.js +14 -3
- package/dist/esm/index.web178.js +19 -15
- package/dist/esm/index.web179.js +61 -4
- package/dist/esm/index.web180.js +16 -13
- package/dist/esm/index.web181.js +19 -15
- package/dist/esm/index.web182.js +8 -61
- package/dist/esm/index.web183.js +41 -16
- package/dist/esm/index.web184.js +7 -23
- package/dist/esm/index.web185.js +20 -8
- package/dist/esm/index.web186.js +102 -41
- package/dist/esm/index.web187.js +78 -7
- package/dist/esm/index.web188.js +79 -20
- package/dist/esm/index.web189.js +1 -1
- package/dist/esm/index.web190.js +3 -3
- package/dist/esm/index.web192.js +3 -3
- package/dist/esm/index.web194.js +3 -3
- package/dist/esm/index.web195.js +2 -8
- package/dist/esm/index.web196.js +109 -2
- package/dist/esm/index.web197.js +2 -378
- package/dist/esm/index.web198.js +7 -835
- package/dist/esm/index.web199.js +2 -39
- package/dist/esm/index.web2.js +34 -29
- package/dist/esm/index.web200.js +378 -2
- package/dist/esm/index.web201.js +835 -69
- package/dist/esm/index.web202.js +37 -33
- package/dist/esm/index.web203.js +2 -21
- package/dist/esm/index.web204.js +70 -2
- package/dist/esm/index.web205.js +34 -20
- package/dist/esm/index.web206.js +19 -18
- package/dist/esm/index.web207.js +2 -33
- package/dist/esm/index.web208.js +20 -6
- package/dist/esm/index.web209.js +20 -2
- package/dist/esm/index.web210.js +31 -107
- package/dist/esm/index.web211.js +7 -2
- package/dist/esm/index.web213.js +47 -2
- package/dist/esm/index.web214.js +18 -2
- package/dist/esm/index.web215.js +28 -2
- package/dist/esm/index.web216.js +8 -18
- package/dist/esm/index.web217.js +9 -26
- package/dist/esm/index.web218.js +13 -8
- package/dist/esm/index.web219.js +10 -11
- package/dist/esm/index.web220.js +15 -11
- package/dist/esm/index.web221.js +80 -9
- package/dist/esm/index.web222.js +2 -17
- package/dist/esm/index.web223.js +2 -81
- package/dist/esm/index.web224.js +2 -47
- package/dist/esm/index.web226.js +14 -78
- package/dist/esm/index.web227.js +78 -14
- package/dist/esm/index.web3.js +1 -1
- package/dist/esm/index.web66.js +97 -60
- package/dist/esm/index.web8.js +1 -1
- package/dist/esm/index.web9.js +1 -1
- package/dist/esm/index.web92.js +2 -2
- package/dist/native/index.native10.js +1 -1
- package/dist/native/index.native101.js +2 -2
- package/dist/native/index.native105.js +3 -3
- package/dist/native/index.native106.js +31 -2
- package/dist/native/index.native107.js +28 -65
- package/dist/native/index.native108.js +2 -367
- package/dist/native/index.native109.js +65 -28
- package/dist/native/index.native110.js +364 -28
- package/dist/native/index.native122.js +5 -35
- package/dist/native/index.native123.js +40 -60
- package/dist/native/index.native124.js +35 -5
- package/dist/native/index.native125.js +60 -40
- package/dist/native/index.native197.js +37 -107
- package/dist/native/index.native199.js +69 -7
- package/dist/native/index.native2.js +35 -30
- package/dist/native/index.native200.js +35 -2
- package/dist/native/index.native201.js +17 -374
- package/dist/native/index.native202.js +7 -835
- package/dist/native/index.native203.js +2 -39
- package/dist/native/index.native204.js +378 -2
- package/dist/native/index.native205.js +835 -69
- package/dist/native/index.native206.js +106 -32
- package/dist/native/index.native207.js +2 -21
- package/dist/native/index.native222.js +2 -2
- package/dist/native/index.native223.js +2 -2
- package/dist/native/index.native224.js +2 -2
- package/dist/native/index.native225.js +1 -1
- package/dist/native/index.native3.js +1 -1
- package/dist/native/index.native67.js +97 -60
- package/dist/native/index.native9.js +1 -1
- package/dist/native/index.native90.js +2 -2
- package/dist/native-types/auth/authManager.d.ts +1 -1
- package/dist/native-types/version.d.ts +1 -1
- package/dist/types/auth/authManager.d.ts +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/web/index.web102.js +12 -12
- package/dist/web/index.web106.js +3 -3
- package/dist/web/index.web107.js +2 -31
- package/dist/web/index.web108.js +65 -28
- package/dist/web/index.web109.js +367 -2
- package/dist/web/index.web110.js +28 -65
- package/dist/web/index.web111.js +28 -364
- package/dist/web/index.web116.js +1 -1
- package/dist/web/index.web117.js +2 -2
- package/dist/web/index.web123.js +1 -1
- package/dist/web/index.web127.js +4 -17
- package/dist/web/index.web128.js +16 -44
- package/dist/web/index.web129.js +45 -13
- package/dist/web/index.web130.js +13 -55
- package/dist/web/index.web131.js +55 -6
- package/dist/web/index.web132.js +6 -21
- package/dist/web/index.web133.js +21 -3
- package/dist/web/index.web134.js +3 -3
- package/dist/web/index.web135.js +3 -34
- package/dist/web/index.web136.js +32 -10
- package/dist/web/index.web137.js +12 -4
- package/dist/web/index.web138.js +4 -28
- package/dist/web/index.web139.js +28 -6
- package/dist/web/index.web140.js +6 -42
- package/dist/web/index.web141.js +41 -54
- package/dist/web/index.web142.js +54 -126
- package/dist/web/index.web143.js +127 -23
- package/dist/web/index.web144.js +22 -11
- package/dist/web/index.web145.js +9 -101
- package/dist/web/index.web146.js +104 -6
- package/dist/web/index.web147.js +7 -3
- package/dist/web/index.web148.js +3 -15
- package/dist/web/index.web149.js +14 -34
- package/dist/web/index.web150.js +31 -75
- package/dist/web/index.web151.js +79 -2
- package/dist/web/index.web152.js +2 -2
- package/dist/web/index.web153.js +2 -38
- package/dist/web/index.web154.js +36 -5
- package/dist/web/index.web155.js +5 -33
- package/dist/web/index.web156.js +34 -8
- package/dist/web/index.web157.js +8 -10
- package/dist/web/index.web158.js +10 -11
- package/dist/web/index.web159.js +11 -13
- package/dist/web/index.web160.js +13 -18
- package/dist/web/index.web161.js +18 -5
- package/dist/web/index.web162.js +6 -5
- package/dist/web/index.web163.js +5 -11
- package/dist/web/index.web164.js +10 -4
- package/dist/web/index.web165.js +14 -103
- package/dist/web/index.web166.js +27 -77
- package/dist/web/index.web167.js +7 -79
- package/dist/web/index.web168.js +3 -14
- package/dist/web/index.web169.js +16 -16
- package/dist/web/index.web170.js +8 -7
- package/dist/web/index.web171.js +7 -3
- package/dist/web/index.web172.js +70 -18
- package/dist/web/index.web173.js +28 -8
- package/dist/web/index.web174.js +3 -7
- package/dist/web/index.web175.js +7 -72
- package/dist/web/index.web176.js +4 -28
- package/dist/web/index.web177.js +14 -3
- package/dist/web/index.web178.js +19 -15
- package/dist/web/index.web179.js +61 -4
- package/dist/web/index.web180.js +16 -13
- package/dist/web/index.web181.js +19 -15
- package/dist/web/index.web182.js +8 -61
- package/dist/web/index.web183.js +41 -16
- package/dist/web/index.web184.js +7 -23
- package/dist/web/index.web185.js +20 -8
- package/dist/web/index.web186.js +102 -41
- package/dist/web/index.web187.js +78 -7
- package/dist/web/index.web188.js +79 -20
- package/dist/web/index.web189.js +1 -1
- package/dist/web/index.web190.js +3 -3
- package/dist/web/index.web192.js +3 -3
- package/dist/web/index.web194.js +3 -3
- package/dist/web/index.web195.js +2 -8
- package/dist/web/index.web196.js +109 -2
- package/dist/web/index.web197.js +2 -378
- package/dist/web/index.web198.js +7 -835
- package/dist/web/index.web199.js +2 -39
- package/dist/web/index.web2.js +34 -29
- package/dist/web/index.web200.js +378 -2
- package/dist/web/index.web201.js +835 -69
- package/dist/web/index.web202.js +37 -33
- package/dist/web/index.web203.js +2 -21
- package/dist/web/index.web204.js +70 -2
- package/dist/web/index.web205.js +34 -20
- package/dist/web/index.web206.js +19 -18
- package/dist/web/index.web207.js +2 -33
- package/dist/web/index.web208.js +20 -6
- package/dist/web/index.web209.js +20 -2
- package/dist/web/index.web210.js +31 -107
- package/dist/web/index.web211.js +7 -2
- package/dist/web/index.web213.js +47 -2
- package/dist/web/index.web214.js +18 -2
- package/dist/web/index.web215.js +28 -2
- package/dist/web/index.web216.js +8 -18
- package/dist/web/index.web217.js +9 -26
- package/dist/web/index.web218.js +13 -8
- package/dist/web/index.web219.js +10 -11
- package/dist/web/index.web220.js +15 -11
- package/dist/web/index.web221.js +80 -9
- package/dist/web/index.web222.js +2 -17
- package/dist/web/index.web223.js +2 -81
- package/dist/web/index.web224.js +2 -47
- package/dist/web/index.web226.js +14 -78
- package/dist/web/index.web227.js +78 -14
- package/dist/web/index.web3.js +1 -1
- package/dist/web/index.web66.js +97 -60
- package/dist/web/index.web8.js +1 -1
- package/dist/web/index.web9.js +1 -1
- package/dist/web/index.web92.js +2 -2
- package/dist/web-types/auth/authManager.d.ts +1 -1
- package/dist/web-types/version.d.ts +1 -1
- package/package.json +2 -2
package/dist/web/index.web66.js
CHANGED
|
@@ -1,41 +1,43 @@
|
|
|
1
|
-
import { logOutEndUser as
|
|
1
|
+
import { logOutEndUser as f, refreshAccessToken as d, registerTemporaryWalletSecret as S } from "@coinbase/cdp-api-client";
|
|
2
|
+
import { Analytics as h } from "./index.web2.js";
|
|
3
|
+
import "./index.web3.js";
|
|
2
4
|
import "jose";
|
|
3
|
-
import { SignJWT as
|
|
4
|
-
import { toAuthState as
|
|
5
|
+
import { SignJWT as m } from "./index.web83.js";
|
|
6
|
+
import { toAuthState as w } from "./index.web80.js";
|
|
5
7
|
import "viem";
|
|
6
|
-
import { getPlatformCrypto as
|
|
7
|
-
import { sortKeys as
|
|
8
|
-
import { getCoreOAuthManager as
|
|
9
|
-
const
|
|
8
|
+
import { getPlatformCrypto as c } from "./index.web4.js";
|
|
9
|
+
import { sortKeys as y } from "./index.web84.js";
|
|
10
|
+
import { getCoreOAuthManager as p } from "./index.web55.js";
|
|
11
|
+
const l = 60 * 1e3, g = {
|
|
10
12
|
maxRetries: 3,
|
|
11
13
|
baseDelayMs: 1e3,
|
|
12
14
|
maxDelayMs: 1e4
|
|
13
15
|
};
|
|
14
|
-
function
|
|
15
|
-
const
|
|
16
|
-
return Math.min(
|
|
16
|
+
function k(s, e, t) {
|
|
17
|
+
const n = e * Math.pow(2, s), i = Math.random() * 0.3 * n;
|
|
18
|
+
return Math.min(n + i, t);
|
|
17
19
|
}
|
|
18
|
-
function T(
|
|
19
|
-
return new Promise((e) => setTimeout(e,
|
|
20
|
+
function T(s) {
|
|
21
|
+
return new Promise((e) => setTimeout(e, s));
|
|
20
22
|
}
|
|
21
|
-
function
|
|
22
|
-
if (
|
|
23
|
+
function R(s) {
|
|
24
|
+
if (s instanceof TypeError && s.message.includes("fetch"))
|
|
23
25
|
return !0;
|
|
24
|
-
if (
|
|
25
|
-
const e =
|
|
26
|
+
if (s && typeof s == "object" && "status" in s) {
|
|
27
|
+
const e = s.status;
|
|
26
28
|
if (e >= 500 && e < 600 || e === 408 || e === 429)
|
|
27
29
|
return !0;
|
|
28
30
|
if (e === 401)
|
|
29
31
|
return !1;
|
|
30
32
|
}
|
|
31
|
-
if (
|
|
32
|
-
const e =
|
|
33
|
+
if (s instanceof Error) {
|
|
34
|
+
const e = s.message.toLowerCase();
|
|
33
35
|
if (e.includes("network") || e.includes("timeout") || e.includes("econnrefused") || e.includes("enotfound") || e.includes("socket"))
|
|
34
36
|
return !0;
|
|
35
37
|
}
|
|
36
38
|
return !1;
|
|
37
39
|
}
|
|
38
|
-
class
|
|
40
|
+
class O {
|
|
39
41
|
projectId;
|
|
40
42
|
authState = null;
|
|
41
43
|
walletSecret = null;
|
|
@@ -67,7 +69,7 @@ class M {
|
|
|
67
69
|
async isSignedIn() {
|
|
68
70
|
if (!this.authState)
|
|
69
71
|
return !1;
|
|
70
|
-
if (this.authState.expiresAt > Date.now() +
|
|
72
|
+
if (this.authState.expiresAt > Date.now() + l)
|
|
71
73
|
return !0;
|
|
72
74
|
try {
|
|
73
75
|
return await this.getToken() !== null;
|
|
@@ -80,7 +82,7 @@ class M {
|
|
|
80
82
|
*/
|
|
81
83
|
async signOut() {
|
|
82
84
|
try {
|
|
83
|
-
await
|
|
85
|
+
await f(this.projectId);
|
|
84
86
|
} catch {
|
|
85
87
|
} finally {
|
|
86
88
|
await this.clearAuthState();
|
|
@@ -103,7 +105,7 @@ class M {
|
|
|
103
105
|
* @returns The access token.
|
|
104
106
|
*/
|
|
105
107
|
async getToken(e) {
|
|
106
|
-
return (e?.forceRefresh || this.shouldRefreshToken()) && await this.refreshAccessToken(), this.authState?.accessToken ?? null;
|
|
108
|
+
return (e?.forceRefresh || this.shouldRefreshToken()) && await this.refreshAccessToken(e?.forceRefresh ? "force" : "on_demand"), this.authState?.accessToken ?? null;
|
|
107
109
|
}
|
|
108
110
|
/**
|
|
109
111
|
* Gets the expiration time of the access token, or null if the user is not signed in.
|
|
@@ -137,14 +139,14 @@ class M {
|
|
|
137
139
|
if (!await this.isSignedIn())
|
|
138
140
|
throw new Error("Cannot get X-Wallet-Auth header if the user is not signed in");
|
|
139
141
|
this.shouldRefreshWalletSecret() && await this.refreshWalletSecret();
|
|
140
|
-
const
|
|
141
|
-
uris: [
|
|
142
|
+
const t = `${e.requestMethod} ${e.requestHost}${e.requestPath}`, n = Math.floor(Date.now() / 1e3), i = c(), r = {
|
|
143
|
+
uris: [t]
|
|
142
144
|
};
|
|
143
145
|
if (e.requestData && Object.keys(e.requestData).length > 0) {
|
|
144
|
-
const
|
|
145
|
-
|
|
146
|
+
const a = y(e.requestData);
|
|
147
|
+
r.reqHash = await i.hash(new TextEncoder().encode(JSON.stringify(a)));
|
|
146
148
|
}
|
|
147
|
-
return await new
|
|
149
|
+
return await new m(r).setProtectedHeader({ alg: "ES256", typ: "JWT" }).setIssuedAt(n).setNotBefore(n).setJti(i.generateRandomId()).sign(this.walletSecret.keyPair.privateKey);
|
|
148
150
|
}
|
|
149
151
|
/**
|
|
150
152
|
* Gets the authentication state.
|
|
@@ -160,13 +162,13 @@ class M {
|
|
|
160
162
|
* @param authState - The authentication state.
|
|
161
163
|
*/
|
|
162
164
|
async setAuthState(e) {
|
|
163
|
-
this.authState = e, this.authStateChangeCallbacks.forEach((
|
|
165
|
+
this.authState = e, h.endUserIdentifier = e.user.userId, this.authStateChangeCallbacks.forEach((t) => t(this.authState?.user ?? null)), this.scheduleTokenRefresh();
|
|
164
166
|
}
|
|
165
167
|
/**
|
|
166
168
|
* Clears the authentication state.
|
|
167
169
|
*/
|
|
168
170
|
async clearAuthState() {
|
|
169
|
-
this.authState = null, this.walletSecret = null, this.cancelTokenRefresh(), this.authStateChangeCallbacks.forEach((e) => e(null));
|
|
171
|
+
this.authState = null, this.walletSecret = null, h.endUserIdentifier = "", this.cancelTokenRefresh(), this.authStateChangeCallbacks.forEach((e) => e(null));
|
|
170
172
|
}
|
|
171
173
|
/**
|
|
172
174
|
* Ensures the AuthManager is initialized before proceeding.
|
|
@@ -184,7 +186,7 @@ class M {
|
|
|
184
186
|
*/
|
|
185
187
|
async _doInitialize() {
|
|
186
188
|
try {
|
|
187
|
-
await this.refreshAccessToken(), await
|
|
189
|
+
await this.refreshAccessToken("init"), await p().handleOAuthCode();
|
|
188
190
|
} catch (e) {
|
|
189
191
|
console.warn("Failed to refresh access token during initialization:", e);
|
|
190
192
|
}
|
|
@@ -195,7 +197,7 @@ class M {
|
|
|
195
197
|
* @returns True if the token should be refreshed, false otherwise.
|
|
196
198
|
*/
|
|
197
199
|
shouldRefreshToken() {
|
|
198
|
-
return !(this.authState && this.authState.expiresAt > Date.now() +
|
|
200
|
+
return !(this.authState && this.authState.expiresAt > Date.now() + l);
|
|
199
201
|
}
|
|
200
202
|
/**
|
|
201
203
|
* Refreshes the access token and transitions the auth state accordingly.
|
|
@@ -203,30 +205,62 @@ class M {
|
|
|
203
205
|
* Retries with exponential backoff on transient failures only. Unauthorized error
|
|
204
206
|
* short-circuit immediately since retrying won't help.
|
|
205
207
|
*
|
|
208
|
+
* @param trigger - The trigger for the refresh.
|
|
209
|
+
*
|
|
206
210
|
* @returns The new access token.
|
|
207
211
|
*/
|
|
208
|
-
async refreshAccessToken() {
|
|
209
|
-
const { maxRetries:
|
|
210
|
-
|
|
212
|
+
async refreshAccessToken(e = "on_demand") {
|
|
213
|
+
const { maxRetries: t, baseDelayMs: n, maxDelayMs: i } = g;
|
|
214
|
+
h.sendSessionRefreshEvent({
|
|
215
|
+
name: "refresh_token_start",
|
|
216
|
+
trigger: e
|
|
217
|
+
});
|
|
218
|
+
for (let r = 0; r <= t; r++)
|
|
211
219
|
try {
|
|
212
|
-
const
|
|
220
|
+
const a = await d(this.projectId, {
|
|
213
221
|
grantType: "refresh_token"
|
|
214
|
-
}),
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
222
|
+
}), o = w(
|
|
223
|
+
a.accessToken,
|
|
224
|
+
a.validUntil,
|
|
225
|
+
a.endUser
|
|
218
226
|
);
|
|
219
|
-
await this.setAuthState(
|
|
227
|
+
await this.setAuthState(o), h.sendSessionRefreshEvent({
|
|
228
|
+
name: "refresh_token_success",
|
|
229
|
+
trigger: e,
|
|
230
|
+
attempt: r
|
|
231
|
+
});
|
|
220
232
|
return;
|
|
221
|
-
} catch (
|
|
222
|
-
|
|
223
|
-
|
|
233
|
+
} catch (a) {
|
|
234
|
+
const o = a instanceof Error ? a.message : String(a);
|
|
235
|
+
if (!R(a)) {
|
|
236
|
+
h.sendSessionRefreshEvent({
|
|
237
|
+
name: "refresh_token_failure",
|
|
238
|
+
trigger: e,
|
|
239
|
+
attempt: r,
|
|
240
|
+
error_type: "non_transient",
|
|
241
|
+
error_message: o
|
|
242
|
+
}), await this.signOut();
|
|
224
243
|
return;
|
|
225
244
|
}
|
|
226
|
-
if (
|
|
245
|
+
if (r === t) {
|
|
246
|
+
h.sendSessionRefreshEvent({
|
|
247
|
+
name: "refresh_token_exhausted",
|
|
248
|
+
trigger: e,
|
|
249
|
+
attempt: r,
|
|
250
|
+
error_type: "transient",
|
|
251
|
+
error_message: o
|
|
252
|
+
});
|
|
227
253
|
return;
|
|
228
|
-
|
|
229
|
-
|
|
254
|
+
}
|
|
255
|
+
h.sendSessionRefreshEvent({
|
|
256
|
+
name: "refresh_token_retry",
|
|
257
|
+
trigger: e,
|
|
258
|
+
attempt: r,
|
|
259
|
+
error_type: "transient",
|
|
260
|
+
error_message: o
|
|
261
|
+
});
|
|
262
|
+
const u = k(r, n, i);
|
|
263
|
+
await T(u);
|
|
230
264
|
}
|
|
231
265
|
}
|
|
232
266
|
/**
|
|
@@ -236,10 +270,13 @@ class M {
|
|
|
236
270
|
scheduleTokenRefresh() {
|
|
237
271
|
if (this.cancelTokenRefresh(), !this.authState)
|
|
238
272
|
return;
|
|
239
|
-
const
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
273
|
+
const t = this.authState.expiresAt - l - Date.now();
|
|
274
|
+
t <= 0 || (h.sendSessionRefreshEvent({
|
|
275
|
+
name: "refresh_token_scheduled",
|
|
276
|
+
time_until_refresh_ms: t
|
|
277
|
+
}), this.refreshTimeout = setTimeout(async () => {
|
|
278
|
+
await this.refreshAccessToken("scheduled"), this.scheduleTokenRefresh();
|
|
279
|
+
}, t));
|
|
243
280
|
}
|
|
244
281
|
/**
|
|
245
282
|
* Cancels any scheduled token refresh.
|
|
@@ -253,7 +290,7 @@ class M {
|
|
|
253
290
|
* @returns True if the wallet secret should be refreshed, false otherwise.
|
|
254
291
|
*/
|
|
255
292
|
shouldRefreshWalletSecret() {
|
|
256
|
-
return !(this.walletSecret && this.walletSecret.expiresAt > Date.now() +
|
|
293
|
+
return !(this.walletSecret && this.walletSecret.expiresAt > Date.now() + l);
|
|
257
294
|
}
|
|
258
295
|
/**
|
|
259
296
|
* Refreshes the wallet secret. Assumes the user is signed in.
|
|
@@ -261,19 +298,19 @@ class M {
|
|
|
261
298
|
* @returns The wallet secret.
|
|
262
299
|
*/
|
|
263
300
|
async refreshWalletSecret() {
|
|
264
|
-
const e =
|
|
265
|
-
this.walletSecret = { walletSecretId:
|
|
301
|
+
const e = c(), t = this.walletSecret?.walletSecretId ?? e.generateRandomId(), n = this.walletSecret?.keyPair ?? await e.createKeyPair(), i = this.authState.expiresAt, r = new Date(i).toISOString();
|
|
302
|
+
this.walletSecret = { walletSecretId: t, keyPair: n, expiresAt: i };
|
|
266
303
|
try {
|
|
267
|
-
await
|
|
268
|
-
walletSecretId:
|
|
269
|
-
publicKey:
|
|
270
|
-
validUntil:
|
|
304
|
+
await S(this.projectId, this.authState.user.userId, {
|
|
305
|
+
walletSecretId: t,
|
|
306
|
+
publicKey: n.publicKeyBase64,
|
|
307
|
+
validUntil: r
|
|
271
308
|
});
|
|
272
|
-
} catch (
|
|
273
|
-
throw this.walletSecret = null,
|
|
309
|
+
} catch (a) {
|
|
310
|
+
throw this.walletSecret = null, a;
|
|
274
311
|
}
|
|
275
312
|
}
|
|
276
313
|
}
|
|
277
314
|
export {
|
|
278
|
-
|
|
315
|
+
O as AuthManager
|
|
279
316
|
};
|
package/dist/web/index.web8.js
CHANGED
package/dist/web/index.web9.js
CHANGED
|
@@ -11,7 +11,7 @@ import "viem";
|
|
|
11
11
|
const F = async (t) => {
|
|
12
12
|
if (!t.projectId)
|
|
13
13
|
throw new Error("Project ID is required");
|
|
14
|
-
t.disableAnalytics === void 0 || t.disableAnalytics === !1 ? (a.
|
|
14
|
+
t.disableAnalytics === void 0 || t.disableAnalytics === !1 ? (a.developerIdentifier = t.projectId, a.isUsingMocks = t.useMock === !0, a.isProduction = !t.basePath || t.basePath === "https://api.cdp.coinbase.com/platform") : a.enabled = !1;
|
|
15
15
|
let n;
|
|
16
16
|
try {
|
|
17
17
|
n = r().projectId !== t.projectId;
|
package/dist/web/index.web92.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DisconnectedError as l, from as d } from "./index.web106.js";
|
|
2
2
|
import { validateRequest as h, EIP1193ProviderError as m, STANDARD_ERROR_CODES as _ } from "./index.web72.js";
|
|
3
|
-
import { createEOAHandlers as p } from "./index.
|
|
4
|
-
import { createSmartAccountHandlers as g } from "./index.
|
|
3
|
+
import { createEOAHandlers as p } from "./index.web110.js";
|
|
4
|
+
import { createSmartAccountHandlers as g } from "./index.web111.js";
|
|
5
5
|
import "viem";
|
|
6
6
|
import "zustand";
|
|
7
7
|
import "@coinbase/cdp-api-client";
|
|
@@ -29,7 +29,7 @@ export declare class AuthManager implements IAuthManager {
|
|
|
29
29
|
ensureInitialized(): Promise<void>;
|
|
30
30
|
protected _doInitialize(): Promise<void>;
|
|
31
31
|
protected shouldRefreshToken(): boolean;
|
|
32
|
-
protected refreshAccessToken(): Promise<void>;
|
|
32
|
+
protected refreshAccessToken(trigger?: string): Promise<void>;
|
|
33
33
|
protected scheduleTokenRefresh(): void;
|
|
34
34
|
protected cancelTokenRefresh(): void;
|
|
35
35
|
private shouldRefreshWalletSecret;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const VERSION = "0.0.
|
|
1
|
+
export declare const VERSION = "0.0.88";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coinbase/cdp-core",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.88",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist/**",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"ox": "0.8.1",
|
|
30
30
|
"viem": "^2.33.0",
|
|
31
31
|
"zustand": "^5.0.6",
|
|
32
|
-
"@coinbase/cdp-api-client": "^0.0.
|
|
32
|
+
"@coinbase/cdp-api-client": "^0.0.88"
|
|
33
33
|
},
|
|
34
34
|
"peerDependencies": {
|
|
35
35
|
"@react-native-async-storage/async-storage": "^2.0.0",
|