@coinbase/cdp-hooks 0.0.45 → 0.0.47
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.js +37 -34
- package/dist/esm/index2.js +24 -21
- package/dist/esm/index3.js +100 -92
- package/dist/types/index.d.ts +16 -0
- package/package.json +3 -3
package/dist/esm/index.js
CHANGED
|
@@ -1,40 +1,43 @@
|
|
|
1
|
-
import { APIError as n } from "@coinbase/cdp-core";
|
|
2
|
-
import { CDPContext as
|
|
3
|
-
import { useConfig as
|
|
4
|
-
import { useCreateSpendPermission as
|
|
5
|
-
import { useListSpendPermissions as
|
|
6
|
-
import { useRevokeSpendPermission as
|
|
1
|
+
import { APIError as n, OAuth2ProviderType as r } from "@coinbase/cdp-core";
|
|
2
|
+
import { CDPContext as i, CDPHooksProvider as t } from "./index2.js";
|
|
3
|
+
import { useConfig as a, useCurrentUser as S, useEnforceAuthenticated as m, useEnforceUnauthenticated as d, useEvmAddress as p, useExportEvmAccount as c, useExportSolanaAccount as g, useGetAccessToken as E, useIsInitialized as f, useIsSignedIn as v, useOAuthState as A, useSendEvmTransaction as P, useSendSolanaTransaction as h, useSendUserOperation as x, useSignEvmHash as T, useSignEvmMessage as l, useSignEvmTransaction as I, useSignEvmTypedData as O, useSignInWithEmail as C, useSignInWithOAuth as y, useSignInWithSms as U, useSignOut as W, useSignSolanaMessage as k, useSignSolanaTransaction as D, useSolanaAddress as H, useVerifyEmailOTP as M, useVerifySmsOTP as V, useWaitForUserOperation as z } from "./index3.js";
|
|
4
|
+
import { useCreateSpendPermission as G } from "./index4.js";
|
|
5
|
+
import { useListSpendPermissions as R } from "./index5.js";
|
|
6
|
+
import { useRevokeSpendPermission as j } from "./index6.js";
|
|
7
7
|
export {
|
|
8
8
|
n as APIError,
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
S as
|
|
15
|
-
m as
|
|
16
|
-
d as
|
|
9
|
+
i as CDPContext,
|
|
10
|
+
t as CDPHooksProvider,
|
|
11
|
+
r as OAuth2ProviderType,
|
|
12
|
+
a as useConfig,
|
|
13
|
+
G as useCreateSpendPermission,
|
|
14
|
+
S as useCurrentUser,
|
|
15
|
+
m as useEnforceAuthenticated,
|
|
16
|
+
d as useEnforceUnauthenticated,
|
|
17
|
+
p as useEvmAddress,
|
|
17
18
|
c as useExportEvmAccount,
|
|
18
|
-
|
|
19
|
+
g as useExportSolanaAccount,
|
|
19
20
|
E as useGetAccessToken,
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
T as
|
|
29
|
-
|
|
30
|
-
I as
|
|
21
|
+
f as useIsInitialized,
|
|
22
|
+
v as useIsSignedIn,
|
|
23
|
+
R as useListSpendPermissions,
|
|
24
|
+
A as useOAuthState,
|
|
25
|
+
j as useRevokeSpendPermission,
|
|
26
|
+
P as useSendEvmTransaction,
|
|
27
|
+
h as useSendSolanaTransaction,
|
|
28
|
+
x as useSendUserOperation,
|
|
29
|
+
T as useSignEvmHash,
|
|
30
|
+
l as useSignEvmMessage,
|
|
31
|
+
I as useSignEvmTransaction,
|
|
32
|
+
O as useSignEvmTypedData,
|
|
31
33
|
C as useSignInWithEmail,
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
k as
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
34
|
+
y as useSignInWithOAuth,
|
|
35
|
+
U as useSignInWithSms,
|
|
36
|
+
W as useSignOut,
|
|
37
|
+
k as useSignSolanaMessage,
|
|
38
|
+
D as useSignSolanaTransaction,
|
|
39
|
+
H as useSolanaAddress,
|
|
40
|
+
M as useVerifyEmailOTP,
|
|
41
|
+
V as useVerifySmsOTP,
|
|
42
|
+
z as useWaitForUserOperation
|
|
40
43
|
};
|
package/dist/esm/index2.js
CHANGED
|
@@ -1,35 +1,38 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { initialize as
|
|
3
|
-
import { createContext as
|
|
4
|
-
const
|
|
5
|
-
function
|
|
6
|
-
const [n,
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
await
|
|
10
|
-
|
|
11
|
-
}),
|
|
12
|
-
})()
|
|
1
|
+
import { jsx as h } from "react/jsx-runtime";
|
|
2
|
+
import { onOAuthStateChange as m, initialize as P, onAuthStateChange as d } from "@coinbase/cdp-core";
|
|
3
|
+
import { createContext as f, useState as s, useEffect as x, useMemo as S, useContext as A } from "react";
|
|
4
|
+
const a = f(null);
|
|
5
|
+
function I({ children: t, config: e }) {
|
|
6
|
+
const [n, c] = s(null), [r, i] = s(!1), [u, l] = s(null);
|
|
7
|
+
x(() => {
|
|
8
|
+
i(!1), (async () => {
|
|
9
|
+
await P(e), d((o) => {
|
|
10
|
+
c(o);
|
|
11
|
+
}), i(!0);
|
|
12
|
+
})(), m((o) => {
|
|
13
|
+
l(o);
|
|
14
|
+
});
|
|
13
15
|
}, [e]);
|
|
14
|
-
const
|
|
16
|
+
const C = S(
|
|
15
17
|
() => ({
|
|
16
18
|
isInitialized: r,
|
|
17
19
|
currentUser: n,
|
|
18
20
|
isSignedIn: !!n,
|
|
19
|
-
config: e
|
|
21
|
+
config: e,
|
|
22
|
+
oauthState: u
|
|
20
23
|
}),
|
|
21
|
-
[n, r, e]
|
|
24
|
+
[n, r, e, u]
|
|
22
25
|
);
|
|
23
|
-
return /* @__PURE__ */
|
|
26
|
+
return /* @__PURE__ */ h(a.Provider, { value: C, children: t });
|
|
24
27
|
}
|
|
25
|
-
function
|
|
26
|
-
const t =
|
|
28
|
+
function y() {
|
|
29
|
+
const t = A(a);
|
|
27
30
|
if (!t)
|
|
28
31
|
throw new Error("useCDP must be used within a CDPHooksProvider");
|
|
29
32
|
return t;
|
|
30
33
|
}
|
|
31
34
|
export {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
+
a as CDPContext,
|
|
36
|
+
I as CDPHooksProvider,
|
|
37
|
+
y as useCDP
|
|
35
38
|
};
|
package/dist/esm/index3.js
CHANGED
|
@@ -1,156 +1,164 @@
|
|
|
1
|
-
import { getAccessToken as A, sendUserOperation as
|
|
2
|
-
import { useState as
|
|
3
|
-
import { useCDP as
|
|
4
|
-
import { useAutoPolling as
|
|
5
|
-
import { getPublicClient as
|
|
6
|
-
const
|
|
7
|
-
const { config: n } =
|
|
1
|
+
import { getAccessToken as A, sendUserOperation as O, signInWithEmail as y, signInWithSms as I, verifyEmailOTP as U, verifySmsOTP as W, signInWithOAuth as P, signOut as x, signEvmHash as M, signEvmTransaction as k, sendEvmTransaction as C, signEvmMessage as H, signSolanaMessage as b, signEvmTypedData as D, exportEvmAccount as V, exportSolanaAccount as F, signSolanaTransaction as z, sendSolanaTransaction as G, getUserOperation as j } from "@coinbase/cdp-core";
|
|
2
|
+
import { useState as p, useEffect as v, useMemo as q, useCallback as f } from "react";
|
|
3
|
+
import { useCDP as u } from "./index2.js";
|
|
4
|
+
import { useAutoPolling as B } from "./index7.js";
|
|
5
|
+
import { getPublicClient as J } from "./index8.js";
|
|
6
|
+
const _ = () => {
|
|
7
|
+
const { config: n } = u();
|
|
8
8
|
return { config: n };
|
|
9
|
-
},
|
|
10
|
-
const { isInitialized: n } =
|
|
9
|
+
}, $ = () => {
|
|
10
|
+
const { isInitialized: n } = u();
|
|
11
11
|
return { isInitialized: n };
|
|
12
|
-
},
|
|
13
|
-
const {
|
|
12
|
+
}, R = () => ({ signInWithEmail: m(y) }), nn = () => ({ signInWithSms: m(I) }), tn = () => ({ verifyEmailOTP: m(U) }), en = () => ({ verifySmsOTP: m(W) }), sn = () => {
|
|
13
|
+
const n = m(P), { oauthState: t } = K();
|
|
14
|
+
return { signInWithOAuth: n, oauthState: t };
|
|
15
|
+
}, K = () => {
|
|
16
|
+
const { oauthState: n } = u();
|
|
17
|
+
return { oauthState: n };
|
|
18
|
+
}, rn = () => {
|
|
19
|
+
const { isSignedIn: n } = u();
|
|
14
20
|
return { isSignedIn: n };
|
|
15
21
|
}, w = () => {
|
|
16
|
-
const { currentUser: n } =
|
|
22
|
+
const { currentUser: n } = u();
|
|
17
23
|
return { currentUser: n };
|
|
18
|
-
},
|
|
24
|
+
}, an = () => ({ signOut: i(x) }), on = () => ({ getAccessToken: A }), cn = () => {
|
|
19
25
|
const { currentUser: n } = w();
|
|
20
26
|
return {
|
|
21
27
|
evmAddress: n?.evmSmartAccounts?.[0] ?? n?.evmAccounts?.[0] ?? null
|
|
22
28
|
};
|
|
23
|
-
},
|
|
29
|
+
}, un = () => {
|
|
24
30
|
const { currentUser: n } = w();
|
|
25
31
|
return {
|
|
26
32
|
solanaAddress: n?.solanaAccounts?.[0] ?? null
|
|
27
33
|
};
|
|
28
|
-
},
|
|
29
|
-
const [n,
|
|
30
|
-
async (
|
|
31
|
-
const o = await C(
|
|
32
|
-
return
|
|
34
|
+
}, pn = () => ({ signEvmHash: i(M) }), dn = () => ({ signEvmTransaction: i(k) }), ln = () => {
|
|
35
|
+
const [n, t] = p(null), [r, s] = p(null), [c, S] = p(null), { config: a } = u(), d = i(
|
|
36
|
+
async (g) => {
|
|
37
|
+
const o = await C(g);
|
|
38
|
+
return t({ hash: o.transactionHash, network: g.network }), S(null), s(null), o;
|
|
33
39
|
}
|
|
34
40
|
);
|
|
35
|
-
|
|
41
|
+
v(() => {
|
|
36
42
|
if (!n) return;
|
|
37
43
|
(async () => {
|
|
38
44
|
try {
|
|
39
|
-
const E = await
|
|
45
|
+
const E = await J(n.network, a).waitForTransactionReceipt({
|
|
40
46
|
hash: n.hash
|
|
41
47
|
});
|
|
42
|
-
|
|
48
|
+
s(E);
|
|
43
49
|
} catch (o) {
|
|
44
50
|
S(o instanceof Error ? o : new Error(String(o)));
|
|
45
51
|
}
|
|
46
52
|
})();
|
|
47
53
|
}, [n]);
|
|
48
|
-
const l =
|
|
54
|
+
const l = q(() => n ? r ? { status: "success", receipt: r } : c ? { status: "error", error: c } : { status: "pending", hash: n.hash } : { status: "idle" }, [n, r, c]);
|
|
49
55
|
return {
|
|
50
56
|
sendEvmTransaction: d,
|
|
51
57
|
data: l
|
|
52
58
|
};
|
|
53
|
-
},
|
|
54
|
-
sendSolanaTransaction: i(
|
|
59
|
+
}, Sn = () => ({ signEvmMessage: i(H) }), gn = () => ({ signSolanaMessage: i(b) }), mn = () => ({ signEvmTypedData: i(D) }), En = () => ({ exportEvmAccount: i(V) }), wn = () => ({ exportSolanaAccount: i(F) }), hn = () => ({ signSolanaTransaction: i(z) }), vn = () => ({
|
|
60
|
+
sendSolanaTransaction: i(G)
|
|
55
61
|
}), i = (n) => {
|
|
56
|
-
const { isSignedIn:
|
|
57
|
-
return
|
|
58
|
-
async (...
|
|
59
|
-
if (!
|
|
62
|
+
const { isSignedIn: t } = u();
|
|
63
|
+
return f(
|
|
64
|
+
async (...s) => {
|
|
65
|
+
if (!t)
|
|
60
66
|
throw new Error("User is not authenticated");
|
|
61
|
-
return n(...
|
|
67
|
+
return n(...s);
|
|
62
68
|
},
|
|
63
|
-
[
|
|
69
|
+
[t, n]
|
|
64
70
|
);
|
|
65
|
-
},
|
|
66
|
-
const { isSignedIn:
|
|
67
|
-
return
|
|
68
|
-
async (...
|
|
69
|
-
if (
|
|
71
|
+
}, m = (n) => {
|
|
72
|
+
const { isSignedIn: t } = u();
|
|
73
|
+
return f(
|
|
74
|
+
async (...s) => {
|
|
75
|
+
if (t)
|
|
70
76
|
throw new Error("User is already authenticated. Please sign out first.");
|
|
71
|
-
return n(...
|
|
77
|
+
return n(...s);
|
|
72
78
|
},
|
|
73
|
-
[
|
|
79
|
+
[t, n]
|
|
74
80
|
);
|
|
75
|
-
},
|
|
76
|
-
const [n,
|
|
81
|
+
}, fn = () => {
|
|
82
|
+
const [n, t] = p(void 0), { status: r, data: s, error: c } = L(n);
|
|
77
83
|
return {
|
|
78
84
|
sendUserOperation: i(
|
|
79
85
|
async (a) => {
|
|
80
|
-
const d = await
|
|
81
|
-
return
|
|
86
|
+
const d = await O(a);
|
|
87
|
+
return t({
|
|
82
88
|
userOperationHash: d.userOperationHash,
|
|
83
89
|
evmSmartAccount: a.evmSmartAccount,
|
|
84
90
|
network: a.network
|
|
85
91
|
}), d;
|
|
86
92
|
}
|
|
87
93
|
),
|
|
88
|
-
data:
|
|
94
|
+
data: s,
|
|
89
95
|
error: c,
|
|
90
|
-
status:
|
|
96
|
+
status: r
|
|
91
97
|
};
|
|
92
|
-
},
|
|
93
|
-
const { userOperationHash:
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
}, [
|
|
97
|
-
const
|
|
98
|
-
return
|
|
98
|
+
}, L = (n = {}) => {
|
|
99
|
+
const { userOperationHash: t, evmSmartAccount: r, network: s, enabled: c } = n, [S, a] = p("idle"), [d, l] = p(void 0), [g, o] = p(void 0), { currentUser: E } = w();
|
|
100
|
+
v(() => {
|
|
101
|
+
t && r && s && (a(c !== !1 ? "pending" : "idle"), l(void 0), o(void 0));
|
|
102
|
+
}, [t, r, s, c]);
|
|
103
|
+
const h = c !== !1 && !!(t && r && s && E);
|
|
104
|
+
return B(
|
|
99
105
|
{
|
|
100
106
|
pollFn: async () => {
|
|
101
|
-
const
|
|
102
|
-
userOperationHash:
|
|
103
|
-
evmSmartAccount:
|
|
104
|
-
network:
|
|
107
|
+
const e = await j({
|
|
108
|
+
userOperationHash: t,
|
|
109
|
+
evmSmartAccount: r,
|
|
110
|
+
network: s
|
|
105
111
|
});
|
|
106
|
-
return l(
|
|
112
|
+
return l(e), e;
|
|
107
113
|
},
|
|
108
|
-
shouldStop: (
|
|
109
|
-
enabled:
|
|
110
|
-
onSuccess: (
|
|
111
|
-
if (
|
|
112
|
-
l(
|
|
113
|
-
else if (
|
|
114
|
-
const T =
|
|
114
|
+
shouldStop: (e) => e.status === "complete" || e.status === "dropped" || e.status === "failed",
|
|
115
|
+
enabled: h,
|
|
116
|
+
onSuccess: (e) => {
|
|
117
|
+
if (e.status === "complete")
|
|
118
|
+
l(e), a("success");
|
|
119
|
+
else if (e.status === "failed") {
|
|
120
|
+
const T = e.receipts?.[0]?.revert?.message || "User operation failed";
|
|
115
121
|
o(new Error(T)), a("error");
|
|
116
|
-
} else
|
|
122
|
+
} else e.status === "dropped" ? (o(new Error('User operation failed with status: "dropped"')), a("error")) : (l(e), a("error"));
|
|
117
123
|
},
|
|
118
|
-
onError: (
|
|
119
|
-
o(
|
|
124
|
+
onError: (e) => {
|
|
125
|
+
o(e), a("error");
|
|
120
126
|
}
|
|
121
127
|
},
|
|
122
|
-
[
|
|
128
|
+
[t, r, s, h]
|
|
123
129
|
), {
|
|
124
130
|
status: S,
|
|
125
131
|
data: d,
|
|
126
|
-
error:
|
|
132
|
+
error: g
|
|
127
133
|
};
|
|
128
134
|
};
|
|
129
135
|
export {
|
|
130
|
-
|
|
136
|
+
_ as useConfig,
|
|
131
137
|
w as useCurrentUser,
|
|
132
138
|
i as useEnforceAuthenticated,
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
pn as
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
139
|
+
m as useEnforceUnauthenticated,
|
|
140
|
+
cn as useEvmAddress,
|
|
141
|
+
En as useExportEvmAccount,
|
|
142
|
+
wn as useExportSolanaAccount,
|
|
143
|
+
on as useGetAccessToken,
|
|
144
|
+
$ as useIsInitialized,
|
|
145
|
+
rn as useIsSignedIn,
|
|
146
|
+
K as useOAuthState,
|
|
147
|
+
ln as useSendEvmTransaction,
|
|
148
|
+
vn as useSendSolanaTransaction,
|
|
149
|
+
fn as useSendUserOperation,
|
|
150
|
+
pn as useSignEvmHash,
|
|
151
|
+
Sn as useSignEvmMessage,
|
|
152
|
+
dn as useSignEvmTransaction,
|
|
153
|
+
mn as useSignEvmTypedData,
|
|
154
|
+
R as useSignInWithEmail,
|
|
155
|
+
sn as useSignInWithOAuth,
|
|
156
|
+
nn as useSignInWithSms,
|
|
157
|
+
an as useSignOut,
|
|
158
|
+
gn as useSignSolanaMessage,
|
|
159
|
+
hn as useSignSolanaTransaction,
|
|
160
|
+
un as useSolanaAddress,
|
|
161
|
+
tn as useVerifyEmailOTP,
|
|
162
|
+
en as useVerifySmsOTP,
|
|
163
|
+
L as useWaitForUserOperation
|
|
156
164
|
};
|
package/dist/types/index.d.ts
CHANGED
|
@@ -18,6 +18,8 @@ import { Hex } from '@coinbase/cdp-core';
|
|
|
18
18
|
import { JSX } from 'react/jsx-runtime';
|
|
19
19
|
import { ListSpendPermissionsOptions } from '@coinbase/cdp-core';
|
|
20
20
|
import { ListSpendPermissionsResult } from '@coinbase/cdp-core';
|
|
21
|
+
import { OAuth2ProviderType } from '@coinbase/cdp-core';
|
|
22
|
+
import { OAuthFlowState } from '@coinbase/cdp-core';
|
|
21
23
|
import { ReactNode } from 'react';
|
|
22
24
|
import { RevokeSpendPermissionOptions as RevokeSpendPermissionOptions_2 } from '@coinbase/cdp-core';
|
|
23
25
|
import { RevokeSpendPermissionResult } from '@coinbase/cdp-core';
|
|
@@ -67,6 +69,7 @@ export declare interface CDPContextValue {
|
|
|
67
69
|
currentUser: User | null;
|
|
68
70
|
isSignedIn: boolean;
|
|
69
71
|
config: Config;
|
|
72
|
+
oauthState: OAuthFlowState | null;
|
|
70
73
|
}
|
|
71
74
|
|
|
72
75
|
export declare function CDPHooksProvider({ children, config }: CDPHooksProviderProps): JSX.Element;
|
|
@@ -100,6 +103,10 @@ export { GetUserOperationResult }
|
|
|
100
103
|
|
|
101
104
|
export { Hex }
|
|
102
105
|
|
|
106
|
+
export { OAuth2ProviderType }
|
|
107
|
+
|
|
108
|
+
export { OAuthFlowState }
|
|
109
|
+
|
|
103
110
|
export declare type RevokeSpendPermissionOptions = Omit<RevokeSpendPermissionOptions_2, "evmSmartAccount"> & {
|
|
104
111
|
evmSmartAccount?: EvmAddress;
|
|
105
112
|
};
|
|
@@ -213,6 +220,10 @@ export declare type UseListSpendPermissionsReturnType = {
|
|
|
213
220
|
refetch: () => void;
|
|
214
221
|
};
|
|
215
222
|
|
|
223
|
+
export declare const useOAuthState: () => {
|
|
224
|
+
oauthState: OAuthFlowState | null;
|
|
225
|
+
};
|
|
226
|
+
|
|
216
227
|
export { User }
|
|
217
228
|
|
|
218
229
|
export declare const useRevokeSpendPermission: () => UseRevokeSpendPermissionReturnType;
|
|
@@ -262,6 +273,11 @@ export declare const useSignInWithEmail: () => {
|
|
|
262
273
|
signInWithEmail: (options: SignInWithEmailOptions) => Promise<SignInWithEmailResult>;
|
|
263
274
|
};
|
|
264
275
|
|
|
276
|
+
export declare const useSignInWithOAuth: () => {
|
|
277
|
+
signInWithOAuth: (providerType: OAuth2ProviderType) => Promise<void>;
|
|
278
|
+
oauthState: OAuthFlowState | null;
|
|
279
|
+
};
|
|
280
|
+
|
|
265
281
|
export declare const useSignInWithSms: () => {
|
|
266
282
|
signInWithSms: (options: SignInWithSmsOptions) => Promise<SignInWithSmsResult>;
|
|
267
283
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coinbase/cdp-hooks",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.47",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist/**",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
},
|
|
16
16
|
"peerDependencies": {
|
|
17
17
|
"react": ">=18.2.0",
|
|
18
|
-
"@coinbase/cdp-core": "^0.0.
|
|
18
|
+
"@coinbase/cdp-core": "^0.0.47"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
21
|
"@testing-library/jest-dom": "^6.6.3",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"@size-limit/webpack": "^11.2.0",
|
|
31
31
|
"@size-limit/webpack-why": "^11.2.0",
|
|
32
32
|
"size-limit": "^11.2.0",
|
|
33
|
-
"@coinbase/cdp-core": "^0.0.
|
|
33
|
+
"@coinbase/cdp-core": "^0.0.47"
|
|
34
34
|
},
|
|
35
35
|
"size-limit": [
|
|
36
36
|
{
|