@coinbase/cdp-core 0.0.0 → 0.0.5
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 +255 -0
- package/dist/esm/index.js +21 -0
- package/dist/esm/index10.js +119 -0
- package/dist/esm/index100.js +19 -0
- package/dist/esm/index101.js +83 -0
- package/dist/esm/index102.js +81 -0
- package/dist/esm/index11.js +8 -0
- package/dist/esm/index12.js +18 -0
- package/dist/esm/index13.js +174 -0
- package/dist/esm/index14.js +162 -0
- package/dist/esm/index15.js +50 -0
- package/dist/esm/index16.js +149 -0
- package/dist/esm/index17.js +58 -0
- package/dist/esm/index18.js +43 -0
- package/dist/esm/index19.js +19 -0
- package/dist/esm/index2.js +172 -0
- package/dist/esm/index20.js +7 -0
- package/dist/esm/index21.js +7 -0
- package/dist/esm/index22.js +11 -0
- package/dist/esm/index23.js +20 -0
- package/dist/esm/index24.js +48 -0
- package/dist/esm/index25.js +16 -0
- package/dist/esm/index26.js +58 -0
- package/dist/esm/index27.js +9 -0
- package/dist/esm/index28.js +24 -0
- package/dist/esm/index29.js +14 -0
- package/dist/esm/index3.js +109 -0
- package/dist/esm/index30.js +6 -0
- package/dist/esm/index31.js +6 -0
- package/dist/esm/index32.js +37 -0
- package/dist/esm/index33.js +15 -0
- package/dist/esm/index34.js +7 -0
- package/dist/esm/index35.js +31 -0
- package/dist/esm/index36.js +9 -0
- package/dist/esm/index37.js +27 -0
- package/dist/esm/index38.js +19 -0
- package/dist/esm/index39.js +57 -0
- package/dist/esm/index4.js +126 -0
- package/dist/esm/index40.js +26 -0
- package/dist/esm/index41.js +14 -0
- package/dist/esm/index42.js +30 -0
- package/dist/esm/index43.js +45 -0
- package/dist/esm/index44.js +58 -0
- package/dist/esm/index45.js +130 -0
- package/dist/esm/index46.js +15 -0
- package/dist/esm/index47.js +107 -0
- package/dist/esm/index48.js +9 -0
- package/dist/esm/index49.js +5 -0
- package/dist/esm/index5.js +194 -0
- package/dist/esm/index50.js +17 -0
- package/dist/esm/index51.js +45 -0
- package/dist/esm/index52.js +81 -0
- package/dist/esm/index53.js +4 -0
- package/dist/esm/index54.js +4 -0
- package/dist/esm/index55.js +15 -0
- package/dist/esm/index56.js +40 -0
- package/dist/esm/index57.js +9 -0
- package/dist/esm/index58.js +37 -0
- package/dist/esm/index59.js +11 -0
- package/dist/esm/index6.js +14 -0
- package/dist/esm/index60.js +13 -0
- package/dist/esm/index61.js +14 -0
- package/dist/esm/index62.js +16 -0
- package/dist/esm/index63.js +21 -0
- package/dist/esm/index64.js +8 -0
- package/dist/esm/index65.js +7 -0
- package/dist/esm/index66.js +13 -0
- package/dist/esm/index67.js +19 -0
- package/dist/esm/index68.js +25 -0
- package/dist/esm/index69.js +53 -0
- package/dist/esm/index7.js +14 -0
- package/dist/esm/index70.js +4 -0
- package/dist/esm/index71.js +23 -0
- package/dist/esm/index72.js +22 -0
- package/dist/esm/index73.js +82 -0
- package/dist/esm/index74.js +106 -0
- package/dist/esm/index75.js +35 -0
- package/dist/esm/index76.js +9 -0
- package/dist/esm/index77.js +12 -0
- package/dist/esm/index78.js +57 -0
- package/dist/esm/index79.js +13 -0
- package/dist/esm/index8.js +23 -0
- package/dist/esm/index80.js +4 -0
- package/dist/esm/index81.js +47 -0
- package/dist/esm/index82.js +16 -0
- package/dist/esm/index83.js +81 -0
- package/dist/esm/index84.js +7 -0
- package/dist/esm/index85.js +15 -0
- package/dist/esm/index86.js +38 -0
- package/dist/esm/index87.js +44 -0
- package/dist/esm/index88.js +23 -0
- package/dist/esm/index89.js +12 -0
- package/dist/esm/index9.js +17 -0
- package/dist/esm/index90.js +22 -0
- package/dist/esm/index91.js +96 -0
- package/dist/esm/index92.js +23 -0
- package/dist/esm/index93.js +120 -0
- package/dist/esm/index94.js +20 -0
- package/dist/esm/index95.js +30 -0
- package/dist/esm/index96.js +10 -0
- package/dist/esm/index97.js +13 -0
- package/dist/esm/index98.js +15 -0
- package/dist/esm/index99.js +12 -0
- package/dist/types/index.d.ts +287 -0
- package/package.json +69 -6
- package/index.js +0 -1
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
import { Chain } from 'viem/chains';
|
|
2
|
+
import { Chain as Chain_2 } from 'viem';
|
|
3
|
+
import { Mutate } from 'zustand';
|
|
4
|
+
import { Provider } from 'ox';
|
|
5
|
+
import { SendEvmTransactionWithEndUserAccountBodyNetwork } from '@coinbase/cdp-api-client';
|
|
6
|
+
import { StoreApi } from 'zustand';
|
|
7
|
+
import { TransactionSerializableEIP1559 } from 'viem';
|
|
8
|
+
import { Transport } from 'viem';
|
|
9
|
+
|
|
10
|
+
export declare type AccountsRequest = {
|
|
11
|
+
method: "eth_accounts";
|
|
12
|
+
params: [];
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export declare type AllowedEvmTransactionType = TransactionSerializableEIP1559;
|
|
16
|
+
|
|
17
|
+
export declare type CDPEmbeddedWallet = {
|
|
18
|
+
provider: EIP1193Provider;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export declare type CDPEmbeddedWalletConfig<chains extends readonly [Chain_2, ...Chain_2[]] = readonly [Chain_2, ...Chain_2[]]> = {
|
|
22
|
+
chains: chains;
|
|
23
|
+
transports: Record<chains[number]["id"], Transport>;
|
|
24
|
+
announceProvider?: boolean;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
export declare type ChainIdRequest = {
|
|
28
|
+
method: "eth_chainId";
|
|
29
|
+
params: [];
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
export declare type Config = {
|
|
33
|
+
projectId: string;
|
|
34
|
+
useMock?: boolean;
|
|
35
|
+
debugging?: boolean;
|
|
36
|
+
basePath?: string;
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
export declare function createCDPEmbeddedWallet<chains extends readonly [Chain, ...Chain[]]>(_parameters: CDPEmbeddedWalletConfig<chains>): CDPEmbeddedWallet;
|
|
40
|
+
|
|
41
|
+
export declare type EIP1193ErrorCode = (typeof STANDARD_ERROR_CODES)["provider"][keyof (typeof STANDARD_ERROR_CODES)["provider"]];
|
|
42
|
+
|
|
43
|
+
export declare type EIP1193Provider = Provider.Provider;
|
|
44
|
+
|
|
45
|
+
export declare class EIP1193ProviderError extends Error {
|
|
46
|
+
code: EIP1193ErrorCode;
|
|
47
|
+
constructor(code: EIP1193ErrorCode, message: string);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export declare type EIP1193RequestFunctionType = Provider.Provider;
|
|
51
|
+
|
|
52
|
+
export declare interface EIP712Domain {
|
|
53
|
+
name?: string;
|
|
54
|
+
version?: string;
|
|
55
|
+
chainId?: number;
|
|
56
|
+
salt?: string;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export declare type EIP712Message = {
|
|
60
|
+
[key: string]: unknown;
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
export declare interface EIP712TypedData {
|
|
64
|
+
domain: EIP712Domain;
|
|
65
|
+
types: EIP712Types;
|
|
66
|
+
primaryType: string;
|
|
67
|
+
message: EIP712Message;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export declare interface EIP712Types {
|
|
71
|
+
[key: string]: unknown;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export declare type EthSignRequest = {
|
|
75
|
+
method: "eth_sign";
|
|
76
|
+
params: [Hex, EvmAddress];
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
export declare type EvmAddress = `0x${string}`;
|
|
80
|
+
|
|
81
|
+
export declare type ExactPartial<T> = {
|
|
82
|
+
[P in keyof T]?: T[P] extends object ? ExactPartial<T[P]> : T[P];
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
export declare const exportEvmAccount: (options: ExportEvmAccountOptions) => Promise<ExportEvmAccountResult>;
|
|
86
|
+
|
|
87
|
+
export declare type ExportEvmAccountOptions = {
|
|
88
|
+
evmAccount: EvmAddress;
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
export declare type ExportEvmAccountResult = {
|
|
92
|
+
privateKey: string;
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
export declare const getCurrentUser: () => Promise<User | null>;
|
|
96
|
+
|
|
97
|
+
export declare type Hex = `0x${string}`;
|
|
98
|
+
|
|
99
|
+
export declare const initialize: (cfg: Config) => Promise<void>;
|
|
100
|
+
|
|
101
|
+
export declare const isSignedIn: () => Promise<boolean>;
|
|
102
|
+
|
|
103
|
+
export declare const onAuthStateChange: (callback: OnAuthStateChangeFn) => void;
|
|
104
|
+
|
|
105
|
+
export declare type OnAuthStateChangeFn = (user: User | null) => void;
|
|
106
|
+
|
|
107
|
+
export declare type PersonalSignRequest = {
|
|
108
|
+
method: "personal_sign";
|
|
109
|
+
params: [`0x${string}`, `0x${string}`];
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
export declare type ProviderRequest = AccountsRequest | RequestAccountsRequest | PersonalSignRequest | SendTransactionRequest | SignTypedDataRequest | EthSignRequest | ChainIdRequest | WalletDisconnectRequest | SwitchEthereumChainRequest;
|
|
113
|
+
|
|
114
|
+
export declare type ProviderState = {
|
|
115
|
+
chainId: number;
|
|
116
|
+
setChainId: (chainId: number) => void;
|
|
117
|
+
chains: readonly [Chain_2, ...Chain_2[]];
|
|
118
|
+
user: User | null;
|
|
119
|
+
setUser: (user: User | null) => void;
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
export declare type ProviderStoreInstance = Mutate<StoreApi<ProviderState>, [
|
|
123
|
+
["zustand/subscribeWithSelector", never],
|
|
124
|
+
["zustand/persist", ProviderState]
|
|
125
|
+
]>;
|
|
126
|
+
|
|
127
|
+
export declare type RequestAccountsRequest = {
|
|
128
|
+
method: "eth_requestAccounts";
|
|
129
|
+
params: [];
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
export declare type RPCErrorCode = (typeof STANDARD_ERROR_CODES)["rpc"][keyof (typeof STANDARD_ERROR_CODES)["rpc"]];
|
|
133
|
+
|
|
134
|
+
export declare const sendEvmTransaction: (options: SendEvmTransactionOptions) => Promise<SendEvmTransactionResult>;
|
|
135
|
+
|
|
136
|
+
export declare type SendEvmTransactionOptions = {
|
|
137
|
+
evmAccount: EvmAddress;
|
|
138
|
+
network: SendEvmTransactionWithEndUserAccountBodyNetwork;
|
|
139
|
+
transaction: AllowedEvmTransactionType;
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
export declare type SendEvmTransactionResult = {
|
|
143
|
+
transactionHash: Hex;
|
|
144
|
+
};
|
|
145
|
+
|
|
146
|
+
export declare type SendTransactionRequest = {
|
|
147
|
+
method: "eth_sendTransaction";
|
|
148
|
+
params: SendTransactionRequestParams;
|
|
149
|
+
};
|
|
150
|
+
|
|
151
|
+
export declare type SendTransactionRequestParams = [
|
|
152
|
+
{
|
|
153
|
+
chainId?: `0x${string}`;
|
|
154
|
+
data?: Hex;
|
|
155
|
+
from: EvmAddress;
|
|
156
|
+
to: EvmAddress;
|
|
157
|
+
value: Hex;
|
|
158
|
+
nonce?: Hex;
|
|
159
|
+
gas?: Hex;
|
|
160
|
+
maxFeePerGas?: Hex;
|
|
161
|
+
maxPriorityFeePerGas?: Hex;
|
|
162
|
+
type?: "eip1559";
|
|
163
|
+
}
|
|
164
|
+
];
|
|
165
|
+
|
|
166
|
+
export declare const signEvmHash: (options: SignEvmHashOptions) => Promise<SignEvmHashResult>;
|
|
167
|
+
|
|
168
|
+
export declare type SignEvmHashOptions = {
|
|
169
|
+
evmAccount: EvmAddress;
|
|
170
|
+
hash: Hex;
|
|
171
|
+
};
|
|
172
|
+
|
|
173
|
+
export declare type SignEvmHashResult = {
|
|
174
|
+
signature: Hex;
|
|
175
|
+
};
|
|
176
|
+
|
|
177
|
+
export declare const signEvmMessage: (options: SignEvmMessageOptions) => Promise<SignEvmHashResult>;
|
|
178
|
+
|
|
179
|
+
export declare type SignEvmMessageOptions = {
|
|
180
|
+
evmAccount: EvmAddress;
|
|
181
|
+
message: string;
|
|
182
|
+
};
|
|
183
|
+
|
|
184
|
+
export declare type SignEvmMessageResult = {
|
|
185
|
+
signature: Hex;
|
|
186
|
+
};
|
|
187
|
+
|
|
188
|
+
export declare const signEvmTransaction: (options: SignEvmTransactionOptions) => Promise<SignEvmTransactionResult>;
|
|
189
|
+
|
|
190
|
+
export declare type SignEvmTransactionOptions = {
|
|
191
|
+
evmAccount: EvmAddress;
|
|
192
|
+
transaction: AllowedEvmTransactionType;
|
|
193
|
+
};
|
|
194
|
+
|
|
195
|
+
export declare type SignEvmTransactionResult = {
|
|
196
|
+
signedTransaction: Hex;
|
|
197
|
+
};
|
|
198
|
+
|
|
199
|
+
export declare const signEvmTypedData: (options: SignEvmTypedDataOptions) => Promise<SignEvmTypedDataResult>;
|
|
200
|
+
|
|
201
|
+
export declare type SignEvmTypedDataOptions = {
|
|
202
|
+
evmAccount: EvmAddress;
|
|
203
|
+
typedData: EIP712TypedData;
|
|
204
|
+
};
|
|
205
|
+
|
|
206
|
+
export declare type SignEvmTypedDataResult = {
|
|
207
|
+
signature: Hex;
|
|
208
|
+
};
|
|
209
|
+
|
|
210
|
+
export declare const signInWithEmail: (options: SignInWithEmailOptions) => Promise<SignInWithEmailResult>;
|
|
211
|
+
|
|
212
|
+
export declare type SignInWithEmailOptions = {
|
|
213
|
+
email: string;
|
|
214
|
+
};
|
|
215
|
+
|
|
216
|
+
export declare type SignInWithEmailResult = {
|
|
217
|
+
message: string;
|
|
218
|
+
flowId: string;
|
|
219
|
+
};
|
|
220
|
+
|
|
221
|
+
export declare const signOut: () => Promise<void>;
|
|
222
|
+
|
|
223
|
+
export declare type SignTypedDataRequest = {
|
|
224
|
+
method: "eth_signTypedData_v4";
|
|
225
|
+
params: [Hex, EvmAddress];
|
|
226
|
+
};
|
|
227
|
+
|
|
228
|
+
export declare const STANDARD_ERROR_CODES: {
|
|
229
|
+
rpc: {
|
|
230
|
+
invalidInput: -32000;
|
|
231
|
+
resourceNotFound: -32001;
|
|
232
|
+
resourceUnavailable: -32002;
|
|
233
|
+
transactionRejected: -32003;
|
|
234
|
+
methodNotSupported: -32004;
|
|
235
|
+
limitExceeded: -32005;
|
|
236
|
+
parse: -32700;
|
|
237
|
+
invalidRequest: -32600;
|
|
238
|
+
methodNotFound: -32601;
|
|
239
|
+
invalidParams: -32602;
|
|
240
|
+
internal: -32603;
|
|
241
|
+
};
|
|
242
|
+
provider: {
|
|
243
|
+
userRejectedRequest: 4001;
|
|
244
|
+
unauthorized: 4100;
|
|
245
|
+
unsupportedMethod: 4200;
|
|
246
|
+
disconnected: 4900;
|
|
247
|
+
chainDisconnected: 4901;
|
|
248
|
+
unsupportedChain: 4902;
|
|
249
|
+
};
|
|
250
|
+
};
|
|
251
|
+
|
|
252
|
+
export declare type SwitchEthereumChainRequest = {
|
|
253
|
+
method: "wallet_switchEthereumChain";
|
|
254
|
+
params: [{
|
|
255
|
+
chainId: string;
|
|
256
|
+
}];
|
|
257
|
+
};
|
|
258
|
+
|
|
259
|
+
export declare type UnknownRequest = {
|
|
260
|
+
method: string;
|
|
261
|
+
params: unknown[];
|
|
262
|
+
};
|
|
263
|
+
|
|
264
|
+
export declare type User = {
|
|
265
|
+
userId: string;
|
|
266
|
+
evmAccounts: EvmAddress[];
|
|
267
|
+
};
|
|
268
|
+
|
|
269
|
+
export declare const verifyEmailOTP: (options: VerifyEmailOTPOptions) => Promise<VerifyEmailOTPResult>;
|
|
270
|
+
|
|
271
|
+
export declare type VerifyEmailOTPOptions = {
|
|
272
|
+
flowId: string;
|
|
273
|
+
otp: string;
|
|
274
|
+
};
|
|
275
|
+
|
|
276
|
+
export declare type VerifyEmailOTPResult = {
|
|
277
|
+
user: User;
|
|
278
|
+
message: string;
|
|
279
|
+
isNewUser: boolean;
|
|
280
|
+
};
|
|
281
|
+
|
|
282
|
+
export declare type WalletDisconnectRequest = {
|
|
283
|
+
method: "wallet_disconnect";
|
|
284
|
+
params: [];
|
|
285
|
+
};
|
|
286
|
+
|
|
287
|
+
export { }
|
package/package.json
CHANGED
|
@@ -1,8 +1,71 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coinbase/cdp-core",
|
|
3
|
-
"version": "0.0.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
"version": "0.0.5",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"files": [
|
|
6
|
+
"dist/**",
|
|
7
|
+
"!dist/**/*.tsbuildinfo"
|
|
8
|
+
],
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/types/index.d.ts",
|
|
12
|
+
"default": "./dist/esm/index.js"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"dependencies": {
|
|
16
|
+
"jose": "^6.0.11",
|
|
17
|
+
"ox": "0.8.1",
|
|
18
|
+
"viem": "^2.33.0",
|
|
19
|
+
"zustand": "^5.0.6",
|
|
20
|
+
"@coinbase/cdp-api-client": "^0.0.5"
|
|
21
|
+
},
|
|
22
|
+
"devDependencies": {
|
|
23
|
+
"@size-limit/preset-big-lib": "^11.2.0",
|
|
24
|
+
"@size-limit/webpack": "^11.2.0",
|
|
25
|
+
"@size-limit/webpack-why": "^11.2.0",
|
|
26
|
+
"size-limit": "^11.2.0"
|
|
27
|
+
},
|
|
28
|
+
"size-limit": [
|
|
29
|
+
{
|
|
30
|
+
"name": "full-package",
|
|
31
|
+
"path": "./dist/esm/index.js",
|
|
32
|
+
"import": "*",
|
|
33
|
+
"limit": "60 KB"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"name": "auth-only",
|
|
37
|
+
"path": "./dist/esm/index.js",
|
|
38
|
+
"import": "{ signInWithEmail, verifyEmailOTP, getCurrentUser, isSignedIn, signOut }",
|
|
39
|
+
"limit": "25 KB"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"name": "evm-only",
|
|
43
|
+
"path": "./dist/esm/index.js",
|
|
44
|
+
"import": "{ signEvmHash, signEvmTransaction, sendEvmTransaction, signEvmMessage, signEvmTypedData }",
|
|
45
|
+
"limit": "25 KB"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"name": "export",
|
|
49
|
+
"path": "./dist/esm/index.js",
|
|
50
|
+
"import": "{ exportEvmAccount }",
|
|
51
|
+
"limit": "25 KB"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"name": "provider-only",
|
|
55
|
+
"path": "./dist/esm/index.js",
|
|
56
|
+
"import": "{ createCDPEmbeddedWallet }",
|
|
57
|
+
"limit": "55 KB"
|
|
58
|
+
}
|
|
59
|
+
],
|
|
60
|
+
"scripts": {
|
|
61
|
+
"build": "pnpm run clean && pnpm run check:types && vite build --config ../../vite.config.base.ts",
|
|
62
|
+
"build:watch": "vite build --config ../../vite.config.base.ts --watch",
|
|
63
|
+
"check:types": "tsc --noEmit",
|
|
64
|
+
"clean": "rm -rf dist",
|
|
65
|
+
"clean:all": "pnpm clean && rm -rf node_modules",
|
|
66
|
+
"size-limit": "size-limit",
|
|
67
|
+
"size-limit:why": "size-limit --why",
|
|
68
|
+
"test": "vitest",
|
|
69
|
+
"test:run": "vitest --run"
|
|
70
|
+
}
|
|
71
|
+
}
|
package/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
console.log("Temporary package");
|