@coinbase/cdp-sdk 1.43.1 → 1.44.1
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/CHANGELOG.md +18 -0
- package/README.md +55 -0
- package/_cjs/actions/evm/sendUserOperation.js +23 -10
- package/_cjs/actions/evm/sendUserOperation.js.map +1 -1
- package/_cjs/actions/evm/transfer/utils.js.map +1 -1
- package/_cjs/analytics.js +22 -23
- package/_cjs/analytics.js.map +1 -1
- package/_cjs/auth/utils/hash.js +1 -1
- package/_cjs/auth/utils/hash.js.map +1 -1
- package/_cjs/auth/utils/http.js +4 -1
- package/_cjs/auth/utils/http.js.map +1 -1
- package/_cjs/client/end-user/endUser.js +87 -4
- package/_cjs/client/end-user/endUser.js.map +1 -1
- package/_cjs/client/end-user/toEndUserAccount.js +51 -0
- package/_cjs/client/end-user/toEndUserAccount.js.map +1 -0
- package/_cjs/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js +6 -2
- package/_cjs/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js.map +1 -1
- package/_cjs/openapi-client/generated/end-user-accounts/end-user-accounts.js +43 -1
- package/_cjs/openapi-client/generated/end-user-accounts/end-user-accounts.js.map +1 -1
- package/_cjs/openapi-client/generated/webhooks/webhooks.js +8 -1
- package/_cjs/openapi-client/generated/webhooks/webhooks.js.map +1 -1
- package/_cjs/version.js +1 -1
- package/_esm/actions/evm/sendUserOperation.js +23 -10
- package/_esm/actions/evm/sendUserOperation.js.map +1 -1
- package/_esm/actions/evm/transfer/utils.js.map +1 -1
- package/_esm/analytics.js +22 -23
- package/_esm/analytics.js.map +1 -1
- package/_esm/auth/utils/hash.js +1 -1
- package/_esm/auth/utils/hash.js.map +1 -1
- package/_esm/auth/utils/http.js +4 -1
- package/_esm/auth/utils/http.js.map +1 -1
- package/_esm/client/end-user/endUser.js +88 -5
- package/_esm/client/end-user/endUser.js.map +1 -1
- package/_esm/client/end-user/toEndUserAccount.js +48 -0
- package/_esm/client/end-user/toEndUserAccount.js.map +1 -0
- package/_esm/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js +6 -2
- package/_esm/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js.map +1 -1
- package/_esm/openapi-client/generated/end-user-accounts/end-user-accounts.js +39 -0
- package/_esm/openapi-client/generated/end-user-accounts/end-user-accounts.js.map +1 -1
- package/_esm/openapi-client/generated/webhooks/webhooks.js +8 -1
- package/_esm/openapi-client/generated/webhooks/webhooks.js.map +1 -1
- package/_esm/version.js +1 -1
- package/_types/actions/evm/sendUserOperation.d.ts.map +1 -1
- package/_types/actions/evm/transfer/utils.d.ts +2 -1
- package/_types/actions/evm/transfer/utils.d.ts.map +1 -1
- package/_types/analytics.d.ts.map +1 -1
- package/_types/auth/utils/http.d.ts.map +1 -1
- package/_types/client/end-user/endUser.d.ts +64 -6
- package/_types/client/end-user/endUser.d.ts.map +1 -1
- package/_types/client/end-user/endUser.types.d.ts +119 -1
- package/_types/client/end-user/endUser.types.d.ts.map +1 -1
- package/_types/client/end-user/toEndUserAccount.d.ts +20 -0
- package/_types/client/end-user/toEndUserAccount.d.ts.map +1 -0
- package/_types/index.d.ts +1 -1
- package/_types/index.d.ts.map +1 -1
- package/_types/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.d.ts +104 -211
- package/_types/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.d.ts.map +1 -1
- package/_types/openapi-client/generated/end-user-accounts/end-user-accounts.d.ts +22 -1
- package/_types/openapi-client/generated/end-user-accounts/end-user-accounts.d.ts.map +1 -1
- package/_types/openapi-client/generated/webhooks/webhooks.d.ts +8 -1
- package/_types/openapi-client/generated/webhooks/webhooks.d.ts.map +1 -1
- package/_types/openapi-client/index.d.ts +3 -0
- package/_types/openapi-client/index.d.ts.map +1 -1
- package/_types/version.d.ts +1 -1
- package/actions/evm/sendUserOperation.ts +45 -11
- package/actions/evm/transfer/utils.ts +4 -2
- package/analytics.ts +24 -34
- package/auth/utils/hash.ts +1 -1
- package/auth/utils/http.ts +5 -2
- package/client/end-user/endUser.ts +118 -13
- package/client/end-user/endUser.types.ts +135 -0
- package/client/end-user/toEndUserAccount.ts +80 -0
- package/index.ts +1 -1
- package/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.ts +106 -208
- package/openapi-client/generated/end-user-accounts/end-user-accounts.ts +75 -0
- package/openapi-client/generated/webhooks/webhooks.ts +8 -1
- package/package.json +1 -1
- package/version.ts +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.importEndUser = exports.getEndUser = exports.validateEndUserAccessToken = exports.listEndUsers = exports.createEndUser = void 0;
|
|
3
|
+
exports.importEndUser = exports.addEndUserSolanaAccount = exports.addEndUserEvmSmartAccount = exports.addEndUserEvmAccount = exports.getEndUser = exports.validateEndUserAccessToken = exports.listEndUsers = exports.createEndUser = void 0;
|
|
4
4
|
const cdpApiClient_js_1 = require("../../cdpApiClient.js");
|
|
5
5
|
/**
|
|
6
6
|
* Creates an end user. An end user is an entity that can own CDP EVM accounts, EVM smart accounts, and/or Solana accounts. 1 or more authentication methods must be associated with an end user. By default, no accounts are created unless the optional `evmAccount` and/or `solanaAccount` fields are provided.
|
|
@@ -50,6 +50,48 @@ const getEndUser = (userId, options) => {
|
|
|
50
50
|
return (0, cdpApiClient_js_1.cdpApiClient)({ url: `/v2/end-users/${userId}`, method: "GET" }, options);
|
|
51
51
|
};
|
|
52
52
|
exports.getEndUser = getEndUser;
|
|
53
|
+
/**
|
|
54
|
+
* Adds a new EVM EOA account to an existing end user. End users can have up to 10 EVM accounts.
|
|
55
|
+
This API is intended to be used by the developer's own backend, and is authenticated using the developer's CDP API key.
|
|
56
|
+
* @summary Add an EVM account to an end user
|
|
57
|
+
*/
|
|
58
|
+
const addEndUserEvmAccount = (userId, addEndUserEvmAccountBody, options) => {
|
|
59
|
+
return (0, cdpApiClient_js_1.cdpApiClient)({
|
|
60
|
+
url: `/v2/end-users/${userId}/evm`,
|
|
61
|
+
method: "POST",
|
|
62
|
+
headers: { "Content-Type": "application/json" },
|
|
63
|
+
data: addEndUserEvmAccountBody,
|
|
64
|
+
}, options);
|
|
65
|
+
};
|
|
66
|
+
exports.addEndUserEvmAccount = addEndUserEvmAccount;
|
|
67
|
+
/**
|
|
68
|
+
* Creates an EVM smart account for an existing end user. The backend will create a new EVM EOA account to serve as the owner of the smart account.
|
|
69
|
+
This API is intended to be used by the developer's own backend, and is authenticated using the developer's CDP API key.
|
|
70
|
+
* @summary Add an EVM smart account to an end user
|
|
71
|
+
*/
|
|
72
|
+
const addEndUserEvmSmartAccount = (userId, addEndUserEvmSmartAccountBody, options) => {
|
|
73
|
+
return (0, cdpApiClient_js_1.cdpApiClient)({
|
|
74
|
+
url: `/v2/end-users/${userId}/evm-smart-account`,
|
|
75
|
+
method: "POST",
|
|
76
|
+
headers: { "Content-Type": "application/json" },
|
|
77
|
+
data: addEndUserEvmSmartAccountBody,
|
|
78
|
+
}, options);
|
|
79
|
+
};
|
|
80
|
+
exports.addEndUserEvmSmartAccount = addEndUserEvmSmartAccount;
|
|
81
|
+
/**
|
|
82
|
+
* Adds a new Solana account to an existing end user. End users can have up to 10 Solana accounts.
|
|
83
|
+
This API is intended to be used by the developer's own backend, and is authenticated using the developer's CDP API key.
|
|
84
|
+
* @summary Add a Solana account to an end user
|
|
85
|
+
*/
|
|
86
|
+
const addEndUserSolanaAccount = (userId, addEndUserSolanaAccountBody, options) => {
|
|
87
|
+
return (0, cdpApiClient_js_1.cdpApiClient)({
|
|
88
|
+
url: `/v2/end-users/${userId}/solana`,
|
|
89
|
+
method: "POST",
|
|
90
|
+
headers: { "Content-Type": "application/json" },
|
|
91
|
+
data: addEndUserSolanaAccountBody,
|
|
92
|
+
}, options);
|
|
93
|
+
};
|
|
94
|
+
exports.addEndUserSolanaAccount = addEndUserSolanaAccount;
|
|
53
95
|
/**
|
|
54
96
|
* Imports an existing private key for an end user into the developer's CDP Project. The private key must be encrypted using the CDP SDK's encryption scheme before being sent to this endpoint. This API should be called from the [CDP SDK](https://github.com/coinbase/cdp-sdk) to ensure that the associated private key is properly encrypted.
|
|
55
97
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"end-user-accounts.js","sourceRoot":"","sources":["../../../../openapi-client/generated/end-user-accounts/end-user-accounts.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"end-user-accounts.js","sourceRoot":"","sources":["../../../../openapi-client/generated/end-user-accounts/end-user-accounts.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,12 +34,19 @@ exports.listWebhookSubscriptions = listWebhookSubscriptions;
|
|
|
34
34
|
- `offramp.transaction.success`, `offramp.transaction.failed`
|
|
35
35
|
- **No labels required** - maximum simplicity for transaction monitoring
|
|
36
36
|
|
|
37
|
+
**Payments Transfers Events** - Transfer lifecycle notifications:
|
|
38
|
+
- `payments.transfers.quoted`
|
|
39
|
+
- `payments.transfers.processing`
|
|
40
|
+
- `payments.transfers.completed`
|
|
41
|
+
- `payments.transfers.failed`
|
|
42
|
+
- **No labels required** - enable the transfers webhook to monitor status transitions
|
|
43
|
+
|
|
37
44
|
**Wallet Events** - Wallet activity notifications:
|
|
38
45
|
- `wallet.activity.detected`
|
|
39
46
|
|
|
40
47
|
### Webhook Signature Verification
|
|
41
48
|
All webhooks include cryptographic signatures for security.
|
|
42
|
-
The signature secret is returned in `
|
|
49
|
+
The signature secret is returned in `secret` field when creating a subscription.
|
|
43
50
|
|
|
44
51
|
**Note:** Webhooks are in beta and this interface is subject to change.
|
|
45
52
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../../../openapi-client/generated/webhooks/webhooks.ts"],"names":[],"mappings":";;;AAeA,2DAAqD;AAIrD;;;;;;;;;;;GAWG;AACI,MAAM,wBAAwB,GAAG,CACtC,MAAuC,EACvC,OAA8C,EAC9C,EAAE;IACF,OAAO,IAAA,8BAAY,EACjB,EAAE,GAAG,EAAE,iCAAiC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EACjE,OAAO,CACR,CAAC;AACJ,CAAC,CAAC;AARW,QAAA,wBAAwB,4BAQnC;AACF
|
|
1
|
+
{"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../../../openapi-client/generated/webhooks/webhooks.ts"],"names":[],"mappings":";;;AAeA,2DAAqD;AAIrD;;;;;;;;;;;GAWG;AACI,MAAM,wBAAwB,GAAG,CACtC,MAAuC,EACvC,OAA8C,EAC9C,EAAE;IACF,OAAO,IAAA,8BAAY,EACjB,EAAE,GAAG,EAAE,iCAAiC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EACjE,OAAO,CACR,CAAC;AACJ,CAAC,CAAC;AARW,QAAA,wBAAwB,4BAQnC;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACI,MAAM,yBAAyB,GAAG,CACvC,0BAAsD,EACtD,OAA8C,EAC9C,EAAE;IACF,OAAO,IAAA,8BAAY,EACjB;QACE,GAAG,EAAE,iCAAiC;QACtC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,0BAA0B;KACjC,EACD,OAAO,CACR,CAAC;AACJ,CAAC,CAAC;AAbW,QAAA,yBAAyB,6BAapC;AACF;;;;;;;;;;;GAWG;AACI,MAAM,sBAAsB,GAAG,CACpC,cAAsB,EACtB,OAA8C,EAC9C,EAAE;IACF,OAAO,IAAA,8BAAY,EACjB,EAAE,GAAG,EAAE,mCAAmC,cAAc,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAC3E,OAAO,CACR,CAAC;AACJ,CAAC,CAAC;AARW,QAAA,sBAAsB,0BAQjC;AACF;;;;;;;;;;;;GAYG;AACI,MAAM,yBAAyB,GAAG,CACvC,cAAsB,EACtB,gCAAkE,EAClE,OAA8C,EAC9C,EAAE;IACF,OAAO,IAAA,8BAAY,EACjB;QACE,GAAG,EAAE,mCAAmC,cAAc,EAAE;QACxD,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,gCAAgC;KACvC,EACD,OAAO,CACR,CAAC;AACJ,CAAC,CAAC;AAdW,QAAA,yBAAyB,6BAcpC;AACF;;;;;;;;;;GAUG;AACI,MAAM,yBAAyB,GAAG,CACvC,cAAsB,EACtB,OAA8C,EAC9C,EAAE;IACF,OAAO,IAAA,8BAAY,EACjB,EAAE,GAAG,EAAE,mCAAmC,cAAc,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,EAC9E,OAAO,CACR,CAAC;AACJ,CAAC,CAAC;AARW,QAAA,yBAAyB,6BAQpC"}
|
package/_cjs/version.js
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
import { encodeFunctionData } from "viem";
|
|
2
2
|
import { getBaseNodeRpcUrl } from "../../accounts/evm/getBaseNodeRpcUrl.js";
|
|
3
|
+
// Type guards
|
|
4
|
+
/**
|
|
5
|
+
* Type guard to check if a BaseCall is a ContractCall.
|
|
6
|
+
*
|
|
7
|
+
* @param call - The BaseCall to check
|
|
8
|
+
* @returns True if the call is a ContractCall
|
|
9
|
+
*/
|
|
10
|
+
function isContractCall(call) {
|
|
11
|
+
return "abi" in call && "functionName" in call;
|
|
12
|
+
}
|
|
3
13
|
/**
|
|
4
14
|
* Sends a user operation to the network.
|
|
5
15
|
*
|
|
@@ -52,24 +62,27 @@ export async function sendUserOperation(client, options) {
|
|
|
52
62
|
throw new Error("Calls array is empty");
|
|
53
63
|
}
|
|
54
64
|
const encodedCalls = calls.map(call => {
|
|
55
|
-
const
|
|
56
|
-
|
|
65
|
+
const baseCall = call;
|
|
66
|
+
const value = (baseCall.value ?? BigInt(0)).toString();
|
|
67
|
+
const overrideGasLimit = baseCall.overrideGasLimit?.toString();
|
|
68
|
+
if (isContractCall(baseCall)) {
|
|
57
69
|
return {
|
|
58
|
-
to:
|
|
70
|
+
to: baseCall.to,
|
|
59
71
|
data: encodeFunctionData({
|
|
60
|
-
abi:
|
|
61
|
-
functionName:
|
|
62
|
-
args:
|
|
72
|
+
abi: baseCall.abi,
|
|
73
|
+
functionName: baseCall.functionName,
|
|
74
|
+
args: baseCall.args,
|
|
63
75
|
}),
|
|
64
76
|
value,
|
|
65
|
-
overrideGasLimit
|
|
77
|
+
overrideGasLimit,
|
|
66
78
|
};
|
|
67
79
|
}
|
|
80
|
+
const directCall = baseCall;
|
|
68
81
|
return {
|
|
69
|
-
to:
|
|
70
|
-
data:
|
|
82
|
+
to: directCall.to,
|
|
83
|
+
data: directCall.data ?? "0x",
|
|
71
84
|
value,
|
|
72
|
-
overrideGasLimit
|
|
85
|
+
overrideGasLimit,
|
|
73
86
|
};
|
|
74
87
|
});
|
|
75
88
|
const createOpResponse = await client.prepareUserOperation(options.smartAccount.address, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sendUserOperation.js","sourceRoot":"","sources":["../../../actions/evm/sendUserOperation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"sendUserOperation.js","sourceRoot":"","sources":["../../../actions/evm/sendUserOperation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAY,MAAM,MAAM,CAAC;AAEpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AA8B5E,cAAc;AAEd;;;;;GAKG;AACH,SAAS,cAAc,CAAC,IAAc;IACpC,OAAO,KAAK,IAAI,IAAI,IAAI,cAAc,IAAI,IAAI,CAAC;AACjD,CAAC;AAoED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAA4B,EAC5B,OAAoC;IAEpC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;IAEhE,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE;QACrC,IAAI,CAAC,aAAa,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;YACzC,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC,CAAC,EAAE,CAAC;IAEL,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACpC,MAAM,QAAQ,GAAG,IAAgB,CAAC;QAClC,MAAM,KAAK,GAAG,CAAC,QAAQ,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QACvD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,EAAE,CAAC;QAE/D,IAAI,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,OAAO;gBACL,EAAE,EAAE,QAAQ,CAAC,EAAE;gBACf,IAAI,EAAE,kBAAkB,CAAC;oBACvB,GAAG,EAAE,QAAQ,CAAC,GAAG;oBACjB,YAAY,EAAE,QAAQ,CAAC,YAAY;oBACnC,IAAI,EAAE,QAAQ,CAAC,IAAI;iBACpB,CAAC;gBACF,KAAK;gBACL,gBAAgB;aACjB,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAG,QAAsB,CAAC;QAC1C,OAAO;YACL,EAAE,EAAE,UAAU,CAAC,EAAE;YACjB,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,IAAI;YAC7B,KAAK;YACL,gBAAgB;SACjB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE;QACvF,OAAO;QACP,KAAK,EAAE,YAAY;QACnB,YAAY;QACZ,UAAU,EAAE,OAAO,CAAC,UAAU;KAC/B,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAE7C,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC;QACjC,IAAI,EAAE,gBAAgB,CAAC,UAAiB;KACzC,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,MAAM,MAAM,CAAC,iBAAiB,CACtD,OAAO,CAAC,YAAY,CAAC,OAAO,EAC5B,gBAAgB,CAAC,UAAiB,EAClC;QACE,SAAS;KACV,EACD,OAAO,CAAC,cAAc,CACvB,CAAC;IAEF,OAAO;QACL,mBAAmB,EAAE,OAAO,CAAC,YAAY,CAAC,OAAO;QACjD,MAAM,EAAE,iBAAiB,CAAC,MAAM;QAChC,UAAU,EAAE,gBAAgB,CAAC,UAAU;KACT,CAAC;AACnC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../actions/evm/transfer/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../actions/evm/transfer/utils.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,UAAU,GAA4C;IAC1D,IAAI,EAAE;QACJ,IAAI,EAAE,4CAA4C;KACnD;IACD,cAAc,EAAE;QACd,IAAI,EAAE,4CAA4C;KACnD;CACF,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,KAAa,EAAE,OAAgB;IAC7D,OAAO,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;AAC/C,CAAC"}
|
package/_esm/analytics.js
CHANGED
|
@@ -125,27 +125,6 @@ function createRecursiveInterceptor(executingInstances, fallbackMethod) {
|
|
|
125
125
|
return fallbackMethod.apply(this, callArgs);
|
|
126
126
|
};
|
|
127
127
|
}
|
|
128
|
-
/**
|
|
129
|
-
* Executes a method with recursion protection by tracking executing instances.
|
|
130
|
-
*
|
|
131
|
-
* @param executingInstances - A WeakSet tracking instances that are currently executing.
|
|
132
|
-
* @param originalMethod - The original method to execute.
|
|
133
|
-
* @param context - The context (this) to bind the method to.
|
|
134
|
-
* @param args - The arguments to pass to the method.
|
|
135
|
-
* @returns The result of executing the original method.
|
|
136
|
-
*/
|
|
137
|
-
async function executeWithRecursionProtection(executingInstances, originalMethod, context, args) {
|
|
138
|
-
if (executingInstances.has(context)) {
|
|
139
|
-
return args[0];
|
|
140
|
-
}
|
|
141
|
-
executingInstances.add(context);
|
|
142
|
-
try {
|
|
143
|
-
return await originalMethod.apply(context, args);
|
|
144
|
-
}
|
|
145
|
-
finally {
|
|
146
|
-
executingInstances.delete(context);
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
128
|
/**
|
|
150
129
|
* Handles an error that occurred in a method by sending an analytics event and rethrowing the error.
|
|
151
130
|
*
|
|
@@ -170,6 +149,13 @@ async function handleMethodError(error, methodName) {
|
|
|
170
149
|
/**
|
|
171
150
|
* Creates a wrapper function that adds error tracking and recursion protection to a method.
|
|
172
151
|
*
|
|
152
|
+
* The recursion protection works by temporarily replacing the method with an interceptor
|
|
153
|
+
* during the synchronous phase of execution. Any recursive calls (e.g., a method calling
|
|
154
|
+
* itself via `this.method()` or `Class.prototype.method()`) happen synchronously and will
|
|
155
|
+
* hit the interceptor. After the synchronous phase completes (i.e., `originalMethod.apply()`
|
|
156
|
+
* returns a Promise), the method is immediately restored so that concurrent calls arriving
|
|
157
|
+
* after an `await` suspension go through the full wrapper instead of being intercepted.
|
|
158
|
+
*
|
|
173
159
|
* @param originalMethod - The original method to wrap.
|
|
174
160
|
* @param methodName - The name of the method being wrapped.
|
|
175
161
|
* @param executingInstances - A WeakSet tracking instances that are currently executing.
|
|
@@ -182,13 +168,26 @@ function createErrorTrackingWrapper(originalMethod, methodName, executingInstanc
|
|
|
182
168
|
const previousMethod = getMethod();
|
|
183
169
|
const recursiveInterceptor = createRecursiveInterceptor(executingInstances, previousMethod);
|
|
184
170
|
setMethod(recursiveInterceptor);
|
|
171
|
+
executingInstances.add(this);
|
|
185
172
|
try {
|
|
186
|
-
|
|
173
|
+
/*
|
|
174
|
+
* Start executing the original method. The synchronous portion runs immediately.
|
|
175
|
+
* Any recursive calls (e.g., this.method() or Class.prototype.method()) during
|
|
176
|
+
* this synchronous phase will hit the recursiveInterceptor.
|
|
177
|
+
*/
|
|
178
|
+
const resultPromise = originalMethod.apply(this, args);
|
|
179
|
+
/*
|
|
180
|
+
* Restore the method immediately after the synchronous phase completes.
|
|
181
|
+
* This ensures concurrent calls (arriving after an await suspension) go through
|
|
182
|
+
* the full wrapper chain instead of being short-circuited by the interceptor.
|
|
183
|
+
*/
|
|
187
184
|
setMethod(previousMethod);
|
|
188
|
-
|
|
185
|
+
executingInstances.delete(this);
|
|
186
|
+
return await resultPromise;
|
|
189
187
|
}
|
|
190
188
|
catch (error) {
|
|
191
189
|
setMethod(previousMethod);
|
|
190
|
+
executingInstances.delete(this);
|
|
192
191
|
return handleMethodError(error, methodName);
|
|
193
192
|
}
|
|
194
193
|
};
|
package/_esm/analytics.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics.js","sourceRoot":"","sources":["../analytics.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"analytics.js","sourceRoot":"","sources":["../analytics.ts"],"names":[],"mappings":"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"}
|
package/_esm/auth/utils/hash.js
CHANGED
|
@@ -10,7 +10,7 @@ import { subtle } from "uncrypto";
|
|
|
10
10
|
* @returns Promise that resolves to the hex-encoded hash
|
|
11
11
|
*/
|
|
12
12
|
export const authHash = async (data) => {
|
|
13
|
-
const hashBuffer = await subtle.digest("SHA-256", data);
|
|
13
|
+
const hashBuffer = await subtle.digest("SHA-256", new Uint8Array(data));
|
|
14
14
|
return Buffer.from(hashBuffer).toString("hex");
|
|
15
15
|
};
|
|
16
16
|
//# sourceMappingURL=hash.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hash.js","sourceRoot":"","sources":["../../../auth/utils/hash.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAAE,IAAY,EAAmB,EAAE;IAC9D,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"hash.js","sourceRoot":"","sources":["../../../auth/utils/hash.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAAE,IAAY,EAAmB,EAAE;IAC9D,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IACxE,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACjD,CAAC,CAAC"}
|
package/_esm/auth/utils/http.js
CHANGED
|
@@ -54,7 +54,10 @@ function requiresWalletAuth(requestMethod, requestPath) {
|
|
|
54
54
|
requestPath?.includes("/spend-permissions") ||
|
|
55
55
|
requestPath?.includes("/user-operations/prepare-and-send") ||
|
|
56
56
|
requestPath?.endsWith("/end-users") ||
|
|
57
|
-
requestPath?.endsWith("/end-users/import")
|
|
57
|
+
requestPath?.endsWith("/end-users/import") ||
|
|
58
|
+
/\/end-users\/[^/]+\/evm$/.test(requestPath) ||
|
|
59
|
+
/\/end-users\/[^/]+\/evm-smart-account$/.test(requestPath) ||
|
|
60
|
+
/\/end-users\/[^/]+\/solana$/.test(requestPath)) &&
|
|
58
61
|
(requestMethod === "POST" || requestMethod === "DELETE" || requestMethod === "PUT"));
|
|
59
62
|
}
|
|
60
63
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../auth/utils/http.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAsE3C;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAA8B;IAE9B,MAAM,OAAO,GAA2B,EAAE,CAAC;IAE3C,6BAA6B;IAC7B,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC;QAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC3B,CAAC,CAAC;IACH,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,GAAG,EAAE,CAAC;IAC3C,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;IAE7C,4BAA4B;IAC5B,IAAI,kBAAkB,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACnE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC1B,MAAM,IAAI,wBAAwB,CAChC,4IAA4I,CAC7I,CAAC;QACJ,CAAC;QAED,MAAM,eAAe,GAAG,MAAM,iBAAiB,CAAC;YAC9C,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE;SACvC,CAAC,CAAC;QACH,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAAC;IAC7C,CAAC;IAED,uBAAuB;IACvB,OAAO,CAAC,qBAAqB,CAAC,GAAG,kBAAkB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAE3F,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CAAC,aAAqB,EAAE,WAAmB;IACpE,OAAO,CACL,CAAC,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC;QACjC,WAAW,EAAE,QAAQ,CAAC,oBAAoB,CAAC;QAC3C,WAAW,EAAE,QAAQ,CAAC,mCAAmC,CAAC;QAC1D,WAAW,EAAE,QAAQ,CAAC,YAAY,CAAC;QACnC,WAAW,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../auth/utils/http.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { randomUUID, publicEncrypt, constants } from "crypto";
|
|
2
2
|
import bs58 from "bs58";
|
|
3
|
+
import { toEndUserAccount } from "./toEndUserAccount.js";
|
|
3
4
|
import { Analytics } from "../../analytics.js";
|
|
4
5
|
import { ImportAccountPublicRSAKey } from "../../constants.js";
|
|
5
6
|
import { UserInputValidationError } from "../../errors.js";
|
|
6
|
-
import { CdpOpenApiClient
|
|
7
|
+
import { CdpOpenApiClient } from "../../openapi-client/index.js";
|
|
7
8
|
/**
|
|
8
9
|
* The CDP end user client.
|
|
9
10
|
*/
|
|
@@ -41,10 +42,11 @@ export class CDPEndUserClient {
|
|
|
41
42
|
action: "create_end_user",
|
|
42
43
|
});
|
|
43
44
|
const userId = options.userId ?? randomUUID();
|
|
44
|
-
|
|
45
|
+
const endUser = await CdpOpenApiClient.createEndUser({
|
|
45
46
|
...options,
|
|
46
47
|
userId,
|
|
47
48
|
});
|
|
49
|
+
return toEndUserAccount(CdpOpenApiClient, { endUser });
|
|
48
50
|
}
|
|
49
51
|
/**
|
|
50
52
|
* Lists end users belonging to the developer's CDP Project.
|
|
@@ -109,7 +111,86 @@ export class CDPEndUserClient {
|
|
|
109
111
|
action: "get_end_user",
|
|
110
112
|
});
|
|
111
113
|
const { userId } = options;
|
|
112
|
-
|
|
114
|
+
const endUser = await CdpOpenApiClient.getEndUser(userId);
|
|
115
|
+
return toEndUserAccount(CdpOpenApiClient, { endUser });
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Adds an EVM EOA (Externally Owned Account) to an existing end user. End users can have up to 10 EVM accounts.
|
|
119
|
+
*
|
|
120
|
+
* @param options - The options for adding an EVM account.
|
|
121
|
+
*
|
|
122
|
+
* @returns A promise that resolves to the newly created EVM EOA account.
|
|
123
|
+
*
|
|
124
|
+
* @example **Add an EVM EOA account to an existing end user**
|
|
125
|
+
* ```ts
|
|
126
|
+
* const result = await cdp.endUser.addEndUserEvmAccount({
|
|
127
|
+
* userId: "user-123"
|
|
128
|
+
* });
|
|
129
|
+
* console.log(result.evmAccount.address);
|
|
130
|
+
* ```
|
|
131
|
+
*/
|
|
132
|
+
async addEndUserEvmAccount(options) {
|
|
133
|
+
Analytics.trackAction({
|
|
134
|
+
action: "add_end_user_evm_account",
|
|
135
|
+
});
|
|
136
|
+
const { userId } = options;
|
|
137
|
+
return CdpOpenApiClient.addEndUserEvmAccount(userId, {});
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Adds an EVM smart account to an existing end user. This also creates a new EVM EOA account to serve as the owner of the smart account.
|
|
141
|
+
*
|
|
142
|
+
* @param options - The options for adding an EVM smart account.
|
|
143
|
+
*
|
|
144
|
+
* @returns A promise that resolves to the newly created EVM smart account.
|
|
145
|
+
*
|
|
146
|
+
* @example **Add an EVM smart account to an existing end user**
|
|
147
|
+
* ```ts
|
|
148
|
+
* const result = await cdp.endUser.addEndUserEvmSmartAccount({
|
|
149
|
+
* userId: "user-123",
|
|
150
|
+
* enableSpendPermissions: false
|
|
151
|
+
* });
|
|
152
|
+
* console.log(result.evmSmartAccount.address);
|
|
153
|
+
* ```
|
|
154
|
+
*
|
|
155
|
+
* @example **Add an EVM smart account with spend permissions enabled**
|
|
156
|
+
* ```ts
|
|
157
|
+
* const result = await cdp.endUser.addEndUserEvmSmartAccount({
|
|
158
|
+
* userId: "user-123",
|
|
159
|
+
* enableSpendPermissions: true
|
|
160
|
+
* });
|
|
161
|
+
* console.log(result.evmSmartAccount.address);
|
|
162
|
+
* ```
|
|
163
|
+
*/
|
|
164
|
+
async addEndUserEvmSmartAccount(options) {
|
|
165
|
+
Analytics.trackAction({
|
|
166
|
+
action: "add_end_user_evm_smart_account",
|
|
167
|
+
});
|
|
168
|
+
const { userId, enableSpendPermissions } = options;
|
|
169
|
+
return CdpOpenApiClient.addEndUserEvmSmartAccount(userId, {
|
|
170
|
+
enableSpendPermissions,
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Adds a Solana account to an existing end user. End users can have up to 10 Solana accounts.
|
|
175
|
+
*
|
|
176
|
+
* @param options - The options for adding a Solana account.
|
|
177
|
+
*
|
|
178
|
+
* @returns A promise that resolves to the newly created Solana account.
|
|
179
|
+
*
|
|
180
|
+
* @example **Add a Solana account to an existing end user**
|
|
181
|
+
* ```ts
|
|
182
|
+
* const result = await cdp.endUser.addEndUserSolanaAccount({
|
|
183
|
+
* userId: "user-123"
|
|
184
|
+
* });
|
|
185
|
+
* console.log(result.solanaAccount.address);
|
|
186
|
+
* ```
|
|
187
|
+
*/
|
|
188
|
+
async addEndUserSolanaAccount(options) {
|
|
189
|
+
Analytics.trackAction({
|
|
190
|
+
action: "add_end_user_solana_account",
|
|
191
|
+
});
|
|
192
|
+
const { userId } = options;
|
|
193
|
+
return CdpOpenApiClient.addEndUserSolanaAccount(userId, {});
|
|
113
194
|
}
|
|
114
195
|
/**
|
|
115
196
|
* Validates an end user's access token. Throws an error if the access token is invalid.
|
|
@@ -123,9 +204,10 @@ export class CDPEndUserClient {
|
|
|
123
204
|
action: "validate_access_token",
|
|
124
205
|
});
|
|
125
206
|
const { accessToken } = options;
|
|
126
|
-
|
|
207
|
+
const endUser = await CdpOpenApiClient.validateEndUserAccessToken({
|
|
127
208
|
accessToken,
|
|
128
209
|
});
|
|
210
|
+
return toEndUserAccount(CdpOpenApiClient, { endUser });
|
|
129
211
|
}
|
|
130
212
|
/**
|
|
131
213
|
* Imports an existing private key for an end user.
|
|
@@ -196,12 +278,13 @@ export class CDPEndUserClient {
|
|
|
196
278
|
padding: constants.RSA_PKCS1_OAEP_PADDING,
|
|
197
279
|
oaepHash: "sha256",
|
|
198
280
|
}, privateKeyBytes);
|
|
199
|
-
|
|
281
|
+
const endUser = await CdpOpenApiClient.importEndUser({
|
|
200
282
|
userId,
|
|
201
283
|
authenticationMethods: options.authenticationMethods,
|
|
202
284
|
encryptedPrivateKey: encryptedPrivateKey.toString("base64"),
|
|
203
285
|
keyType: options.keyType,
|
|
204
286
|
});
|
|
287
|
+
return toEndUserAccount(CdpOpenApiClient, { endUser });
|
|
205
288
|
}
|
|
206
289
|
}
|
|
207
290
|
//# sourceMappingURL=endUser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endUser.js","sourceRoot":"","sources":["../../../client/end-user/endUser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAE9D,OAAO,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"endUser.js","sourceRoot":"","sources":["../../../client/end-user/endUser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAE9D,OAAO,IAAI,MAAM,MAAM,CAAC;AAgBxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAwB,MAAM,+BAA+B,CAAC;AAEvF;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAC3B;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,KAAK,CAAC,aAAa,CAAC,OAA6B;QAC/C,SAAS,CAAC,WAAW,CAAC;YACpB,MAAM,EAAE,iBAAiB;SAC1B,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,UAAU,EAAE,CAAC;QAE9C,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,aAAa,CAAC;YACnD,GAAG,OAAO;YACV,MAAM;SACP,CAAC,CAAC;QAEH,OAAO,gBAAgB,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACzD,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,KAAK,CAAC,YAAY,CAAC,UAA+B,EAAE;QAClD,SAAS,CAAC,WAAW,CAAC;YACpB,MAAM,EAAE,gBAAgB;SACzB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG;YACb,GAAG,OAAO;YACV,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;SACtD,CAAC;QAEF,OAAO,gBAAgB,CAAC,YAAY,CAAC,MAA6B,CAAC,CAAC;IACtE,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,UAAU,CAAC,OAA0B;QACzC,SAAS,CAAC,WAAW,CAAC;YACpB,MAAM,EAAE,cAAc;SACvB,CAAC,CAAC;QAEH,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAE3B,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAE1D,OAAO,gBAAgB,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACzD,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,oBAAoB,CACxB,OAAoC;QAEpC,SAAS,CAAC,WAAW,CAAC;YACpB,MAAM,EAAE,0BAA0B;SACnC,CAAC,CAAC;QAEH,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAE3B,OAAO,gBAAgB,CAAC,oBAAoB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,KAAK,CAAC,yBAAyB,CAC7B,OAAyC;QAEzC,SAAS,CAAC,WAAW,CAAC;YACpB,MAAM,EAAE,gCAAgC;SACzC,CAAC,CAAC;QAEH,MAAM,EAAE,MAAM,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC;QAEnD,OAAO,gBAAgB,CAAC,yBAAyB,CAAC,MAAM,EAAE;YACxD,sBAAsB;SACvB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,uBAAuB,CAC3B,OAAuC;QAEvC,SAAS,CAAC,WAAW,CAAC;YACpB,MAAM,EAAE,6BAA6B;SACtC,CAAC,CAAC;QAEH,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAE3B,OAAO,gBAAgB,CAAC,uBAAuB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,mBAAmB,CAAC,OAAmC;QAC3D,SAAS,CAAC,WAAW,CAAC;YACpB,MAAM,EAAE,uBAAuB;SAChC,CAAC,CAAC;QAEH,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;QAEhC,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,0BAA0B,CAAC;YAChE,WAAW;SACZ,CAAC,CAAC;QAEH,OAAO,gBAAgB,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACzD,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,KAAK,CAAC,aAAa,CAAC,OAA6B;QAC/C,SAAS,CAAC,WAAW,CAAC;YACpB,MAAM,EAAE,iBAAiB;SAC1B,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,UAAU,EAAE,CAAC;QAE9C,IAAI,eAA2B,CAAC;QAEhC,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC9B,qDAAqD;YACrD,IAAI,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;gBAC3C,MAAM,IAAI,wBAAwB,CAAC,sCAAsC,CAAC,CAAC;YAC7E,CAAC;YACD,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC;gBACvD,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC7B,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;YAEvB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC1C,MAAM,IAAI,wBAAwB,CAAC,gDAAgD,CAAC,CAAC;YACvF,CAAC;YAED,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,6DAA6D;YAC7D,IAAI,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;gBAC3C,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACpD,CAAC;iBAAM,CAAC;gBACN,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC;YACvC,CAAC;YAED,IAAI,eAAe,CAAC,MAAM,KAAK,EAAE,IAAI,eAAe,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;gBACnE,MAAM,IAAI,wBAAwB,CAAC,mCAAmC,CAAC,CAAC;YAC1E,CAAC;YAED,gDAAgD;YAChD,IAAI,eAAe,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;gBAClC,eAAe,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QAED,MAAM,mBAAmB,GAAG,aAAa,CACvC;YACE,GAAG,EAAE,OAAO,CAAC,mBAAmB,IAAI,yBAAyB;YAC7D,OAAO,EAAE,SAAS,CAAC,sBAAsB;YACzC,QAAQ,EAAE,QAAQ;SACnB,EACD,eAAe,CAChB,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,aAAa,CAAC;YACnD,MAAM;YACN,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;YACpD,mBAAmB,EAAE,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC3D,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,gBAAgB,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACzD,CAAC;CACF"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Analytics } from "../../analytics.js";
|
|
2
|
+
/**
|
|
3
|
+
* Creates an EndUserAccount instance with actions from an existing OpenAPI EndUser.
|
|
4
|
+
* This wraps the raw API response and adds convenience methods for adding accounts.
|
|
5
|
+
*
|
|
6
|
+
* @param apiClient - The API client.
|
|
7
|
+
* @param options - Configuration options.
|
|
8
|
+
* @param options.endUser - The end user from the API response.
|
|
9
|
+
* @returns An EndUserAccount instance with action methods.
|
|
10
|
+
*/
|
|
11
|
+
export function toEndUserAccount(apiClient, options) {
|
|
12
|
+
const endUserAccount = {
|
|
13
|
+
// Pass through all properties from the OpenAPI EndUser
|
|
14
|
+
userId: options.endUser.userId,
|
|
15
|
+
authenticationMethods: options.endUser.authenticationMethods,
|
|
16
|
+
mfaMethods: options.endUser.mfaMethods,
|
|
17
|
+
evmAccounts: options.endUser.evmAccounts,
|
|
18
|
+
evmAccountObjects: options.endUser.evmAccountObjects,
|
|
19
|
+
evmSmartAccounts: options.endUser.evmSmartAccounts,
|
|
20
|
+
evmSmartAccountObjects: options.endUser.evmSmartAccountObjects,
|
|
21
|
+
solanaAccounts: options.endUser.solanaAccounts,
|
|
22
|
+
solanaAccountObjects: options.endUser.solanaAccountObjects,
|
|
23
|
+
createdAt: options.endUser.createdAt,
|
|
24
|
+
// Add action methods
|
|
25
|
+
async addEvmAccount() {
|
|
26
|
+
Analytics.trackAction({
|
|
27
|
+
action: "end_user_add_evm_account",
|
|
28
|
+
});
|
|
29
|
+
return apiClient.addEndUserEvmAccount(options.endUser.userId, {});
|
|
30
|
+
},
|
|
31
|
+
async addEvmSmartAccount(smartAccountOptions) {
|
|
32
|
+
Analytics.trackAction({
|
|
33
|
+
action: "end_user_add_evm_smart_account",
|
|
34
|
+
});
|
|
35
|
+
return apiClient.addEndUserEvmSmartAccount(options.endUser.userId, {
|
|
36
|
+
enableSpendPermissions: smartAccountOptions.enableSpendPermissions,
|
|
37
|
+
});
|
|
38
|
+
},
|
|
39
|
+
async addSolanaAccount() {
|
|
40
|
+
Analytics.trackAction({
|
|
41
|
+
action: "end_user_add_solana_account",
|
|
42
|
+
});
|
|
43
|
+
return apiClient.addEndUserSolanaAccount(options.endUser.userId, {});
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
return endUserAccount;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=toEndUserAccount.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toEndUserAccount.js","sourceRoot":"","sources":["../../../client/end-user/toEndUserAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAsB/C;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAC9B,SAA+B,EAC/B,OAAgC;IAEhC,MAAM,cAAc,GAAmB;QACrC,uDAAuD;QACvD,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM;QAC9B,qBAAqB,EAAE,OAAO,CAAC,OAAO,CAAC,qBAAqB;QAC5D,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU;QACtC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW;QACxC,iBAAiB,EAAE,OAAO,CAAC,OAAO,CAAC,iBAAiB;QACpD,gBAAgB,EAAE,OAAO,CAAC,OAAO,CAAC,gBAAgB;QAClD,sBAAsB,EAAE,OAAO,CAAC,OAAO,CAAC,sBAAsB;QAC9D,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,cAAc;QAC9C,oBAAoB,EAAE,OAAO,CAAC,OAAO,CAAC,oBAAoB;QAC1D,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS;QAEpC,qBAAqB;QACrB,KAAK,CAAC,aAAa;YACjB,SAAS,CAAC,WAAW,CAAC;gBACpB,MAAM,EAAE,0BAA0B;aACnC,CAAC,CAAC;YAEH,OAAO,SAAS,CAAC,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,KAAK,CAAC,kBAAkB,CACtB,mBAA8C;YAE9C,SAAS,CAAC,WAAW,CAAC;gBACpB,MAAM,EAAE,gCAAgC;aACzC,CAAC,CAAC;YAEH,OAAO,SAAS,CAAC,yBAAyB,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE;gBACjE,sBAAsB,EAAE,mBAAmB,CAAC,sBAAsB;aACnE,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,gBAAgB;YACpB,SAAS,CAAC,WAAW,CAAC;gBACpB,MAAM,EAAE,6BAA6B;aACtC,CAAC,CAAC;YAEH,OAAO,SAAS,CAAC,uBAAuB,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACvE,CAAC;KACF,CAAC;IAEF,OAAO,cAAc,CAAC;AACxB,CAAC"}
|
|
@@ -56,8 +56,6 @@ export const ErrorType = {
|
|
|
56
56
|
mfa_flow_expired: "mfa_flow_expired",
|
|
57
57
|
mfa_required: "mfa_required",
|
|
58
58
|
mfa_not_enrolled: "mfa_not_enrolled",
|
|
59
|
-
mfa_multiple_methods_available: "mfa_multiple_methods_available",
|
|
60
|
-
mfa_invalid_method: "mfa_invalid_method",
|
|
61
59
|
};
|
|
62
60
|
// eslint-disable-next-line @typescript-eslint/no-redeclare
|
|
63
61
|
export const EvmUserOperationNetwork = {
|
|
@@ -524,6 +522,7 @@ export const X402VerifyInvalidReason = {
|
|
|
524
522
|
invalid_exact_svm_payload_transaction_transfer_to_incorrect_ata: "invalid_exact_svm_payload_transaction_transfer_to_incorrect_ata",
|
|
525
523
|
invalid_exact_svm_payload_transaction_fee_payer_included_in_instruction_accounts: "invalid_exact_svm_payload_transaction_fee_payer_included_in_instruction_accounts",
|
|
526
524
|
invalid_exact_svm_payload_transaction_fee_payer_transferring_funds: "invalid_exact_svm_payload_transaction_fee_payer_transferring_funds",
|
|
525
|
+
unknown_error: "unknown_error",
|
|
527
526
|
};
|
|
528
527
|
// eslint-disable-next-line @typescript-eslint/no-redeclare
|
|
529
528
|
export const X402SettleErrorReason = {
|
|
@@ -567,6 +566,7 @@ export const X402SettleErrorReason = {
|
|
|
567
566
|
settle_exact_failed_onchain: "settle_exact_failed_onchain",
|
|
568
567
|
settle_exact_svm_block_height_exceeded: "settle_exact_svm_block_height_exceeded",
|
|
569
568
|
settle_exact_svm_transaction_confirmation_timed_out: "settle_exact_svm_transaction_confirmation_timed_out",
|
|
569
|
+
unknown_error: "unknown_error",
|
|
570
570
|
};
|
|
571
571
|
// eslint-disable-next-line @typescript-eslint/no-redeclare
|
|
572
572
|
export const X402SupportedPaymentKindScheme = {
|
|
@@ -578,6 +578,10 @@ export const X402SupportedPaymentKindNetwork = {
|
|
|
578
578
|
base: "base",
|
|
579
579
|
"solana-devnet": "solana-devnet",
|
|
580
580
|
solana: "solana",
|
|
581
|
+
"eip155:8453": "eip155:8453",
|
|
582
|
+
"eip155:84532": "eip155:84532",
|
|
583
|
+
"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
|
|
584
|
+
"solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1": "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1",
|
|
581
585
|
};
|
|
582
586
|
// eslint-disable-next-line @typescript-eslint/no-redeclare
|
|
583
587
|
export const OnrampOrderPaymentMethodTypeId = {
|