@coinbase/cdp-sdk 1.35.0 → 1.36.1

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 (247) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/_cjs/accounts/evm/types.js +3 -0
  3. package/_cjs/accounts/evm/types.js.map +1 -1
  4. package/_cjs/accounts/solana/types.js +3 -0
  5. package/_cjs/accounts/solana/types.js.map +1 -1
  6. package/_cjs/actions/evm/transfer/accountTransferStrategy.js +0 -11
  7. package/_cjs/actions/evm/transfer/accountTransferStrategy.js.map +1 -1
  8. package/_cjs/actions/evm/transfer/smartAccountTransferStrategy.js +0 -8
  9. package/_cjs/actions/evm/transfer/smartAccountTransferStrategy.js.map +1 -1
  10. package/_cjs/actions/evm/types.js +3 -0
  11. package/_cjs/actions/evm/types.js.map +1 -1
  12. package/_cjs/actions/solana/types.js +3 -0
  13. package/_cjs/actions/solana/types.js.map +1 -1
  14. package/_cjs/auth/errors.js +3 -0
  15. package/_cjs/auth/errors.js.map +1 -1
  16. package/_cjs/auth/hooks/axios/withAuth.js +3 -0
  17. package/_cjs/auth/hooks/axios/withAuth.js.map +1 -1
  18. package/_cjs/auth/utils/hash.js +3 -0
  19. package/_cjs/auth/utils/hash.js.map +1 -1
  20. package/_cjs/auth/utils/http.js +3 -0
  21. package/_cjs/auth/utils/http.js.map +1 -1
  22. package/_cjs/auth/utils/jwt.js +3 -0
  23. package/_cjs/auth/utils/jwt.js.map +1 -1
  24. package/_cjs/auth/utils/ws.js +3 -0
  25. package/_cjs/auth/utils/ws.js.map +1 -1
  26. package/_cjs/client/evm/evm.js +10 -0
  27. package/_cjs/client/evm/evm.js.map +1 -1
  28. package/_cjs/client/evm/evm.types.js +3 -0
  29. package/_cjs/client/evm/evm.types.js.map +1 -1
  30. package/_cjs/client/policies/policies.js +3 -0
  31. package/_cjs/client/policies/policies.js.map +1 -1
  32. package/_cjs/client/policies/policies.types.js +3 -0
  33. package/_cjs/client/policies/policies.types.js.map +1 -1
  34. package/_cjs/client/solana/solana.js +3 -0
  35. package/_cjs/client/solana/solana.js.map +1 -1
  36. package/_cjs/client/solana/solana.types.js +3 -0
  37. package/_cjs/client/solana/solana.types.js.map +1 -1
  38. package/_cjs/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js +30 -3
  39. package/_cjs/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js.map +1 -1
  40. package/_cjs/policies/solanaSchema.js +75 -1
  41. package/_cjs/policies/solanaSchema.js.map +1 -1
  42. package/_cjs/version.js +1 -1
  43. package/_esm/accounts/evm/types.js +3 -0
  44. package/_esm/accounts/evm/types.js.map +1 -1
  45. package/_esm/accounts/solana/types.js +3 -0
  46. package/_esm/accounts/solana/types.js.map +1 -1
  47. package/_esm/actions/evm/transfer/accountTransferStrategy.js +0 -11
  48. package/_esm/actions/evm/transfer/accountTransferStrategy.js.map +1 -1
  49. package/_esm/actions/evm/transfer/smartAccountTransferStrategy.js +0 -8
  50. package/_esm/actions/evm/transfer/smartAccountTransferStrategy.js.map +1 -1
  51. package/_esm/actions/evm/types.js +3 -0
  52. package/_esm/actions/evm/types.js.map +1 -1
  53. package/_esm/actions/solana/types.js +3 -0
  54. package/_esm/actions/solana/types.js.map +1 -1
  55. package/_esm/auth/errors.js +3 -0
  56. package/_esm/auth/errors.js.map +1 -1
  57. package/_esm/auth/hooks/axios/withAuth.js +3 -0
  58. package/_esm/auth/hooks/axios/withAuth.js.map +1 -1
  59. package/_esm/auth/utils/hash.js +3 -0
  60. package/_esm/auth/utils/hash.js.map +1 -1
  61. package/_esm/auth/utils/http.js +3 -0
  62. package/_esm/auth/utils/http.js.map +1 -1
  63. package/_esm/auth/utils/jwt.js +3 -0
  64. package/_esm/auth/utils/jwt.js.map +1 -1
  65. package/_esm/auth/utils/ws.js +3 -0
  66. package/_esm/auth/utils/ws.js.map +1 -1
  67. package/_esm/client/evm/evm.js +10 -0
  68. package/_esm/client/evm/evm.js.map +1 -1
  69. package/_esm/client/evm/evm.types.js +3 -0
  70. package/_esm/client/evm/evm.types.js.map +1 -1
  71. package/_esm/client/policies/policies.js +3 -0
  72. package/_esm/client/policies/policies.js.map +1 -1
  73. package/_esm/client/policies/policies.types.js +3 -0
  74. package/_esm/client/policies/policies.types.js.map +1 -1
  75. package/_esm/client/solana/solana.js +3 -0
  76. package/_esm/client/solana/solana.js.map +1 -1
  77. package/_esm/client/solana/solana.types.js +3 -0
  78. package/_esm/client/solana/solana.types.js.map +1 -1
  79. package/_esm/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js +28 -1
  80. package/_esm/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js.map +1 -1
  81. package/_esm/policies/solanaSchema.js +74 -0
  82. package/_esm/policies/solanaSchema.js.map +1 -1
  83. package/_esm/version.js +1 -1
  84. package/_types/accounts/evm/types.d.ts +16 -0
  85. package/_types/accounts/evm/types.d.ts.map +1 -1
  86. package/_types/accounts/solana/types.d.ts +8 -0
  87. package/_types/accounts/solana/types.d.ts.map +1 -1
  88. package/_types/actions/evm/spend-permissions/types.d.ts +1 -1
  89. package/_types/actions/evm/spend-permissions/types.d.ts.map +1 -1
  90. package/_types/actions/evm/transfer/accountTransferStrategy.d.ts.map +1 -1
  91. package/_types/actions/evm/transfer/smartAccountTransferStrategy.d.ts.map +1 -1
  92. package/_types/actions/evm/types.d.ts +3 -0
  93. package/_types/actions/evm/types.d.ts.map +1 -1
  94. package/_types/actions/solana/types.d.ts +3 -0
  95. package/_types/actions/solana/types.d.ts.map +1 -1
  96. package/_types/auth/errors.d.ts +3 -0
  97. package/_types/auth/errors.d.ts.map +1 -1
  98. package/_types/auth/hooks/axios/withAuth.d.ts +3 -0
  99. package/_types/auth/hooks/axios/withAuth.d.ts.map +1 -1
  100. package/_types/auth/utils/hash.d.ts +3 -0
  101. package/_types/auth/utils/hash.d.ts.map +1 -1
  102. package/_types/auth/utils/http.d.ts +3 -0
  103. package/_types/auth/utils/http.d.ts.map +1 -1
  104. package/_types/auth/utils/jwt.d.ts +3 -0
  105. package/_types/auth/utils/jwt.d.ts.map +1 -1
  106. package/_types/auth/utils/ws.d.ts +3 -0
  107. package/_types/auth/utils/ws.d.ts.map +1 -1
  108. package/_types/client/evm/evm.d.ts +3 -0
  109. package/_types/client/evm/evm.d.ts.map +1 -1
  110. package/_types/client/evm/evm.types.d.ts +3 -0
  111. package/_types/client/evm/evm.types.d.ts.map +1 -1
  112. package/_types/client/policies/policies.d.ts +3 -0
  113. package/_types/client/policies/policies.d.ts.map +1 -1
  114. package/_types/client/policies/policies.types.d.ts +3 -0
  115. package/_types/client/policies/policies.types.d.ts.map +1 -1
  116. package/_types/client/solana/solana.d.ts +3 -0
  117. package/_types/client/solana/solana.d.ts.map +1 -1
  118. package/_types/client/solana/solana.types.d.ts +3 -0
  119. package/_types/client/solana/solana.types.d.ts.map +1 -1
  120. package/_types/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.d.ts +152 -7
  121. package/_types/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.d.ts.map +1 -1
  122. package/_types/policies/solanaSchema.d.ts +852 -0
  123. package/_types/policies/solanaSchema.d.ts.map +1 -1
  124. package/_types/policies/types.d.ts +948 -0
  125. package/_types/policies/types.d.ts.map +1 -1
  126. package/_types/version.d.ts +1 -1
  127. package/accounts/evm/types.ts +18 -2
  128. package/accounts/solana/types.ts +9 -0
  129. package/actions/evm/spend-permissions/types.ts +1 -1
  130. package/actions/evm/transfer/accountTransferStrategy.ts +0 -12
  131. package/actions/evm/transfer/smartAccountTransferStrategy.ts +0 -8
  132. package/actions/evm/types.ts +4 -0
  133. package/actions/solana/types.ts +4 -0
  134. package/auth/errors.ts +4 -0
  135. package/auth/hooks/axios/withAuth.ts +4 -0
  136. package/auth/utils/hash.ts +4 -0
  137. package/auth/utils/http.ts +4 -0
  138. package/auth/utils/jwt.ts +4 -0
  139. package/auth/utils/ws.ts +4 -0
  140. package/client/evm/evm.ts +14 -0
  141. package/client/evm/evm.types.ts +4 -0
  142. package/client/policies/policies.ts +4 -0
  143. package/client/policies/policies.types.ts +4 -0
  144. package/client/solana/solana.ts +4 -0
  145. package/client/solana/solana.types.ts +4 -0
  146. package/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.ts +179 -8
  147. package/package.json +1 -1
  148. package/policies/solanaSchema.ts +100 -0
  149. package/version.ts +1 -1
  150. package/_cjs/openapi-client/generated/end-user-accounts/end-user-accounts.msw.js +0 -61
  151. package/_cjs/openapi-client/generated/end-user-accounts/end-user-accounts.msw.js.map +0 -1
  152. package/_cjs/openapi-client/generated/evm-accounts/evm-accounts.msw.js +0 -319
  153. package/_cjs/openapi-client/generated/evm-accounts/evm-accounts.msw.js.map +0 -1
  154. package/_cjs/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.msw.js +0 -514
  155. package/_cjs/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.msw.js.map +0 -1
  156. package/_cjs/openapi-client/generated/evm-swaps/evm-swaps.msw.js +0 -179
  157. package/_cjs/openapi-client/generated/evm-swaps/evm-swaps.msw.js.map +0 -1
  158. package/_cjs/openapi-client/generated/evm-token-balances/evm-token-balances.msw.js +0 -45
  159. package/_cjs/openapi-client/generated/evm-token-balances/evm-token-balances.msw.js.map +0 -1
  160. package/_cjs/openapi-client/generated/faucets/faucets.msw.js +0 -47
  161. package/_cjs/openapi-client/generated/faucets/faucets.msw.js.map +0 -1
  162. package/_cjs/openapi-client/generated/index.msw.js +0 -30
  163. package/_cjs/openapi-client/generated/index.msw.js.map +0 -1
  164. package/_cjs/openapi-client/generated/onchain-data/onchain-data.msw.js +0 -139
  165. package/_cjs/openapi-client/generated/onchain-data/onchain-data.msw.js.map +0 -1
  166. package/_cjs/openapi-client/generated/onramp/onramp.msw.js +0 -98
  167. package/_cjs/openapi-client/generated/onramp/onramp.msw.js.map +0 -1
  168. package/_cjs/openapi-client/generated/payments-alpha/payments-alpha.msw.js +0 -270
  169. package/_cjs/openapi-client/generated/payments-alpha/payments-alpha.msw.js.map +0 -1
  170. package/_cjs/openapi-client/generated/policy-engine/policy-engine.msw.js +0 -1387
  171. package/_cjs/openapi-client/generated/policy-engine/policy-engine.msw.js.map +0 -1
  172. package/_cjs/openapi-client/generated/solana-accounts/solana-accounts.msw.js +0 -294
  173. package/_cjs/openapi-client/generated/solana-accounts/solana-accounts.msw.js.map +0 -1
  174. package/_cjs/openapi-client/generated/solana-token-balances/solana-token-balances.msw.js +0 -43
  175. package/_cjs/openapi-client/generated/solana-token-balances/solana-token-balances.msw.js.map +0 -1
  176. package/_cjs/openapi-client/generated/x402-facilitator/x402-facilitator.msw.js +0 -84
  177. package/_cjs/openapi-client/generated/x402-facilitator/x402-facilitator.msw.js.map +0 -1
  178. package/_esm/openapi-client/generated/end-user-accounts/end-user-accounts.msw.js +0 -52
  179. package/_esm/openapi-client/generated/end-user-accounts/end-user-accounts.msw.js.map +0 -1
  180. package/_esm/openapi-client/generated/evm-accounts/evm-accounts.msw.js +0 -289
  181. package/_esm/openapi-client/generated/evm-accounts/evm-accounts.msw.js.map +0 -1
  182. package/_esm/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.msw.js +0 -488
  183. package/_esm/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.msw.js.map +0 -1
  184. package/_esm/openapi-client/generated/evm-swaps/evm-swaps.msw.js +0 -167
  185. package/_esm/openapi-client/generated/evm-swaps/evm-swaps.msw.js.map +0 -1
  186. package/_esm/openapi-client/generated/evm-token-balances/evm-token-balances.msw.js +0 -39
  187. package/_esm/openapi-client/generated/evm-token-balances/evm-token-balances.msw.js.map +0 -1
  188. package/_esm/openapi-client/generated/faucets/faucets.msw.js +0 -39
  189. package/_esm/openapi-client/generated/faucets/faucets.msw.js.map +0 -1
  190. package/_esm/openapi-client/generated/index.msw.js +0 -14
  191. package/_esm/openapi-client/generated/index.msw.js.map +0 -1
  192. package/_esm/openapi-client/generated/onchain-data/onchain-data.msw.js +0 -129
  193. package/_esm/openapi-client/generated/onchain-data/onchain-data.msw.js.map +0 -1
  194. package/_esm/openapi-client/generated/onramp/onramp.msw.js +0 -90
  195. package/_esm/openapi-client/generated/onramp/onramp.msw.js.map +0 -1
  196. package/_esm/openapi-client/generated/payments-alpha/payments-alpha.msw.js +0 -250
  197. package/_esm/openapi-client/generated/payments-alpha/payments-alpha.msw.js.map +0 -1
  198. package/_esm/openapi-client/generated/policy-engine/policy-engine.msw.js +0 -1293
  199. package/_esm/openapi-client/generated/policy-engine/policy-engine.msw.js.map +0 -1
  200. package/_esm/openapi-client/generated/solana-accounts/solana-accounts.msw.js +0 -268
  201. package/_esm/openapi-client/generated/solana-accounts/solana-accounts.msw.js.map +0 -1
  202. package/_esm/openapi-client/generated/solana-token-balances/solana-token-balances.msw.js +0 -37
  203. package/_esm/openapi-client/generated/solana-token-balances/solana-token-balances.msw.js.map +0 -1
  204. package/_esm/openapi-client/generated/x402-facilitator/x402-facilitator.msw.js +0 -74
  205. package/_esm/openapi-client/generated/x402-facilitator/x402-facilitator.msw.js.map +0 -1
  206. package/_types/openapi-client/generated/end-user-accounts/end-user-accounts.msw.d.ts +0 -9
  207. package/_types/openapi-client/generated/end-user-accounts/end-user-accounts.msw.d.ts.map +0 -1
  208. package/_types/openapi-client/generated/evm-accounts/evm-accounts.msw.d.ts +0 -30
  209. package/_types/openapi-client/generated/evm-accounts/evm-accounts.msw.d.ts.map +0 -1
  210. package/_types/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.msw.d.ts +0 -26
  211. package/_types/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.msw.d.ts.map +0 -1
  212. package/_types/openapi-client/generated/evm-swaps/evm-swaps.msw.d.ts +0 -12
  213. package/_types/openapi-client/generated/evm-swaps/evm-swaps.msw.d.ts.map +0 -1
  214. package/_types/openapi-client/generated/evm-token-balances/evm-token-balances.msw.d.ts +0 -6
  215. package/_types/openapi-client/generated/evm-token-balances/evm-token-balances.msw.d.ts.map +0 -1
  216. package/_types/openapi-client/generated/faucets/faucets.msw.d.ts +0 -8
  217. package/_types/openapi-client/generated/faucets/faucets.msw.d.ts.map +0 -1
  218. package/_types/openapi-client/generated/index.msw.d.ts +0 -14
  219. package/_types/openapi-client/generated/index.msw.d.ts.map +0 -1
  220. package/_types/openapi-client/generated/onchain-data/onchain-data.msw.d.ts +0 -10
  221. package/_types/openapi-client/generated/onchain-data/onchain-data.msw.d.ts.map +0 -1
  222. package/_types/openapi-client/generated/onramp/onramp.msw.d.ts +0 -8
  223. package/_types/openapi-client/generated/onramp/onramp.msw.d.ts.map +0 -1
  224. package/_types/openapi-client/generated/payments-alpha/payments-alpha.msw.d.ts +0 -20
  225. package/_types/openapi-client/generated/payments-alpha/payments-alpha.msw.d.ts.map +0 -1
  226. package/_types/openapi-client/generated/policy-engine/policy-engine.msw.d.ts +0 -93
  227. package/_types/openapi-client/generated/policy-engine/policy-engine.msw.d.ts.map +0 -1
  228. package/_types/openapi-client/generated/solana-accounts/solana-accounts.msw.d.ts +0 -26
  229. package/_types/openapi-client/generated/solana-accounts/solana-accounts.msw.d.ts.map +0 -1
  230. package/_types/openapi-client/generated/solana-token-balances/solana-token-balances.msw.d.ts +0 -6
  231. package/_types/openapi-client/generated/solana-token-balances/solana-token-balances.msw.d.ts.map +0 -1
  232. package/_types/openapi-client/generated/x402-facilitator/x402-facilitator.msw.d.ts +0 -10
  233. package/_types/openapi-client/generated/x402-facilitator/x402-facilitator.msw.d.ts.map +0 -1
  234. package/openapi-client/generated/end-user-accounts/end-user-accounts.msw.ts +0 -95
  235. package/openapi-client/generated/evm-accounts/evm-accounts.msw.ts +0 -523
  236. package/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.msw.ts +0 -705
  237. package/openapi-client/generated/evm-swaps/evm-swaps.msw.ts +0 -217
  238. package/openapi-client/generated/evm-token-balances/evm-token-balances.msw.ts +0 -57
  239. package/openapi-client/generated/faucets/faucets.msw.ts +0 -76
  240. package/openapi-client/generated/index.msw.ts +0 -13
  241. package/openapi-client/generated/onchain-data/onchain-data.msw.ts +0 -185
  242. package/openapi-client/generated/onramp/onramp.msw.ts +0 -135
  243. package/openapi-client/generated/payments-alpha/payments-alpha.msw.ts +0 -369
  244. package/openapi-client/generated/policy-engine/policy-engine.msw.ts +0 -1912
  245. package/openapi-client/generated/solana-accounts/solana-accounts.msw.ts +0 -478
  246. package/openapi-client/generated/solana-token-balances/solana-token-balances.msw.ts +0 -55
  247. package/openapi-client/generated/x402-facilitator/x402-facilitator.msw.ts +0 -136
@@ -1,1912 +0,0 @@
1
- /**
2
- * Generated by orval v7.6.0 🍺
3
- * Do not edit manually.
4
- * Coinbase Developer Platform APIs
5
- * The Coinbase Developer Platform APIs - leading the world's transition onchain.
6
- * OpenAPI spec version: 2.0.0
7
- */
8
- import { faker } from "@faker-js/faker";
9
-
10
- import { HttpResponse, delay, http } from "msw";
11
-
12
- import { AbiStateMutability, KnownAbiType } from "../coinbaseDeveloperPlatformAPIs.schemas.js";
13
- import type {
14
- AbiFunction,
15
- AbiInput,
16
- EthValueCriterion,
17
- EvmAddressCriterion,
18
- EvmDataCriterion,
19
- EvmDataParameterCondition,
20
- EvmDataParameterConditionList,
21
- EvmMessageCriterion,
22
- EvmNetworkCriterion,
23
- EvmTypedAddressCondition,
24
- EvmTypedNumericalCondition,
25
- EvmTypedStringCondition,
26
- ListPolicies200,
27
- MintAddressCriterion,
28
- NetUSDChangeCriterion,
29
- Policy,
30
- SignEvmTypedDataFieldCriterion,
31
- SignEvmTypedDataVerifyingContractCriterion,
32
- SolAddressCriterion,
33
- SolValueCriterion,
34
- SplAddressCriterion,
35
- SplValueCriterion,
36
- } from "../coinbaseDeveloperPlatformAPIs.schemas.js";
37
-
38
- export const getListPoliciesResponseEthValueCriterionMock = (
39
- overrideResponse: Partial<EthValueCriterion> = {},
40
- ): EthValueCriterion => ({
41
- ...{
42
- type: faker.helpers.arrayElement(["ethValue"] as const),
43
- ethValue: faker.helpers.fromRegExp("^[0-9]+$"),
44
- operator: faker.helpers.arrayElement([">", ">=", "<", "<=", "=="] as const),
45
- },
46
- ...overrideResponse,
47
- });
48
-
49
- export const getListPoliciesResponseEvmAddressCriterionMock = (
50
- overrideResponse: Partial<EvmAddressCriterion> = {},
51
- ): EvmAddressCriterion => ({
52
- ...{
53
- type: faker.helpers.arrayElement(["evmAddress"] as const),
54
- addresses: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
55
- () => faker.helpers.fromRegExp("^0x[0-9a-fA-F]{40}$"),
56
- ),
57
- operator: faker.helpers.arrayElement(["in", "not in"] as const),
58
- },
59
- ...overrideResponse,
60
- });
61
-
62
- export const getListPoliciesResponseAbiFunctionMock = (
63
- overrideResponse: Partial<AbiFunction> = {},
64
- ): AbiFunction => ({
65
- ...{
66
- type: faker.helpers.arrayElement(["function"] as const),
67
- name: faker.string.alpha(20),
68
- inputs: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
69
- () => ({
70
- name: faker.helpers.arrayElement([faker.string.alpha(20), undefined]),
71
- type: faker.string.alpha(20),
72
- internalType: faker.helpers.arrayElement([faker.string.alpha(20), undefined]),
73
- components: faker.helpers.arrayElement([[], undefined]),
74
- }),
75
- ),
76
- outputs: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
77
- () => ({
78
- name: faker.helpers.arrayElement([faker.string.alpha(20), undefined]),
79
- type: faker.string.alpha(20),
80
- internalType: faker.helpers.arrayElement([faker.string.alpha(20), undefined]),
81
- components: faker.helpers.arrayElement([[], undefined]),
82
- }),
83
- ),
84
- constant: faker.helpers.arrayElement([faker.datatype.boolean(), undefined]),
85
- payable: faker.helpers.arrayElement([faker.datatype.boolean(), undefined]),
86
- stateMutability: faker.helpers.arrayElement(Object.values(AbiStateMutability)),
87
- gas: faker.helpers.arrayElement([
88
- faker.number.int({ min: undefined, max: undefined }),
89
- undefined,
90
- ]),
91
- },
92
- ...overrideResponse,
93
- });
94
-
95
- export const getListPoliciesResponseAbiInputMock = (
96
- overrideResponse: Partial<AbiInput> = {},
97
- ): AbiInput => ({
98
- ...{
99
- type: faker.helpers.arrayElement([
100
- "constructor",
101
- "error",
102
- "event",
103
- "fallback",
104
- "receive",
105
- ] as const),
106
- additionalProperties: faker.helpers.arrayElement([{}, undefined]),
107
- },
108
- ...overrideResponse,
109
- });
110
-
111
- export const getListPoliciesResponseEvmDataParameterConditionMock = (
112
- overrideResponse: Partial<EvmDataParameterCondition> = {},
113
- ): EvmDataParameterCondition => ({
114
- ...{
115
- name: faker.string.alpha(20),
116
- operator: faker.helpers.arrayElement([">", ">=", "<", "<=", "=="] as const),
117
- value: faker.string.alpha(20),
118
- },
119
- ...overrideResponse,
120
- });
121
-
122
- export const getListPoliciesResponseEvmDataParameterConditionListMock = (
123
- overrideResponse: Partial<EvmDataParameterConditionList> = {},
124
- ): EvmDataParameterConditionList => ({
125
- ...{
126
- name: faker.string.alpha(20),
127
- operator: faker.helpers.arrayElement(["in", "not in"] as const),
128
- values: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(() =>
129
- faker.string.alpha(20),
130
- ),
131
- },
132
- ...overrideResponse,
133
- });
134
-
135
- export const getListPoliciesResponseEvmDataCriterionMock = (
136
- overrideResponse: Partial<EvmDataCriterion> = {},
137
- ): EvmDataCriterion => ({
138
- ...{
139
- type: faker.helpers.arrayElement(["evmData"] as const),
140
- abi: faker.helpers.arrayElement([
141
- faker.helpers.arrayElement(Object.values(KnownAbiType)),
142
- Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(() =>
143
- faker.helpers.arrayElement([
144
- { ...getListPoliciesResponseAbiFunctionMock() },
145
- { ...getListPoliciesResponseAbiInputMock() },
146
- ]),
147
- ),
148
- ]),
149
- conditions: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
150
- () => ({
151
- function: faker.string.alpha(20),
152
- params: faker.helpers.arrayElement([
153
- Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(() =>
154
- faker.helpers.arrayElement([
155
- { ...getListPoliciesResponseEvmDataParameterConditionMock() },
156
- { ...getListPoliciesResponseEvmDataParameterConditionListMock() },
157
- ]),
158
- ),
159
- undefined,
160
- ]),
161
- }),
162
- ),
163
- },
164
- ...overrideResponse,
165
- });
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
-
178
- export const getListPoliciesResponseEvmNetworkCriterionMock = (
179
- overrideResponse: Partial<EvmNetworkCriterion> = {},
180
- ): EvmNetworkCriterion => ({
181
- ...{
182
- type: faker.helpers.arrayElement(["evmNetwork"] as const),
183
- networks: faker.helpers.arrayElements([
184
- "base-sepolia",
185
- "base",
186
- "ethereum",
187
- "ethereum-sepolia",
188
- "avalanche",
189
- "polygon",
190
- "optimism",
191
- "arbitrum",
192
- "zora",
193
- "bnb",
194
- ] as const),
195
- operator: faker.helpers.arrayElement(["in", "not in"] as const),
196
- },
197
- ...overrideResponse,
198
- });
199
-
200
- export const getListPoliciesResponseEvmMessageCriterionMock = (
201
- overrideResponse: Partial<EvmMessageCriterion> = {},
202
- ): EvmMessageCriterion => ({
203
- ...{ type: faker.helpers.arrayElement(["evmMessage"] as const), match: faker.string.alpha(20) },
204
- ...overrideResponse,
205
- });
206
-
207
- export const getListPoliciesResponseEvmTypedAddressConditionMock = (
208
- overrideResponse: Partial<EvmTypedAddressCondition> = {},
209
- ): EvmTypedAddressCondition => ({
210
- ...{
211
- addresses: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
212
- () => faker.helpers.fromRegExp("^0x[0-9a-fA-F]{40}$"),
213
- ),
214
- operator: faker.helpers.arrayElement(["in", "not in"] as const),
215
- path: faker.string.alpha(20),
216
- },
217
- ...overrideResponse,
218
- });
219
-
220
- export const getListPoliciesResponseEvmTypedNumericalConditionMock = (
221
- overrideResponse: Partial<EvmTypedNumericalCondition> = {},
222
- ): EvmTypedNumericalCondition => ({
223
- ...{
224
- value: faker.helpers.fromRegExp("^[0-9]+$"),
225
- operator: faker.helpers.arrayElement([">", ">=", "<", "<=", "=="] as const),
226
- path: faker.string.alpha(20),
227
- },
228
- ...overrideResponse,
229
- });
230
-
231
- export const getListPoliciesResponseEvmTypedStringConditionMock = (
232
- overrideResponse: Partial<EvmTypedStringCondition> = {},
233
- ): EvmTypedStringCondition => ({
234
- ...{ match: faker.string.alpha(20), path: faker.string.alpha(20) },
235
- ...overrideResponse,
236
- });
237
-
238
- export const getListPoliciesResponseSignEvmTypedDataFieldCriterionMock = (
239
- overrideResponse: Partial<SignEvmTypedDataFieldCriterion> = {},
240
- ): SignEvmTypedDataFieldCriterion => ({
241
- ...{
242
- type: faker.helpers.arrayElement(["evmTypedDataField"] as const),
243
- types: {
244
- types: {
245
- [faker.string.alphanumeric(5)]: Array.from(
246
- { length: faker.number.int({ min: 1, max: 10 }) },
247
- (_, i) => i + 1,
248
- ).map(() => ({
249
- name: faker.helpers.arrayElement([faker.string.alpha(20), undefined]),
250
- type: faker.helpers.arrayElement([faker.string.alpha(20), undefined]),
251
- })),
252
- },
253
- primaryType: faker.string.alpha(20),
254
- },
255
- conditions: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
256
- () =>
257
- faker.helpers.arrayElement([
258
- { ...getListPoliciesResponseEvmTypedAddressConditionMock() },
259
- { ...getListPoliciesResponseEvmTypedNumericalConditionMock() },
260
- { ...getListPoliciesResponseEvmTypedStringConditionMock() },
261
- ]),
262
- ),
263
- },
264
- ...overrideResponse,
265
- });
266
-
267
- export const getListPoliciesResponseSignEvmTypedDataVerifyingContractCriterionMock = (
268
- overrideResponse: Partial<SignEvmTypedDataVerifyingContractCriterion> = {},
269
- ): SignEvmTypedDataVerifyingContractCriterion => ({
270
- ...{
271
- type: faker.helpers.arrayElement(["evmTypedDataVerifyingContract"] as const),
272
- addresses: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
273
- () => faker.helpers.fromRegExp("^0x[0-9a-fA-F]{40}$"),
274
- ),
275
- operator: faker.helpers.arrayElement(["in", "not in"] as const),
276
- },
277
- ...overrideResponse,
278
- });
279
-
280
- export const getListPoliciesResponseSolAddressCriterionMock = (
281
- overrideResponse: Partial<SolAddressCriterion> = {},
282
- ): SolAddressCriterion => ({
283
- ...{
284
- type: faker.helpers.arrayElement(["solAddress"] as const),
285
- addresses: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
286
- () => faker.helpers.fromRegExp("^[1-9A-HJ-NP-Za-km-z]{32,44}$"),
287
- ),
288
- operator: faker.helpers.arrayElement(["in", "not in"] as const),
289
- },
290
- ...overrideResponse,
291
- });
292
-
293
- export const getListPoliciesResponseSolValueCriterionMock = (
294
- overrideResponse: Partial<SolValueCriterion> = {},
295
- ): SolValueCriterion => ({
296
- ...{
297
- type: faker.helpers.arrayElement(["solValue"] as const),
298
- solValue: faker.string.alpha(20),
299
- operator: faker.helpers.arrayElement([">", ">=", "<", "<=", "=="] as const),
300
- },
301
- ...overrideResponse,
302
- });
303
-
304
- export const getListPoliciesResponseSplAddressCriterionMock = (
305
- overrideResponse: Partial<SplAddressCriterion> = {},
306
- ): SplAddressCriterion => ({
307
- ...{
308
- type: faker.helpers.arrayElement(["splAddress"] as const),
309
- addresses: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
310
- () => faker.helpers.fromRegExp("^[1-9A-HJ-NP-Za-km-z]{32,44}$"),
311
- ),
312
- operator: faker.helpers.arrayElement(["in", "not in"] as const),
313
- },
314
- ...overrideResponse,
315
- });
316
-
317
- export const getListPoliciesResponseSplValueCriterionMock = (
318
- overrideResponse: Partial<SplValueCriterion> = {},
319
- ): SplValueCriterion => ({
320
- ...{
321
- type: faker.helpers.arrayElement(["splValue"] as const),
322
- splValue: faker.string.alpha(20),
323
- operator: faker.helpers.arrayElement([">", ">=", "<", "<=", "=="] as const),
324
- },
325
- ...overrideResponse,
326
- });
327
-
328
- export const getListPoliciesResponseMintAddressCriterionMock = (
329
- overrideResponse: Partial<MintAddressCriterion> = {},
330
- ): MintAddressCriterion => ({
331
- ...{
332
- type: faker.helpers.arrayElement(["mintAddress"] as const),
333
- addresses: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
334
- () => faker.helpers.fromRegExp("^[1-9A-HJ-NP-Za-km-z]{32,44}$"),
335
- ),
336
- operator: faker.helpers.arrayElement(["in", "not in"] as const),
337
- },
338
- ...overrideResponse,
339
- });
340
-
341
- export const getListPoliciesResponseMock = (): ListPolicies200 => ({
342
- ...{
343
- policies: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
344
- () => ({
345
- id: faker.helpers.fromRegExp(
346
- "^[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}$",
347
- ),
348
- description: faker.helpers.arrayElement([
349
- faker.helpers.fromRegExp("^[A-Za-z0-9 ,.]{1,50}$"),
350
- undefined,
351
- ]),
352
- scope: faker.helpers.arrayElement(["project", "account"] as const),
353
- rules: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
354
- () =>
355
- faker.helpers.arrayElement([
356
- {
357
- action: faker.helpers.arrayElement(["reject", "accept"] as const),
358
- operation: faker.helpers.arrayElement(["signEvmTransaction"] as const),
359
- criteria: Array.from(
360
- { length: faker.number.int({ min: 1, max: 10 }) },
361
- (_, i) => i + 1,
362
- ).map(() =>
363
- faker.helpers.arrayElement([
364
- { ...getListPoliciesResponseEthValueCriterionMock() },
365
- { ...getListPoliciesResponseEvmAddressCriterionMock() },
366
- { ...getListPoliciesResponseEvmDataCriterionMock() },
367
- { ...getListPoliciesResponseNetUSDChangeCriterionMock() },
368
- ]),
369
- ),
370
- },
371
- {
372
- action: faker.helpers.arrayElement(["reject", "accept"] as const),
373
- operation: faker.helpers.arrayElement(["sendEvmTransaction"] as const),
374
- criteria: Array.from(
375
- { length: faker.number.int({ min: 1, max: 10 }) },
376
- (_, i) => i + 1,
377
- ).map(() =>
378
- faker.helpers.arrayElement([
379
- { ...getListPoliciesResponseEthValueCriterionMock() },
380
- { ...getListPoliciesResponseEvmAddressCriterionMock() },
381
- { ...getListPoliciesResponseEvmNetworkCriterionMock() },
382
- { ...getListPoliciesResponseEvmDataCriterionMock() },
383
- { ...getListPoliciesResponseNetUSDChangeCriterionMock() },
384
- ]),
385
- ),
386
- },
387
- {
388
- action: faker.helpers.arrayElement(["reject", "accept"] as const),
389
- operation: faker.helpers.arrayElement(["signEvmMessage"] as const),
390
- criteria: Array.from(
391
- { length: faker.number.int({ min: 1, max: 10 }) },
392
- (_, i) => i + 1,
393
- ).map(() =>
394
- faker.helpers.arrayElement([
395
- { ...getListPoliciesResponseEvmMessageCriterionMock() },
396
- ]),
397
- ),
398
- },
399
- {
400
- action: faker.helpers.arrayElement(["reject", "accept"] as const),
401
- operation: faker.helpers.arrayElement(["signEvmTypedData"] as const),
402
- criteria: Array.from(
403
- { length: faker.number.int({ min: 1, max: 10 }) },
404
- (_, i) => i + 1,
405
- ).map(() =>
406
- faker.helpers.arrayElement([
407
- { ...getListPoliciesResponseSignEvmTypedDataFieldCriterionMock() },
408
- { ...getListPoliciesResponseSignEvmTypedDataVerifyingContractCriterionMock() },
409
- ]),
410
- ),
411
- },
412
- {
413
- action: faker.helpers.arrayElement(["reject", "accept"] as const),
414
- operation: faker.helpers.arrayElement(["signSolTransaction"] as const),
415
- criteria: Array.from(
416
- { length: faker.number.int({ min: 1, max: 10 }) },
417
- (_, i) => i + 1,
418
- ).map(() =>
419
- faker.helpers.arrayElement([
420
- { ...getListPoliciesResponseSolAddressCriterionMock() },
421
- { ...getListPoliciesResponseSolValueCriterionMock() },
422
- { ...getListPoliciesResponseSplAddressCriterionMock() },
423
- { ...getListPoliciesResponseSplValueCriterionMock() },
424
- { ...getListPoliciesResponseMintAddressCriterionMock() },
425
- ]),
426
- ),
427
- },
428
- {
429
- action: faker.helpers.arrayElement(["reject", "accept"] as const),
430
- operation: faker.helpers.arrayElement(["sendSolTransaction"] as const),
431
- criteria: Array.from(
432
- { length: faker.number.int({ min: 1, max: 10 }) },
433
- (_, i) => i + 1,
434
- ).map(() =>
435
- faker.helpers.arrayElement([
436
- { ...getListPoliciesResponseSolAddressCriterionMock() },
437
- { ...getListPoliciesResponseSolValueCriterionMock() },
438
- { ...getListPoliciesResponseSplAddressCriterionMock() },
439
- { ...getListPoliciesResponseSplValueCriterionMock() },
440
- { ...getListPoliciesResponseMintAddressCriterionMock() },
441
- ]),
442
- ),
443
- },
444
- {
445
- action: faker.helpers.arrayElement(["reject", "accept"] as const),
446
- operation: faker.helpers.arrayElement(["signEvmHash"] as const),
447
- },
448
- {
449
- action: faker.helpers.arrayElement(["reject", "accept"] as const),
450
- operation: faker.helpers.arrayElement(["prepareUserOperation"] as const),
451
- criteria: Array.from(
452
- { length: faker.number.int({ min: 1, max: 10 }) },
453
- (_, i) => i + 1,
454
- ).map(() =>
455
- faker.helpers.arrayElement([
456
- { ...getListPoliciesResponseEthValueCriterionMock() },
457
- { ...getListPoliciesResponseEvmAddressCriterionMock() },
458
- { ...getListPoliciesResponseEvmNetworkCriterionMock() },
459
- { ...getListPoliciesResponseEvmDataCriterionMock() },
460
- ]),
461
- ),
462
- },
463
- {
464
- action: faker.helpers.arrayElement(["reject", "accept"] as const),
465
- operation: faker.helpers.arrayElement(["sendUserOperation"] as const),
466
- criteria: Array.from(
467
- { length: faker.number.int({ min: 1, max: 10 }) },
468
- (_, i) => i + 1,
469
- ).map(() =>
470
- faker.helpers.arrayElement([
471
- { ...getListPoliciesResponseEthValueCriterionMock() },
472
- { ...getListPoliciesResponseEvmAddressCriterionMock() },
473
- { ...getListPoliciesResponseEvmDataCriterionMock() },
474
- ]),
475
- ),
476
- },
477
- ]),
478
- ),
479
- createdAt: faker.string.alpha(20),
480
- updatedAt: faker.string.alpha(20),
481
- }),
482
- ),
483
- },
484
- ...{ nextPageToken: faker.helpers.arrayElement([faker.string.alpha(20), undefined]) },
485
- });
486
-
487
- export const getCreatePolicyResponseEthValueCriterionMock = (
488
- overrideResponse: Partial<EthValueCriterion> = {},
489
- ): EthValueCriterion => ({
490
- ...{
491
- type: faker.helpers.arrayElement(["ethValue"] as const),
492
- ethValue: faker.helpers.fromRegExp("^[0-9]+$"),
493
- operator: faker.helpers.arrayElement([">", ">=", "<", "<=", "=="] as const),
494
- },
495
- ...overrideResponse,
496
- });
497
-
498
- export const getCreatePolicyResponseEvmAddressCriterionMock = (
499
- overrideResponse: Partial<EvmAddressCriterion> = {},
500
- ): EvmAddressCriterion => ({
501
- ...{
502
- type: faker.helpers.arrayElement(["evmAddress"] as const),
503
- addresses: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
504
- () => faker.helpers.fromRegExp("^0x[0-9a-fA-F]{40}$"),
505
- ),
506
- operator: faker.helpers.arrayElement(["in", "not in"] as const),
507
- },
508
- ...overrideResponse,
509
- });
510
-
511
- export const getCreatePolicyResponseAbiFunctionMock = (
512
- overrideResponse: Partial<AbiFunction> = {},
513
- ): AbiFunction => ({
514
- ...{
515
- type: faker.helpers.arrayElement(["function"] as const),
516
- name: faker.string.alpha(20),
517
- inputs: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
518
- () => ({
519
- name: faker.helpers.arrayElement([faker.string.alpha(20), undefined]),
520
- type: faker.string.alpha(20),
521
- internalType: faker.helpers.arrayElement([faker.string.alpha(20), undefined]),
522
- components: faker.helpers.arrayElement([[], undefined]),
523
- }),
524
- ),
525
- outputs: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
526
- () => ({
527
- name: faker.helpers.arrayElement([faker.string.alpha(20), undefined]),
528
- type: faker.string.alpha(20),
529
- internalType: faker.helpers.arrayElement([faker.string.alpha(20), undefined]),
530
- components: faker.helpers.arrayElement([[], undefined]),
531
- }),
532
- ),
533
- constant: faker.helpers.arrayElement([faker.datatype.boolean(), undefined]),
534
- payable: faker.helpers.arrayElement([faker.datatype.boolean(), undefined]),
535
- stateMutability: faker.helpers.arrayElement(Object.values(AbiStateMutability)),
536
- gas: faker.helpers.arrayElement([
537
- faker.number.int({ min: undefined, max: undefined }),
538
- undefined,
539
- ]),
540
- },
541
- ...overrideResponse,
542
- });
543
-
544
- export const getCreatePolicyResponseAbiInputMock = (
545
- overrideResponse: Partial<AbiInput> = {},
546
- ): AbiInput => ({
547
- ...{
548
- type: faker.helpers.arrayElement([
549
- "constructor",
550
- "error",
551
- "event",
552
- "fallback",
553
- "receive",
554
- ] as const),
555
- additionalProperties: faker.helpers.arrayElement([{}, undefined]),
556
- },
557
- ...overrideResponse,
558
- });
559
-
560
- export const getCreatePolicyResponseEvmDataParameterConditionMock = (
561
- overrideResponse: Partial<EvmDataParameterCondition> = {},
562
- ): EvmDataParameterCondition => ({
563
- ...{
564
- name: faker.string.alpha(20),
565
- operator: faker.helpers.arrayElement([">", ">=", "<", "<=", "=="] as const),
566
- value: faker.string.alpha(20),
567
- },
568
- ...overrideResponse,
569
- });
570
-
571
- export const getCreatePolicyResponseEvmDataParameterConditionListMock = (
572
- overrideResponse: Partial<EvmDataParameterConditionList> = {},
573
- ): EvmDataParameterConditionList => ({
574
- ...{
575
- name: faker.string.alpha(20),
576
- operator: faker.helpers.arrayElement(["in", "not in"] as const),
577
- values: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(() =>
578
- faker.string.alpha(20),
579
- ),
580
- },
581
- ...overrideResponse,
582
- });
583
-
584
- export const getCreatePolicyResponseEvmDataCriterionMock = (
585
- overrideResponse: Partial<EvmDataCriterion> = {},
586
- ): EvmDataCriterion => ({
587
- ...{
588
- type: faker.helpers.arrayElement(["evmData"] as const),
589
- abi: faker.helpers.arrayElement([
590
- faker.helpers.arrayElement(Object.values(KnownAbiType)),
591
- Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(() =>
592
- faker.helpers.arrayElement([
593
- { ...getCreatePolicyResponseAbiFunctionMock() },
594
- { ...getCreatePolicyResponseAbiInputMock() },
595
- ]),
596
- ),
597
- ]),
598
- conditions: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
599
- () => ({
600
- function: faker.string.alpha(20),
601
- params: faker.helpers.arrayElement([
602
- Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(() =>
603
- faker.helpers.arrayElement([
604
- { ...getCreatePolicyResponseEvmDataParameterConditionMock() },
605
- { ...getCreatePolicyResponseEvmDataParameterConditionListMock() },
606
- ]),
607
- ),
608
- undefined,
609
- ]),
610
- }),
611
- ),
612
- },
613
- ...overrideResponse,
614
- });
615
-
616
- export const getCreatePolicyResponseNetUSDChangeCriterionMock = (
617
- overrideResponse: Partial<NetUSDChangeCriterion> = {},
618
- ): NetUSDChangeCriterion => ({
619
- ...{
620
- type: faker.helpers.arrayElement(["netUSDChange"] as const),
621
- changeCents: faker.number.int({ min: undefined, max: undefined }),
622
- operator: faker.helpers.arrayElement([">", ">=", "<", "<=", "=="] as const),
623
- },
624
- ...overrideResponse,
625
- });
626
-
627
- export const getCreatePolicyResponseEvmNetworkCriterionMock = (
628
- overrideResponse: Partial<EvmNetworkCriterion> = {},
629
- ): EvmNetworkCriterion => ({
630
- ...{
631
- type: faker.helpers.arrayElement(["evmNetwork"] as const),
632
- networks: faker.helpers.arrayElements([
633
- "base-sepolia",
634
- "base",
635
- "ethereum",
636
- "ethereum-sepolia",
637
- "avalanche",
638
- "polygon",
639
- "optimism",
640
- "arbitrum",
641
- "zora",
642
- "bnb",
643
- ] as const),
644
- operator: faker.helpers.arrayElement(["in", "not in"] as const),
645
- },
646
- ...overrideResponse,
647
- });
648
-
649
- export const getCreatePolicyResponseEvmMessageCriterionMock = (
650
- overrideResponse: Partial<EvmMessageCriterion> = {},
651
- ): EvmMessageCriterion => ({
652
- ...{ type: faker.helpers.arrayElement(["evmMessage"] as const), match: faker.string.alpha(20) },
653
- ...overrideResponse,
654
- });
655
-
656
- export const getCreatePolicyResponseEvmTypedAddressConditionMock = (
657
- overrideResponse: Partial<EvmTypedAddressCondition> = {},
658
- ): EvmTypedAddressCondition => ({
659
- ...{
660
- addresses: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
661
- () => faker.helpers.fromRegExp("^0x[0-9a-fA-F]{40}$"),
662
- ),
663
- operator: faker.helpers.arrayElement(["in", "not in"] as const),
664
- path: faker.string.alpha(20),
665
- },
666
- ...overrideResponse,
667
- });
668
-
669
- export const getCreatePolicyResponseEvmTypedNumericalConditionMock = (
670
- overrideResponse: Partial<EvmTypedNumericalCondition> = {},
671
- ): EvmTypedNumericalCondition => ({
672
- ...{
673
- value: faker.helpers.fromRegExp("^[0-9]+$"),
674
- operator: faker.helpers.arrayElement([">", ">=", "<", "<=", "=="] as const),
675
- path: faker.string.alpha(20),
676
- },
677
- ...overrideResponse,
678
- });
679
-
680
- export const getCreatePolicyResponseEvmTypedStringConditionMock = (
681
- overrideResponse: Partial<EvmTypedStringCondition> = {},
682
- ): EvmTypedStringCondition => ({
683
- ...{ match: faker.string.alpha(20), path: faker.string.alpha(20) },
684
- ...overrideResponse,
685
- });
686
-
687
- export const getCreatePolicyResponseSignEvmTypedDataFieldCriterionMock = (
688
- overrideResponse: Partial<SignEvmTypedDataFieldCriterion> = {},
689
- ): SignEvmTypedDataFieldCriterion => ({
690
- ...{
691
- type: faker.helpers.arrayElement(["evmTypedDataField"] as const),
692
- types: {
693
- types: {
694
- [faker.string.alphanumeric(5)]: Array.from(
695
- { length: faker.number.int({ min: 1, max: 10 }) },
696
- (_, i) => i + 1,
697
- ).map(() => ({
698
- name: faker.helpers.arrayElement([faker.string.alpha(20), undefined]),
699
- type: faker.helpers.arrayElement([faker.string.alpha(20), undefined]),
700
- })),
701
- },
702
- primaryType: faker.string.alpha(20),
703
- },
704
- conditions: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
705
- () =>
706
- faker.helpers.arrayElement([
707
- { ...getCreatePolicyResponseEvmTypedAddressConditionMock() },
708
- { ...getCreatePolicyResponseEvmTypedNumericalConditionMock() },
709
- { ...getCreatePolicyResponseEvmTypedStringConditionMock() },
710
- ]),
711
- ),
712
- },
713
- ...overrideResponse,
714
- });
715
-
716
- export const getCreatePolicyResponseSignEvmTypedDataVerifyingContractCriterionMock = (
717
- overrideResponse: Partial<SignEvmTypedDataVerifyingContractCriterion> = {},
718
- ): SignEvmTypedDataVerifyingContractCriterion => ({
719
- ...{
720
- type: faker.helpers.arrayElement(["evmTypedDataVerifyingContract"] as const),
721
- addresses: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
722
- () => faker.helpers.fromRegExp("^0x[0-9a-fA-F]{40}$"),
723
- ),
724
- operator: faker.helpers.arrayElement(["in", "not in"] as const),
725
- },
726
- ...overrideResponse,
727
- });
728
-
729
- export const getCreatePolicyResponseSolAddressCriterionMock = (
730
- overrideResponse: Partial<SolAddressCriterion> = {},
731
- ): SolAddressCriterion => ({
732
- ...{
733
- type: faker.helpers.arrayElement(["solAddress"] as const),
734
- addresses: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
735
- () => faker.helpers.fromRegExp("^[1-9A-HJ-NP-Za-km-z]{32,44}$"),
736
- ),
737
- operator: faker.helpers.arrayElement(["in", "not in"] as const),
738
- },
739
- ...overrideResponse,
740
- });
741
-
742
- export const getCreatePolicyResponseSolValueCriterionMock = (
743
- overrideResponse: Partial<SolValueCriterion> = {},
744
- ): SolValueCriterion => ({
745
- ...{
746
- type: faker.helpers.arrayElement(["solValue"] as const),
747
- solValue: faker.string.alpha(20),
748
- operator: faker.helpers.arrayElement([">", ">=", "<", "<=", "=="] as const),
749
- },
750
- ...overrideResponse,
751
- });
752
-
753
- export const getCreatePolicyResponseSplAddressCriterionMock = (
754
- overrideResponse: Partial<SplAddressCriterion> = {},
755
- ): SplAddressCriterion => ({
756
- ...{
757
- type: faker.helpers.arrayElement(["splAddress"] as const),
758
- addresses: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
759
- () => faker.helpers.fromRegExp("^[1-9A-HJ-NP-Za-km-z]{32,44}$"),
760
- ),
761
- operator: faker.helpers.arrayElement(["in", "not in"] as const),
762
- },
763
- ...overrideResponse,
764
- });
765
-
766
- export const getCreatePolicyResponseSplValueCriterionMock = (
767
- overrideResponse: Partial<SplValueCriterion> = {},
768
- ): SplValueCriterion => ({
769
- ...{
770
- type: faker.helpers.arrayElement(["splValue"] as const),
771
- splValue: faker.string.alpha(20),
772
- operator: faker.helpers.arrayElement([">", ">=", "<", "<=", "=="] as const),
773
- },
774
- ...overrideResponse,
775
- });
776
-
777
- export const getCreatePolicyResponseMintAddressCriterionMock = (
778
- overrideResponse: Partial<MintAddressCriterion> = {},
779
- ): MintAddressCriterion => ({
780
- ...{
781
- type: faker.helpers.arrayElement(["mintAddress"] as const),
782
- addresses: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
783
- () => faker.helpers.fromRegExp("^[1-9A-HJ-NP-Za-km-z]{32,44}$"),
784
- ),
785
- operator: faker.helpers.arrayElement(["in", "not in"] as const),
786
- },
787
- ...overrideResponse,
788
- });
789
-
790
- export const getCreatePolicyResponseMock = (overrideResponse: Partial<Policy> = {}): Policy => ({
791
- id: faker.helpers.fromRegExp(
792
- "^[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}$",
793
- ),
794
- description: faker.helpers.arrayElement([
795
- faker.helpers.fromRegExp("^[A-Za-z0-9 ,.]{1,50}$"),
796
- undefined,
797
- ]),
798
- scope: faker.helpers.arrayElement(["project", "account"] as const),
799
- rules: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(() =>
800
- faker.helpers.arrayElement([
801
- {
802
- action: faker.helpers.arrayElement(["reject", "accept"] as const),
803
- operation: faker.helpers.arrayElement(["signEvmTransaction"] as const),
804
- criteria: Array.from(
805
- { length: faker.number.int({ min: 1, max: 10 }) },
806
- (_, i) => i + 1,
807
- ).map(() =>
808
- faker.helpers.arrayElement([
809
- { ...getCreatePolicyResponseEthValueCriterionMock() },
810
- { ...getCreatePolicyResponseEvmAddressCriterionMock() },
811
- { ...getCreatePolicyResponseEvmDataCriterionMock() },
812
- { ...getCreatePolicyResponseNetUSDChangeCriterionMock() },
813
- ]),
814
- ),
815
- },
816
- {
817
- action: faker.helpers.arrayElement(["reject", "accept"] as const),
818
- operation: faker.helpers.arrayElement(["sendEvmTransaction"] as const),
819
- criteria: Array.from(
820
- { length: faker.number.int({ min: 1, max: 10 }) },
821
- (_, i) => i + 1,
822
- ).map(() =>
823
- faker.helpers.arrayElement([
824
- { ...getCreatePolicyResponseEthValueCriterionMock() },
825
- { ...getCreatePolicyResponseEvmAddressCriterionMock() },
826
- { ...getCreatePolicyResponseEvmNetworkCriterionMock() },
827
- { ...getCreatePolicyResponseEvmDataCriterionMock() },
828
- { ...getCreatePolicyResponseNetUSDChangeCriterionMock() },
829
- ]),
830
- ),
831
- },
832
- {
833
- action: faker.helpers.arrayElement(["reject", "accept"] as const),
834
- operation: faker.helpers.arrayElement(["signEvmMessage"] as const),
835
- criteria: Array.from(
836
- { length: faker.number.int({ min: 1, max: 10 }) },
837
- (_, i) => i + 1,
838
- ).map(() =>
839
- faker.helpers.arrayElement([{ ...getCreatePolicyResponseEvmMessageCriterionMock() }]),
840
- ),
841
- },
842
- {
843
- action: faker.helpers.arrayElement(["reject", "accept"] as const),
844
- operation: faker.helpers.arrayElement(["signEvmTypedData"] as const),
845
- criteria: Array.from(
846
- { length: faker.number.int({ min: 1, max: 10 }) },
847
- (_, i) => i + 1,
848
- ).map(() =>
849
- faker.helpers.arrayElement([
850
- { ...getCreatePolicyResponseSignEvmTypedDataFieldCriterionMock() },
851
- { ...getCreatePolicyResponseSignEvmTypedDataVerifyingContractCriterionMock() },
852
- ]),
853
- ),
854
- },
855
- {
856
- action: faker.helpers.arrayElement(["reject", "accept"] as const),
857
- operation: faker.helpers.arrayElement(["signSolTransaction"] as const),
858
- criteria: Array.from(
859
- { length: faker.number.int({ min: 1, max: 10 }) },
860
- (_, i) => i + 1,
861
- ).map(() =>
862
- faker.helpers.arrayElement([
863
- { ...getCreatePolicyResponseSolAddressCriterionMock() },
864
- { ...getCreatePolicyResponseSolValueCriterionMock() },
865
- { ...getCreatePolicyResponseSplAddressCriterionMock() },
866
- { ...getCreatePolicyResponseSplValueCriterionMock() },
867
- { ...getCreatePolicyResponseMintAddressCriterionMock() },
868
- ]),
869
- ),
870
- },
871
- {
872
- action: faker.helpers.arrayElement(["reject", "accept"] as const),
873
- operation: faker.helpers.arrayElement(["sendSolTransaction"] as const),
874
- criteria: Array.from(
875
- { length: faker.number.int({ min: 1, max: 10 }) },
876
- (_, i) => i + 1,
877
- ).map(() =>
878
- faker.helpers.arrayElement([
879
- { ...getCreatePolicyResponseSolAddressCriterionMock() },
880
- { ...getCreatePolicyResponseSolValueCriterionMock() },
881
- { ...getCreatePolicyResponseSplAddressCriterionMock() },
882
- { ...getCreatePolicyResponseSplValueCriterionMock() },
883
- { ...getCreatePolicyResponseMintAddressCriterionMock() },
884
- ]),
885
- ),
886
- },
887
- {
888
- action: faker.helpers.arrayElement(["reject", "accept"] as const),
889
- operation: faker.helpers.arrayElement(["signEvmHash"] as const),
890
- },
891
- {
892
- action: faker.helpers.arrayElement(["reject", "accept"] as const),
893
- operation: faker.helpers.arrayElement(["prepareUserOperation"] as const),
894
- criteria: Array.from(
895
- { length: faker.number.int({ min: 1, max: 10 }) },
896
- (_, i) => i + 1,
897
- ).map(() =>
898
- faker.helpers.arrayElement([
899
- { ...getCreatePolicyResponseEthValueCriterionMock() },
900
- { ...getCreatePolicyResponseEvmAddressCriterionMock() },
901
- { ...getCreatePolicyResponseEvmNetworkCriterionMock() },
902
- { ...getCreatePolicyResponseEvmDataCriterionMock() },
903
- ]),
904
- ),
905
- },
906
- {
907
- action: faker.helpers.arrayElement(["reject", "accept"] as const),
908
- operation: faker.helpers.arrayElement(["sendUserOperation"] as const),
909
- criteria: Array.from(
910
- { length: faker.number.int({ min: 1, max: 10 }) },
911
- (_, i) => i + 1,
912
- ).map(() =>
913
- faker.helpers.arrayElement([
914
- { ...getCreatePolicyResponseEthValueCriterionMock() },
915
- { ...getCreatePolicyResponseEvmAddressCriterionMock() },
916
- { ...getCreatePolicyResponseEvmDataCriterionMock() },
917
- ]),
918
- ),
919
- },
920
- ]),
921
- ),
922
- createdAt: faker.string.alpha(20),
923
- updatedAt: faker.string.alpha(20),
924
- ...overrideResponse,
925
- });
926
-
927
- export const getGetPolicyByIdResponseEthValueCriterionMock = (
928
- overrideResponse: Partial<EthValueCriterion> = {},
929
- ): EthValueCriterion => ({
930
- ...{
931
- type: faker.helpers.arrayElement(["ethValue"] as const),
932
- ethValue: faker.helpers.fromRegExp("^[0-9]+$"),
933
- operator: faker.helpers.arrayElement([">", ">=", "<", "<=", "=="] as const),
934
- },
935
- ...overrideResponse,
936
- });
937
-
938
- export const getGetPolicyByIdResponseEvmAddressCriterionMock = (
939
- overrideResponse: Partial<EvmAddressCriterion> = {},
940
- ): EvmAddressCriterion => ({
941
- ...{
942
- type: faker.helpers.arrayElement(["evmAddress"] as const),
943
- addresses: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
944
- () => faker.helpers.fromRegExp("^0x[0-9a-fA-F]{40}$"),
945
- ),
946
- operator: faker.helpers.arrayElement(["in", "not in"] as const),
947
- },
948
- ...overrideResponse,
949
- });
950
-
951
- export const getGetPolicyByIdResponseAbiFunctionMock = (
952
- overrideResponse: Partial<AbiFunction> = {},
953
- ): AbiFunction => ({
954
- ...{
955
- type: faker.helpers.arrayElement(["function"] as const),
956
- name: faker.string.alpha(20),
957
- inputs: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
958
- () => ({
959
- name: faker.helpers.arrayElement([faker.string.alpha(20), undefined]),
960
- type: faker.string.alpha(20),
961
- internalType: faker.helpers.arrayElement([faker.string.alpha(20), undefined]),
962
- components: faker.helpers.arrayElement([[], undefined]),
963
- }),
964
- ),
965
- outputs: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
966
- () => ({
967
- name: faker.helpers.arrayElement([faker.string.alpha(20), undefined]),
968
- type: faker.string.alpha(20),
969
- internalType: faker.helpers.arrayElement([faker.string.alpha(20), undefined]),
970
- components: faker.helpers.arrayElement([[], undefined]),
971
- }),
972
- ),
973
- constant: faker.helpers.arrayElement([faker.datatype.boolean(), undefined]),
974
- payable: faker.helpers.arrayElement([faker.datatype.boolean(), undefined]),
975
- stateMutability: faker.helpers.arrayElement(Object.values(AbiStateMutability)),
976
- gas: faker.helpers.arrayElement([
977
- faker.number.int({ min: undefined, max: undefined }),
978
- undefined,
979
- ]),
980
- },
981
- ...overrideResponse,
982
- });
983
-
984
- export const getGetPolicyByIdResponseAbiInputMock = (
985
- overrideResponse: Partial<AbiInput> = {},
986
- ): AbiInput => ({
987
- ...{
988
- type: faker.helpers.arrayElement([
989
- "constructor",
990
- "error",
991
- "event",
992
- "fallback",
993
- "receive",
994
- ] as const),
995
- additionalProperties: faker.helpers.arrayElement([{}, undefined]),
996
- },
997
- ...overrideResponse,
998
- });
999
-
1000
- export const getGetPolicyByIdResponseEvmDataParameterConditionMock = (
1001
- overrideResponse: Partial<EvmDataParameterCondition> = {},
1002
- ): EvmDataParameterCondition => ({
1003
- ...{
1004
- name: faker.string.alpha(20),
1005
- operator: faker.helpers.arrayElement([">", ">=", "<", "<=", "=="] as const),
1006
- value: faker.string.alpha(20),
1007
- },
1008
- ...overrideResponse,
1009
- });
1010
-
1011
- export const getGetPolicyByIdResponseEvmDataParameterConditionListMock = (
1012
- overrideResponse: Partial<EvmDataParameterConditionList> = {},
1013
- ): EvmDataParameterConditionList => ({
1014
- ...{
1015
- name: faker.string.alpha(20),
1016
- operator: faker.helpers.arrayElement(["in", "not in"] as const),
1017
- values: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(() =>
1018
- faker.string.alpha(20),
1019
- ),
1020
- },
1021
- ...overrideResponse,
1022
- });
1023
-
1024
- export const getGetPolicyByIdResponseEvmDataCriterionMock = (
1025
- overrideResponse: Partial<EvmDataCriterion> = {},
1026
- ): EvmDataCriterion => ({
1027
- ...{
1028
- type: faker.helpers.arrayElement(["evmData"] as const),
1029
- abi: faker.helpers.arrayElement([
1030
- faker.helpers.arrayElement(Object.values(KnownAbiType)),
1031
- Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(() =>
1032
- faker.helpers.arrayElement([
1033
- { ...getGetPolicyByIdResponseAbiFunctionMock() },
1034
- { ...getGetPolicyByIdResponseAbiInputMock() },
1035
- ]),
1036
- ),
1037
- ]),
1038
- conditions: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
1039
- () => ({
1040
- function: faker.string.alpha(20),
1041
- params: faker.helpers.arrayElement([
1042
- Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(() =>
1043
- faker.helpers.arrayElement([
1044
- { ...getGetPolicyByIdResponseEvmDataParameterConditionMock() },
1045
- { ...getGetPolicyByIdResponseEvmDataParameterConditionListMock() },
1046
- ]),
1047
- ),
1048
- undefined,
1049
- ]),
1050
- }),
1051
- ),
1052
- },
1053
- ...overrideResponse,
1054
- });
1055
-
1056
- export const getGetPolicyByIdResponseNetUSDChangeCriterionMock = (
1057
- overrideResponse: Partial<NetUSDChangeCriterion> = {},
1058
- ): NetUSDChangeCriterion => ({
1059
- ...{
1060
- type: faker.helpers.arrayElement(["netUSDChange"] as const),
1061
- changeCents: faker.number.int({ min: undefined, max: undefined }),
1062
- operator: faker.helpers.arrayElement([">", ">=", "<", "<=", "=="] as const),
1063
- },
1064
- ...overrideResponse,
1065
- });
1066
-
1067
- export const getGetPolicyByIdResponseEvmNetworkCriterionMock = (
1068
- overrideResponse: Partial<EvmNetworkCriterion> = {},
1069
- ): EvmNetworkCriterion => ({
1070
- ...{
1071
- type: faker.helpers.arrayElement(["evmNetwork"] as const),
1072
- networks: faker.helpers.arrayElements([
1073
- "base-sepolia",
1074
- "base",
1075
- "ethereum",
1076
- "ethereum-sepolia",
1077
- "avalanche",
1078
- "polygon",
1079
- "optimism",
1080
- "arbitrum",
1081
- "zora",
1082
- "bnb",
1083
- ] as const),
1084
- operator: faker.helpers.arrayElement(["in", "not in"] as const),
1085
- },
1086
- ...overrideResponse,
1087
- });
1088
-
1089
- export const getGetPolicyByIdResponseEvmMessageCriterionMock = (
1090
- overrideResponse: Partial<EvmMessageCriterion> = {},
1091
- ): EvmMessageCriterion => ({
1092
- ...{ type: faker.helpers.arrayElement(["evmMessage"] as const), match: faker.string.alpha(20) },
1093
- ...overrideResponse,
1094
- });
1095
-
1096
- export const getGetPolicyByIdResponseEvmTypedAddressConditionMock = (
1097
- overrideResponse: Partial<EvmTypedAddressCondition> = {},
1098
- ): EvmTypedAddressCondition => ({
1099
- ...{
1100
- addresses: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
1101
- () => faker.helpers.fromRegExp("^0x[0-9a-fA-F]{40}$"),
1102
- ),
1103
- operator: faker.helpers.arrayElement(["in", "not in"] as const),
1104
- path: faker.string.alpha(20),
1105
- },
1106
- ...overrideResponse,
1107
- });
1108
-
1109
- export const getGetPolicyByIdResponseEvmTypedNumericalConditionMock = (
1110
- overrideResponse: Partial<EvmTypedNumericalCondition> = {},
1111
- ): EvmTypedNumericalCondition => ({
1112
- ...{
1113
- value: faker.helpers.fromRegExp("^[0-9]+$"),
1114
- operator: faker.helpers.arrayElement([">", ">=", "<", "<=", "=="] as const),
1115
- path: faker.string.alpha(20),
1116
- },
1117
- ...overrideResponse,
1118
- });
1119
-
1120
- export const getGetPolicyByIdResponseEvmTypedStringConditionMock = (
1121
- overrideResponse: Partial<EvmTypedStringCondition> = {},
1122
- ): EvmTypedStringCondition => ({
1123
- ...{ match: faker.string.alpha(20), path: faker.string.alpha(20) },
1124
- ...overrideResponse,
1125
- });
1126
-
1127
- export const getGetPolicyByIdResponseSignEvmTypedDataFieldCriterionMock = (
1128
- overrideResponse: Partial<SignEvmTypedDataFieldCriterion> = {},
1129
- ): SignEvmTypedDataFieldCriterion => ({
1130
- ...{
1131
- type: faker.helpers.arrayElement(["evmTypedDataField"] as const),
1132
- types: {
1133
- types: {
1134
- [faker.string.alphanumeric(5)]: Array.from(
1135
- { length: faker.number.int({ min: 1, max: 10 }) },
1136
- (_, i) => i + 1,
1137
- ).map(() => ({
1138
- name: faker.helpers.arrayElement([faker.string.alpha(20), undefined]),
1139
- type: faker.helpers.arrayElement([faker.string.alpha(20), undefined]),
1140
- })),
1141
- },
1142
- primaryType: faker.string.alpha(20),
1143
- },
1144
- conditions: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
1145
- () =>
1146
- faker.helpers.arrayElement([
1147
- { ...getGetPolicyByIdResponseEvmTypedAddressConditionMock() },
1148
- { ...getGetPolicyByIdResponseEvmTypedNumericalConditionMock() },
1149
- { ...getGetPolicyByIdResponseEvmTypedStringConditionMock() },
1150
- ]),
1151
- ),
1152
- },
1153
- ...overrideResponse,
1154
- });
1155
-
1156
- export const getGetPolicyByIdResponseSignEvmTypedDataVerifyingContractCriterionMock = (
1157
- overrideResponse: Partial<SignEvmTypedDataVerifyingContractCriterion> = {},
1158
- ): SignEvmTypedDataVerifyingContractCriterion => ({
1159
- ...{
1160
- type: faker.helpers.arrayElement(["evmTypedDataVerifyingContract"] as const),
1161
- addresses: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
1162
- () => faker.helpers.fromRegExp("^0x[0-9a-fA-F]{40}$"),
1163
- ),
1164
- operator: faker.helpers.arrayElement(["in", "not in"] as const),
1165
- },
1166
- ...overrideResponse,
1167
- });
1168
-
1169
- export const getGetPolicyByIdResponseSolAddressCriterionMock = (
1170
- overrideResponse: Partial<SolAddressCriterion> = {},
1171
- ): SolAddressCriterion => ({
1172
- ...{
1173
- type: faker.helpers.arrayElement(["solAddress"] as const),
1174
- addresses: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
1175
- () => faker.helpers.fromRegExp("^[1-9A-HJ-NP-Za-km-z]{32,44}$"),
1176
- ),
1177
- operator: faker.helpers.arrayElement(["in", "not in"] as const),
1178
- },
1179
- ...overrideResponse,
1180
- });
1181
-
1182
- export const getGetPolicyByIdResponseSolValueCriterionMock = (
1183
- overrideResponse: Partial<SolValueCriterion> = {},
1184
- ): SolValueCriterion => ({
1185
- ...{
1186
- type: faker.helpers.arrayElement(["solValue"] as const),
1187
- solValue: faker.string.alpha(20),
1188
- operator: faker.helpers.arrayElement([">", ">=", "<", "<=", "=="] as const),
1189
- },
1190
- ...overrideResponse,
1191
- });
1192
-
1193
- export const getGetPolicyByIdResponseSplAddressCriterionMock = (
1194
- overrideResponse: Partial<SplAddressCriterion> = {},
1195
- ): SplAddressCriterion => ({
1196
- ...{
1197
- type: faker.helpers.arrayElement(["splAddress"] as const),
1198
- addresses: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
1199
- () => faker.helpers.fromRegExp("^[1-9A-HJ-NP-Za-km-z]{32,44}$"),
1200
- ),
1201
- operator: faker.helpers.arrayElement(["in", "not in"] as const),
1202
- },
1203
- ...overrideResponse,
1204
- });
1205
-
1206
- export const getGetPolicyByIdResponseSplValueCriterionMock = (
1207
- overrideResponse: Partial<SplValueCriterion> = {},
1208
- ): SplValueCriterion => ({
1209
- ...{
1210
- type: faker.helpers.arrayElement(["splValue"] as const),
1211
- splValue: faker.string.alpha(20),
1212
- operator: faker.helpers.arrayElement([">", ">=", "<", "<=", "=="] as const),
1213
- },
1214
- ...overrideResponse,
1215
- });
1216
-
1217
- export const getGetPolicyByIdResponseMintAddressCriterionMock = (
1218
- overrideResponse: Partial<MintAddressCriterion> = {},
1219
- ): MintAddressCriterion => ({
1220
- ...{
1221
- type: faker.helpers.arrayElement(["mintAddress"] as const),
1222
- addresses: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
1223
- () => faker.helpers.fromRegExp("^[1-9A-HJ-NP-Za-km-z]{32,44}$"),
1224
- ),
1225
- operator: faker.helpers.arrayElement(["in", "not in"] as const),
1226
- },
1227
- ...overrideResponse,
1228
- });
1229
-
1230
- export const getGetPolicyByIdResponseMock = (overrideResponse: Partial<Policy> = {}): Policy => ({
1231
- id: faker.helpers.fromRegExp(
1232
- "^[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}$",
1233
- ),
1234
- description: faker.helpers.arrayElement([
1235
- faker.helpers.fromRegExp("^[A-Za-z0-9 ,.]{1,50}$"),
1236
- undefined,
1237
- ]),
1238
- scope: faker.helpers.arrayElement(["project", "account"] as const),
1239
- rules: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(() =>
1240
- faker.helpers.arrayElement([
1241
- {
1242
- action: faker.helpers.arrayElement(["reject", "accept"] as const),
1243
- operation: faker.helpers.arrayElement(["signEvmTransaction"] as const),
1244
- criteria: Array.from(
1245
- { length: faker.number.int({ min: 1, max: 10 }) },
1246
- (_, i) => i + 1,
1247
- ).map(() =>
1248
- faker.helpers.arrayElement([
1249
- { ...getGetPolicyByIdResponseEthValueCriterionMock() },
1250
- { ...getGetPolicyByIdResponseEvmAddressCriterionMock() },
1251
- { ...getGetPolicyByIdResponseEvmDataCriterionMock() },
1252
- { ...getGetPolicyByIdResponseNetUSDChangeCriterionMock() },
1253
- ]),
1254
- ),
1255
- },
1256
- {
1257
- action: faker.helpers.arrayElement(["reject", "accept"] as const),
1258
- operation: faker.helpers.arrayElement(["sendEvmTransaction"] as const),
1259
- criteria: Array.from(
1260
- { length: faker.number.int({ min: 1, max: 10 }) },
1261
- (_, i) => i + 1,
1262
- ).map(() =>
1263
- faker.helpers.arrayElement([
1264
- { ...getGetPolicyByIdResponseEthValueCriterionMock() },
1265
- { ...getGetPolicyByIdResponseEvmAddressCriterionMock() },
1266
- { ...getGetPolicyByIdResponseEvmNetworkCriterionMock() },
1267
- { ...getGetPolicyByIdResponseEvmDataCriterionMock() },
1268
- { ...getGetPolicyByIdResponseNetUSDChangeCriterionMock() },
1269
- ]),
1270
- ),
1271
- },
1272
- {
1273
- action: faker.helpers.arrayElement(["reject", "accept"] as const),
1274
- operation: faker.helpers.arrayElement(["signEvmMessage"] as const),
1275
- criteria: Array.from(
1276
- { length: faker.number.int({ min: 1, max: 10 }) },
1277
- (_, i) => i + 1,
1278
- ).map(() =>
1279
- faker.helpers.arrayElement([{ ...getGetPolicyByIdResponseEvmMessageCriterionMock() }]),
1280
- ),
1281
- },
1282
- {
1283
- action: faker.helpers.arrayElement(["reject", "accept"] as const),
1284
- operation: faker.helpers.arrayElement(["signEvmTypedData"] as const),
1285
- criteria: Array.from(
1286
- { length: faker.number.int({ min: 1, max: 10 }) },
1287
- (_, i) => i + 1,
1288
- ).map(() =>
1289
- faker.helpers.arrayElement([
1290
- { ...getGetPolicyByIdResponseSignEvmTypedDataFieldCriterionMock() },
1291
- { ...getGetPolicyByIdResponseSignEvmTypedDataVerifyingContractCriterionMock() },
1292
- ]),
1293
- ),
1294
- },
1295
- {
1296
- action: faker.helpers.arrayElement(["reject", "accept"] as const),
1297
- operation: faker.helpers.arrayElement(["signSolTransaction"] as const),
1298
- criteria: Array.from(
1299
- { length: faker.number.int({ min: 1, max: 10 }) },
1300
- (_, i) => i + 1,
1301
- ).map(() =>
1302
- faker.helpers.arrayElement([
1303
- { ...getGetPolicyByIdResponseSolAddressCriterionMock() },
1304
- { ...getGetPolicyByIdResponseSolValueCriterionMock() },
1305
- { ...getGetPolicyByIdResponseSplAddressCriterionMock() },
1306
- { ...getGetPolicyByIdResponseSplValueCriterionMock() },
1307
- { ...getGetPolicyByIdResponseMintAddressCriterionMock() },
1308
- ]),
1309
- ),
1310
- },
1311
- {
1312
- action: faker.helpers.arrayElement(["reject", "accept"] as const),
1313
- operation: faker.helpers.arrayElement(["sendSolTransaction"] as const),
1314
- criteria: Array.from(
1315
- { length: faker.number.int({ min: 1, max: 10 }) },
1316
- (_, i) => i + 1,
1317
- ).map(() =>
1318
- faker.helpers.arrayElement([
1319
- { ...getGetPolicyByIdResponseSolAddressCriterionMock() },
1320
- { ...getGetPolicyByIdResponseSolValueCriterionMock() },
1321
- { ...getGetPolicyByIdResponseSplAddressCriterionMock() },
1322
- { ...getGetPolicyByIdResponseSplValueCriterionMock() },
1323
- { ...getGetPolicyByIdResponseMintAddressCriterionMock() },
1324
- ]),
1325
- ),
1326
- },
1327
- {
1328
- action: faker.helpers.arrayElement(["reject", "accept"] as const),
1329
- operation: faker.helpers.arrayElement(["signEvmHash"] as const),
1330
- },
1331
- {
1332
- action: faker.helpers.arrayElement(["reject", "accept"] as const),
1333
- operation: faker.helpers.arrayElement(["prepareUserOperation"] as const),
1334
- criteria: Array.from(
1335
- { length: faker.number.int({ min: 1, max: 10 }) },
1336
- (_, i) => i + 1,
1337
- ).map(() =>
1338
- faker.helpers.arrayElement([
1339
- { ...getGetPolicyByIdResponseEthValueCriterionMock() },
1340
- { ...getGetPolicyByIdResponseEvmAddressCriterionMock() },
1341
- { ...getGetPolicyByIdResponseEvmNetworkCriterionMock() },
1342
- { ...getGetPolicyByIdResponseEvmDataCriterionMock() },
1343
- ]),
1344
- ),
1345
- },
1346
- {
1347
- action: faker.helpers.arrayElement(["reject", "accept"] as const),
1348
- operation: faker.helpers.arrayElement(["sendUserOperation"] as const),
1349
- criteria: Array.from(
1350
- { length: faker.number.int({ min: 1, max: 10 }) },
1351
- (_, i) => i + 1,
1352
- ).map(() =>
1353
- faker.helpers.arrayElement([
1354
- { ...getGetPolicyByIdResponseEthValueCriterionMock() },
1355
- { ...getGetPolicyByIdResponseEvmAddressCriterionMock() },
1356
- { ...getGetPolicyByIdResponseEvmDataCriterionMock() },
1357
- ]),
1358
- ),
1359
- },
1360
- ]),
1361
- ),
1362
- createdAt: faker.string.alpha(20),
1363
- updatedAt: faker.string.alpha(20),
1364
- ...overrideResponse,
1365
- });
1366
-
1367
- export const getUpdatePolicyResponseEthValueCriterionMock = (
1368
- overrideResponse: Partial<EthValueCriterion> = {},
1369
- ): EthValueCriterion => ({
1370
- ...{
1371
- type: faker.helpers.arrayElement(["ethValue"] as const),
1372
- ethValue: faker.helpers.fromRegExp("^[0-9]+$"),
1373
- operator: faker.helpers.arrayElement([">", ">=", "<", "<=", "=="] as const),
1374
- },
1375
- ...overrideResponse,
1376
- });
1377
-
1378
- export const getUpdatePolicyResponseEvmAddressCriterionMock = (
1379
- overrideResponse: Partial<EvmAddressCriterion> = {},
1380
- ): EvmAddressCriterion => ({
1381
- ...{
1382
- type: faker.helpers.arrayElement(["evmAddress"] as const),
1383
- addresses: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
1384
- () => faker.helpers.fromRegExp("^0x[0-9a-fA-F]{40}$"),
1385
- ),
1386
- operator: faker.helpers.arrayElement(["in", "not in"] as const),
1387
- },
1388
- ...overrideResponse,
1389
- });
1390
-
1391
- export const getUpdatePolicyResponseAbiFunctionMock = (
1392
- overrideResponse: Partial<AbiFunction> = {},
1393
- ): AbiFunction => ({
1394
- ...{
1395
- type: faker.helpers.arrayElement(["function"] as const),
1396
- name: faker.string.alpha(20),
1397
- inputs: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
1398
- () => ({
1399
- name: faker.helpers.arrayElement([faker.string.alpha(20), undefined]),
1400
- type: faker.string.alpha(20),
1401
- internalType: faker.helpers.arrayElement([faker.string.alpha(20), undefined]),
1402
- components: faker.helpers.arrayElement([[], undefined]),
1403
- }),
1404
- ),
1405
- outputs: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
1406
- () => ({
1407
- name: faker.helpers.arrayElement([faker.string.alpha(20), undefined]),
1408
- type: faker.string.alpha(20),
1409
- internalType: faker.helpers.arrayElement([faker.string.alpha(20), undefined]),
1410
- components: faker.helpers.arrayElement([[], undefined]),
1411
- }),
1412
- ),
1413
- constant: faker.helpers.arrayElement([faker.datatype.boolean(), undefined]),
1414
- payable: faker.helpers.arrayElement([faker.datatype.boolean(), undefined]),
1415
- stateMutability: faker.helpers.arrayElement(Object.values(AbiStateMutability)),
1416
- gas: faker.helpers.arrayElement([
1417
- faker.number.int({ min: undefined, max: undefined }),
1418
- undefined,
1419
- ]),
1420
- },
1421
- ...overrideResponse,
1422
- });
1423
-
1424
- export const getUpdatePolicyResponseAbiInputMock = (
1425
- overrideResponse: Partial<AbiInput> = {},
1426
- ): AbiInput => ({
1427
- ...{
1428
- type: faker.helpers.arrayElement([
1429
- "constructor",
1430
- "error",
1431
- "event",
1432
- "fallback",
1433
- "receive",
1434
- ] as const),
1435
- additionalProperties: faker.helpers.arrayElement([{}, undefined]),
1436
- },
1437
- ...overrideResponse,
1438
- });
1439
-
1440
- export const getUpdatePolicyResponseEvmDataParameterConditionMock = (
1441
- overrideResponse: Partial<EvmDataParameterCondition> = {},
1442
- ): EvmDataParameterCondition => ({
1443
- ...{
1444
- name: faker.string.alpha(20),
1445
- operator: faker.helpers.arrayElement([">", ">=", "<", "<=", "=="] as const),
1446
- value: faker.string.alpha(20),
1447
- },
1448
- ...overrideResponse,
1449
- });
1450
-
1451
- export const getUpdatePolicyResponseEvmDataParameterConditionListMock = (
1452
- overrideResponse: Partial<EvmDataParameterConditionList> = {},
1453
- ): EvmDataParameterConditionList => ({
1454
- ...{
1455
- name: faker.string.alpha(20),
1456
- operator: faker.helpers.arrayElement(["in", "not in"] as const),
1457
- values: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(() =>
1458
- faker.string.alpha(20),
1459
- ),
1460
- },
1461
- ...overrideResponse,
1462
- });
1463
-
1464
- export const getUpdatePolicyResponseEvmDataCriterionMock = (
1465
- overrideResponse: Partial<EvmDataCriterion> = {},
1466
- ): EvmDataCriterion => ({
1467
- ...{
1468
- type: faker.helpers.arrayElement(["evmData"] as const),
1469
- abi: faker.helpers.arrayElement([
1470
- faker.helpers.arrayElement(Object.values(KnownAbiType)),
1471
- Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(() =>
1472
- faker.helpers.arrayElement([
1473
- { ...getUpdatePolicyResponseAbiFunctionMock() },
1474
- { ...getUpdatePolicyResponseAbiInputMock() },
1475
- ]),
1476
- ),
1477
- ]),
1478
- conditions: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
1479
- () => ({
1480
- function: faker.string.alpha(20),
1481
- params: faker.helpers.arrayElement([
1482
- Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(() =>
1483
- faker.helpers.arrayElement([
1484
- { ...getUpdatePolicyResponseEvmDataParameterConditionMock() },
1485
- { ...getUpdatePolicyResponseEvmDataParameterConditionListMock() },
1486
- ]),
1487
- ),
1488
- undefined,
1489
- ]),
1490
- }),
1491
- ),
1492
- },
1493
- ...overrideResponse,
1494
- });
1495
-
1496
- export const getUpdatePolicyResponseNetUSDChangeCriterionMock = (
1497
- overrideResponse: Partial<NetUSDChangeCriterion> = {},
1498
- ): NetUSDChangeCriterion => ({
1499
- ...{
1500
- type: faker.helpers.arrayElement(["netUSDChange"] as const),
1501
- changeCents: faker.number.int({ min: undefined, max: undefined }),
1502
- operator: faker.helpers.arrayElement([">", ">=", "<", "<=", "=="] as const),
1503
- },
1504
- ...overrideResponse,
1505
- });
1506
-
1507
- export const getUpdatePolicyResponseEvmNetworkCriterionMock = (
1508
- overrideResponse: Partial<EvmNetworkCriterion> = {},
1509
- ): EvmNetworkCriterion => ({
1510
- ...{
1511
- type: faker.helpers.arrayElement(["evmNetwork"] as const),
1512
- networks: faker.helpers.arrayElements([
1513
- "base-sepolia",
1514
- "base",
1515
- "ethereum",
1516
- "ethereum-sepolia",
1517
- "avalanche",
1518
- "polygon",
1519
- "optimism",
1520
- "arbitrum",
1521
- "zora",
1522
- "bnb",
1523
- ] as const),
1524
- operator: faker.helpers.arrayElement(["in", "not in"] as const),
1525
- },
1526
- ...overrideResponse,
1527
- });
1528
-
1529
- export const getUpdatePolicyResponseEvmMessageCriterionMock = (
1530
- overrideResponse: Partial<EvmMessageCriterion> = {},
1531
- ): EvmMessageCriterion => ({
1532
- ...{ type: faker.helpers.arrayElement(["evmMessage"] as const), match: faker.string.alpha(20) },
1533
- ...overrideResponse,
1534
- });
1535
-
1536
- export const getUpdatePolicyResponseEvmTypedAddressConditionMock = (
1537
- overrideResponse: Partial<EvmTypedAddressCondition> = {},
1538
- ): EvmTypedAddressCondition => ({
1539
- ...{
1540
- addresses: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
1541
- () => faker.helpers.fromRegExp("^0x[0-9a-fA-F]{40}$"),
1542
- ),
1543
- operator: faker.helpers.arrayElement(["in", "not in"] as const),
1544
- path: faker.string.alpha(20),
1545
- },
1546
- ...overrideResponse,
1547
- });
1548
-
1549
- export const getUpdatePolicyResponseEvmTypedNumericalConditionMock = (
1550
- overrideResponse: Partial<EvmTypedNumericalCondition> = {},
1551
- ): EvmTypedNumericalCondition => ({
1552
- ...{
1553
- value: faker.helpers.fromRegExp("^[0-9]+$"),
1554
- operator: faker.helpers.arrayElement([">", ">=", "<", "<=", "=="] as const),
1555
- path: faker.string.alpha(20),
1556
- },
1557
- ...overrideResponse,
1558
- });
1559
-
1560
- export const getUpdatePolicyResponseEvmTypedStringConditionMock = (
1561
- overrideResponse: Partial<EvmTypedStringCondition> = {},
1562
- ): EvmTypedStringCondition => ({
1563
- ...{ match: faker.string.alpha(20), path: faker.string.alpha(20) },
1564
- ...overrideResponse,
1565
- });
1566
-
1567
- export const getUpdatePolicyResponseSignEvmTypedDataFieldCriterionMock = (
1568
- overrideResponse: Partial<SignEvmTypedDataFieldCriterion> = {},
1569
- ): SignEvmTypedDataFieldCriterion => ({
1570
- ...{
1571
- type: faker.helpers.arrayElement(["evmTypedDataField"] as const),
1572
- types: {
1573
- types: {
1574
- [faker.string.alphanumeric(5)]: Array.from(
1575
- { length: faker.number.int({ min: 1, max: 10 }) },
1576
- (_, i) => i + 1,
1577
- ).map(() => ({
1578
- name: faker.helpers.arrayElement([faker.string.alpha(20), undefined]),
1579
- type: faker.helpers.arrayElement([faker.string.alpha(20), undefined]),
1580
- })),
1581
- },
1582
- primaryType: faker.string.alpha(20),
1583
- },
1584
- conditions: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
1585
- () =>
1586
- faker.helpers.arrayElement([
1587
- { ...getUpdatePolicyResponseEvmTypedAddressConditionMock() },
1588
- { ...getUpdatePolicyResponseEvmTypedNumericalConditionMock() },
1589
- { ...getUpdatePolicyResponseEvmTypedStringConditionMock() },
1590
- ]),
1591
- ),
1592
- },
1593
- ...overrideResponse,
1594
- });
1595
-
1596
- export const getUpdatePolicyResponseSignEvmTypedDataVerifyingContractCriterionMock = (
1597
- overrideResponse: Partial<SignEvmTypedDataVerifyingContractCriterion> = {},
1598
- ): SignEvmTypedDataVerifyingContractCriterion => ({
1599
- ...{
1600
- type: faker.helpers.arrayElement(["evmTypedDataVerifyingContract"] as const),
1601
- addresses: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
1602
- () => faker.helpers.fromRegExp("^0x[0-9a-fA-F]{40}$"),
1603
- ),
1604
- operator: faker.helpers.arrayElement(["in", "not in"] as const),
1605
- },
1606
- ...overrideResponse,
1607
- });
1608
-
1609
- export const getUpdatePolicyResponseSolAddressCriterionMock = (
1610
- overrideResponse: Partial<SolAddressCriterion> = {},
1611
- ): SolAddressCriterion => ({
1612
- ...{
1613
- type: faker.helpers.arrayElement(["solAddress"] as const),
1614
- addresses: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
1615
- () => faker.helpers.fromRegExp("^[1-9A-HJ-NP-Za-km-z]{32,44}$"),
1616
- ),
1617
- operator: faker.helpers.arrayElement(["in", "not in"] as const),
1618
- },
1619
- ...overrideResponse,
1620
- });
1621
-
1622
- export const getUpdatePolicyResponseSolValueCriterionMock = (
1623
- overrideResponse: Partial<SolValueCriterion> = {},
1624
- ): SolValueCriterion => ({
1625
- ...{
1626
- type: faker.helpers.arrayElement(["solValue"] as const),
1627
- solValue: faker.string.alpha(20),
1628
- operator: faker.helpers.arrayElement([">", ">=", "<", "<=", "=="] as const),
1629
- },
1630
- ...overrideResponse,
1631
- });
1632
-
1633
- export const getUpdatePolicyResponseSplAddressCriterionMock = (
1634
- overrideResponse: Partial<SplAddressCriterion> = {},
1635
- ): SplAddressCriterion => ({
1636
- ...{
1637
- type: faker.helpers.arrayElement(["splAddress"] as const),
1638
- addresses: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
1639
- () => faker.helpers.fromRegExp("^[1-9A-HJ-NP-Za-km-z]{32,44}$"),
1640
- ),
1641
- operator: faker.helpers.arrayElement(["in", "not in"] as const),
1642
- },
1643
- ...overrideResponse,
1644
- });
1645
-
1646
- export const getUpdatePolicyResponseSplValueCriterionMock = (
1647
- overrideResponse: Partial<SplValueCriterion> = {},
1648
- ): SplValueCriterion => ({
1649
- ...{
1650
- type: faker.helpers.arrayElement(["splValue"] as const),
1651
- splValue: faker.string.alpha(20),
1652
- operator: faker.helpers.arrayElement([">", ">=", "<", "<=", "=="] as const),
1653
- },
1654
- ...overrideResponse,
1655
- });
1656
-
1657
- export const getUpdatePolicyResponseMintAddressCriterionMock = (
1658
- overrideResponse: Partial<MintAddressCriterion> = {},
1659
- ): MintAddressCriterion => ({
1660
- ...{
1661
- type: faker.helpers.arrayElement(["mintAddress"] as const),
1662
- addresses: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
1663
- () => faker.helpers.fromRegExp("^[1-9A-HJ-NP-Za-km-z]{32,44}$"),
1664
- ),
1665
- operator: faker.helpers.arrayElement(["in", "not in"] as const),
1666
- },
1667
- ...overrideResponse,
1668
- });
1669
-
1670
- export const getUpdatePolicyResponseMock = (overrideResponse: Partial<Policy> = {}): Policy => ({
1671
- id: faker.helpers.fromRegExp(
1672
- "^[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}$",
1673
- ),
1674
- description: faker.helpers.arrayElement([
1675
- faker.helpers.fromRegExp("^[A-Za-z0-9 ,.]{1,50}$"),
1676
- undefined,
1677
- ]),
1678
- scope: faker.helpers.arrayElement(["project", "account"] as const),
1679
- rules: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(() =>
1680
- faker.helpers.arrayElement([
1681
- {
1682
- action: faker.helpers.arrayElement(["reject", "accept"] as const),
1683
- operation: faker.helpers.arrayElement(["signEvmTransaction"] as const),
1684
- criteria: Array.from(
1685
- { length: faker.number.int({ min: 1, max: 10 }) },
1686
- (_, i) => i + 1,
1687
- ).map(() =>
1688
- faker.helpers.arrayElement([
1689
- { ...getUpdatePolicyResponseEthValueCriterionMock() },
1690
- { ...getUpdatePolicyResponseEvmAddressCriterionMock() },
1691
- { ...getUpdatePolicyResponseEvmDataCriterionMock() },
1692
- { ...getUpdatePolicyResponseNetUSDChangeCriterionMock() },
1693
- ]),
1694
- ),
1695
- },
1696
- {
1697
- action: faker.helpers.arrayElement(["reject", "accept"] as const),
1698
- operation: faker.helpers.arrayElement(["sendEvmTransaction"] as const),
1699
- criteria: Array.from(
1700
- { length: faker.number.int({ min: 1, max: 10 }) },
1701
- (_, i) => i + 1,
1702
- ).map(() =>
1703
- faker.helpers.arrayElement([
1704
- { ...getUpdatePolicyResponseEthValueCriterionMock() },
1705
- { ...getUpdatePolicyResponseEvmAddressCriterionMock() },
1706
- { ...getUpdatePolicyResponseEvmNetworkCriterionMock() },
1707
- { ...getUpdatePolicyResponseEvmDataCriterionMock() },
1708
- { ...getUpdatePolicyResponseNetUSDChangeCriterionMock() },
1709
- ]),
1710
- ),
1711
- },
1712
- {
1713
- action: faker.helpers.arrayElement(["reject", "accept"] as const),
1714
- operation: faker.helpers.arrayElement(["signEvmMessage"] as const),
1715
- criteria: Array.from(
1716
- { length: faker.number.int({ min: 1, max: 10 }) },
1717
- (_, i) => i + 1,
1718
- ).map(() =>
1719
- faker.helpers.arrayElement([{ ...getUpdatePolicyResponseEvmMessageCriterionMock() }]),
1720
- ),
1721
- },
1722
- {
1723
- action: faker.helpers.arrayElement(["reject", "accept"] as const),
1724
- operation: faker.helpers.arrayElement(["signEvmTypedData"] as const),
1725
- criteria: Array.from(
1726
- { length: faker.number.int({ min: 1, max: 10 }) },
1727
- (_, i) => i + 1,
1728
- ).map(() =>
1729
- faker.helpers.arrayElement([
1730
- { ...getUpdatePolicyResponseSignEvmTypedDataFieldCriterionMock() },
1731
- { ...getUpdatePolicyResponseSignEvmTypedDataVerifyingContractCriterionMock() },
1732
- ]),
1733
- ),
1734
- },
1735
- {
1736
- action: faker.helpers.arrayElement(["reject", "accept"] as const),
1737
- operation: faker.helpers.arrayElement(["signSolTransaction"] as const),
1738
- criteria: Array.from(
1739
- { length: faker.number.int({ min: 1, max: 10 }) },
1740
- (_, i) => i + 1,
1741
- ).map(() =>
1742
- faker.helpers.arrayElement([
1743
- { ...getUpdatePolicyResponseSolAddressCriterionMock() },
1744
- { ...getUpdatePolicyResponseSolValueCriterionMock() },
1745
- { ...getUpdatePolicyResponseSplAddressCriterionMock() },
1746
- { ...getUpdatePolicyResponseSplValueCriterionMock() },
1747
- { ...getUpdatePolicyResponseMintAddressCriterionMock() },
1748
- ]),
1749
- ),
1750
- },
1751
- {
1752
- action: faker.helpers.arrayElement(["reject", "accept"] as const),
1753
- operation: faker.helpers.arrayElement(["sendSolTransaction"] as const),
1754
- criteria: Array.from(
1755
- { length: faker.number.int({ min: 1, max: 10 }) },
1756
- (_, i) => i + 1,
1757
- ).map(() =>
1758
- faker.helpers.arrayElement([
1759
- { ...getUpdatePolicyResponseSolAddressCriterionMock() },
1760
- { ...getUpdatePolicyResponseSolValueCriterionMock() },
1761
- { ...getUpdatePolicyResponseSplAddressCriterionMock() },
1762
- { ...getUpdatePolicyResponseSplValueCriterionMock() },
1763
- { ...getUpdatePolicyResponseMintAddressCriterionMock() },
1764
- ]),
1765
- ),
1766
- },
1767
- {
1768
- action: faker.helpers.arrayElement(["reject", "accept"] as const),
1769
- operation: faker.helpers.arrayElement(["signEvmHash"] as const),
1770
- },
1771
- {
1772
- action: faker.helpers.arrayElement(["reject", "accept"] as const),
1773
- operation: faker.helpers.arrayElement(["prepareUserOperation"] as const),
1774
- criteria: Array.from(
1775
- { length: faker.number.int({ min: 1, max: 10 }) },
1776
- (_, i) => i + 1,
1777
- ).map(() =>
1778
- faker.helpers.arrayElement([
1779
- { ...getUpdatePolicyResponseEthValueCriterionMock() },
1780
- { ...getUpdatePolicyResponseEvmAddressCriterionMock() },
1781
- { ...getUpdatePolicyResponseEvmNetworkCriterionMock() },
1782
- { ...getUpdatePolicyResponseEvmDataCriterionMock() },
1783
- ]),
1784
- ),
1785
- },
1786
- {
1787
- action: faker.helpers.arrayElement(["reject", "accept"] as const),
1788
- operation: faker.helpers.arrayElement(["sendUserOperation"] as const),
1789
- criteria: Array.from(
1790
- { length: faker.number.int({ min: 1, max: 10 }) },
1791
- (_, i) => i + 1,
1792
- ).map(() =>
1793
- faker.helpers.arrayElement([
1794
- { ...getUpdatePolicyResponseEthValueCriterionMock() },
1795
- { ...getUpdatePolicyResponseEvmAddressCriterionMock() },
1796
- { ...getUpdatePolicyResponseEvmDataCriterionMock() },
1797
- ]),
1798
- ),
1799
- },
1800
- ]),
1801
- ),
1802
- createdAt: faker.string.alpha(20),
1803
- updatedAt: faker.string.alpha(20),
1804
- ...overrideResponse,
1805
- });
1806
-
1807
- export const getListPoliciesMockHandler = (
1808
- overrideResponse?:
1809
- | ListPolicies200
1810
- | ((
1811
- info: Parameters<Parameters<typeof http.get>[1]>[0],
1812
- ) => Promise<ListPolicies200> | ListPolicies200),
1813
- ) => {
1814
- return http.get("*/v2/policy-engine/policies", async info => {
1815
- await delay(0);
1816
-
1817
- return new HttpResponse(
1818
- JSON.stringify(
1819
- overrideResponse !== undefined
1820
- ? typeof overrideResponse === "function"
1821
- ? await overrideResponse(info)
1822
- : overrideResponse
1823
- : getListPoliciesResponseMock(),
1824
- ),
1825
- { status: 200, headers: { "Content-Type": "application/json" } },
1826
- );
1827
- });
1828
- };
1829
-
1830
- export const getCreatePolicyMockHandler = (
1831
- overrideResponse?:
1832
- | Policy
1833
- | ((info: Parameters<Parameters<typeof http.post>[1]>[0]) => Promise<Policy> | Policy),
1834
- ) => {
1835
- return http.post("*/v2/policy-engine/policies", async info => {
1836
- await delay(0);
1837
-
1838
- return new HttpResponse(
1839
- JSON.stringify(
1840
- overrideResponse !== undefined
1841
- ? typeof overrideResponse === "function"
1842
- ? await overrideResponse(info)
1843
- : overrideResponse
1844
- : getCreatePolicyResponseMock(),
1845
- ),
1846
- { status: 201, headers: { "Content-Type": "application/json" } },
1847
- );
1848
- });
1849
- };
1850
-
1851
- export const getGetPolicyByIdMockHandler = (
1852
- overrideResponse?:
1853
- | Policy
1854
- | ((info: Parameters<Parameters<typeof http.get>[1]>[0]) => Promise<Policy> | Policy),
1855
- ) => {
1856
- return http.get("*/v2/policy-engine/policies/:policyId", async info => {
1857
- await delay(0);
1858
-
1859
- return new HttpResponse(
1860
- JSON.stringify(
1861
- overrideResponse !== undefined
1862
- ? typeof overrideResponse === "function"
1863
- ? await overrideResponse(info)
1864
- : overrideResponse
1865
- : getGetPolicyByIdResponseMock(),
1866
- ),
1867
- { status: 200, headers: { "Content-Type": "application/json" } },
1868
- );
1869
- });
1870
- };
1871
-
1872
- export const getDeletePolicyMockHandler = (
1873
- overrideResponse?:
1874
- | void
1875
- | ((info: Parameters<Parameters<typeof http.delete>[1]>[0]) => Promise<void> | void),
1876
- ) => {
1877
- return http.delete("*/v2/policy-engine/policies/:policyId", async info => {
1878
- await delay(0);
1879
- if (typeof overrideResponse === "function") {
1880
- await overrideResponse(info);
1881
- }
1882
- return new HttpResponse(null, { status: 204 });
1883
- });
1884
- };
1885
-
1886
- export const getUpdatePolicyMockHandler = (
1887
- overrideResponse?:
1888
- | Policy
1889
- | ((info: Parameters<Parameters<typeof http.put>[1]>[0]) => Promise<Policy> | Policy),
1890
- ) => {
1891
- return http.put("*/v2/policy-engine/policies/:policyId", async info => {
1892
- await delay(0);
1893
-
1894
- return new HttpResponse(
1895
- JSON.stringify(
1896
- overrideResponse !== undefined
1897
- ? typeof overrideResponse === "function"
1898
- ? await overrideResponse(info)
1899
- : overrideResponse
1900
- : getUpdatePolicyResponseMock(),
1901
- ),
1902
- { status: 200, headers: { "Content-Type": "application/json" } },
1903
- );
1904
- });
1905
- };
1906
- export const getPolicyEngineMock = () => [
1907
- getListPoliciesMockHandler(),
1908
- getCreatePolicyMockHandler(),
1909
- getGetPolicyByIdMockHandler(),
1910
- getDeletePolicyMockHandler(),
1911
- getUpdatePolicyMockHandler(),
1912
- ];