@coinbase/cdp-sdk 1.31.1 → 1.33.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 (63) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +9 -7
  3. package/_cjs/client/policies/policies.js +72 -5
  4. package/_cjs/client/policies/policies.js.map +1 -1
  5. package/_cjs/index.js +3 -3
  6. package/_cjs/index.js.map +1 -1
  7. package/_cjs/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js +65 -2
  8. package/_cjs/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js.map +1 -1
  9. package/_cjs/openapi-client/generated/policy-engine/policy-engine.msw.js +259 -5
  10. package/_cjs/openapi-client/generated/policy-engine/policy-engine.msw.js.map +1 -1
  11. package/_cjs/policies/{schema.js → evmSchema.js} +28 -112
  12. package/_cjs/policies/evmSchema.js.map +1 -0
  13. package/_cjs/policies/solanaSchema.js +183 -0
  14. package/_cjs/policies/solanaSchema.js.map +1 -0
  15. package/_cjs/policies/types.js +60 -0
  16. package/_cjs/policies/types.js.map +1 -1
  17. package/_cjs/version.js +1 -1
  18. package/_esm/client/policies/policies.js +70 -3
  19. package/_esm/client/policies/policies.js.map +1 -1
  20. package/_esm/index.js +1 -1
  21. package/_esm/index.js.map +1 -1
  22. package/_esm/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js +63 -0
  23. package/_esm/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js.map +1 -1
  24. package/_esm/openapi-client/generated/policy-engine/policy-engine.msw.js +237 -3
  25. package/_esm/openapi-client/generated/policy-engine/policy-engine.msw.js.map +1 -1
  26. package/_esm/policies/{schema.js → evmSchema.js} +27 -111
  27. package/_esm/policies/evmSchema.js.map +1 -0
  28. package/_esm/policies/solanaSchema.js +180 -0
  29. package/_esm/policies/solanaSchema.js.map +1 -0
  30. package/_esm/policies/types.js +59 -1
  31. package/_esm/policies/types.js.map +1 -1
  32. package/_esm/version.js +1 -1
  33. package/_types/client/policies/policies.d.ts +69 -2
  34. package/_types/client/policies/policies.d.ts.map +1 -1
  35. package/_types/client/policies/policies.types.d.ts +1 -2
  36. package/_types/client/policies/policies.types.d.ts.map +1 -1
  37. package/_types/index.d.ts +1 -1
  38. package/_types/index.d.ts.map +1 -1
  39. package/_types/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.d.ts +171 -4
  40. package/_types/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.d.ts.map +1 -1
  41. package/_types/openapi-client/generated/policy-engine/policy-engine.msw.d.ts +21 -1
  42. package/_types/openapi-client/generated/policy-engine/policy-engine.msw.d.ts.map +1 -1
  43. package/_types/policies/evmSchema.d.ts +4519 -0
  44. package/_types/policies/evmSchema.d.ts.map +1 -0
  45. package/_types/policies/solanaSchema.d.ts +758 -0
  46. package/_types/policies/solanaSchema.d.ts.map +1 -0
  47. package/_types/policies/types.d.ts +6743 -1
  48. package/_types/policies/types.d.ts.map +1 -1
  49. package/_types/version.d.ts +1 -1
  50. package/client/policies/policies.ts +70 -4
  51. package/client/policies/policies.types.ts +1 -2
  52. package/index.ts +1 -1
  53. package/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.ts +240 -3
  54. package/openapi-client/generated/policy-engine/policy-engine.msw.ts +338 -3
  55. package/package.json +1 -1
  56. package/policies/{schema.ts → evmSchema.ts} +28 -158
  57. package/policies/solanaSchema.ts +251 -0
  58. package/policies/types.ts +94 -1
  59. package/version.ts +1 -1
  60. package/_cjs/policies/schema.js.map +0 -1
  61. package/_esm/policies/schema.js.map +0 -1
  62. package/_types/policies/schema.d.ts +0 -11599
  63. package/_types/policies/schema.d.ts.map +0 -1
@@ -24,10 +24,15 @@ import type {
24
24
  EvmTypedNumericalCondition,
25
25
  EvmTypedStringCondition,
26
26
  ListPolicies200,
27
+ MintAddressCriterion,
28
+ NetUSDChangeCriterion,
27
29
  Policy,
28
30
  SignEvmTypedDataFieldCriterion,
29
31
  SignEvmTypedDataVerifyingContractCriterion,
30
32
  SolAddressCriterion,
33
+ SolValueCriterion,
34
+ SplAddressCriterion,
35
+ SplValueCriterion,
31
36
  } from "../coinbaseDeveloperPlatformAPIs.schemas.js";
32
37
 
33
38
  export const getListPoliciesResponseEthValueCriterionMock = (
@@ -159,6 +164,17 @@ export const getListPoliciesResponseEvmDataCriterionMock = (
159
164
  ...overrideResponse,
160
165
  });
161
166
 
167
+ export const getListPoliciesResponseNetUSDChangeCriterionMock = (
168
+ overrideResponse: Partial<NetUSDChangeCriterion> = {},
169
+ ): NetUSDChangeCriterion => ({
170
+ ...{
171
+ type: faker.helpers.arrayElement(["netUSDChange"] as const),
172
+ changeCents: faker.number.int({ min: undefined, max: undefined }),
173
+ operator: faker.helpers.arrayElement([">", ">=", "<", "<=", "=="] as const),
174
+ },
175
+ ...overrideResponse,
176
+ });
177
+
162
178
  export const getListPoliciesResponseEvmNetworkCriterionMock = (
163
179
  overrideResponse: Partial<EvmNetworkCriterion> = {},
164
180
  ): EvmNetworkCriterion => ({
@@ -263,6 +279,54 @@ export const getListPoliciesResponseSolAddressCriterionMock = (
263
279
  ...overrideResponse,
264
280
  });
265
281
 
282
+ export const getListPoliciesResponseSolValueCriterionMock = (
283
+ overrideResponse: Partial<SolValueCriterion> = {},
284
+ ): SolValueCriterion => ({
285
+ ...{
286
+ type: faker.helpers.arrayElement(["solValue"] as const),
287
+ solValue: faker.string.alpha(20),
288
+ operator: faker.helpers.arrayElement([">", ">=", "<", "<=", "=="] as const),
289
+ },
290
+ ...overrideResponse,
291
+ });
292
+
293
+ export const getListPoliciesResponseSplAddressCriterionMock = (
294
+ overrideResponse: Partial<SplAddressCriterion> = {},
295
+ ): SplAddressCriterion => ({
296
+ ...{
297
+ type: faker.helpers.arrayElement(["splAddress"] as const),
298
+ addresses: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
299
+ () => faker.helpers.fromRegExp("^[1-9A-HJ-NP-Za-km-z]{32,44}$"),
300
+ ),
301
+ operator: faker.helpers.arrayElement(["in", "not in"] as const),
302
+ },
303
+ ...overrideResponse,
304
+ });
305
+
306
+ export const getListPoliciesResponseSplValueCriterionMock = (
307
+ overrideResponse: Partial<SplValueCriterion> = {},
308
+ ): SplValueCriterion => ({
309
+ ...{
310
+ type: faker.helpers.arrayElement(["splValue"] as const),
311
+ splValue: faker.string.alpha(20),
312
+ operator: faker.helpers.arrayElement([">", ">=", "<", "<=", "=="] as const),
313
+ },
314
+ ...overrideResponse,
315
+ });
316
+
317
+ export const getListPoliciesResponseMintAddressCriterionMock = (
318
+ overrideResponse: Partial<MintAddressCriterion> = {},
319
+ ): MintAddressCriterion => ({
320
+ ...{
321
+ type: faker.helpers.arrayElement(["mintAddress"] as const),
322
+ addresses: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
323
+ () => faker.helpers.fromRegExp("^[1-9A-HJ-NP-Za-km-z]{32,44}$"),
324
+ ),
325
+ operator: faker.helpers.arrayElement(["in", "not in"] as const),
326
+ },
327
+ ...overrideResponse,
328
+ });
329
+
266
330
  export const getListPoliciesResponseMock = (): ListPolicies200 => ({
267
331
  ...{
268
332
  policies: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
@@ -289,6 +353,7 @@ export const getListPoliciesResponseMock = (): ListPolicies200 => ({
289
353
  { ...getListPoliciesResponseEthValueCriterionMock() },
290
354
  { ...getListPoliciesResponseEvmAddressCriterionMock() },
291
355
  { ...getListPoliciesResponseEvmDataCriterionMock() },
356
+ { ...getListPoliciesResponseNetUSDChangeCriterionMock() },
292
357
  ]),
293
358
  ),
294
359
  },
@@ -304,6 +369,7 @@ export const getListPoliciesResponseMock = (): ListPolicies200 => ({
304
369
  { ...getListPoliciesResponseEvmAddressCriterionMock() },
305
370
  { ...getListPoliciesResponseEvmNetworkCriterionMock() },
306
371
  { ...getListPoliciesResponseEvmDataCriterionMock() },
372
+ { ...getListPoliciesResponseNetUSDChangeCriterionMock() },
307
373
  ]),
308
374
  ),
309
375
  },
@@ -341,6 +407,26 @@ export const getListPoliciesResponseMock = (): ListPolicies200 => ({
341
407
  ).map(() =>
342
408
  faker.helpers.arrayElement([
343
409
  { ...getListPoliciesResponseSolAddressCriterionMock() },
410
+ { ...getListPoliciesResponseSolValueCriterionMock() },
411
+ { ...getListPoliciesResponseSplAddressCriterionMock() },
412
+ { ...getListPoliciesResponseSplValueCriterionMock() },
413
+ { ...getListPoliciesResponseMintAddressCriterionMock() },
414
+ ]),
415
+ ),
416
+ },
417
+ {
418
+ action: faker.helpers.arrayElement(["reject", "accept"] as const),
419
+ operation: faker.helpers.arrayElement(["sendSolTransaction"] as const),
420
+ criteria: Array.from(
421
+ { length: faker.number.int({ min: 1, max: 10 }) },
422
+ (_, i) => i + 1,
423
+ ).map(() =>
424
+ faker.helpers.arrayElement([
425
+ { ...getListPoliciesResponseSolAddressCriterionMock() },
426
+ { ...getListPoliciesResponseSolValueCriterionMock() },
427
+ { ...getListPoliciesResponseSplAddressCriterionMock() },
428
+ { ...getListPoliciesResponseSplValueCriterionMock() },
429
+ { ...getListPoliciesResponseMintAddressCriterionMock() },
344
430
  ]),
345
431
  ),
346
432
  },
@@ -516,6 +602,17 @@ export const getCreatePolicyResponseEvmDataCriterionMock = (
516
602
  ...overrideResponse,
517
603
  });
518
604
 
605
+ export const getCreatePolicyResponseNetUSDChangeCriterionMock = (
606
+ overrideResponse: Partial<NetUSDChangeCriterion> = {},
607
+ ): NetUSDChangeCriterion => ({
608
+ ...{
609
+ type: faker.helpers.arrayElement(["netUSDChange"] as const),
610
+ changeCents: faker.number.int({ min: undefined, max: undefined }),
611
+ operator: faker.helpers.arrayElement([">", ">=", "<", "<=", "=="] as const),
612
+ },
613
+ ...overrideResponse,
614
+ });
615
+
519
616
  export const getCreatePolicyResponseEvmNetworkCriterionMock = (
520
617
  overrideResponse: Partial<EvmNetworkCriterion> = {},
521
618
  ): EvmNetworkCriterion => ({
@@ -620,6 +717,54 @@ export const getCreatePolicyResponseSolAddressCriterionMock = (
620
717
  ...overrideResponse,
621
718
  });
622
719
 
720
+ export const getCreatePolicyResponseSolValueCriterionMock = (
721
+ overrideResponse: Partial<SolValueCriterion> = {},
722
+ ): SolValueCriterion => ({
723
+ ...{
724
+ type: faker.helpers.arrayElement(["solValue"] as const),
725
+ solValue: faker.string.alpha(20),
726
+ operator: faker.helpers.arrayElement([">", ">=", "<", "<=", "=="] as const),
727
+ },
728
+ ...overrideResponse,
729
+ });
730
+
731
+ export const getCreatePolicyResponseSplAddressCriterionMock = (
732
+ overrideResponse: Partial<SplAddressCriterion> = {},
733
+ ): SplAddressCriterion => ({
734
+ ...{
735
+ type: faker.helpers.arrayElement(["splAddress"] as const),
736
+ addresses: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
737
+ () => faker.helpers.fromRegExp("^[1-9A-HJ-NP-Za-km-z]{32,44}$"),
738
+ ),
739
+ operator: faker.helpers.arrayElement(["in", "not in"] as const),
740
+ },
741
+ ...overrideResponse,
742
+ });
743
+
744
+ export const getCreatePolicyResponseSplValueCriterionMock = (
745
+ overrideResponse: Partial<SplValueCriterion> = {},
746
+ ): SplValueCriterion => ({
747
+ ...{
748
+ type: faker.helpers.arrayElement(["splValue"] as const),
749
+ splValue: faker.string.alpha(20),
750
+ operator: faker.helpers.arrayElement([">", ">=", "<", "<=", "=="] as const),
751
+ },
752
+ ...overrideResponse,
753
+ });
754
+
755
+ export const getCreatePolicyResponseMintAddressCriterionMock = (
756
+ overrideResponse: Partial<MintAddressCriterion> = {},
757
+ ): MintAddressCriterion => ({
758
+ ...{
759
+ type: faker.helpers.arrayElement(["mintAddress"] as const),
760
+ addresses: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
761
+ () => faker.helpers.fromRegExp("^[1-9A-HJ-NP-Za-km-z]{32,44}$"),
762
+ ),
763
+ operator: faker.helpers.arrayElement(["in", "not in"] as const),
764
+ },
765
+ ...overrideResponse,
766
+ });
767
+
623
768
  export const getCreatePolicyResponseMock = (overrideResponse: Partial<Policy> = {}): Policy => ({
624
769
  id: faker.helpers.fromRegExp(
625
770
  "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
@@ -642,6 +787,7 @@ export const getCreatePolicyResponseMock = (overrideResponse: Partial<Policy> =
642
787
  { ...getCreatePolicyResponseEthValueCriterionMock() },
643
788
  { ...getCreatePolicyResponseEvmAddressCriterionMock() },
644
789
  { ...getCreatePolicyResponseEvmDataCriterionMock() },
790
+ { ...getCreatePolicyResponseNetUSDChangeCriterionMock() },
645
791
  ]),
646
792
  ),
647
793
  },
@@ -657,6 +803,7 @@ export const getCreatePolicyResponseMock = (overrideResponse: Partial<Policy> =
657
803
  { ...getCreatePolicyResponseEvmAddressCriterionMock() },
658
804
  { ...getCreatePolicyResponseEvmNetworkCriterionMock() },
659
805
  { ...getCreatePolicyResponseEvmDataCriterionMock() },
806
+ { ...getCreatePolicyResponseNetUSDChangeCriterionMock() },
660
807
  ]),
661
808
  ),
662
809
  },
@@ -690,7 +837,29 @@ export const getCreatePolicyResponseMock = (overrideResponse: Partial<Policy> =
690
837
  { length: faker.number.int({ min: 1, max: 10 }) },
691
838
  (_, i) => i + 1,
692
839
  ).map(() =>
693
- faker.helpers.arrayElement([{ ...getCreatePolicyResponseSolAddressCriterionMock() }]),
840
+ faker.helpers.arrayElement([
841
+ { ...getCreatePolicyResponseSolAddressCriterionMock() },
842
+ { ...getCreatePolicyResponseSolValueCriterionMock() },
843
+ { ...getCreatePolicyResponseSplAddressCriterionMock() },
844
+ { ...getCreatePolicyResponseSplValueCriterionMock() },
845
+ { ...getCreatePolicyResponseMintAddressCriterionMock() },
846
+ ]),
847
+ ),
848
+ },
849
+ {
850
+ action: faker.helpers.arrayElement(["reject", "accept"] as const),
851
+ operation: faker.helpers.arrayElement(["sendSolTransaction"] as const),
852
+ criteria: Array.from(
853
+ { length: faker.number.int({ min: 1, max: 10 }) },
854
+ (_, i) => i + 1,
855
+ ).map(() =>
856
+ faker.helpers.arrayElement([
857
+ { ...getCreatePolicyResponseSolAddressCriterionMock() },
858
+ { ...getCreatePolicyResponseSolValueCriterionMock() },
859
+ { ...getCreatePolicyResponseSplAddressCriterionMock() },
860
+ { ...getCreatePolicyResponseSplValueCriterionMock() },
861
+ { ...getCreatePolicyResponseMintAddressCriterionMock() },
862
+ ]),
694
863
  ),
695
864
  },
696
865
  {
@@ -862,6 +1031,17 @@ export const getGetPolicyByIdResponseEvmDataCriterionMock = (
862
1031
  ...overrideResponse,
863
1032
  });
864
1033
 
1034
+ export const getGetPolicyByIdResponseNetUSDChangeCriterionMock = (
1035
+ overrideResponse: Partial<NetUSDChangeCriterion> = {},
1036
+ ): NetUSDChangeCriterion => ({
1037
+ ...{
1038
+ type: faker.helpers.arrayElement(["netUSDChange"] as const),
1039
+ changeCents: faker.number.int({ min: undefined, max: undefined }),
1040
+ operator: faker.helpers.arrayElement([">", ">=", "<", "<=", "=="] as const),
1041
+ },
1042
+ ...overrideResponse,
1043
+ });
1044
+
865
1045
  export const getGetPolicyByIdResponseEvmNetworkCriterionMock = (
866
1046
  overrideResponse: Partial<EvmNetworkCriterion> = {},
867
1047
  ): EvmNetworkCriterion => ({
@@ -966,6 +1146,54 @@ export const getGetPolicyByIdResponseSolAddressCriterionMock = (
966
1146
  ...overrideResponse,
967
1147
  });
968
1148
 
1149
+ export const getGetPolicyByIdResponseSolValueCriterionMock = (
1150
+ overrideResponse: Partial<SolValueCriterion> = {},
1151
+ ): SolValueCriterion => ({
1152
+ ...{
1153
+ type: faker.helpers.arrayElement(["solValue"] as const),
1154
+ solValue: faker.string.alpha(20),
1155
+ operator: faker.helpers.arrayElement([">", ">=", "<", "<=", "=="] as const),
1156
+ },
1157
+ ...overrideResponse,
1158
+ });
1159
+
1160
+ export const getGetPolicyByIdResponseSplAddressCriterionMock = (
1161
+ overrideResponse: Partial<SplAddressCriterion> = {},
1162
+ ): SplAddressCriterion => ({
1163
+ ...{
1164
+ type: faker.helpers.arrayElement(["splAddress"] as const),
1165
+ addresses: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
1166
+ () => faker.helpers.fromRegExp("^[1-9A-HJ-NP-Za-km-z]{32,44}$"),
1167
+ ),
1168
+ operator: faker.helpers.arrayElement(["in", "not in"] as const),
1169
+ },
1170
+ ...overrideResponse,
1171
+ });
1172
+
1173
+ export const getGetPolicyByIdResponseSplValueCriterionMock = (
1174
+ overrideResponse: Partial<SplValueCriterion> = {},
1175
+ ): SplValueCriterion => ({
1176
+ ...{
1177
+ type: faker.helpers.arrayElement(["splValue"] as const),
1178
+ splValue: faker.string.alpha(20),
1179
+ operator: faker.helpers.arrayElement([">", ">=", "<", "<=", "=="] as const),
1180
+ },
1181
+ ...overrideResponse,
1182
+ });
1183
+
1184
+ export const getGetPolicyByIdResponseMintAddressCriterionMock = (
1185
+ overrideResponse: Partial<MintAddressCriterion> = {},
1186
+ ): MintAddressCriterion => ({
1187
+ ...{
1188
+ type: faker.helpers.arrayElement(["mintAddress"] as const),
1189
+ addresses: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
1190
+ () => faker.helpers.fromRegExp("^[1-9A-HJ-NP-Za-km-z]{32,44}$"),
1191
+ ),
1192
+ operator: faker.helpers.arrayElement(["in", "not in"] as const),
1193
+ },
1194
+ ...overrideResponse,
1195
+ });
1196
+
969
1197
  export const getGetPolicyByIdResponseMock = (overrideResponse: Partial<Policy> = {}): Policy => ({
970
1198
  id: faker.helpers.fromRegExp(
971
1199
  "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
@@ -988,6 +1216,7 @@ export const getGetPolicyByIdResponseMock = (overrideResponse: Partial<Policy> =
988
1216
  { ...getGetPolicyByIdResponseEthValueCriterionMock() },
989
1217
  { ...getGetPolicyByIdResponseEvmAddressCriterionMock() },
990
1218
  { ...getGetPolicyByIdResponseEvmDataCriterionMock() },
1219
+ { ...getGetPolicyByIdResponseNetUSDChangeCriterionMock() },
991
1220
  ]),
992
1221
  ),
993
1222
  },
@@ -1003,6 +1232,7 @@ export const getGetPolicyByIdResponseMock = (overrideResponse: Partial<Policy> =
1003
1232
  { ...getGetPolicyByIdResponseEvmAddressCriterionMock() },
1004
1233
  { ...getGetPolicyByIdResponseEvmNetworkCriterionMock() },
1005
1234
  { ...getGetPolicyByIdResponseEvmDataCriterionMock() },
1235
+ { ...getGetPolicyByIdResponseNetUSDChangeCriterionMock() },
1006
1236
  ]),
1007
1237
  ),
1008
1238
  },
@@ -1036,7 +1266,29 @@ export const getGetPolicyByIdResponseMock = (overrideResponse: Partial<Policy> =
1036
1266
  { length: faker.number.int({ min: 1, max: 10 }) },
1037
1267
  (_, i) => i + 1,
1038
1268
  ).map(() =>
1039
- faker.helpers.arrayElement([{ ...getGetPolicyByIdResponseSolAddressCriterionMock() }]),
1269
+ faker.helpers.arrayElement([
1270
+ { ...getGetPolicyByIdResponseSolAddressCriterionMock() },
1271
+ { ...getGetPolicyByIdResponseSolValueCriterionMock() },
1272
+ { ...getGetPolicyByIdResponseSplAddressCriterionMock() },
1273
+ { ...getGetPolicyByIdResponseSplValueCriterionMock() },
1274
+ { ...getGetPolicyByIdResponseMintAddressCriterionMock() },
1275
+ ]),
1276
+ ),
1277
+ },
1278
+ {
1279
+ action: faker.helpers.arrayElement(["reject", "accept"] as const),
1280
+ operation: faker.helpers.arrayElement(["sendSolTransaction"] as const),
1281
+ criteria: Array.from(
1282
+ { length: faker.number.int({ min: 1, max: 10 }) },
1283
+ (_, i) => i + 1,
1284
+ ).map(() =>
1285
+ faker.helpers.arrayElement([
1286
+ { ...getGetPolicyByIdResponseSolAddressCriterionMock() },
1287
+ { ...getGetPolicyByIdResponseSolValueCriterionMock() },
1288
+ { ...getGetPolicyByIdResponseSplAddressCriterionMock() },
1289
+ { ...getGetPolicyByIdResponseSplValueCriterionMock() },
1290
+ { ...getGetPolicyByIdResponseMintAddressCriterionMock() },
1291
+ ]),
1040
1292
  ),
1041
1293
  },
1042
1294
  {
@@ -1208,6 +1460,17 @@ export const getUpdatePolicyResponseEvmDataCriterionMock = (
1208
1460
  ...overrideResponse,
1209
1461
  });
1210
1462
 
1463
+ export const getUpdatePolicyResponseNetUSDChangeCriterionMock = (
1464
+ overrideResponse: Partial<NetUSDChangeCriterion> = {},
1465
+ ): NetUSDChangeCriterion => ({
1466
+ ...{
1467
+ type: faker.helpers.arrayElement(["netUSDChange"] as const),
1468
+ changeCents: faker.number.int({ min: undefined, max: undefined }),
1469
+ operator: faker.helpers.arrayElement([">", ">=", "<", "<=", "=="] as const),
1470
+ },
1471
+ ...overrideResponse,
1472
+ });
1473
+
1211
1474
  export const getUpdatePolicyResponseEvmNetworkCriterionMock = (
1212
1475
  overrideResponse: Partial<EvmNetworkCriterion> = {},
1213
1476
  ): EvmNetworkCriterion => ({
@@ -1312,6 +1575,54 @@ export const getUpdatePolicyResponseSolAddressCriterionMock = (
1312
1575
  ...overrideResponse,
1313
1576
  });
1314
1577
 
1578
+ export const getUpdatePolicyResponseSolValueCriterionMock = (
1579
+ overrideResponse: Partial<SolValueCriterion> = {},
1580
+ ): SolValueCriterion => ({
1581
+ ...{
1582
+ type: faker.helpers.arrayElement(["solValue"] as const),
1583
+ solValue: faker.string.alpha(20),
1584
+ operator: faker.helpers.arrayElement([">", ">=", "<", "<=", "=="] as const),
1585
+ },
1586
+ ...overrideResponse,
1587
+ });
1588
+
1589
+ export const getUpdatePolicyResponseSplAddressCriterionMock = (
1590
+ overrideResponse: Partial<SplAddressCriterion> = {},
1591
+ ): SplAddressCriterion => ({
1592
+ ...{
1593
+ type: faker.helpers.arrayElement(["splAddress"] as const),
1594
+ addresses: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
1595
+ () => faker.helpers.fromRegExp("^[1-9A-HJ-NP-Za-km-z]{32,44}$"),
1596
+ ),
1597
+ operator: faker.helpers.arrayElement(["in", "not in"] as const),
1598
+ },
1599
+ ...overrideResponse,
1600
+ });
1601
+
1602
+ export const getUpdatePolicyResponseSplValueCriterionMock = (
1603
+ overrideResponse: Partial<SplValueCriterion> = {},
1604
+ ): SplValueCriterion => ({
1605
+ ...{
1606
+ type: faker.helpers.arrayElement(["splValue"] as const),
1607
+ splValue: faker.string.alpha(20),
1608
+ operator: faker.helpers.arrayElement([">", ">=", "<", "<=", "=="] as const),
1609
+ },
1610
+ ...overrideResponse,
1611
+ });
1612
+
1613
+ export const getUpdatePolicyResponseMintAddressCriterionMock = (
1614
+ overrideResponse: Partial<MintAddressCriterion> = {},
1615
+ ): MintAddressCriterion => ({
1616
+ ...{
1617
+ type: faker.helpers.arrayElement(["mintAddress"] as const),
1618
+ addresses: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
1619
+ () => faker.helpers.fromRegExp("^[1-9A-HJ-NP-Za-km-z]{32,44}$"),
1620
+ ),
1621
+ operator: faker.helpers.arrayElement(["in", "not in"] as const),
1622
+ },
1623
+ ...overrideResponse,
1624
+ });
1625
+
1315
1626
  export const getUpdatePolicyResponseMock = (overrideResponse: Partial<Policy> = {}): Policy => ({
1316
1627
  id: faker.helpers.fromRegExp(
1317
1628
  "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
@@ -1334,6 +1645,7 @@ export const getUpdatePolicyResponseMock = (overrideResponse: Partial<Policy> =
1334
1645
  { ...getUpdatePolicyResponseEthValueCriterionMock() },
1335
1646
  { ...getUpdatePolicyResponseEvmAddressCriterionMock() },
1336
1647
  { ...getUpdatePolicyResponseEvmDataCriterionMock() },
1648
+ { ...getUpdatePolicyResponseNetUSDChangeCriterionMock() },
1337
1649
  ]),
1338
1650
  ),
1339
1651
  },
@@ -1349,6 +1661,7 @@ export const getUpdatePolicyResponseMock = (overrideResponse: Partial<Policy> =
1349
1661
  { ...getUpdatePolicyResponseEvmAddressCriterionMock() },
1350
1662
  { ...getUpdatePolicyResponseEvmNetworkCriterionMock() },
1351
1663
  { ...getUpdatePolicyResponseEvmDataCriterionMock() },
1664
+ { ...getUpdatePolicyResponseNetUSDChangeCriterionMock() },
1352
1665
  ]),
1353
1666
  ),
1354
1667
  },
@@ -1382,7 +1695,29 @@ export const getUpdatePolicyResponseMock = (overrideResponse: Partial<Policy> =
1382
1695
  { length: faker.number.int({ min: 1, max: 10 }) },
1383
1696
  (_, i) => i + 1,
1384
1697
  ).map(() =>
1385
- faker.helpers.arrayElement([{ ...getUpdatePolicyResponseSolAddressCriterionMock() }]),
1698
+ faker.helpers.arrayElement([
1699
+ { ...getUpdatePolicyResponseSolAddressCriterionMock() },
1700
+ { ...getUpdatePolicyResponseSolValueCriterionMock() },
1701
+ { ...getUpdatePolicyResponseSplAddressCriterionMock() },
1702
+ { ...getUpdatePolicyResponseSplValueCriterionMock() },
1703
+ { ...getUpdatePolicyResponseMintAddressCriterionMock() },
1704
+ ]),
1705
+ ),
1706
+ },
1707
+ {
1708
+ action: faker.helpers.arrayElement(["reject", "accept"] as const),
1709
+ operation: faker.helpers.arrayElement(["sendSolTransaction"] as const),
1710
+ criteria: Array.from(
1711
+ { length: faker.number.int({ min: 1, max: 10 }) },
1712
+ (_, i) => i + 1,
1713
+ ).map(() =>
1714
+ faker.helpers.arrayElement([
1715
+ { ...getUpdatePolicyResponseSolAddressCriterionMock() },
1716
+ { ...getUpdatePolicyResponseSolValueCriterionMock() },
1717
+ { ...getUpdatePolicyResponseSplAddressCriterionMock() },
1718
+ { ...getUpdatePolicyResponseSplValueCriterionMock() },
1719
+ { ...getUpdatePolicyResponseMintAddressCriterionMock() },
1720
+ ]),
1386
1721
  ),
1387
1722
  },
1388
1723
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coinbase/cdp-sdk",
3
- "version": "1.31.1",
3
+ "version": "1.33.0",
4
4
  "description": "SDK for interacting with the Coinbase Developer Platform Wallet API",
5
5
  "main": "./_cjs/index.js",
6
6
  "module": "./_esm/index.js",