@coinbase/cdp-sdk 1.15.0 → 1.16.0
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 +14 -0
- package/README.md +82 -20
- package/_cjs/accounts/evm/toEvmServerAccount.js +13 -7
- package/_cjs/accounts/evm/toEvmServerAccount.js.map +1 -1
- package/_cjs/accounts/evm/toEvmSmartAccount.js +18 -0
- package/_cjs/accounts/evm/toEvmSmartAccount.js.map +1 -1
- package/_cjs/actions/evm/signAndWrapTypedDataForSmartAccount.js +186 -0
- package/_cjs/actions/evm/signAndWrapTypedDataForSmartAccount.js.map +1 -0
- package/_cjs/actions/evm/swap/createSwapQuote.js +26 -8
- package/_cjs/actions/evm/swap/createSwapQuote.js.map +1 -1
- package/_cjs/actions/evm/swap/getSwapPrice.js +3 -2
- package/_cjs/actions/evm/swap/getSwapPrice.js.map +1 -1
- package/_cjs/actions/evm/swap/sendSwapOperation.js +153 -0
- package/_cjs/actions/evm/swap/sendSwapOperation.js.map +1 -0
- package/_cjs/actions/evm/swap/sendSwapTransaction.js +16 -2
- package/_cjs/actions/evm/swap/sendSwapTransaction.js.map +1 -1
- package/_cjs/client/evm/evm.js +13 -6
- package/_cjs/client/evm/evm.js.map +1 -1
- package/_cjs/utils/uuidV4.js +26 -0
- package/_cjs/utils/uuidV4.js.map +1 -0
- package/_cjs/version.js +1 -1
- package/_esm/accounts/evm/toEvmServerAccount.js +14 -8
- package/_esm/accounts/evm/toEvmServerAccount.js.map +1 -1
- package/_esm/accounts/evm/toEvmSmartAccount.js +18 -0
- package/_esm/accounts/evm/toEvmSmartAccount.js.map +1 -1
- package/_esm/actions/evm/signAndWrapTypedDataForSmartAccount.js +181 -0
- package/_esm/actions/evm/signAndWrapTypedDataForSmartAccount.js.map +1 -0
- package/_esm/actions/evm/swap/createSwapQuote.js +26 -8
- package/_esm/actions/evm/swap/createSwapQuote.js.map +1 -1
- package/_esm/actions/evm/swap/getSwapPrice.js +3 -2
- package/_esm/actions/evm/swap/getSwapPrice.js.map +1 -1
- package/_esm/actions/evm/swap/sendSwapOperation.js +150 -0
- package/_esm/actions/evm/swap/sendSwapOperation.js.map +1 -0
- package/_esm/actions/evm/swap/sendSwapTransaction.js +16 -2
- package/_esm/actions/evm/swap/sendSwapTransaction.js.map +1 -1
- package/_esm/client/evm/evm.js +14 -7
- package/_esm/client/evm/evm.js.map +1 -1
- package/_esm/utils/uuidV4.js +23 -0
- package/_esm/utils/uuidV4.js.map +1 -0
- package/_esm/version.js +1 -1
- package/_types/accounts/evm/toEvmServerAccount.d.ts.map +1 -1
- package/_types/accounts/evm/toEvmSmartAccount.d.ts.map +1 -1
- package/_types/accounts/evm/types.d.ts +4 -4
- package/_types/accounts/evm/types.d.ts.map +1 -1
- package/_types/actions/evm/signAndWrapTypedDataForSmartAccount.d.ts +133 -0
- package/_types/actions/evm/signAndWrapTypedDataForSmartAccount.d.ts.map +1 -0
- package/_types/actions/evm/swap/createSwapQuote.d.ts.map +1 -1
- package/_types/actions/evm/swap/getSwapPrice.d.ts +2 -1
- package/_types/actions/evm/swap/getSwapPrice.d.ts.map +1 -1
- package/_types/actions/evm/swap/sendSwapOperation.d.ts +64 -0
- package/_types/actions/evm/swap/sendSwapOperation.d.ts.map +1 -0
- package/_types/actions/evm/swap/sendSwapTransaction.d.ts.map +1 -1
- package/_types/actions/evm/swap/types.d.ts +131 -5
- package/_types/actions/evm/swap/types.d.ts.map +1 -1
- package/_types/actions/evm/types.d.ts +112 -21
- package/_types/actions/evm/types.d.ts.map +1 -1
- package/_types/client/evm/evm.d.ts.map +1 -1
- package/_types/client/evm/evm.types.d.ts +32 -6
- package/_types/client/evm/evm.types.d.ts.map +1 -1
- package/_types/utils/uuidV4.d.ts +10 -0
- package/_types/utils/uuidV4.d.ts.map +1 -0
- package/_types/version.d.ts +1 -1
- package/accounts/evm/toEvmServerAccount.ts +33 -15
- package/accounts/evm/toEvmSmartAccount.ts +25 -0
- package/accounts/evm/types.ts +14 -6
- package/actions/evm/signAndWrapTypedDataForSmartAccount.ts +246 -0
- package/actions/evm/swap/createSwapQuote.ts +42 -17
- package/actions/evm/swap/getSwapPrice.ts +15 -11
- package/actions/evm/swap/sendSwapOperation.ts +182 -0
- package/actions/evm/swap/sendSwapTransaction.ts +18 -2
- package/actions/evm/swap/types.ts +154 -5
- package/actions/evm/types.ts +123 -21
- package/client/evm/evm.ts +19 -8
- package/client/evm/evm.types.ts +33 -6
- package/package.json +1 -1
- package/utils/uuidV4.ts +23 -0
- package/version.ts +1 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { sendSwapOperation } from "./sendSwapOperation.js";
|
|
1
2
|
import { sendSwapTransaction } from "./sendSwapTransaction.js";
|
|
2
3
|
/**
|
|
3
4
|
* Creates a quote for a swap between two tokens on an EVM network.
|
|
@@ -35,7 +36,7 @@ export async function createSwapQuote(client, options) {
|
|
|
35
36
|
signerAddress: options.signerAddress,
|
|
36
37
|
gasPrice: options.gasPrice?.toString(),
|
|
37
38
|
slippageBps: options.slippageBps,
|
|
38
|
-
});
|
|
39
|
+
}, options.idempotencyKey);
|
|
39
40
|
// Check if liquidity is unavailable
|
|
40
41
|
if (!response.liquidityAvailable) {
|
|
41
42
|
// Return the SwapUnavailableResult
|
|
@@ -109,13 +110,30 @@ export async function createSwapQuote(client, options) {
|
|
|
109
110
|
: undefined,
|
|
110
111
|
// Add the execute method
|
|
111
112
|
execute: async (executeOptions = {}) => {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
113
|
+
if (options.smartAccount) {
|
|
114
|
+
// Smart account execution - use sendSwapOperation
|
|
115
|
+
const userOpResult = await sendSwapOperation(client, {
|
|
116
|
+
smartAccount: options.smartAccount,
|
|
117
|
+
network: result.network,
|
|
118
|
+
swapQuote: result,
|
|
119
|
+
idempotencyKey: executeOptions.idempotencyKey,
|
|
120
|
+
});
|
|
121
|
+
return {
|
|
122
|
+
userOpHash: userOpResult.userOpHash,
|
|
123
|
+
smartAccountAddress: userOpResult.smartAccountAddress,
|
|
124
|
+
status: userOpResult.status,
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
// EOA execution - use sendSwapTransaction
|
|
129
|
+
const { transactionHash } = await sendSwapTransaction(client, {
|
|
130
|
+
address: taker,
|
|
131
|
+
network: result.network,
|
|
132
|
+
swapQuote: result,
|
|
133
|
+
idempotencyKey: executeOptions.idempotencyKey,
|
|
134
|
+
});
|
|
135
|
+
return { transactionHash };
|
|
136
|
+
}
|
|
119
137
|
},
|
|
120
138
|
};
|
|
121
139
|
return result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createSwapQuote.js","sourceRoot":"","sources":["../../../../actions/evm/swap/createSwapQuote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"createSwapQuote.js","sourceRoot":"","sources":["../../../../actions/evm/swap/createSwapQuote.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
* toToken: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", // USDC
|
|
14
14
|
* fromToken: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", // WETH
|
|
15
15
|
* fromAmount: BigInt("1000000000000000000"), // 1 WETH in wei
|
|
16
|
-
* taker: "0x1234567890123456789012345678901234567890"
|
|
16
|
+
* taker: "0x1234567890123456789012345678901234567890",
|
|
17
|
+
* idempotencyKey: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" // Optional: for request deduplication
|
|
17
18
|
* });
|
|
18
19
|
* ```
|
|
19
20
|
*/
|
|
@@ -28,7 +29,7 @@ export async function getSwapPrice(client, options) {
|
|
|
28
29
|
signerAddress: options.signerAddress,
|
|
29
30
|
gasPrice: options.gasPrice?.toString(),
|
|
30
31
|
slippageBps: options.slippageBps,
|
|
31
|
-
});
|
|
32
|
+
}, options.idempotencyKey);
|
|
32
33
|
// Check if liquidity is unavailable
|
|
33
34
|
if (!response.liquidityAvailable) {
|
|
34
35
|
// Return the SwapUnavailableResult
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSwapPrice.js","sourceRoot":"","sources":["../../../../actions/evm/swap/getSwapPrice.ts"],"names":[],"mappings":"AAQA
|
|
1
|
+
{"version":3,"file":"getSwapPrice.js","sourceRoot":"","sources":["../../../../actions/evm/swap/getSwapPrice.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { concat, numberToHex, size } from "viem";
|
|
2
|
+
import { createSwapQuote } from "./createSwapQuote.js";
|
|
3
|
+
import { createDeterministicUuidV4 } from "../../../utils/uuidV4.js";
|
|
4
|
+
import { sendUserOperation } from "../sendUserOperation.js";
|
|
5
|
+
import { signAndWrapTypedDataForSmartAccount } from "../signAndWrapTypedDataForSmartAccount.js";
|
|
6
|
+
/**
|
|
7
|
+
* Sends a swap operation to the blockchain via a smart account user operation.
|
|
8
|
+
* Handles any permit2 signatures required for the swap.
|
|
9
|
+
*
|
|
10
|
+
* If you encounter token allowance issues, you'll need to perform a token approval transaction first to allow
|
|
11
|
+
* the Permit2 contract to spend the appropriate amount of your fromToken.
|
|
12
|
+
* See examples for code on handling token approvals.
|
|
13
|
+
*
|
|
14
|
+
* @param {CdpOpenApiClientType} client - The client to use for sending the swap operation.
|
|
15
|
+
* @param {SendSwapOperationOptions} options - The options for the swap submission.
|
|
16
|
+
*
|
|
17
|
+
* @returns {Promise<SendSwapOperationResult>} A promise that resolves to the user operation result.
|
|
18
|
+
*
|
|
19
|
+
* @throws {Error} If liquidity is not available for the swap.
|
|
20
|
+
* @throws {Error} If there are insufficient token allowances. In this case, you need to approve the
|
|
21
|
+
* Permit2 contract to spend your tokens before attempting the swap. The error message
|
|
22
|
+
* will include the current allowance and the spender address that needs approval.
|
|
23
|
+
* @throws {Error} If no transaction data is found in the swap result.
|
|
24
|
+
*
|
|
25
|
+
* @example **Sending a swap with pre-created swap quote object**
|
|
26
|
+
* ```ts
|
|
27
|
+
* // First create a swap quote
|
|
28
|
+
* const swapQuote = await cdp.evm.createSwapQuote({
|
|
29
|
+
* network: "base",
|
|
30
|
+
* toToken: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", // USDC
|
|
31
|
+
* fromToken: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", // WETH
|
|
32
|
+
* fromAmount: BigInt("1000000000000000000"), // 1 WETH in wei
|
|
33
|
+
* taker: smartAccount.address
|
|
34
|
+
* });
|
|
35
|
+
*
|
|
36
|
+
* // Check if liquidity is available
|
|
37
|
+
* if (!swapQuote.liquidityAvailable) {
|
|
38
|
+
* console.error("Insufficient liquidity for swap");
|
|
39
|
+
* return;
|
|
40
|
+
* }
|
|
41
|
+
*
|
|
42
|
+
* // Send the swap operation
|
|
43
|
+
* const result = await sendSwapOperation(client, {
|
|
44
|
+
* smartAccount: smartAccount,
|
|
45
|
+
* swapQuote: swapQuote
|
|
46
|
+
* });
|
|
47
|
+
*
|
|
48
|
+
* console.log(`Swap operation sent with user op hash: ${result.userOpHash}`);
|
|
49
|
+
* ```
|
|
50
|
+
*
|
|
51
|
+
* @example **Sending a swap with inline options (all-in-one)**
|
|
52
|
+
* ```ts
|
|
53
|
+
* // Send swap operation in one call
|
|
54
|
+
* const result = await sendSwapOperation(client, {
|
|
55
|
+
* smartAccount: smartAccount,
|
|
56
|
+
* network: "base",
|
|
57
|
+
* toToken: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", // USDC
|
|
58
|
+
* fromToken: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", // WETH
|
|
59
|
+
* fromAmount: BigInt("1000000000000000000"), // 1 WETH in wei
|
|
60
|
+
* taker: smartAccount.address
|
|
61
|
+
* });
|
|
62
|
+
*
|
|
63
|
+
* console.log(`Swap operation sent with user op hash: ${result.userOpHash}`);
|
|
64
|
+
* ```
|
|
65
|
+
*/
|
|
66
|
+
export async function sendSwapOperation(client, options) {
|
|
67
|
+
const { smartAccount, paymasterUrl, idempotencyKey } = options;
|
|
68
|
+
let swapResult;
|
|
69
|
+
// Determine if we need to create the swap quote or use the provided one
|
|
70
|
+
if ("swapQuote" in options) {
|
|
71
|
+
// Use the provided swap quote
|
|
72
|
+
swapResult = options.swapQuote;
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
// Create the swap quote using the provided options (inline options)
|
|
76
|
+
/**
|
|
77
|
+
* Deterministically derive a new idempotency key from the provided idempotency key for swap quote creation to avoid key reuse.
|
|
78
|
+
*/
|
|
79
|
+
const swapQuoteIdempotencyKey = idempotencyKey
|
|
80
|
+
? createDeterministicUuidV4(idempotencyKey, "createSwapQuote")
|
|
81
|
+
: undefined;
|
|
82
|
+
swapResult = await createSwapQuote(client, {
|
|
83
|
+
network: options.network,
|
|
84
|
+
toToken: options.toToken,
|
|
85
|
+
fromToken: options.fromToken,
|
|
86
|
+
fromAmount: options.fromAmount,
|
|
87
|
+
taker: options.taker,
|
|
88
|
+
signerAddress: options.signerAddress,
|
|
89
|
+
gasPrice: options.gasPrice,
|
|
90
|
+
slippageBps: options.slippageBps,
|
|
91
|
+
idempotencyKey: swapQuoteIdempotencyKey,
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
// Check if liquidity is available
|
|
95
|
+
if (!swapResult.liquidityAvailable) {
|
|
96
|
+
throw new Error("Insufficient liquidity for swap");
|
|
97
|
+
}
|
|
98
|
+
// At this point, we know that swapResult is CreateSwapQuoteResult
|
|
99
|
+
const swap = swapResult;
|
|
100
|
+
// Check for allowance issues
|
|
101
|
+
if (swap.issues?.allowance) {
|
|
102
|
+
const { currentAllowance, spender } = swap.issues.allowance;
|
|
103
|
+
throw new Error(`Insufficient token allowance for swap. Current allowance: ${currentAllowance}. ` +
|
|
104
|
+
`Please approve the Permit2 contract (${spender}) to spend your tokens.`);
|
|
105
|
+
}
|
|
106
|
+
// If the transaction doesn't exist, throw an error
|
|
107
|
+
if (!swap.transaction) {
|
|
108
|
+
throw new Error("No transaction data found in the swap");
|
|
109
|
+
}
|
|
110
|
+
// Get the transaction data and modify it if needed for Permit2
|
|
111
|
+
let txData = swap.transaction.data;
|
|
112
|
+
if (swap.permit2?.eip712) {
|
|
113
|
+
// Create the permit2 idempotency key
|
|
114
|
+
const permit2IdempotencyKey = idempotencyKey
|
|
115
|
+
? createDeterministicUuidV4(idempotencyKey, "permit2")
|
|
116
|
+
: undefined;
|
|
117
|
+
// Sign and wrap the permit2 typed data according to the Coinbase Smart Wallet contract requirements for EIP-712 signatures
|
|
118
|
+
const { signature: wrappedSignature } = await signAndWrapTypedDataForSmartAccount(client, {
|
|
119
|
+
smartAccount,
|
|
120
|
+
chainId: BigInt(swap.permit2.eip712.domain.chainId || 1),
|
|
121
|
+
typedData: swap.permit2.eip712,
|
|
122
|
+
ownerIndex: 0n,
|
|
123
|
+
idempotencyKey: permit2IdempotencyKey,
|
|
124
|
+
});
|
|
125
|
+
// Calculate the Permit2 signature length as a 32-byte hex value
|
|
126
|
+
const permit2SignatureLengthInHex = numberToHex(size(wrappedSignature), {
|
|
127
|
+
signed: false,
|
|
128
|
+
size: 32,
|
|
129
|
+
});
|
|
130
|
+
// Append the Permit2 signature length and signature to the transaction data
|
|
131
|
+
txData = concat([txData, permit2SignatureLengthInHex, wrappedSignature]);
|
|
132
|
+
}
|
|
133
|
+
// Send the swap as a user operation
|
|
134
|
+
const result = await sendUserOperation(client, {
|
|
135
|
+
smartAccount: smartAccount,
|
|
136
|
+
network: swap.network,
|
|
137
|
+
paymasterUrl,
|
|
138
|
+
idempotencyKey,
|
|
139
|
+
calls: [
|
|
140
|
+
{
|
|
141
|
+
to: swap.transaction.to,
|
|
142
|
+
data: txData,
|
|
143
|
+
// Only include value if it exists
|
|
144
|
+
...(swap.transaction.value ? { value: BigInt(swap.transaction.value) } : {}),
|
|
145
|
+
},
|
|
146
|
+
],
|
|
147
|
+
});
|
|
148
|
+
return result;
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=sendSwapOperation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sendSwapOperation.js","sourceRoot":"","sources":["../../../../actions/evm/swap/sendSwapOperation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { concat, numberToHex, size } from "viem";
|
|
2
2
|
import { createSwapQuote } from "./createSwapQuote.js";
|
|
3
|
+
import { createDeterministicUuidV4 } from "../../../utils/uuidV4.js";
|
|
3
4
|
import { sendTransaction } from "../sendTransaction.js";
|
|
4
5
|
/**
|
|
5
6
|
* Sends a swap transaction to the blockchain.
|
|
@@ -71,6 +72,12 @@ export async function sendSwapTransaction(client, options) {
|
|
|
71
72
|
}
|
|
72
73
|
else {
|
|
73
74
|
// Create the swap quote using the provided options (InlineSendSwapTransactionOptions)
|
|
75
|
+
/**
|
|
76
|
+
* Deterministically derive a new idempotency key from the provided idempotency key for swap quote creation to avoid key reuse.
|
|
77
|
+
*/
|
|
78
|
+
const swapQuoteIdempotencyKey = idempotencyKey
|
|
79
|
+
? createDeterministicUuidV4(idempotencyKey, "createSwapQuote")
|
|
80
|
+
: undefined;
|
|
74
81
|
swapResult = await createSwapQuote(client, {
|
|
75
82
|
network: options.network,
|
|
76
83
|
toToken: options.toToken,
|
|
@@ -80,6 +87,7 @@ export async function sendSwapTransaction(client, options) {
|
|
|
80
87
|
signerAddress: options.signerAddress,
|
|
81
88
|
gasPrice: options.gasPrice,
|
|
82
89
|
slippageBps: options.slippageBps,
|
|
90
|
+
idempotencyKey: swapQuoteIdempotencyKey,
|
|
83
91
|
});
|
|
84
92
|
}
|
|
85
93
|
// Check if liquidity is available
|
|
@@ -101,13 +109,19 @@ export async function sendSwapTransaction(client, options) {
|
|
|
101
109
|
// Get the transaction data and modify it if needed for Permit2
|
|
102
110
|
let txData = swap.transaction.data;
|
|
103
111
|
if (swap.permit2?.eip712) {
|
|
104
|
-
|
|
112
|
+
/**
|
|
113
|
+
* Sign the Permit2 EIP-712 message.
|
|
114
|
+
* Deterministically derive a new idempotency key from the provided idempotency key for permit2 signing to avoid key reuse.
|
|
115
|
+
*/
|
|
116
|
+
const permit2IdempotencyKey = idempotencyKey
|
|
117
|
+
? createDeterministicUuidV4(idempotencyKey, "permit2")
|
|
118
|
+
: undefined;
|
|
105
119
|
const signature = await client.signEvmTypedData(address, {
|
|
106
120
|
domain: swap.permit2.eip712.domain,
|
|
107
121
|
types: swap.permit2.eip712.types,
|
|
108
122
|
primaryType: swap.permit2.eip712.primaryType,
|
|
109
123
|
message: swap.permit2.eip712.message,
|
|
110
|
-
},
|
|
124
|
+
}, permit2IdempotencyKey);
|
|
111
125
|
// Calculate the signature length as a 32-byte hex value
|
|
112
126
|
const signatureLengthInHex = numberToHex(size(signature.signature), {
|
|
113
127
|
signed: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sendSwapTransaction.js","sourceRoot":"","sources":["../../../../actions/evm/swap/sendSwapTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAEjD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAexD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAA4B,EAC5B,OAAmC;IAEnC,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;IAE5C,IAAI,UAAyD,CAAC;IAE9D,wEAAwE;IACxE,IAAI,WAAW,IAAI,OAAO,EAAE,CAAC;QAC3B,8BAA8B;QAC9B,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IACjC,CAAC;SAAM,CAAC;QACN,sFAAsF;QACtF,UAAU,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE;YACzC,OAAO,EAAE,OAAO,CAAC,OAA4C;YAC7D,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,WAAW,EAAE,OAAO,CAAC,WAAW;
|
|
1
|
+
{"version":3,"file":"sendSwapTransaction.js","sourceRoot":"","sources":["../../../../actions/evm/swap/sendSwapTransaction.ts"],"names":[],"mappings":"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"}
|
package/_esm/client/evm/evm.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { constants, publicEncrypt } from "crypto";
|
|
2
|
+
import { getTypesForEIP712Domain } from "viem";
|
|
2
3
|
import { ImportEvmAccountPublicRSAKey } from "./constants.js";
|
|
3
4
|
import { toEvmServerAccount } from "../../accounts/evm/toEvmServerAccount.js";
|
|
4
5
|
import { toEvmSmartAccount } from "../../accounts/evm/toEvmSmartAccount.js";
|
|
@@ -12,7 +13,7 @@ import { getSwapPrice } from "../../actions/evm/swap/getSwapPrice.js";
|
|
|
12
13
|
import { waitForUserOperation, } from "../../actions/evm/waitForUserOperation.js";
|
|
13
14
|
import { Analytics } from "../../analytics.js";
|
|
14
15
|
import { APIError } from "../../openapi-client/errors.js";
|
|
15
|
-
import { CdpOpenApiClient } from "../../openapi-client/index.js";
|
|
16
|
+
import { CdpOpenApiClient, } from "../../openapi-client/index.js";
|
|
16
17
|
import { decryptWithPrivateKey, generateExportEncryptionKeyPair } from "../../utils/export.js";
|
|
17
18
|
/**
|
|
18
19
|
* The namespace containing all EVM methods.
|
|
@@ -838,12 +839,18 @@ export class EvmClient {
|
|
|
838
839
|
* ```
|
|
839
840
|
*/
|
|
840
841
|
async signTypedData(options) {
|
|
841
|
-
const
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
842
|
+
const { domain, message, primaryType } = options;
|
|
843
|
+
const types = {
|
|
844
|
+
EIP712Domain: getTypesForEIP712Domain({ domain }),
|
|
845
|
+
...options.types,
|
|
846
|
+
};
|
|
847
|
+
const openApiMessage = {
|
|
848
|
+
domain,
|
|
849
|
+
types,
|
|
850
|
+
primaryType,
|
|
851
|
+
message,
|
|
852
|
+
};
|
|
853
|
+
const signature = await CdpOpenApiClient.signEvmTypedData(options.address, openApiMessage, options.idempotencyKey);
|
|
847
854
|
return {
|
|
848
855
|
signature: signature.signature,
|
|
849
856
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evm.js","sourceRoot":"","sources":["../../../client/evm/evm.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"evm.js","sourceRoot":"","sources":["../../../client/evm/evm.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { createHash } from "crypto";
|
|
2
|
+
/**
|
|
3
|
+
* Deterministically generates a UUIDv4 from a given input string.
|
|
4
|
+
* This is necessary when we need to generate downstream idempotency keys for operations that have multiple calls.
|
|
5
|
+
*
|
|
6
|
+
* @param input - The input string to derive from
|
|
7
|
+
* @param salt - Optional salt to append to the input (defaults to "salt")
|
|
8
|
+
* @returns A UUIDv4 formatted string
|
|
9
|
+
*/
|
|
10
|
+
export function createDeterministicUuidV4(input, salt = "salt") {
|
|
11
|
+
const hash = createHash("sha256")
|
|
12
|
+
.update(input + "-" + salt)
|
|
13
|
+
.digest("hex");
|
|
14
|
+
// Format as UUIDv4: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
|
|
15
|
+
return [
|
|
16
|
+
hash.slice(0, 8),
|
|
17
|
+
hash.slice(8, 12),
|
|
18
|
+
"4" + hash.slice(13, 16), // Version 4
|
|
19
|
+
((parseInt(hash.slice(16, 17), 16) & 0x3) | 0x8).toString(16) + hash.slice(17, 20), // Variant bits
|
|
20
|
+
hash.slice(20, 32),
|
|
21
|
+
].join("-");
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=uuidV4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uuidV4.js","sourceRoot":"","sources":["../../utils/uuidV4.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAa,EAAE,IAAI,GAAG,MAAM;IACpE,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC;SAC9B,MAAM,CAAC,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC;SAC1B,MAAM,CAAC,KAAK,CAAC,CAAC;IACjB,yDAAyD;IACzD,OAAO;QACL,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QAChB,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QACjB,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,YAAY;QACtC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,eAAe;QACnG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;KACnB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC"}
|
package/_esm/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const version = "1.
|
|
1
|
+
export const version = "1.16.0";
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toEvmServerAccount.d.ts","sourceRoot":"","sources":["../../../accounts/evm/toEvmServerAccount.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"toEvmServerAccount.d.ts","sourceRoot":"","sources":["../../../accounts/evm/toEvmServerAccount.ts"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAWnD,OAAO,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAGtF;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC,kDAAkD;IAClD,OAAO,EAAE,UAAU,CAAC;CACrB,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,oBAAoB,EAC/B,OAAO,EAAE,yBAAyB,GACjC,gBAAgB,CAyGlB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toEvmSmartAccount.d.ts","sourceRoot":"","sources":["../../../accounts/evm/toEvmSmartAccount.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"toEvmSmartAccount.d.ts","sourceRoot":"","sources":["../../../accounts/evm/toEvmSmartAccount.ts"],"names":[],"mappings":"AAoCA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAO9D,OAAO,KAAK,EACV,oBAAoB,EACpB,eAAe,IAAI,oBAAoB,EACxC,MAAM,+BAA+B,CAAC;AAGvC;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC,wCAAwC;IACxC,YAAY,EAAE,oBAAoB,CAAC;IACnC,sCAAsC;IACtC,KAAK,EAAE,UAAU,CAAC;CACnB,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,oBAAoB,EAC/B,OAAO,EAAE,wBAAwB,GAChC,eAAe,CAsFjB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { SignableMessage, TransactionSerializable } from "viem";
|
|
2
|
-
import { Prettify } from "../../types/utils.js";
|
|
3
1
|
import type { AccountActions, SmartAccountActions } from "../../actions/evm/types.js";
|
|
4
|
-
import type { Address,
|
|
2
|
+
import type { Address, Hash, Hex } from "../../types/misc.js";
|
|
3
|
+
import type { Prettify } from "../../types/utils.js";
|
|
4
|
+
import type { SignableMessage, TransactionSerializable, TypedData, TypedDataDefinition } from "viem";
|
|
5
5
|
/**
|
|
6
6
|
* Base type for any Ethereum account with signing capabilities.
|
|
7
7
|
* For example, this could be an EVM ServerAccount, or a viem LocalAccount.
|
|
@@ -20,7 +20,7 @@ export type EvmAccount = {
|
|
|
20
20
|
/** Signs a transaction and returns the signed transaction as a hex string. */
|
|
21
21
|
signTransaction: (transaction: TransactionSerializable) => Promise<Hex>;
|
|
22
22
|
/** Signs a typed data and returns the signature as a hex string. */
|
|
23
|
-
signTypedData: (
|
|
23
|
+
signTypedData: <const typedData extends TypedData | Record<string, unknown>, primaryType extends keyof typedData | "EIP712Domain" = keyof typedData>(parameters: TypedDataDefinition<typedData, primaryType>) => Promise<Hex>;
|
|
24
24
|
/** A list of Policy ID's that apply to the account. */
|
|
25
25
|
policies?: string[];
|
|
26
26
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../accounts/evm/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../accounts/evm/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtF,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EACV,eAAe,EACf,uBAAuB,EACvB,SAAS,EACT,mBAAmB,EACpB,MAAM,MAAM,CAAC;AAEd;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,iCAAiC;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,sEAAsE;IACtE,IAAI,EAAE,CAAC,UAAU,EAAE;QAAE,IAAI,EAAE,IAAI,CAAA;KAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IACnD,iEAAiE;IACjE,WAAW,EAAE,CAAC,UAAU,EAAE;QAAE,OAAO,EAAE,eAAe,CAAA;KAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IACxE,8EAA8E;IAC9E,eAAe,EAAE,CAAC,WAAW,EAAE,uBAAuB,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IACxE,oEAAoE;IACpE,aAAa,EAAE,CACb,KAAK,CAAC,SAAS,SAAS,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3D,WAAW,SAAS,MAAM,SAAS,GAAG,cAAc,GAAG,MAAM,SAAS,EAEtE,UAAU,EAAE,mBAAmB,CAAC,SAAS,EAAE,WAAW,CAAC,KACpD,OAAO,CAAC,GAAG,CAAC,CAAC;IAClB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CACrC,UAAU,GACR,cAAc,GAAG;IACf,4CAA4C;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,IAAI,EAAE,YAAY,CAAC;CACpB,CACJ,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,CACpC;IACE,mCAAmC;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uKAAuK;IACvK,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,6CAA6C;IAC7C,IAAI,EAAE,WAAW,CAAC;CACnB,GAAG,mBAAmB,CACxB,CAAC"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import type { EvmSmartAccount } from "../../accounts/evm/types.js";
|
|
2
|
+
import type { CdpOpenApiClientType, EIP712Message as OpenApiEIP712Message } from "../../openapi-client/index.js";
|
|
3
|
+
import type { EIP712Message, Hex } from "../../types/misc.js";
|
|
4
|
+
/**
|
|
5
|
+
* Options for signing and wrapping EIP-712 typed data with a smart account.
|
|
6
|
+
*/
|
|
7
|
+
export interface SignAndWrapTypedDataForSmartAccountOptions {
|
|
8
|
+
/** The smart account to sign with. */
|
|
9
|
+
smartAccount: EvmSmartAccount;
|
|
10
|
+
/** The chain ID for the signature (used for replay protection). */
|
|
11
|
+
chainId: bigint;
|
|
12
|
+
/** The EIP-712 typed data message to sign. */
|
|
13
|
+
typedData: EIP712Message;
|
|
14
|
+
/** The index of the owner to sign with (defaults to 0). */
|
|
15
|
+
ownerIndex?: bigint;
|
|
16
|
+
/** Optional idempotency key for the signing request. */
|
|
17
|
+
idempotencyKey?: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Result of signing and wrapping typed data for a smart account.
|
|
21
|
+
*/
|
|
22
|
+
export interface SignAndWrapTypedDataForSmartAccountResult {
|
|
23
|
+
/** The signature ready for smart contract use. */
|
|
24
|
+
signature: Hex;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Signs and wraps an EIP-712 message for a smart account using the required Coinbase Smart Wallet signature format.
|
|
28
|
+
*
|
|
29
|
+
* **Important: Coinbase Smart Wallet Contract Requirements**
|
|
30
|
+
*
|
|
31
|
+
* Due to the Coinbase Smart Wallet contract implementation (ERC-1271), CDP Smart Wallets have
|
|
32
|
+
* specific requirements for EIP-712 message signing:
|
|
33
|
+
*
|
|
34
|
+
* 1. **Replay-Safe Hashing**: All typed messages must be wrapped in a replay-safe hash that
|
|
35
|
+
* includes the chain ID and smart account address. This prevents the same signature from
|
|
36
|
+
* being valid across different chains or accounts.
|
|
37
|
+
*
|
|
38
|
+
* 2. **Signature Wrapping**: The resulting signature must be wrapped in a `SignatureWrapper`
|
|
39
|
+
* struct that identifies which owner signed and contains the signature data in the format
|
|
40
|
+
* expected by the smart contract's `isValidSignature()` method.
|
|
41
|
+
*
|
|
42
|
+
* This function handles both requirements automatically, making it safe and convenient for
|
|
43
|
+
* developers to sign EIP-712 messages with CDP Smart Wallets.
|
|
44
|
+
*
|
|
45
|
+
* @param {CdpOpenApiClientType} client - The CDP API client
|
|
46
|
+
* @param {SignAndWrapTypedDataForSmartAccountOptions} options - Parameters for signing and wrapping the EIP-712 message.
|
|
47
|
+
* @returns A promise that resolves to the signature that can be used with smart contracts.
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```ts
|
|
51
|
+
* const result = await signAndWrapTypedDataForSmartAccount(client, {
|
|
52
|
+
* smartAccount: smartAccount,
|
|
53
|
+
* chainId: 1n,
|
|
54
|
+
* typedData: {
|
|
55
|
+
* domain: {
|
|
56
|
+
* name: "Permit2",
|
|
57
|
+
* chainId: 1,
|
|
58
|
+
* verifyingContract: "0x000000000022D473030F116dDEE9F6B43aC78BA3",
|
|
59
|
+
* },
|
|
60
|
+
* types: {
|
|
61
|
+
* EIP712Domain: [
|
|
62
|
+
* { name: "name", type: "string" },
|
|
63
|
+
* { name: "chainId", type: "uint256" },
|
|
64
|
+
* { name: "verifyingContract", type: "address" },
|
|
65
|
+
* ],
|
|
66
|
+
* PermitTransferFrom: [
|
|
67
|
+
* { name: "permitted", type: "TokenPermissions" },
|
|
68
|
+
* { name: "spender", type: "address" },
|
|
69
|
+
* { name: "nonce", type: "uint256" },
|
|
70
|
+
* { name: "deadline", type: "uint256" },
|
|
71
|
+
* ],
|
|
72
|
+
* TokenPermissions: [
|
|
73
|
+
* { name: "token", type: "address" },
|
|
74
|
+
* { name: "amount", type: "uint256" },
|
|
75
|
+
* ],
|
|
76
|
+
* },
|
|
77
|
+
* primaryType: "PermitTransferFrom",
|
|
78
|
+
* message: {
|
|
79
|
+
* permitted: {
|
|
80
|
+
* token: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
|
|
81
|
+
* amount: "1000000",
|
|
82
|
+
* },
|
|
83
|
+
* spender: "0xFfFfFfFFfFFfFFfFFfFFFFFffFFFffffFfFFFfFf",
|
|
84
|
+
* nonce: "0",
|
|
85
|
+
* deadline: "1717123200",
|
|
86
|
+
* },
|
|
87
|
+
* },
|
|
88
|
+
* });
|
|
89
|
+
*
|
|
90
|
+
* // Use result.signature for smart contract calls
|
|
91
|
+
* console.log(`Signature: ${result.signature}`);
|
|
92
|
+
* ```
|
|
93
|
+
*/
|
|
94
|
+
export declare function signAndWrapTypedDataForSmartAccount(client: CdpOpenApiClientType, options: SignAndWrapTypedDataForSmartAccountOptions): Promise<SignAndWrapTypedDataForSmartAccountResult>;
|
|
95
|
+
/**
|
|
96
|
+
* Creates a replay-safe EIP-712 typed data structure by wrapping the original typed data with
|
|
97
|
+
* chain ID and smart account address.
|
|
98
|
+
*
|
|
99
|
+
* **Coinbase Smart Wallet Requirement**: Due to the Coinbase Smart Wallet contract's ERC-1271
|
|
100
|
+
* implementation, all EIP-712 messages must be wrapped in a replay-safe hash before signing.
|
|
101
|
+
* This prevents signature replay attacks across different chains or smart account addresses.
|
|
102
|
+
*
|
|
103
|
+
* The smart contract's `isValidSignature()` method expects signatures to be validated against
|
|
104
|
+
* this replay-safe hash, not the original message hash.
|
|
105
|
+
*
|
|
106
|
+
* @param params - The replay-safe hash parameters
|
|
107
|
+
* @param params.typedData - The original EIP-712 typed data to make replay-safe
|
|
108
|
+
* @param params.chainId - The chain ID for replay protection
|
|
109
|
+
* @param params.smartAccountAddress - The smart account address for additional context
|
|
110
|
+
* @returns The EIP-712 typed data structure for the replay-safe hash
|
|
111
|
+
*/
|
|
112
|
+
export declare function createReplaySafeTypedData({ typedData, chainId, smartAccountAddress, }: {
|
|
113
|
+
typedData: EIP712Message;
|
|
114
|
+
chainId: bigint;
|
|
115
|
+
smartAccountAddress: Hex;
|
|
116
|
+
}): OpenApiEIP712Message;
|
|
117
|
+
/**
|
|
118
|
+
* Builds a signature wrapper for Coinbase Smart Wallets by decomposing a hex signature
|
|
119
|
+
* into r, s, v components and encoding them in the format expected by the smart contract.
|
|
120
|
+
*
|
|
121
|
+
* All signatures on Coinbase Smart Wallets must be wrapped in this format to identify
|
|
122
|
+
* which owner signed and provide the signature data.
|
|
123
|
+
*
|
|
124
|
+
* @param params - The signature parameters
|
|
125
|
+
* @param params.signatureHex - The hex signature to wrap (65 bytes: r + s + v)
|
|
126
|
+
* @param params.ownerIndex - The index of the owner that signed (from MultiOwnable.ownerAtIndex)
|
|
127
|
+
* @returns The encoded signature wrapper in the format expected by the smart contract
|
|
128
|
+
*/
|
|
129
|
+
export declare function createSmartAccountSignatureWrapper({ signatureHex, ownerIndex, }: {
|
|
130
|
+
signatureHex: Hex;
|
|
131
|
+
ownerIndex: bigint;
|
|
132
|
+
}): Hex;
|
|
133
|
+
//# sourceMappingURL=signAndWrapTypedDataForSmartAccount.d.ts.map
|