@coinbase/cdp-sdk 1.31.0 → 1.32.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.
Files changed (104) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/_cjs/accounts/evm/toNetworkScopedEvmServerAccount.js +61 -0
  3. package/_cjs/accounts/evm/toNetworkScopedEvmServerAccount.js.map +1 -1
  4. package/_cjs/accounts/evm/toNetworkScopedEvmSmartAccount.js +21 -0
  5. package/_cjs/accounts/evm/toNetworkScopedEvmSmartAccount.js.map +1 -1
  6. package/_cjs/actions/evm/listSpendPermissions.js +18 -0
  7. package/_cjs/actions/evm/listSpendPermissions.js.map +1 -0
  8. package/_cjs/actions/evm/listTokenBalances.js +2 -0
  9. package/_cjs/actions/evm/listTokenBalances.js.map +1 -1
  10. package/_cjs/client/evm/evm.js +157 -60
  11. package/_cjs/client/evm/evm.js.map +1 -1
  12. package/_cjs/client/policies/policies.js +72 -5
  13. package/_cjs/client/policies/policies.js.map +1 -1
  14. package/_cjs/client/solana/solana.js +47 -27
  15. package/_cjs/client/solana/solana.js.map +1 -1
  16. package/_cjs/index.js +3 -3
  17. package/_cjs/index.js.map +1 -1
  18. package/_cjs/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js +53 -2
  19. package/_cjs/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js.map +1 -1
  20. package/_cjs/openapi-client/generated/policy-engine/policy-engine.msw.js +215 -5
  21. package/_cjs/openapi-client/generated/policy-engine/policy-engine.msw.js.map +1 -1
  22. package/_cjs/policies/{schema.js → evmSchema.js} +11 -112
  23. package/_cjs/policies/evmSchema.js.map +1 -0
  24. package/_cjs/policies/solanaSchema.js +183 -0
  25. package/_cjs/policies/solanaSchema.js.map +1 -0
  26. package/_cjs/policies/types.js +60 -0
  27. package/_cjs/policies/types.js.map +1 -1
  28. package/_cjs/version.js +1 -1
  29. package/_esm/accounts/evm/toNetworkScopedEvmServerAccount.js +61 -0
  30. package/_esm/accounts/evm/toNetworkScopedEvmServerAccount.js.map +1 -1
  31. package/_esm/accounts/evm/toNetworkScopedEvmSmartAccount.js +21 -0
  32. package/_esm/accounts/evm/toNetworkScopedEvmSmartAccount.js.map +1 -1
  33. package/_esm/actions/evm/listSpendPermissions.js +15 -0
  34. package/_esm/actions/evm/listSpendPermissions.js.map +1 -0
  35. package/_esm/actions/evm/listTokenBalances.js +2 -0
  36. package/_esm/actions/evm/listTokenBalances.js.map +1 -1
  37. package/_esm/client/evm/evm.js +157 -60
  38. package/_esm/client/evm/evm.js.map +1 -1
  39. package/_esm/client/policies/policies.js +70 -3
  40. package/_esm/client/policies/policies.js.map +1 -1
  41. package/_esm/client/solana/solana.js +47 -27
  42. package/_esm/client/solana/solana.js.map +1 -1
  43. package/_esm/index.js +1 -1
  44. package/_esm/index.js.map +1 -1
  45. package/_esm/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js +51 -0
  46. package/_esm/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js.map +1 -1
  47. package/_esm/openapi-client/generated/policy-engine/policy-engine.msw.js +197 -3
  48. package/_esm/openapi-client/generated/policy-engine/policy-engine.msw.js.map +1 -1
  49. package/_esm/policies/{schema.js → evmSchema.js} +10 -111
  50. package/_esm/policies/evmSchema.js.map +1 -0
  51. package/_esm/policies/solanaSchema.js +180 -0
  52. package/_esm/policies/solanaSchema.js.map +1 -0
  53. package/_esm/policies/types.js +59 -1
  54. package/_esm/policies/types.js.map +1 -1
  55. package/_esm/version.js +1 -1
  56. package/_types/accounts/evm/toNetworkScopedEvmServerAccount.d.ts.map +1 -1
  57. package/_types/accounts/evm/toNetworkScopedEvmSmartAccount.d.ts.map +1 -1
  58. package/_types/actions/evm/listSpendPermissions.d.ts +12 -0
  59. package/_types/actions/evm/listSpendPermissions.d.ts.map +1 -0
  60. package/_types/actions/evm/listTokenBalances.d.ts.map +1 -1
  61. package/_types/client/evm/evm.d.ts +66 -1
  62. package/_types/client/evm/evm.d.ts.map +1 -1
  63. package/_types/client/evm/evm.types.d.ts +2 -1
  64. package/_types/client/evm/evm.types.d.ts.map +1 -1
  65. package/_types/client/policies/policies.d.ts +69 -2
  66. package/_types/client/policies/policies.d.ts.map +1 -1
  67. package/_types/client/policies/policies.types.d.ts +1 -2
  68. package/_types/client/policies/policies.types.d.ts.map +1 -1
  69. package/_types/client/solana/solana.d.ts +16 -0
  70. package/_types/client/solana/solana.d.ts.map +1 -1
  71. package/_types/index.d.ts +1 -1
  72. package/_types/index.d.ts.map +1 -1
  73. package/_types/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.d.ts +140 -2
  74. package/_types/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.d.ts.map +1 -1
  75. package/_types/openapi-client/generated/policy-engine/policy-engine.msw.d.ts +17 -1
  76. package/_types/openapi-client/generated/policy-engine/policy-engine.msw.d.ts.map +1 -1
  77. package/_types/policies/evmSchema.d.ts +4367 -0
  78. package/_types/policies/evmSchema.d.ts.map +1 -0
  79. package/_types/policies/solanaSchema.d.ts +758 -0
  80. package/_types/policies/solanaSchema.d.ts.map +1 -0
  81. package/_types/policies/types.d.ts +6591 -1
  82. package/_types/policies/types.d.ts.map +1 -1
  83. package/_types/version.d.ts +1 -1
  84. package/accounts/evm/toNetworkScopedEvmServerAccount.ts +69 -0
  85. package/accounts/evm/toNetworkScopedEvmSmartAccount.ts +22 -0
  86. package/actions/evm/listSpendPermissions.ts +20 -0
  87. package/actions/evm/listTokenBalances.ts +2 -0
  88. package/client/evm/evm.ts +200 -81
  89. package/client/evm/evm.types.ts +4 -0
  90. package/client/policies/policies.ts +70 -4
  91. package/client/policies/policies.types.ts +1 -2
  92. package/client/solana/solana.ts +60 -38
  93. package/index.ts +1 -1
  94. package/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.ts +198 -1
  95. package/openapi-client/generated/policy-engine/policy-engine.msw.ts +285 -3
  96. package/package.json +1 -1
  97. package/policies/{schema.ts → evmSchema.ts} +9 -158
  98. package/policies/solanaSchema.ts +251 -0
  99. package/policies/types.ts +94 -1
  100. package/version.ts +1 -1
  101. package/_cjs/policies/schema.js.map +0 -1
  102. package/_esm/policies/schema.js.map +0 -1
  103. package/_types/policies/schema.d.ts +0 -11599
  104. package/_types/policies/schema.d.ts.map +0 -1
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UpdatePolicyBodySchema = exports.CreatePolicyBodySchema = exports.PolicyScopeEnum = exports.RuleSchema = exports.SendUserOperationRuleSchema = exports.PrepareUserOperationRuleSchema = exports.SignSolTransactionRuleSchema = exports.SendEvmTransactionRuleSchema = exports.SignEvmTypedDataRuleSchema = exports.SignEvmMessageRuleSchema = exports.SignEvmHashRuleSchema = exports.SignEvmTransactionRuleSchema = exports.ActionEnum = exports.EvmOperationEnum = exports.SolOperationEnum = exports.SendUserOperationCriteriaSchema = exports.PrepareUserOperationCriteriaSchema = exports.SignSolTransactionCriteriaSchema = exports.SendEvmTransactionCriteriaSchema = exports.SignEvmMessageCriteriaSchema = exports.SignEvmTransactionCriteriaSchema = exports.SolAddressCriterionSchema = exports.EvmDataCriterionSchema = exports.EvmDataConditionSchema = exports.EvmDataParameterConditionSchema = exports.EvmDataParameterConditionListSchema = exports.SignEvmTypedDataCriteriaSchema = exports.SignEvmTypedDataVerifyingContractCriterionSchema = exports.SignEvmTypedDataFieldCriterionSchema = exports.EvmTypedStringConditionSchema = exports.EvmTypedNumericalConditionSchema = exports.EvmTypedAddressConditionSchema = exports.EvmMessageCriterionSchema = exports.EvmNetworkCriterionSchema = exports.EvmNetworkEnum = exports.EvmAddressCriterionSchema = exports.EthValueCriterionSchema = exports.SolAddressOperatorEnum = exports.EvmNetworkOperatorEnum = exports.EvmAddressOperatorEnum = exports.EthValueOperatorEnum = void 0;
3
+ exports.SendUserOperationRuleSchema = exports.PrepareUserOperationRuleSchema = exports.SendEvmTransactionRuleSchema = exports.SignEvmTypedDataRuleSchema = exports.SignEvmMessageRuleSchema = exports.SignEvmHashRuleSchema = exports.SignEvmTransactionRuleSchema = exports.ActionEnum = exports.EvmOperationEnum = exports.SendUserOperationCriteriaSchema = exports.PrepareUserOperationCriteriaSchema = exports.SendEvmTransactionCriteriaSchema = exports.SignEvmMessageCriteriaSchema = exports.SignEvmTransactionCriteriaSchema = exports.EvmDataCriterionSchema = exports.EvmDataConditionSchema = exports.EvmDataParameterConditionSchema = exports.EvmDataParameterConditionListSchema = exports.SignEvmTypedDataCriteriaSchema = exports.SignEvmTypedDataVerifyingContractCriterionSchema = exports.SignEvmTypedDataFieldCriterionSchema = exports.EvmTypedStringConditionSchema = exports.EvmTypedNumericalConditionSchema = exports.EvmTypedAddressConditionSchema = exports.EvmMessageCriterionSchema = exports.EvmNetworkCriterionSchema = exports.EvmNetworkEnum = exports.EvmAddressCriterionSchema = exports.EthValueCriterionSchema = exports.EvmNetworkOperatorEnum = exports.EvmAddressOperatorEnum = exports.EthValueOperatorEnum = void 0;
4
4
  const zod_1 = require("abitype/zod");
5
5
  const zod_2 = require("zod");
6
6
  /**
@@ -15,10 +15,6 @@ exports.EvmAddressOperatorEnum = zod_2.z.enum(["in", "not in"]);
15
15
  * Enum for EvmNetworkOperator values
16
16
  */
17
17
  exports.EvmNetworkOperatorEnum = zod_2.z.enum(["in", "not in"]);
18
- /**
19
- * Enum for SolAddressOperator values
20
- */
21
- exports.SolAddressOperatorEnum = zod_2.z.enum(["in", "not in"]);
22
18
  /**
23
19
  * Schema for ETH value criterions
24
20
  */
@@ -282,24 +278,6 @@ exports.EvmDataCriterionSchema = zod_2.z.object({
282
278
  */
283
279
  conditions: zod_2.z.array(exports.EvmDataConditionSchema).min(1),
284
280
  });
285
- /**
286
- * Schema for Solana address criterions
287
- */
288
- exports.SolAddressCriterionSchema = zod_2.z.object({
289
- /** The type of criterion, must be "solAddress" for Solana address-based rules. */
290
- type: zod_2.z.literal("solAddress"),
291
- /**
292
- * Array of Solana addresses to compare against.
293
- * Each address must be a valid Base58-encoded Solana address (32-44 characters).
294
- */
295
- addresses: zod_2.z.array(zod_2.z.string().regex(/^[1-9A-HJ-NP-Za-km-z]{32,44}$/)),
296
- /**
297
- * The operator to use for evaluating transaction addresses.
298
- * "in" checks if an address is in the provided list.
299
- * "not in" checks if an address is not in the provided list.
300
- */
301
- operator: exports.SolAddressOperatorEnum,
302
- });
303
281
  /**
304
282
  * Schema for criteria used in SignEvmTransaction operations
305
283
  */
@@ -330,13 +308,6 @@ exports.SendEvmTransactionCriteriaSchema = zod_2.z
330
308
  ]))
331
309
  .max(10)
332
310
  .min(1);
333
- /**
334
- * Schema for criteria used in SignSolTransaction operations
335
- */
336
- exports.SignSolTransactionCriteriaSchema = zod_2.z
337
- .array(zod_2.z.discriminatedUnion("type", [exports.SolAddressCriterionSchema]))
338
- .max(10)
339
- .min(1);
340
311
  /**
341
312
  * Schema for criteria used in PrepareUserOperation operations
342
313
  */
@@ -360,14 +331,18 @@ exports.SendUserOperationCriteriaSchema = zod_2.z
360
331
  ]))
361
332
  .max(10)
362
333
  .min(1);
363
- /**
364
- * Enum for Solana Operation types
365
- */
366
- exports.SolOperationEnum = zod_2.z.enum(["signSolTransaction"]);
367
334
  /**
368
335
  * Enum for Evm Operation types
369
336
  */
370
- exports.EvmOperationEnum = zod_2.z.enum(["signEvmTransaction"]);
337
+ exports.EvmOperationEnum = zod_2.z.enum([
338
+ "signEvmTransaction",
339
+ "sendEvmTransaction",
340
+ "signEvmMessage",
341
+ "signEvmTypedData",
342
+ "signEvmHash",
343
+ "prepareUserOperation",
344
+ "sendUserOperation",
345
+ ]);
371
346
  /**
372
347
  * Enum for Action types
373
348
  */
@@ -472,27 +447,6 @@ exports.SendEvmTransactionRuleSchema = zod_2.z.object({
472
447
  */
473
448
  criteria: exports.SendEvmTransactionCriteriaSchema,
474
449
  });
475
- /**
476
- * Type representing a 'signSolTransaction' policy rule that can accept or reject specific operations
477
- * based on a set of criteria.
478
- */
479
- exports.SignSolTransactionRuleSchema = zod_2.z.object({
480
- /**
481
- * Determines whether matching the rule will cause a request to be rejected or accepted.
482
- * "accept" will allow the transaction, "reject" will block it.
483
- */
484
- action: exports.ActionEnum,
485
- /**
486
- * The operation to which this rule applies.
487
- * Must be "signSolTransaction".
488
- */
489
- operation: zod_2.z.literal("signSolTransaction"),
490
- /**
491
- * The set of criteria that must be matched for this rule to apply.
492
- * Must be compatible with the specified operation type.
493
- */
494
- criteria: exports.SignSolTransactionCriteriaSchema,
495
- });
496
450
  /**
497
451
  * Type representing a 'prepareUserOperation' policy rule that can accept or reject specific operations
498
452
  * based on a set of criteria.
@@ -535,59 +489,4 @@ exports.SendUserOperationRuleSchema = zod_2.z.object({
535
489
  */
536
490
  criteria: exports.SendUserOperationCriteriaSchema,
537
491
  });
538
- /**
539
- * Schema for policy rules
540
- */
541
- exports.RuleSchema = zod_2.z.discriminatedUnion("operation", [
542
- exports.SignEvmTransactionRuleSchema,
543
- exports.SignEvmHashRuleSchema,
544
- exports.SignEvmMessageRuleSchema,
545
- exports.SignEvmTypedDataRuleSchema,
546
- exports.SendEvmTransactionRuleSchema,
547
- exports.SignSolTransactionRuleSchema,
548
- exports.PrepareUserOperationRuleSchema,
549
- exports.SendUserOperationRuleSchema,
550
- ]);
551
- /**
552
- * Enum for policy scopes
553
- */
554
- exports.PolicyScopeEnum = zod_2.z.enum(["project", "account"]);
555
- /**
556
- * Schema for creating or updating a Policy.
557
- */
558
- exports.CreatePolicyBodySchema = zod_2.z.object({
559
- /**
560
- * The scope of the policy.
561
- * "project" applies to the entire project, "account" applies to specific accounts.
562
- */
563
- scope: exports.PolicyScopeEnum,
564
- /**
565
- * An optional human-readable description for the policy.
566
- * Limited to 50 characters of alphanumeric characters, spaces, commas, and periods.
567
- */
568
- description: zod_2.z
569
- .string()
570
- .regex(/^[A-Za-z0-9 ,.]{1,50}$/)
571
- .optional(),
572
- /**
573
- * Array of rules that comprise the policy.
574
- * Limited to a maximum of 10 rules per policy.
575
- */
576
- rules: zod_2.z.array(exports.RuleSchema).max(10).min(1),
577
- });
578
- exports.UpdatePolicyBodySchema = zod_2.z.object({
579
- /**
580
- * An optional human-readable description for the policy.
581
- * Limited to 50 characters of alphanumeric characters, spaces, commas, and periods.
582
- */
583
- description: zod_2.z
584
- .string()
585
- .regex(/^[A-Za-z0-9 ,.]{1,50}$/)
586
- .optional(),
587
- /**
588
- * Array of rules that comprise the policy.
589
- * Limited to a maximum of 10 rules per policy.
590
- */
591
- rules: zod_2.z.array(exports.RuleSchema).max(10).min(1),
592
- });
593
- //# sourceMappingURL=schema.js.map
492
+ //# sourceMappingURL=evmSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evmSchema.js","sourceRoot":"","sources":["../../policies/evmSchema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,183 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SendSolTransactionRuleSchema = exports.SignSolTransactionRuleSchema = exports.SolOperationEnum = exports.SendSolTransactionCriteriaSchema = exports.SignSolTransactionCriteriaSchema = exports.MintAddressCriterionSchema = exports.SplValueCriterionSchema = exports.SplAddressCriterionSchema = exports.SolValueCriterionSchema = exports.SolAddressCriterionSchema = exports.MintAddressOperatorEnum = exports.SplValueOperatorEnum = exports.SplAddressOperatorEnum = exports.SolValueOperatorEnum = exports.SolAddressOperatorEnum = exports.ActionEnum = void 0;
4
+ const zod_1 = require("zod");
5
+ /**
6
+ * Enum for Action types
7
+ */
8
+ exports.ActionEnum = zod_1.z.enum(["reject", "accept"]);
9
+ /**
10
+ * Enum for SolAddressOperator values
11
+ */
12
+ exports.SolAddressOperatorEnum = zod_1.z.enum(["in", "not in"]);
13
+ /**
14
+ * Enum for SolValueOperator values
15
+ */
16
+ exports.SolValueOperatorEnum = zod_1.z.enum([">", ">=", "<", "<=", "=="]);
17
+ /**
18
+ * Enum for SplAddressOperator values
19
+ */
20
+ exports.SplAddressOperatorEnum = zod_1.z.enum(["in", "not in"]);
21
+ /**
22
+ * Enum for SplValueOperator values
23
+ */
24
+ exports.SplValueOperatorEnum = zod_1.z.enum([">", ">=", "<", "<=", "=="]);
25
+ /**
26
+ * Enum for MintAddressOperator values
27
+ */
28
+ exports.MintAddressOperatorEnum = zod_1.z.enum(["in", "not in"]);
29
+ /**
30
+ * Schema for Solana address criterions
31
+ */
32
+ exports.SolAddressCriterionSchema = zod_1.z.object({
33
+ /** The type of criterion, must be "solAddress" for Solana address-based rules. */
34
+ type: zod_1.z.literal("solAddress"),
35
+ /**
36
+ * Array of Solana addresses to compare against.
37
+ * Each address must be a valid Base58-encoded Solana address (32-44 characters).
38
+ */
39
+ addresses: zod_1.z.array(zod_1.z.string().regex(/^[1-9A-HJ-NP-Za-km-z]{32,44}$/)),
40
+ /**
41
+ * The operator to use for evaluating transaction addresses.
42
+ * "in" checks if an address is in the provided list.
43
+ * "not in" checks if an address is not in the provided list.
44
+ */
45
+ operator: exports.SolAddressOperatorEnum,
46
+ });
47
+ /**
48
+ * Schema for SOL value criterions
49
+ */
50
+ exports.SolValueCriterionSchema = zod_1.z.object({
51
+ /** The type of criterion, must be "solValue" for SOL value-based rules. */
52
+ type: zod_1.z.literal("solValue"),
53
+ /**
54
+ * The SOL value amount in lamports to compare against, as a string.
55
+ * Must contain only digits.
56
+ */
57
+ solValue: zod_1.z.string().regex(/^[0-9]+$/),
58
+ /** The comparison operator to use for evaluating transaction SOL values against the threshold. */
59
+ operator: exports.SolValueOperatorEnum,
60
+ });
61
+ /**
62
+ * Schema for SPL address criterions
63
+ */
64
+ exports.SplAddressCriterionSchema = zod_1.z.object({
65
+ /** The type of criterion, must be "splAddress" for SPL address-based rules. */
66
+ type: zod_1.z.literal("splAddress"),
67
+ /**
68
+ * Array of Solana addresses to compare against for SPL token transfer recipients.
69
+ * Each address must be a valid Base58-encoded Solana address (32-44 characters).
70
+ */
71
+ addresses: zod_1.z.array(zod_1.z.string().regex(/^[1-9A-HJ-NP-Za-km-z]{32,44}$/)),
72
+ /**
73
+ * The operator to use for evaluating SPL token transfer recipient addresses.
74
+ * "in" checks if an address is in the provided list.
75
+ * "not in" checks if an address is not in the provided list.
76
+ */
77
+ operator: exports.SplAddressOperatorEnum,
78
+ });
79
+ /**
80
+ * Schema for SPL value criterions
81
+ */
82
+ exports.SplValueCriterionSchema = zod_1.z.object({
83
+ /** The type of criterion, must be "splValue" for SPL token value-based rules. */
84
+ type: zod_1.z.literal("splValue"),
85
+ /**
86
+ * The SPL token value amount to compare against, as a string.
87
+ * Must contain only digits.
88
+ */
89
+ splValue: zod_1.z.string().regex(/^[0-9]+$/),
90
+ /** The comparison operator to use for evaluating SPL token values against the threshold. */
91
+ operator: exports.SplValueOperatorEnum,
92
+ });
93
+ /**
94
+ * Schema for mint address criterions
95
+ */
96
+ exports.MintAddressCriterionSchema = zod_1.z.object({
97
+ /** The type of criterion, must be "mintAddress" for token mint address-based rules. */
98
+ type: zod_1.z.literal("mintAddress"),
99
+ /**
100
+ * Array of Solana addresses to compare against for token mint addresses.
101
+ * Each address must be a valid Base58-encoded Solana address (32-44 characters).
102
+ */
103
+ addresses: zod_1.z.array(zod_1.z.string().regex(/^[1-9A-HJ-NP-Za-km-z]{32,44}$/)),
104
+ /**
105
+ * The operator to use for evaluating token mint addresses.
106
+ * "in" checks if an address is in the provided list.
107
+ * "not in" checks if an address is not in the provided list.
108
+ */
109
+ operator: exports.MintAddressOperatorEnum,
110
+ });
111
+ /**
112
+ * Schema for criteria used in SignSolTransaction operations
113
+ */
114
+ exports.SignSolTransactionCriteriaSchema = zod_1.z
115
+ .array(zod_1.z.discriminatedUnion("type", [
116
+ exports.SolAddressCriterionSchema,
117
+ exports.SolValueCriterionSchema,
118
+ exports.SplAddressCriterionSchema,
119
+ exports.SplValueCriterionSchema,
120
+ exports.MintAddressCriterionSchema,
121
+ ]))
122
+ .max(10)
123
+ .min(1);
124
+ /**
125
+ * Schema for criteria used in SendSolTransaction operations
126
+ */
127
+ exports.SendSolTransactionCriteriaSchema = zod_1.z
128
+ .array(zod_1.z.discriminatedUnion("type", [
129
+ exports.SolAddressCriterionSchema,
130
+ exports.SolValueCriterionSchema,
131
+ exports.SplAddressCriterionSchema,
132
+ exports.SplValueCriterionSchema,
133
+ exports.MintAddressCriterionSchema,
134
+ ]))
135
+ .max(10)
136
+ .min(1);
137
+ /**
138
+ * Enum for Solana Operation types
139
+ */
140
+ exports.SolOperationEnum = zod_1.z.enum(["signSolTransaction", "sendSolTransaction"]);
141
+ /**
142
+ * Type representing a 'signSolTransaction' policy rule that can accept or reject specific operations
143
+ * based on a set of criteria.
144
+ */
145
+ exports.SignSolTransactionRuleSchema = zod_1.z.object({
146
+ /**
147
+ * Determines whether matching the rule will cause a request to be rejected or accepted.
148
+ * "accept" will allow the transaction, "reject" will block it.
149
+ */
150
+ action: exports.ActionEnum,
151
+ /**
152
+ * The operation to which this rule applies.
153
+ * Must be "signSolTransaction".
154
+ */
155
+ operation: zod_1.z.literal("signSolTransaction"),
156
+ /**
157
+ * The set of criteria that must be matched for this rule to apply.
158
+ * Must be compatible with the specified operation type.
159
+ */
160
+ criteria: exports.SignSolTransactionCriteriaSchema,
161
+ });
162
+ /**
163
+ * Type representing a 'sendSolTransaction' policy rule that can accept or reject specific operations
164
+ * based on a set of criteria.
165
+ */
166
+ exports.SendSolTransactionRuleSchema = zod_1.z.object({
167
+ /**
168
+ * Determines whether matching the rule will cause a request to be rejected or accepted.
169
+ * "accept" will allow the transaction, "reject" will block it.
170
+ */
171
+ action: exports.ActionEnum,
172
+ /**
173
+ * The operation to which this rule applies.
174
+ * Must be "sendSolTransaction".
175
+ */
176
+ operation: zod_1.z.literal("sendSolTransaction"),
177
+ /**
178
+ * The set of criteria that must be matched for this rule to apply.
179
+ * Must be compatible with the specified operation type.
180
+ */
181
+ criteria: exports.SendSolTransactionCriteriaSchema,
182
+ });
183
+ //# sourceMappingURL=solanaSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solanaSchema.js","sourceRoot":"","sources":["../../policies/solanaSchema.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,63 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UpdatePolicyBodySchema = exports.CreatePolicyBodySchema = exports.RuleSchema = exports.PolicyScopeEnum = void 0;
4
+ const zod_1 = require("zod");
5
+ const evmSchema_js_1 = require("./evmSchema.js");
6
+ const solanaSchema_js_1 = require("./solanaSchema.js");
7
+ /**
8
+ * Enum for policy scopes
9
+ */
10
+ exports.PolicyScopeEnum = zod_1.z.enum(["project", "account"]);
11
+ /**
12
+ * Schema for policy rules
13
+ */
14
+ exports.RuleSchema = zod_1.z.discriminatedUnion("operation", [
15
+ evmSchema_js_1.SignEvmTransactionRuleSchema,
16
+ evmSchema_js_1.SignEvmHashRuleSchema,
17
+ evmSchema_js_1.SignEvmMessageRuleSchema,
18
+ evmSchema_js_1.SignEvmTypedDataRuleSchema,
19
+ evmSchema_js_1.SendEvmTransactionRuleSchema,
20
+ solanaSchema_js_1.SignSolTransactionRuleSchema,
21
+ solanaSchema_js_1.SendSolTransactionRuleSchema,
22
+ evmSchema_js_1.PrepareUserOperationRuleSchema,
23
+ evmSchema_js_1.SendUserOperationRuleSchema,
24
+ ]);
25
+ /**
26
+ * Schema for creating or updating a Policy.
27
+ */
28
+ exports.CreatePolicyBodySchema = zod_1.z.object({
29
+ /**
30
+ * The scope of the policy.
31
+ * "project" applies to the entire project, "account" applies to specific accounts.
32
+ */
33
+ scope: exports.PolicyScopeEnum,
34
+ /**
35
+ * An optional human-readable description for the policy.
36
+ * Limited to 50 characters of alphanumeric characters, spaces, commas, and periods.
37
+ */
38
+ description: zod_1.z
39
+ .string()
40
+ .regex(/^[A-Za-z0-9 ,.]{1,50}$/)
41
+ .optional(),
42
+ /**
43
+ * Array of rules that comprise the policy.
44
+ * Limited to a maximum of 10 rules per policy.
45
+ */
46
+ rules: zod_1.z.array(exports.RuleSchema).max(10).min(1),
47
+ });
48
+ exports.UpdatePolicyBodySchema = zod_1.z.object({
49
+ /**
50
+ * An optional human-readable description for the policy.
51
+ * Limited to 50 characters of alphanumeric characters, spaces, commas, and periods.
52
+ */
53
+ description: zod_1.z
54
+ .string()
55
+ .regex(/^[A-Za-z0-9 ,.]{1,50}$/)
56
+ .optional(),
57
+ /**
58
+ * Array of rules that comprise the policy.
59
+ * Limited to a maximum of 10 rules per policy.
60
+ */
61
+ rules: zod_1.z.array(exports.RuleSchema).max(10).min(1),
62
+ });
3
63
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../policies/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../policies/types.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,iDAQwB;AACxB,uDAA+F;AAoB/F;;GAEG;AACU,QAAA,eAAe,GAAG,OAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;AAO9D;;GAEG;AACU,QAAA,UAAU,GAAG,OAAC,CAAC,kBAAkB,CAAC,WAAW,EAAE;IAC1D,2CAA4B;IAC5B,oCAAqB;IACrB,uCAAwB;IACxB,yCAA0B;IAC1B,2CAA4B;IAC5B,8CAA4B;IAC5B,8CAA4B;IAC5B,6CAA8B;IAC9B,0CAA2B;CAC5B,CAAC,CAAC;AAQH;;GAEG;AACU,QAAA,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C;;;OAGG;IACH,KAAK,EAAE,uBAAe;IACtB;;;OAGG;IACH,WAAW,EAAE,OAAC;SACX,MAAM,EAAE;SACR,KAAK,CAAC,wBAAwB,CAAC;SAC/B,QAAQ,EAAE;IACb;;;OAGG;IACH,KAAK,EAAE,OAAC,CAAC,KAAK,CAAC,kBAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;CAC1C,CAAC,CAAC;AAOU,QAAA,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C;;;OAGG;IACH,WAAW,EAAE,OAAC;SACX,MAAM,EAAE;SACR,KAAK,CAAC,wBAAwB,CAAC;SAC/B,QAAQ,EAAE;IACb;;;OAGG;IACH,KAAK,EAAE,OAAC,CAAC,KAAK,CAAC,kBAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;CAC1C,CAAC,CAAC"}
package/_cjs/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.version = void 0;
4
- exports.version = "1.31.0";
4
+ exports.version = "1.32.0";
5
5
  //# sourceMappingURL=version.js.map
@@ -50,6 +50,7 @@ export async function toNetworkScopedEvmServerAccount(options) {
50
50
  accountType: "evm_server",
51
51
  properties: {
52
52
  network: options.network,
53
+ managed: true,
53
54
  },
54
55
  });
55
56
  const hash = await walletClient.sendTransaction(txOpts.transaction);
@@ -69,6 +70,7 @@ export async function toNetworkScopedEvmServerAccount(options) {
69
70
  accountType: "evm_server",
70
71
  properties: {
71
72
  network: options.network,
73
+ managed: true,
72
74
  },
73
75
  });
74
76
  return transferWithViem(walletClient, account, transferArgs);
@@ -78,6 +80,9 @@ export async function toNetworkScopedEvmServerAccount(options) {
78
80
  Analytics.trackAction({
79
81
  action: "wait_for_transaction_receipt",
80
82
  accountType: "evm_server",
83
+ properties: {
84
+ managed: true,
85
+ },
81
86
  });
82
87
  if ("transactionHash" in waitOptions) {
83
88
  return publicClient.waitForTransactionReceipt({
@@ -90,6 +95,13 @@ export async function toNetworkScopedEvmServerAccount(options) {
90
95
  if (isMethodSupportedOnNetwork("listTokenBalances", resolvedNetworkName)) {
91
96
  Object.assign(account, {
92
97
  listTokenBalances: async (listTokenBalancesOptions) => {
98
+ Analytics.trackAction({
99
+ action: "list_token_balances",
100
+ accountType: "evm_server",
101
+ properties: {
102
+ managed: true,
103
+ },
104
+ });
93
105
  return options.account.listTokenBalances({
94
106
  ...listTokenBalancesOptions,
95
107
  network: options.network,
@@ -100,6 +112,13 @@ export async function toNetworkScopedEvmServerAccount(options) {
100
112
  if (isMethodSupportedOnNetwork("requestFaucet", resolvedNetworkName)) {
101
113
  Object.assign(account, {
102
114
  requestFaucet: async (faucetOptions) => {
115
+ Analytics.trackAction({
116
+ action: "request_faucet",
117
+ accountType: "evm_server",
118
+ properties: {
119
+ managed: true,
120
+ },
121
+ });
103
122
  return options.account.requestFaucet({
104
123
  ...faucetOptions,
105
124
  network: chain.id === baseSepolia.id ? "base-sepolia" : "ethereum-sepolia",
@@ -110,6 +129,13 @@ export async function toNetworkScopedEvmServerAccount(options) {
110
129
  if (isMethodSupportedOnNetwork("quoteFund", resolvedNetworkName)) {
111
130
  Object.assign(account, {
112
131
  quoteFund: async (quoteFundOptions) => {
132
+ Analytics.trackAction({
133
+ action: "quote_fund",
134
+ accountType: "evm_server",
135
+ properties: {
136
+ managed: true,
137
+ },
138
+ });
113
139
  return options.account.quoteFund({
114
140
  ...quoteFundOptions,
115
141
  });
@@ -119,11 +145,25 @@ export async function toNetworkScopedEvmServerAccount(options) {
119
145
  if (isMethodSupportedOnNetwork("fund", resolvedNetworkName)) {
120
146
  Object.assign(account, {
121
147
  fund: async (fundOptions) => {
148
+ Analytics.trackAction({
149
+ action: "fund",
150
+ accountType: "evm_server",
151
+ properties: {
152
+ managed: true,
153
+ },
154
+ });
122
155
  return options.account.fund({
123
156
  ...fundOptions,
124
157
  });
125
158
  },
126
159
  waitForFundOperationReceipt: async (waitOptions) => {
160
+ Analytics.trackAction({
161
+ action: "wait_for_fund_operation_receipt",
162
+ accountType: "evm_server",
163
+ properties: {
164
+ managed: true,
165
+ },
166
+ });
127
167
  return options.account.waitForFundOperationReceipt(waitOptions);
128
168
  },
129
169
  });
@@ -131,6 +171,13 @@ export async function toNetworkScopedEvmServerAccount(options) {
131
171
  if (isMethodSupportedOnNetwork("quoteSwap", resolvedNetworkName)) {
132
172
  Object.assign(account, {
133
173
  quoteSwap: async (quoteSwapOptions) => {
174
+ Analytics.trackAction({
175
+ action: "quote_swap",
176
+ accountType: "evm_server",
177
+ properties: {
178
+ managed: true,
179
+ },
180
+ });
134
181
  return options.account.quoteSwap(quoteSwapOptions);
135
182
  },
136
183
  });
@@ -138,6 +185,13 @@ export async function toNetworkScopedEvmServerAccount(options) {
138
185
  if (isMethodSupportedOnNetwork("swap", resolvedNetworkName)) {
139
186
  Object.assign(account, {
140
187
  swap: async (swapOptions) => {
188
+ Analytics.trackAction({
189
+ action: "swap",
190
+ accountType: "evm_server",
191
+ properties: {
192
+ managed: true,
193
+ },
194
+ });
141
195
  return options.account.swap(swapOptions);
142
196
  },
143
197
  });
@@ -145,6 +199,13 @@ export async function toNetworkScopedEvmServerAccount(options) {
145
199
  if (isMethodSupportedOnNetwork("useSpendPermission", resolvedNetworkName)) {
146
200
  Object.assign(account, {
147
201
  __experimental_useSpendPermission: async (spendPermissionOptions) => {
202
+ Analytics.trackAction({
203
+ action: "use_spend_permission",
204
+ accountType: "evm_server",
205
+ properties: {
206
+ managed: true,
207
+ },
208
+ });
148
209
  return options.account.__experimental_useSpendPermission({
149
210
  ...spendPermissionOptions,
150
211
  network: options.network,
@@ -1 +1 @@
1
- {"version":3,"file":"toNetworkScopedEvmServerAccount.js","sourceRoot":"","sources":["../../../accounts/evm/toNetworkScopedEvmServerAccount.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toNetworkScopedEvmServerAccount.js","sourceRoot":"","sources":["../../../accounts/evm/toNetworkScopedEvmServerAccount.ts"],"names":[],"mappings":"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"}