@turnkey/gas-station 1.0.0 → 3.0.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/README.md +23 -25
- package/dist/abi/gas-station.d.ts +10 -56
- package/dist/abi/gas-station.d.ts.map +1 -1
- package/dist/abi/gas-station.js +7 -30
- package/dist/abi/gas-station.js.map +1 -1
- package/dist/abi/gas-station.mjs +7 -30
- package/dist/abi/gas-station.mjs.map +1 -1
- package/dist/config.d.ts +6 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +2 -2
- package/dist/config.js.map +1 -1
- package/dist/config.mjs +2 -2
- package/dist/config.mjs.map +1 -1
- package/dist/gasStationClient.d.ts +20 -1
- package/dist/gasStationClient.d.ts.map +1 -1
- package/dist/gasStationClient.js +89 -0
- package/dist/gasStationClient.js.map +1 -1
- package/dist/gasStationClient.mjs +89 -0
- package/dist/gasStationClient.mjs.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/intentBuilder.d.ts +7 -1
- package/dist/intentBuilder.d.ts.map +1 -1
- package/dist/intentBuilder.js +69 -6
- package/dist/intentBuilder.js.map +1 -1
- package/dist/intentBuilder.mjs +69 -6
- package/dist/intentBuilder.mjs.map +1 -1
- package/dist/policyUtils.d.ts +46 -47
- package/dist/policyUtils.d.ts.map +1 -1
- package/dist/policyUtils.js +49 -50
- package/dist/policyUtils.js.map +1 -1
- package/dist/policyUtils.mjs +49 -50
- package/dist/policyUtils.mjs.map +1 -1
- package/package.json +3 -3
package/dist/policyUtils.mjs
CHANGED
|
@@ -12,15 +12,15 @@ import { gasStationAbi } from './abi/gas-station.mjs';
|
|
|
12
12
|
* @param config.customConsensus - Optional custom consensus expression (overrides eoaUserId and additionalApprovers)
|
|
13
13
|
* @param config.restrictions - Signing restrictions
|
|
14
14
|
* @param config.restrictions.allowedContracts - Whitelist of contract addresses EOA can sign intents for
|
|
15
|
-
* @param config.restrictions.disallowEthTransfer - Whether to disallow ETH transfers (if true,
|
|
15
|
+
* @param config.restrictions.disallowEthTransfer - Whether to disallow ETH transfers (if true, value must be 0)
|
|
16
16
|
* @param config.policyName - Optional policy name
|
|
17
17
|
* @returns Policy object ready to submit to Turnkey createPolicy API
|
|
18
18
|
*
|
|
19
19
|
* @example
|
|
20
20
|
* // Simple: single user approval, token-only transfers
|
|
21
21
|
* const policy = buildIntentSigningPolicy({
|
|
22
|
-
* organizationId: "
|
|
23
|
-
* eoaUserId: "
|
|
22
|
+
* organizationId: "a5b89e4f-1234-5678-9abc-def012345678",
|
|
23
|
+
* eoaUserId: "3c7d6e8a-4b5c-6d7e-8f9a-0b1c2d3e4f5a",
|
|
24
24
|
* restrictions: {
|
|
25
25
|
* allowedContracts: ["0x833...USDC", "0x6B1...DAI"],
|
|
26
26
|
* disallowEthTransfer: true,
|
|
@@ -30,24 +30,24 @@ import { gasStationAbi } from './abi/gas-station.mjs';
|
|
|
30
30
|
*
|
|
31
31
|
* // Resulting policy:
|
|
32
32
|
* {
|
|
33
|
-
* organizationId: "
|
|
33
|
+
* organizationId: "a5b89e4f-1234-5678-9abc-def012345678",
|
|
34
34
|
* policyName: "Stablecoin Only",
|
|
35
35
|
* effect: "EFFECT_ALLOW",
|
|
36
|
-
* consensus: "approvers.any(user, user.id == '
|
|
36
|
+
* consensus: "approvers.any(user, user.id == '3c7d6e8a-4b5c-6d7e-8f9a-0b1c2d3e4f5a')",
|
|
37
37
|
* condition: "activity.resource == 'PRIVATE_KEY' && activity.action == 'SIGN' && " +
|
|
38
38
|
* "eth.eip_712.primary_type == 'Execution' && " +
|
|
39
|
-
* "(eth.eip_712.message['
|
|
40
|
-
* "eth.eip_712.message['
|
|
41
|
-
* "eth.eip_712.message['
|
|
39
|
+
* "(eth.eip_712.message['to'] == '0x833...usdc' || " +
|
|
40
|
+
* "eth.eip_712.message['to'] == '0x6b1...dai') && " +
|
|
41
|
+
* "eth.eip_712.message['value'] == '0'",
|
|
42
42
|
* notes: "Restricts which EIP-712 intents the EOA can sign for gas station execution"
|
|
43
43
|
* }
|
|
44
44
|
*
|
|
45
45
|
* @example
|
|
46
46
|
* // Multi-approval: EOA AND backup user must both approve
|
|
47
47
|
* const policy = buildIntentSigningPolicy({
|
|
48
|
-
* organizationId: "
|
|
49
|
-
* eoaUserId: "
|
|
50
|
-
* additionalApprovers: ["
|
|
48
|
+
* organizationId: "a5b89e4f-1234-5678-9abc-def012345678",
|
|
49
|
+
* eoaUserId: "3c7d6e8a-4b5c-6d7e-8f9a-0b1c2d3e4f5a",
|
|
50
|
+
* additionalApprovers: ["9d4e2f5b-6c7d-8e9f-0a1b-2c3d4e5f6a7b"],
|
|
51
51
|
* restrictions: {
|
|
52
52
|
* allowedContracts: ["0x833...USDC"],
|
|
53
53
|
* disallowEthTransfer: true,
|
|
@@ -56,23 +56,23 @@ import { gasStationAbi } from './abi/gas-station.mjs';
|
|
|
56
56
|
*
|
|
57
57
|
* // Resulting policy:
|
|
58
58
|
* {
|
|
59
|
-
* organizationId: "
|
|
59
|
+
* organizationId: "a5b89e4f-1234-5678-9abc-def012345678",
|
|
60
60
|
* policyName: "Gas Station Intent Signing Policy",
|
|
61
61
|
* effect: "EFFECT_ALLOW",
|
|
62
|
-
* consensus: "approvers.any(user, user.id == '
|
|
63
|
-
* "approvers.any(user, user.id == '
|
|
62
|
+
* consensus: "approvers.any(user, user.id == '3c7d6e8a-4b5c-6d7e-8f9a-0b1c2d3e4f5a') && " +
|
|
63
|
+
* "approvers.any(user, user.id == '9d4e2f5b-6c7d-8e9f-0a1b-2c3d4e5f6a7b')",
|
|
64
64
|
* condition: "activity.resource == 'PRIVATE_KEY' && activity.action == 'SIGN' && " +
|
|
65
65
|
* "eth.eip_712.primary_type == 'Execution' && " +
|
|
66
|
-
* "(eth.eip_712.message['
|
|
67
|
-
* "eth.eip_712.message['
|
|
66
|
+
* "(eth.eip_712.message['to'] == '0x833...usdc') && " +
|
|
67
|
+
* "eth.eip_712.message['value'] == '0'",
|
|
68
68
|
* notes: "Restricts which EIP-712 intents the EOA can sign for gas station execution"
|
|
69
69
|
* }
|
|
70
70
|
*
|
|
71
71
|
* @example
|
|
72
72
|
* // Advanced: custom consensus expression
|
|
73
73
|
* const policy = buildIntentSigningPolicy({
|
|
74
|
-
* organizationId: "
|
|
75
|
-
* eoaUserId: "
|
|
74
|
+
* organizationId: "a5b89e4f-1234-5678-9abc-def012345678",
|
|
75
|
+
* eoaUserId: "3c7d6e8a-4b5c-6d7e-8f9a-0b1c2d3e4f5a",
|
|
76
76
|
* customConsensus: "approvers.count() >= 2",
|
|
77
77
|
* restrictions: {
|
|
78
78
|
* disallowEthTransfer: false,
|
|
@@ -92,12 +92,12 @@ function buildIntentSigningPolicy(config) {
|
|
|
92
92
|
// Build OR conditions for each allowed contract
|
|
93
93
|
// Convert to lowercase for case-insensitive comparison
|
|
94
94
|
const contractConditions = config.restrictions.allowedContracts
|
|
95
|
-
.map((c) => `eth.eip_712.message['
|
|
95
|
+
.map((c) => `eth.eip_712.message['to'] == '${c.toLowerCase()}'`)
|
|
96
96
|
.join(" || ");
|
|
97
97
|
conditions.push(`(${contractConditions})`);
|
|
98
98
|
}
|
|
99
99
|
if (!!config.restrictions?.disallowEthTransfer) {
|
|
100
|
-
conditions.push(`eth.eip_712.message['
|
|
100
|
+
conditions.push(`eth.eip_712.message['value'] == '0'`);
|
|
101
101
|
}
|
|
102
102
|
// Build consensus expression
|
|
103
103
|
let consensus;
|
|
@@ -154,9 +154,9 @@ function buildIntentSigningPolicy(config) {
|
|
|
154
154
|
* @example
|
|
155
155
|
* // Simple: single paymaster approval with ETH amount limit
|
|
156
156
|
* const policy = buildPaymasterExecutionPolicy({
|
|
157
|
-
* organizationId: "
|
|
158
|
-
* paymasterUserId: "
|
|
159
|
-
* executionContractAddress: "
|
|
157
|
+
* organizationId: "f8c3a5e7-9876-5432-1abc-def098765432",
|
|
158
|
+
* paymasterUserId: "8f2a1b4c-5d6e-7f8a-9b0c-1d2e3f4a5b6c",
|
|
159
|
+
* executionContractAddress: "0x00000000008c57a1CE37836a5e9d36759D070d8c",
|
|
160
160
|
* restrictions: {
|
|
161
161
|
* allowedEOAs: ["0xAli...ce", "0xBob...by"],
|
|
162
162
|
* allowedContracts: ["0x833...USDC", "0x6B1...DAI"],
|
|
@@ -169,17 +169,17 @@ function buildIntentSigningPolicy(config) {
|
|
|
169
169
|
*
|
|
170
170
|
* // Resulting policy (uses ABI parsing):
|
|
171
171
|
* {
|
|
172
|
-
* organizationId: "
|
|
172
|
+
* organizationId: "f8c3a5e7-9876-5432-1abc-def098765432",
|
|
173
173
|
* policyName: "Paymaster Protection",
|
|
174
174
|
* effect: "EFFECT_ALLOW",
|
|
175
|
-
* consensus: "approvers.any(user, user.id == '
|
|
175
|
+
* consensus: "approvers.any(user, user.id == '8f2a1b4c-5d6e-7f8a-9b0c-1d2e3f4a5b6c')",
|
|
176
176
|
* condition: "activity.resource == 'PRIVATE_KEY' && activity.action == 'SIGN' && " +
|
|
177
|
-
* "eth.tx.to == '
|
|
177
|
+
* "eth.tx.to == '0x00000000008c57a1ce37836a5e9d36759d070d8c' && " +
|
|
178
178
|
* "(eth.tx.contract_call_args['_to'] == '0x833...usdc' || " +
|
|
179
179
|
* "eth.tx.contract_call_args['_to'] == '0x6b1...dai') && " +
|
|
180
|
-
* "(eth.tx.contract_call_args['
|
|
181
|
-
* "eth.tx.contract_call_args['
|
|
182
|
-
* "eth.tx.contract_call_args['
|
|
180
|
+
* "(eth.tx.contract_call_args['_target'] == '0xali...ce' || " +
|
|
181
|
+
* "eth.tx.contract_call_args['_target'] == '0xbob...by') && " +
|
|
182
|
+
* "eth.tx.contract_call_args['_ethAmount'] <= 100000000000000000 && " +
|
|
183
183
|
* "eth.tx.gasPrice <= 50000000000 && eth.tx.gas <= 500000",
|
|
184
184
|
* notes: "Restricts which execute() transactions the paymaster can submit on-chain"
|
|
185
185
|
* }
|
|
@@ -187,10 +187,10 @@ function buildIntentSigningPolicy(config) {
|
|
|
187
187
|
* @example
|
|
188
188
|
* // Multi-user: primary paymaster OR backup can approve
|
|
189
189
|
* const policy = buildPaymasterExecutionPolicy({
|
|
190
|
-
* organizationId: "
|
|
191
|
-
* paymasterUserId: "
|
|
192
|
-
* additionalApprovers: ["
|
|
193
|
-
* executionContractAddress: "
|
|
190
|
+
* organizationId: "f8c3a5e7-9876-5432-1abc-def098765432",
|
|
191
|
+
* paymasterUserId: "8f2a1b4c-5d6e-7f8a-9b0c-1d2e3f4a5b6c",
|
|
192
|
+
* additionalApprovers: ["2e4f6a8b-9c0d-1e2f-3a4b-5c6d7e8f9a0b"],
|
|
193
|
+
* executionContractAddress: "0x00000000008c57a1CE37836a5e9d36759D070d8c",
|
|
194
194
|
* restrictions: {
|
|
195
195
|
* allowedEOAs: ["0xAli...ce"],
|
|
196
196
|
* maxEthAmount: parseEther("1"), // Max 1 ETH
|
|
@@ -200,15 +200,15 @@ function buildIntentSigningPolicy(config) {
|
|
|
200
200
|
*
|
|
201
201
|
* // Resulting policy (uses ABI parsing):
|
|
202
202
|
* {
|
|
203
|
-
* organizationId: "
|
|
203
|
+
* organizationId: "f8c3a5e7-9876-5432-1abc-def098765432",
|
|
204
204
|
* policyName: "Gas Station Paymaster Execution Policy",
|
|
205
205
|
* effect: "EFFECT_ALLOW",
|
|
206
|
-
* consensus: "approvers.any(user, user.id == '
|
|
207
|
-
* "user.id == '
|
|
206
|
+
* consensus: "approvers.any(user, user.id == '8f2a1b4c-5d6e-7f8a-9b0c-1d2e3f4a5b6c' || " +
|
|
207
|
+
* "user.id == '2e4f6a8b-9c0d-1e2f-3a4b-5c6d7e8f9a0b')",
|
|
208
208
|
* condition: "activity.resource == 'PRIVATE_KEY' && activity.action == 'SIGN' && " +
|
|
209
|
-
* "eth.tx.to == '
|
|
210
|
-
* "(eth.tx.contract_call_args['
|
|
211
|
-
* "eth.tx.contract_call_args['
|
|
209
|
+
* "eth.tx.to == '0x00000000008c57a1ce37836a5e9d36759d070d8c' && " +
|
|
210
|
+
* "(eth.tx.contract_call_args['_target'] == '0xali...ce') && " +
|
|
211
|
+
* "eth.tx.contract_call_args['_ethAmount'] <= 1000000000000000000 && " +
|
|
212
212
|
* "eth.tx.gasPrice <= 100000000000",
|
|
213
213
|
* notes: "Restricts which execute() transactions the paymaster can submit on-chain"
|
|
214
214
|
* }
|
|
@@ -216,10 +216,10 @@ function buildIntentSigningPolicy(config) {
|
|
|
216
216
|
* @example
|
|
217
217
|
* // Advanced: require multiple approvals
|
|
218
218
|
* const policy = buildPaymasterExecutionPolicy({
|
|
219
|
-
* organizationId: "
|
|
220
|
-
* paymasterUserId: "
|
|
219
|
+
* organizationId: "f8c3a5e7-9876-5432-1abc-def098765432",
|
|
220
|
+
* paymasterUserId: "8f2a1b4c-5d6e-7f8a-9b0c-1d2e3f4a5b6c",
|
|
221
221
|
* customConsensus: "approvers.count() >= 2",
|
|
222
|
-
* executionContractAddress: "
|
|
222
|
+
* executionContractAddress: "0x00000000008c57a1CE37836a5e9d36759D070d8c",
|
|
223
223
|
* restrictions: { ... },
|
|
224
224
|
* });
|
|
225
225
|
*
|
|
@@ -232,7 +232,7 @@ function buildPaymasterExecutionPolicy(config) {
|
|
|
232
232
|
`eth.tx.to == '${config.executionContractAddress.toLowerCase()}'`,
|
|
233
233
|
];
|
|
234
234
|
// Check output contract address using ABI parsing
|
|
235
|
-
// Turnkey parses execute(address
|
|
235
|
+
// Turnkey parses execute(address _target, address _to, uint256 _ethAmount, bytes _data)
|
|
236
236
|
// and exposes arguments via eth.tx.contract_call_args
|
|
237
237
|
if (config.restrictions?.allowedContracts &&
|
|
238
238
|
config.restrictions.allowedContracts.length > 0) {
|
|
@@ -349,13 +349,12 @@ async function uploadGasStationInterface({ client, organizationId, contractAddre
|
|
|
349
349
|
* @returns The smart contract interface ID
|
|
350
350
|
*
|
|
351
351
|
* @example
|
|
352
|
-
* const interfaceId = await ensureGasStationInterface(
|
|
353
|
-
* turnkeyClient.apiClient(),
|
|
354
|
-
* "
|
|
355
|
-
* "
|
|
356
|
-
*
|
|
357
|
-
*
|
|
358
|
-
* );
|
|
352
|
+
* const interfaceId = await ensureGasStationInterface({
|
|
353
|
+
* client: turnkeyClient.apiClient(),
|
|
354
|
+
* organizationId: "a5b89e4f-1234-5678-9abc-def012345678",
|
|
355
|
+
* contractAddress: "0x00000000008c57a1CE37836a5e9d36759D070d8c",
|
|
356
|
+
* chainName: "Base Sepolia"
|
|
357
|
+
* });
|
|
359
358
|
*/
|
|
360
359
|
async function ensureGasStationInterface({ client, organizationId, contractAddress, label, chainName, }) {
|
|
361
360
|
// Check if interface already exists
|
package/dist/policyUtils.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policyUtils.mjs","sources":["../src/policyUtils.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;AAMA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+EG;AACG,SAAU,wBAAwB,CAAC,MAUxC,EAAA;AACC,IAAA,MAAM,UAAU,GAAa;QAC3B,oCAAoC;QACpC,2BAA2B;QAC3B,yCAAyC;KAC1C;AAED,IAAA,IACE,MAAM,CAAC,YAAY,EAAE,gBAAgB;QACrC,MAAM,CAAC,YAAY,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAC/C;;;AAGA,QAAA,MAAM,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC;AAC5C,aAAA,GAAG,
|
|
1
|
+
{"version":3,"file":"policyUtils.mjs","sources":["../src/policyUtils.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@turnkey/gas-station",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"description": "Turnkey Gas Station SDK for EIP-7702 delegated execution",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -43,11 +43,11 @@
|
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"@types/node": "^24.6.2",
|
|
45
45
|
"typescript": "^5.3.0",
|
|
46
|
-
"@turnkey/sdk-server": "4.
|
|
46
|
+
"@turnkey/sdk-server": "4.12.0"
|
|
47
47
|
},
|
|
48
48
|
"peerDependencies": {
|
|
49
49
|
"viem": "^2.24.0",
|
|
50
|
-
"@turnkey/sdk-server": "4.
|
|
50
|
+
"@turnkey/sdk-server": "4.12.0"
|
|
51
51
|
},
|
|
52
52
|
"publishConfig": {
|
|
53
53
|
"access": "public"
|