Skip to content

Commit cd1af93

Browse files
committed
Update other sdks, examples, changest
1 parent 51a16bf commit cd1af93

24 files changed

Lines changed: 232 additions & 47 deletions

File tree

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
---
2+
"@turnkey/gas-station": minor
3+
---
4+
5+
- Updated the default gas station contract addresses to the latest deployments.
6+
7+
```ts
8+
// Before
9+
DEFAULT_EXECUTION_CONTRACT = "0x00000000008c57a1CE37836a5e9d36759D070d8c"; // TKGasStation
10+
DEFAULT_DELEGATE_CONTRACT = "0x000066a00056CD44008768E2aF00696e19A30084"; // TKGasDelegate
11+
12+
// After
13+
DEFAULT_EXECUTION_CONTRACT = "0x5aF5194B4b0909eB978e3Cf1e25333852277f07D"; // TKGasStation
14+
DEFAULT_DELEGATE_CONTRACT = "0x955D84139e7621bc571b117D8EB5D28A4A222C6f"; // TKGasDelegate
15+
```

.changeset/eighty-tires-guess.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
"@turnkey/sdk-browser": major
3+
"@turnkey/sdk-server": major
4+
"@turnkey/http": major
5+
---
6+
7+
- Synced with Mono v2026.7.3
8+
9+
- `EthSendTransaction()` function call now uses `ACTIVITY_TYPE_ETH_SEND_TRANSACTION_V2`. This activity allows for multiple eth calls to be batched together via the new `calls` array. This means the intent for the activity has now changed.
10+
11+
**Before:**
12+
13+
```ts
14+
await client.ethSendTransaction({
15+
from,
16+
caip2,
17+
to,
18+
value,
19+
data,
20+
});
21+
```
22+
23+
**After:**
24+
25+
```ts
26+
await client.ethSendTransaction({
27+
from,
28+
caip2,
29+
calls: [{ to, value, data }],
30+
});
31+
```

.changeset/grumpy-pandas-tell.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
"@turnkey/sdk-types": minor
3+
---
4+
5+
- Synced with Mono v2026.7.3
6+
7+
- Added version-specific types for `ACTIVITY_TYPE_ETH_SEND_TRANSACTION_V2`, which supports batching multiple eth calls together via the new `calls` array.
8+
9+
```ts
10+
// V1 (unchanged) — single call, top-level fields
11+
type v1EthSendTransactionIntent = {
12+
from: string;
13+
caip2: string;
14+
to: string;
15+
value?: string;
16+
data?: string;
17+
// ...
18+
};
19+
20+
// V2 (new) — one or more calls in a `calls` array
21+
type v1EthSendTransactionIntentV2 = {
22+
from: string;
23+
caip2: string;
24+
calls: v1EthCallParams[]; // [{ to, value?, data? }]
25+
// ...
26+
};
27+
```

.changeset/petite-lemons-shout.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
---
2+
"@turnkey/core": minor
3+
---
4+
5+
- Synced with Mono v2026.7.3
6+
7+
- Added `EthSendTransactionV2()` `httpClient` function which uses `ACTIVITY_TYPE_ETH_SEND_TRANSACTION_V2`. This activity allows for multiple eth calls to be batched together via the new `calls` array. The existing `EthSendTransaction()` `httpClient` remains on the previous activity version.
8+
9+
- `ethSendTransaction` helper function can now accept a `calls` array in the `transaction` parameter which will direct the call to use `ACTIVITY_TYPE_ETH_SEND_TRANSACTION_V2`. Passing the legacy `to`/`value`/`data` fields still works and continues to use V1.
10+
11+
```ts
12+
// V1 (still works, unchanged)
13+
await client.ethSendTransaction({
14+
transaction: { from, caip2, to, value, data },
15+
});
16+
17+
// V2 — batch one or more calls via `calls`
18+
await client.ethSendTransaction({
19+
transaction: {
20+
from,
21+
caip2,
22+
calls: [{ to, value, data }],
23+
},
24+
});
25+
```

.changeset/ten-laws-divide.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
---
2+
"@turnkey/react-wallet-kit": minor
3+
---
4+
5+
- Synced with Mono v2026.7.3
6+
7+
- Added `EthSendTransactionV2()` `httpClient` function which uses `ACTIVITY_TYPE_ETH_SEND_TRANSACTION_V2`. This activity allows for multiple eth calls to be batched together via the new `calls` array. The existing `EthSendTransaction()` `httpClient` remains on the previous activity version.
8+
9+
- `ethSendTransaction` helper function can now accept a `calls` array in the `transaction` parameter which will direct the call to use `ACTIVITY_TYPE_ETH_SEND_TRANSACTION_V2`. Passing the legacy `to`/`value`/`data` fields still works and continues to use V1.
10+
11+
```ts
12+
// V1 (still works, unchanged)
13+
await client.ethSendTransaction({
14+
transaction: { from, caip2, to, value, data },
15+
});
16+
17+
// V2 — batch one or more calls via `calls`
18+
await client.ethSendTransaction({
19+
transaction: {
20+
from,
21+
caip2,
22+
calls: [{ to, value, data }],
23+
},
24+
});
25+
```
26+
27+
- `handleSendTransaction` helper function can now accept a `calls` array in the `transaction` parameter which will direct the call to use `ACTIVITY_TYPE_ETH_SEND_TRANSACTION_V2`. Passing the legacy `to`/`value`/`data` fields still works and continues to use V1.
28+
29+
```ts
30+
// V1 (still works, unchanged)
31+
await handleSendTransaction({
32+
transaction: { from, caip2, to, value, data },
33+
});
34+
35+
// V2 — batch one or more calls via `calls`
36+
await handleSendTransaction({
37+
transaction: {
38+
from,
39+
caip2,
40+
calls: [{ to, value, data }],
41+
},
42+
});
43+
```

examples/access-control/claim-links-delegated-reclaim/src/server/evm.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,10 @@ export async function evmSponsoredTx(args: {
2626
const { sendTransactionStatusId } = await args.apiClient.ethSendTransaction({
2727
organizationId: args.organizationId,
2828
from: args.from,
29-
to: args.to,
3029
caip2: CAIP2_EVM,
3130
sponsor: true,
32-
data: args.data,
33-
value: args.value,
3431
gasStationNonce,
32+
calls: [{ to: args.to, value: args.value, data: args.data }],
3533
});
3634

3735
const result = await args.apiClient.pollTransactionStatus({

examples/access-control/with-agent-wallet/src/app/dashboard/test/page.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,8 @@ export default function TestPage() {
131131
activityId,
132132
});
133133
statusId =
134+
activity.result?.ethSendTransactionResultV2
135+
?.sendTransactionStatusId ??
134136
activity.result?.ethSendTransactionResult?.sendTransactionStatusId ??
135137
null;
136138
} catch {

examples/access-control/with-agent-wallet/src/scripts/agent.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -164,10 +164,9 @@ async function main() {
164164
res = await agentClient.apiClient().ethSendTransaction({
165165
organizationId,
166166
from: walletAddress,
167-
to: toAddress,
168-
value: "10000000000000000", // 0.01 ETH in wei
169167
caip2: CAIP2_SEPOLIA,
170168
sponsor: true,
169+
calls: [{ to: toAddress, value: "10000000000000000" }], // 0.01 ETH in wei
171170
});
172171
} catch (e: unknown) {
173172
const msg = e instanceof Error ? e.message : String(e);

examples/chain-integrations/with-tempo/src/sponsored.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -185,11 +185,9 @@ async function main() {
185185
// payload and omit gas/fee fields — they are unused for sponsored requests.
186186
const { sendTransactionStatusId } = await apiClient.ethSendTransaction({
187187
from: signWith,
188-
to: ALPHA_USD,
189-
value: "0",
190-
data,
191188
caip2: TEMPO_MODERATO_CAIP2 as any,
192189
sponsor: true,
190+
calls: [{ to: ALPHA_USD, value: "0", data }],
193191
});
194192

195193
print("Send transaction status ID:", sendTransactionStatusId);

examples/defi/eth-usdc-swap/src/scripts/index.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,11 +65,11 @@ export async function main() {
6565
let swapPayload: any = {
6666
organizationId,
6767
from: wallet,
68-
to: UNIVERSAL_ROUTER,
6968
caip2: "eip155:8453",
70-
data: calldata,
7169
gasLimit: sponsored ? undefined : "600000",
72-
value: amountIn.toString(),
70+
calls: [
71+
{ to: UNIVERSAL_ROUTER, data: calldata, value: amountIn.toString() },
72+
],
7373
};
7474

7575
if (sponsored) {

0 commit comments

Comments
 (0)