safehands-pharos 1.4.0 → 2.6.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 (571) hide show
  1. package/.agents/policies/default.json +15 -0
  2. package/.env.example +81 -64
  3. package/README.md +301 -333
  4. package/SECURITY.md +112 -0
  5. package/SKILL.md +59 -0
  6. package/contracts/SafeHandsAttestation.sol +182 -0
  7. package/contracts/SafeHandsRegistry.sol +149 -0
  8. package/dist/agent/SafeHandsGuardianAgent.d.ts +39 -0
  9. package/dist/agent/SafeHandsGuardianAgent.d.ts.map +1 -0
  10. package/dist/agent/SafeHandsGuardianAgent.js +98 -0
  11. package/dist/agent/SafeHandsGuardianAgent.js.map +1 -0
  12. package/dist/agent/agentDecisionFormatter.d.ts +43 -0
  13. package/dist/agent/agentDecisionFormatter.d.ts.map +1 -0
  14. package/dist/agent/agentDecisionFormatter.js +96 -0
  15. package/dist/agent/agentDecisionFormatter.js.map +1 -0
  16. package/dist/agent/agentEnrich.d.ts +28 -0
  17. package/dist/agent/agentEnrich.d.ts.map +1 -0
  18. package/dist/agent/agentEnrich.js +99 -0
  19. package/dist/agent/agentEnrich.js.map +1 -0
  20. package/dist/agent/agentIntentClassifier.d.ts +44 -0
  21. package/dist/agent/agentIntentClassifier.d.ts.map +1 -0
  22. package/dist/agent/agentIntentClassifier.js +77 -0
  23. package/dist/agent/agentIntentClassifier.js.map +1 -0
  24. package/dist/agent/agentPolicyResolver.d.ts +44 -0
  25. package/dist/agent/agentPolicyResolver.d.ts.map +1 -0
  26. package/dist/agent/agentPolicyResolver.js +94 -0
  27. package/dist/agent/agentPolicyResolver.js.map +1 -0
  28. package/dist/agent/agentRuntime.d.ts +12 -0
  29. package/dist/agent/agentRuntime.d.ts.map +1 -0
  30. package/dist/agent/agentRuntime.js +31 -0
  31. package/dist/agent/agentRuntime.js.map +1 -0
  32. package/dist/agent/agentToolRouter.d.ts +24 -0
  33. package/dist/agent/agentToolRouter.d.ts.map +1 -0
  34. package/dist/agent/agentToolRouter.js +89 -0
  35. package/dist/agent/agentToolRouter.js.map +1 -0
  36. package/dist/agent/guardianOperator.d.ts +35 -0
  37. package/dist/agent/guardianOperator.d.ts.map +1 -0
  38. package/dist/agent/guardianOperator.js +65 -0
  39. package/dist/agent/guardianOperator.js.map +1 -0
  40. package/dist/agent/index.d.ts +8 -0
  41. package/dist/agent/index.d.ts.map +1 -0
  42. package/dist/agent/index.js +14 -0
  43. package/dist/agent/index.js.map +1 -0
  44. package/dist/api/activityRoutes.d.ts +70 -0
  45. package/dist/api/activityRoutes.d.ts.map +1 -0
  46. package/dist/api/activityRoutes.js +100 -0
  47. package/dist/api/activityRoutes.js.map +1 -0
  48. package/dist/api/agentRoutes.d.ts +16 -0
  49. package/dist/api/agentRoutes.d.ts.map +1 -0
  50. package/dist/api/agentRoutes.js +37 -0
  51. package/dist/api/agentRoutes.js.map +1 -0
  52. package/dist/api/broadcastRoutes.d.ts +34 -0
  53. package/dist/api/broadcastRoutes.d.ts.map +1 -0
  54. package/dist/api/broadcastRoutes.js +147 -0
  55. package/dist/api/broadcastRoutes.js.map +1 -0
  56. package/dist/api/consolePage.d.ts +2 -0
  57. package/dist/api/consolePage.d.ts.map +1 -0
  58. package/dist/api/consolePage.js +206 -0
  59. package/dist/api/consolePage.js.map +1 -0
  60. package/dist/api/httpHardening.d.ts +75 -0
  61. package/dist/api/httpHardening.d.ts.map +1 -0
  62. package/dist/api/httpHardening.js +122 -0
  63. package/dist/api/httpHardening.js.map +1 -0
  64. package/dist/api/indexerRoutes.d.ts +46 -0
  65. package/dist/api/indexerRoutes.d.ts.map +1 -0
  66. package/dist/api/indexerRoutes.js +75 -0
  67. package/dist/api/indexerRoutes.js.map +1 -0
  68. package/dist/api/paidRoutes.d.ts +8 -0
  69. package/dist/api/paidRoutes.d.ts.map +1 -0
  70. package/dist/api/paidRoutes.js +175 -0
  71. package/dist/api/paidRoutes.js.map +1 -0
  72. package/dist/api/prepareRoutes.d.ts +58 -0
  73. package/dist/api/prepareRoutes.d.ts.map +1 -0
  74. package/dist/api/prepareRoutes.js +90 -0
  75. package/dist/api/prepareRoutes.js.map +1 -0
  76. package/dist/api/response.d.ts +39 -0
  77. package/dist/api/response.d.ts.map +1 -0
  78. package/dist/api/response.js +53 -0
  79. package/dist/api/response.js.map +1 -0
  80. package/dist/api/routes.d.ts +175 -0
  81. package/dist/api/routes.d.ts.map +1 -0
  82. package/dist/api/routes.js +276 -0
  83. package/dist/api/routes.js.map +1 -0
  84. package/dist/api/schemas.d.ts +147 -0
  85. package/dist/api/schemas.d.ts.map +1 -0
  86. package/dist/api/schemas.js +81 -0
  87. package/dist/api/schemas.js.map +1 -0
  88. package/dist/api/server.d.ts +11 -0
  89. package/dist/api/server.d.ts.map +1 -0
  90. package/dist/api/server.js +505 -0
  91. package/dist/api/server.js.map +1 -0
  92. package/dist/api/toolRoutes.d.ts +14 -0
  93. package/dist/api/toolRoutes.d.ts.map +1 -0
  94. package/dist/api/toolRoutes.js +138 -0
  95. package/dist/api/toolRoutes.js.map +1 -0
  96. package/dist/api/walletPrepareRoutes.d.ts +74 -0
  97. package/dist/api/walletPrepareRoutes.d.ts.map +1 -0
  98. package/dist/api/walletPrepareRoutes.js +127 -0
  99. package/dist/api/walletPrepareRoutes.js.map +1 -0
  100. package/dist/api/x402Gate.d.ts +51 -0
  101. package/dist/api/x402Gate.d.ts.map +1 -0
  102. package/dist/api/x402Gate.js +184 -0
  103. package/dist/api/x402Gate.js.map +1 -0
  104. package/dist/cli.d.ts +5 -5
  105. package/dist/cli.d.ts.map +1 -1
  106. package/dist/cli.js +154 -124
  107. package/dist/cli.js.map +1 -1
  108. package/dist/data/ecosystemRegistry.data.d.ts +3 -0
  109. package/dist/data/ecosystemRegistry.data.d.ts.map +1 -0
  110. package/dist/data/ecosystemRegistry.data.js +582 -0
  111. package/dist/data/ecosystemRegistry.data.js.map +1 -0
  112. package/dist/demo.d.ts +1 -1
  113. package/dist/demo.d.ts.map +1 -1
  114. package/dist/demo.js +206 -171
  115. package/dist/demo.js.map +1 -1
  116. package/dist/index.d.ts +2 -2
  117. package/dist/index.d.ts.map +1 -1
  118. package/dist/index.js +249 -164
  119. package/dist/index.js.map +1 -1
  120. package/dist/init.d.ts +1 -1
  121. package/dist/init.d.ts.map +1 -1
  122. package/dist/init.js +127 -65
  123. package/dist/init.js.map +1 -1
  124. package/dist/lib/analysis/approval.d.ts +29 -0
  125. package/dist/lib/analysis/approval.d.ts.map +1 -0
  126. package/dist/lib/analysis/approval.js +162 -0
  127. package/dist/lib/analysis/approval.js.map +1 -0
  128. package/dist/lib/analysis/calldata.d.ts +60 -0
  129. package/dist/lib/analysis/calldata.d.ts.map +1 -0
  130. package/dist/lib/analysis/calldata.js +349 -0
  131. package/dist/lib/analysis/calldata.js.map +1 -0
  132. package/dist/lib/analysis/contractIntel.d.ts +65 -0
  133. package/dist/lib/analysis/contractIntel.d.ts.map +1 -0
  134. package/dist/lib/analysis/contractIntel.js +320 -0
  135. package/dist/lib/analysis/contractIntel.js.map +1 -0
  136. package/dist/lib/analysis/evm.d.ts +42 -0
  137. package/dist/lib/analysis/evm.d.ts.map +1 -0
  138. package/dist/lib/analysis/evm.js +185 -0
  139. package/dist/lib/analysis/evm.js.map +1 -0
  140. package/dist/lib/analysis/gas.d.ts +4 -0
  141. package/dist/lib/analysis/gas.d.ts.map +1 -0
  142. package/dist/lib/analysis/gas.js +13 -0
  143. package/dist/lib/analysis/gas.js.map +1 -0
  144. package/dist/lib/analysis/index.d.ts +11 -0
  145. package/dist/lib/analysis/index.d.ts.map +1 -0
  146. package/dist/lib/analysis/index.js +16 -0
  147. package/dist/lib/analysis/index.js.map +1 -0
  148. package/dist/lib/analysis/pharosTokens.d.ts +31 -0
  149. package/dist/lib/analysis/pharosTokens.d.ts.map +1 -0
  150. package/dist/lib/analysis/pharosTokens.js +78 -0
  151. package/dist/lib/analysis/pharosTokens.js.map +1 -0
  152. package/dist/lib/analysis/safeTx.d.ts +27 -0
  153. package/dist/lib/analysis/safeTx.d.ts.map +1 -0
  154. package/dist/lib/analysis/safeTx.js +118 -0
  155. package/dist/lib/analysis/safeTx.js.map +1 -0
  156. package/dist/lib/analysis/token.d.ts +21 -0
  157. package/dist/lib/analysis/token.d.ts.map +1 -0
  158. package/dist/lib/analysis/token.js +151 -0
  159. package/dist/lib/analysis/token.js.map +1 -0
  160. package/dist/lib/analysis/types.d.ts +49 -0
  161. package/dist/lib/analysis/types.d.ts.map +1 -0
  162. package/dist/lib/analysis/types.js +10 -0
  163. package/dist/lib/analysis/types.js.map +1 -0
  164. package/dist/lib/analysis/x402.d.ts +24 -0
  165. package/dist/lib/analysis/x402.d.ts.map +1 -0
  166. package/dist/lib/analysis/x402.js +60 -0
  167. package/dist/lib/analysis/x402.js.map +1 -0
  168. package/dist/lib/auditLog.d.ts +1 -0
  169. package/dist/lib/auditLog.d.ts.map +1 -1
  170. package/dist/lib/auditLog.js +0 -0
  171. package/dist/lib/auditLog.js.map +1 -1
  172. package/dist/lib/config.d.ts +77 -0
  173. package/dist/lib/config.d.ts.map +1 -0
  174. package/dist/lib/config.js +120 -0
  175. package/dist/lib/config.js.map +1 -0
  176. package/dist/lib/constants.d.ts +452 -291
  177. package/dist/lib/constants.d.ts.map +1 -1
  178. package/dist/lib/constants.js +509 -292
  179. package/dist/lib/constants.js.map +1 -1
  180. package/dist/lib/dodoApi.d.ts +101 -78
  181. package/dist/lib/dodoApi.d.ts.map +1 -1
  182. package/dist/lib/dodoApi.js +259 -196
  183. package/dist/lib/dodoApi.js.map +1 -1
  184. package/dist/lib/ecosystemRegistry.d.ts +116 -0
  185. package/dist/lib/ecosystemRegistry.d.ts.map +1 -0
  186. package/dist/lib/ecosystemRegistry.js +178 -0
  187. package/dist/lib/ecosystemRegistry.js.map +1 -0
  188. package/dist/lib/envLoader.d.ts +2 -0
  189. package/dist/lib/envLoader.d.ts.map +1 -0
  190. package/dist/lib/envLoader.js +65 -0
  191. package/dist/lib/envLoader.js.map +1 -0
  192. package/dist/lib/goldsky.d.ts +58 -0
  193. package/dist/lib/goldsky.d.ts.map +1 -0
  194. package/dist/lib/goldsky.js +275 -0
  195. package/dist/lib/goldsky.js.map +1 -0
  196. package/dist/lib/guardian/decision.d.ts +23 -0
  197. package/dist/lib/guardian/decision.d.ts.map +1 -0
  198. package/dist/lib/guardian/decision.js +40 -0
  199. package/dist/lib/guardian/decision.js.map +1 -0
  200. package/dist/lib/http.d.ts +13 -14
  201. package/dist/lib/http.d.ts.map +1 -1
  202. package/dist/lib/http.js +383 -118
  203. package/dist/lib/http.js.map +1 -1
  204. package/dist/lib/managedExecution.d.ts +19 -0
  205. package/dist/lib/managedExecution.d.ts.map +1 -0
  206. package/dist/lib/managedExecution.js +64 -0
  207. package/dist/lib/managedExecution.js.map +1 -0
  208. package/dist/lib/merkleBatcher.d.ts +23 -0
  209. package/dist/lib/merkleBatcher.d.ts.map +1 -0
  210. package/dist/lib/merkleBatcher.js +62 -0
  211. package/dist/lib/merkleBatcher.js.map +1 -0
  212. package/dist/lib/networks.d.ts +48 -0
  213. package/dist/lib/networks.d.ts.map +1 -0
  214. package/dist/lib/networks.js +103 -0
  215. package/dist/lib/networks.js.map +1 -0
  216. package/dist/lib/observability/accessContext.d.ts +29 -0
  217. package/dist/lib/observability/accessContext.d.ts.map +1 -0
  218. package/dist/lib/observability/accessContext.js +50 -0
  219. package/dist/lib/observability/accessContext.js.map +1 -0
  220. package/dist/lib/observability/activityStore.d.ts +70 -0
  221. package/dist/lib/observability/activityStore.d.ts.map +1 -0
  222. package/dist/lib/observability/activityStore.js +149 -0
  223. package/dist/lib/observability/activityStore.js.map +1 -0
  224. package/dist/lib/observability/apiKey.d.ts +55 -0
  225. package/dist/lib/observability/apiKey.d.ts.map +1 -0
  226. package/dist/lib/observability/apiKey.js +141 -0
  227. package/dist/lib/observability/apiKey.js.map +1 -0
  228. package/dist/lib/observability/logger.d.ts +30 -0
  229. package/dist/lib/observability/logger.d.ts.map +1 -0
  230. package/dist/lib/observability/logger.js +30 -0
  231. package/dist/lib/observability/logger.js.map +1 -0
  232. package/dist/lib/observability/quota.d.ts +33 -0
  233. package/dist/lib/observability/quota.d.ts.map +1 -0
  234. package/dist/lib/observability/quota.js +49 -0
  235. package/dist/lib/observability/quota.js.map +1 -0
  236. package/dist/lib/observability/requestId.d.ts +8 -0
  237. package/dist/lib/observability/requestId.d.ts.map +1 -0
  238. package/dist/lib/observability/requestId.js +24 -0
  239. package/dist/lib/observability/requestId.js.map +1 -0
  240. package/dist/lib/observability/sanitize.d.ts +77 -0
  241. package/dist/lib/observability/sanitize.d.ts.map +1 -0
  242. package/dist/lib/observability/sanitize.js +228 -0
  243. package/dist/lib/observability/sanitize.js.map +1 -0
  244. package/dist/lib/observability/scopes.d.ts +20 -0
  245. package/dist/lib/observability/scopes.d.ts.map +1 -0
  246. package/dist/lib/observability/scopes.js +77 -0
  247. package/dist/lib/observability/scopes.js.map +1 -0
  248. package/dist/lib/okxDexApi.d.ts +106 -0
  249. package/dist/lib/okxDexApi.d.ts.map +1 -0
  250. package/dist/lib/okxDexApi.js +221 -0
  251. package/dist/lib/okxDexApi.js.map +1 -0
  252. package/dist/lib/persistentJsonStore.d.ts +5 -0
  253. package/dist/lib/persistentJsonStore.d.ts.map +1 -0
  254. package/dist/lib/persistentJsonStore.js +39 -0
  255. package/dist/lib/persistentJsonStore.js.map +1 -0
  256. package/dist/lib/pharos/attestationPublisher.d.ts +50 -0
  257. package/dist/lib/pharos/attestationPublisher.d.ts.map +1 -0
  258. package/dist/lib/pharos/attestationPublisher.js +262 -0
  259. package/dist/lib/pharos/attestationPublisher.js.map +1 -0
  260. package/dist/lib/pharos/ecosystem.d.ts +52 -0
  261. package/dist/lib/pharos/ecosystem.d.ts.map +1 -0
  262. package/dist/lib/pharos/ecosystem.js +431 -0
  263. package/dist/lib/pharos/ecosystem.js.map +1 -0
  264. package/dist/lib/pharos/ecosystemEvidence.d.ts +53 -0
  265. package/dist/lib/pharos/ecosystemEvidence.d.ts.map +1 -0
  266. package/dist/lib/pharos/ecosystemEvidence.js +133 -0
  267. package/dist/lib/pharos/ecosystemEvidence.js.map +1 -0
  268. package/dist/lib/pharos/rpc.d.ts +44 -0
  269. package/dist/lib/pharos/rpc.d.ts.map +1 -0
  270. package/dist/lib/pharos/rpc.js +90 -0
  271. package/dist/lib/pharos/rpc.js.map +1 -0
  272. package/dist/lib/pharos/rpcEvidence.d.ts +49 -0
  273. package/dist/lib/pharos/rpcEvidence.d.ts.map +1 -0
  274. package/dist/lib/pharos/rpcEvidence.js +46 -0
  275. package/dist/lib/pharos/rpcEvidence.js.map +1 -0
  276. package/dist/lib/pharos/rpcMethods.d.ts +46 -0
  277. package/dist/lib/pharos/rpcMethods.d.ts.map +1 -0
  278. package/dist/lib/pharos/rpcMethods.js +176 -0
  279. package/dist/lib/pharos/rpcMethods.js.map +1 -0
  280. package/dist/lib/pharos/spvVerifier.d.ts +47 -0
  281. package/dist/lib/pharos/spvVerifier.d.ts.map +1 -0
  282. package/dist/lib/pharos/spvVerifier.js +105 -0
  283. package/dist/lib/pharos/spvVerifier.js.map +1 -0
  284. package/dist/lib/pharos/userSignedBroadcaster.d.ts +10 -0
  285. package/dist/lib/pharos/userSignedBroadcaster.d.ts.map +1 -0
  286. package/dist/lib/pharos/userSignedBroadcaster.js +50 -0
  287. package/dist/lib/pharos/userSignedBroadcaster.js.map +1 -0
  288. package/dist/lib/pharosClient.d.ts +53 -58
  289. package/dist/lib/pharosClient.d.ts.map +1 -1
  290. package/dist/lib/pharosClient.js +56 -63
  291. package/dist/lib/pharosClient.js.map +1 -1
  292. package/dist/lib/policy/actionPolicyEngine.d.ts +89 -53
  293. package/dist/lib/policy/actionPolicyEngine.d.ts.map +1 -1
  294. package/dist/lib/policy/actionPolicyEngine.js +373 -212
  295. package/dist/lib/policy/actionPolicyEngine.js.map +1 -1
  296. package/dist/lib/policy/agentPolicy.d.ts +29 -0
  297. package/dist/lib/policy/agentPolicy.d.ts.map +1 -0
  298. package/dist/lib/policy/agentPolicy.js +154 -0
  299. package/dist/lib/policy/agentPolicy.js.map +1 -0
  300. package/dist/lib/policy/policyPresets.d.ts +30 -0
  301. package/dist/lib/policy/policyPresets.d.ts.map +1 -0
  302. package/dist/lib/policy/policyPresets.js +124 -0
  303. package/dist/lib/policy/policyPresets.js.map +1 -0
  304. package/dist/lib/policy/writeExecutionGate.d.ts +23 -0
  305. package/dist/lib/policy/writeExecutionGate.d.ts.map +1 -0
  306. package/dist/lib/policy/writeExecutionGate.js +65 -0
  307. package/dist/lib/policy/writeExecutionGate.js.map +1 -0
  308. package/dist/lib/preparedTxStore.d.ts +21 -0
  309. package/dist/lib/preparedTxStore.d.ts.map +1 -0
  310. package/dist/lib/preparedTxStore.js +90 -0
  311. package/dist/lib/preparedTxStore.js.map +1 -0
  312. package/dist/lib/price/chainlinkPushProvider.d.ts +34 -0
  313. package/dist/lib/price/chainlinkPushProvider.d.ts.map +1 -0
  314. package/dist/lib/price/chainlinkPushProvider.js +36 -0
  315. package/dist/lib/price/chainlinkPushProvider.js.map +1 -0
  316. package/dist/lib/price/feedRegistry.d.ts +26 -0
  317. package/dist/lib/price/feedRegistry.d.ts.map +1 -0
  318. package/dist/lib/price/feedRegistry.js +67 -0
  319. package/dist/lib/price/feedRegistry.js.map +1 -0
  320. package/dist/lib/price/priceResolver.d.ts +35 -0
  321. package/dist/lib/price/priceResolver.d.ts.map +1 -0
  322. package/dist/lib/price/priceResolver.js +246 -0
  323. package/dist/lib/price/priceResolver.js.map +1 -0
  324. package/dist/lib/price/supraProvider.d.ts +9 -0
  325. package/dist/lib/price/supraProvider.d.ts.map +1 -0
  326. package/dist/lib/price/supraProvider.js +17 -0
  327. package/dist/lib/price/supraProvider.js.map +1 -0
  328. package/dist/lib/price/types.d.ts +67 -0
  329. package/dist/lib/price/types.d.ts.map +1 -0
  330. package/dist/lib/price/types.js +7 -0
  331. package/dist/lib/price/types.js.map +1 -0
  332. package/dist/lib/productionGuards.d.ts +16 -0
  333. package/dist/lib/productionGuards.d.ts.map +1 -0
  334. package/dist/lib/productionGuards.js +93 -0
  335. package/dist/lib/productionGuards.js.map +1 -0
  336. package/dist/lib/recipientSafety.d.ts +5 -0
  337. package/dist/lib/recipientSafety.d.ts.map +1 -0
  338. package/dist/lib/recipientSafety.js +28 -0
  339. package/dist/lib/recipientSafety.js.map +1 -0
  340. package/dist/lib/riskEngine.d.ts +45 -26
  341. package/dist/lib/riskEngine.d.ts.map +1 -1
  342. package/dist/lib/riskEngine.js +346 -283
  343. package/dist/lib/riskEngine.js.map +1 -1
  344. package/dist/lib/riskInclusion.d.ts +72 -0
  345. package/dist/lib/riskInclusion.d.ts.map +1 -0
  346. package/dist/lib/riskInclusion.js +252 -0
  347. package/dist/lib/riskInclusion.js.map +1 -0
  348. package/dist/lib/safeHandsRegistry.d.ts +32 -0
  349. package/dist/lib/safeHandsRegistry.d.ts.map +1 -0
  350. package/dist/lib/safeHandsRegistry.js +151 -0
  351. package/dist/lib/safeHandsRegistry.js.map +1 -0
  352. package/dist/lib/signer/index.d.ts +24 -24
  353. package/dist/lib/signer/index.d.ts.map +1 -1
  354. package/dist/lib/signer/index.js +110 -88
  355. package/dist/lib/signer/index.js.map +1 -1
  356. package/dist/lib/spendAccumulator.d.ts +24 -1
  357. package/dist/lib/spendAccumulator.d.ts.map +1 -1
  358. package/dist/lib/spendAccumulator.js +76 -6
  359. package/dist/lib/spendAccumulator.js.map +1 -1
  360. package/dist/lib/toolResponse.d.ts +30 -25
  361. package/dist/lib/toolResponse.d.ts.map +1 -1
  362. package/dist/lib/toolResponse.js +57 -53
  363. package/dist/lib/toolResponse.js.map +1 -1
  364. package/dist/lib/validation.d.ts +7 -0
  365. package/dist/lib/validation.d.ts.map +1 -0
  366. package/dist/lib/validation.js +62 -0
  367. package/dist/lib/validation.js.map +1 -0
  368. package/dist/lib/wallet/index.d.ts +33 -37
  369. package/dist/lib/wallet/index.d.ts.map +1 -1
  370. package/dist/lib/wallet/index.js +141 -128
  371. package/dist/lib/wallet/index.js.map +1 -1
  372. package/dist/lib/x402ReplayStore.d.ts +6 -0
  373. package/dist/lib/x402ReplayStore.d.ts.map +1 -0
  374. package/dist/lib/x402ReplayStore.js +79 -0
  375. package/dist/lib/x402ReplayStore.js.map +1 -0
  376. package/dist/safehands.zip +0 -0
  377. package/dist/sdk.d.ts +14 -0
  378. package/dist/sdk.d.ts.map +1 -0
  379. package/dist/sdk.js +25 -0
  380. package/dist/sdk.js.map +1 -0
  381. package/dist/tools/approveToken.d.ts +66 -45
  382. package/dist/tools/approveToken.d.ts.map +1 -1
  383. package/dist/tools/approveToken.js +152 -85
  384. package/dist/tools/approveToken.js.map +1 -1
  385. package/dist/tools/assessRisk.d.ts +66 -79
  386. package/dist/tools/assessRisk.d.ts.map +1 -1
  387. package/dist/tools/assessRisk.js +63 -104
  388. package/dist/tools/assessRisk.js.map +1 -1
  389. package/dist/tools/checkAllowance.d.ts +49 -43
  390. package/dist/tools/checkAllowance.d.ts.map +1 -1
  391. package/dist/tools/checkAllowance.js +78 -56
  392. package/dist/tools/checkAllowance.js.map +1 -1
  393. package/dist/tools/checkTokenSecurity.d.ts +103 -46
  394. package/dist/tools/checkTokenSecurity.d.ts.map +1 -1
  395. package/dist/tools/checkTokenSecurity.js +240 -95
  396. package/dist/tools/checkTokenSecurity.js.map +1 -1
  397. package/dist/tools/createAgentWallet.d.ts +30 -26
  398. package/dist/tools/createAgentWallet.d.ts.map +1 -1
  399. package/dist/tools/createAgentWallet.js +87 -58
  400. package/dist/tools/createAgentWallet.js.map +1 -1
  401. package/dist/tools/estimateGas.d.ts +84 -79
  402. package/dist/tools/estimateGas.d.ts.map +1 -1
  403. package/dist/tools/estimateGas.js +130 -124
  404. package/dist/tools/estimateGas.js.map +1 -1
  405. package/dist/tools/executeSwap.d.ts +109 -61
  406. package/dist/tools/executeSwap.d.ts.map +1 -1
  407. package/dist/tools/executeSwap.js +289 -141
  408. package/dist/tools/executeSwap.js.map +1 -1
  409. package/dist/tools/explainRisk.d.ts +29 -29
  410. package/dist/tools/explainRisk.d.ts.map +1 -1
  411. package/dist/tools/explainRisk.js +33 -32
  412. package/dist/tools/explainRisk.js.map +1 -1
  413. package/dist/tools/getAgentPolicy.d.ts +15 -0
  414. package/dist/tools/getAgentPolicy.d.ts.map +1 -0
  415. package/dist/tools/getAgentPolicy.js +16 -0
  416. package/dist/tools/getAgentPolicy.js.map +1 -0
  417. package/dist/tools/getAgentReputation.d.ts +31 -0
  418. package/dist/tools/getAgentReputation.d.ts.map +1 -0
  419. package/dist/tools/getAgentReputation.js +44 -0
  420. package/dist/tools/getAgentReputation.js.map +1 -0
  421. package/dist/tools/getAgentWallet.d.ts +21 -21
  422. package/dist/tools/getAgentWallet.d.ts.map +1 -1
  423. package/dist/tools/getAgentWallet.js +37 -27
  424. package/dist/tools/getAgentWallet.js.map +1 -1
  425. package/dist/tools/getAgentWalletBalance.d.ts +11 -11
  426. package/dist/tools/getAgentWalletBalance.d.ts.map +1 -1
  427. package/dist/tools/getAgentWalletBalance.js +102 -70
  428. package/dist/tools/getAgentWalletBalance.js.map +1 -1
  429. package/dist/tools/getExecutionHistory.d.ts +49 -49
  430. package/dist/tools/getExecutionHistory.d.ts.map +1 -1
  431. package/dist/tools/getExecutionHistory.js +148 -154
  432. package/dist/tools/getExecutionHistory.js.map +1 -1
  433. package/dist/tools/getGasPrice.d.ts +43 -43
  434. package/dist/tools/getGasPrice.d.ts.map +0 -0
  435. package/dist/tools/getGasPrice.js +59 -59
  436. package/dist/tools/getGasPrice.js.map +1 -1
  437. package/dist/tools/getPoolInfo.d.ts +75 -75
  438. package/dist/tools/getPoolInfo.d.ts.map +1 -1
  439. package/dist/tools/getPoolInfo.js +142 -137
  440. package/dist/tools/getPoolInfo.js.map +1 -1
  441. package/dist/tools/getSpvProof.d.ts +24 -0
  442. package/dist/tools/getSpvProof.d.ts.map +1 -0
  443. package/dist/tools/getSpvProof.js +64 -0
  444. package/dist/tools/getSpvProof.js.map +1 -0
  445. package/dist/tools/getTokenPrice.d.ts +56 -113
  446. package/dist/tools/getTokenPrice.d.ts.map +1 -1
  447. package/dist/tools/getTokenPrice.js +110 -117
  448. package/dist/tools/getTokenPrice.js.map +1 -1
  449. package/dist/tools/getTransactionStatus.d.ts +43 -43
  450. package/dist/tools/getTransactionStatus.d.ts.map +0 -0
  451. package/dist/tools/getTransactionStatus.js +59 -59
  452. package/dist/tools/getTransactionStatus.js.map +0 -0
  453. package/dist/tools/getWalletBalance.d.ts +103 -68
  454. package/dist/tools/getWalletBalance.d.ts.map +1 -1
  455. package/dist/tools/getWalletBalance.js +127 -87
  456. package/dist/tools/getWalletBalance.js.map +1 -1
  457. package/dist/tools/publishRiskScore.d.ts +85 -63
  458. package/dist/tools/publishRiskScore.d.ts.map +1 -1
  459. package/dist/tools/publishRiskScore.js +136 -88
  460. package/dist/tools/publishRiskScore.js.map +1 -1
  461. package/dist/tools/queryGoldsky.d.ts +20 -0
  462. package/dist/tools/queryGoldsky.d.ts.map +1 -0
  463. package/dist/tools/queryGoldsky.js +29 -0
  464. package/dist/tools/queryGoldsky.js.map +1 -0
  465. package/dist/tools/queryRiskRegistry.d.ts +38 -38
  466. package/dist/tools/queryRiskRegistry.d.ts.map +1 -1
  467. package/dist/tools/queryRiskRegistry.js +59 -55
  468. package/dist/tools/queryRiskRegistry.js.map +1 -1
  469. package/dist/tools/safehandsPreflightCheck.d.ts +92 -77
  470. package/dist/tools/safehandsPreflightCheck.d.ts.map +1 -1
  471. package/dist/tools/safehandsPreflightCheck.js +174 -47
  472. package/dist/tools/safehandsPreflightCheck.js.map +1 -1
  473. package/dist/tools/safehandsRiskReport.d.ts +96 -81
  474. package/dist/tools/safehandsRiskReport.d.ts.map +1 -1
  475. package/dist/tools/safehandsRiskReport.js +48 -28
  476. package/dist/tools/safehandsRiskReport.js.map +1 -1
  477. package/dist/tools/safehandsSafeExecute.d.ts +20 -20
  478. package/dist/tools/safehandsSafeExecute.d.ts.map +1 -1
  479. package/dist/tools/safehandsSafeExecute.js +164 -81
  480. package/dist/tools/safehandsSafeExecute.js.map +1 -1
  481. package/dist/tools/safehandsWalletHealth.d.ts +28 -14
  482. package/dist/tools/safehandsWalletHealth.d.ts.map +1 -1
  483. package/dist/tools/safehandsWalletHealth.js +145 -103
  484. package/dist/tools/safehandsWalletHealth.js.map +1 -1
  485. package/dist/tools/safehandsX402Preflight.d.ts +26 -26
  486. package/dist/tools/safehandsX402Preflight.d.ts.map +1 -1
  487. package/dist/tools/safehandsX402Preflight.js +86 -65
  488. package/dist/tools/safehandsX402Preflight.js.map +1 -1
  489. package/dist/tools/sendPayment.d.ts +63 -57
  490. package/dist/tools/sendPayment.d.ts.map +1 -1
  491. package/dist/tools/sendPayment.js +144 -117
  492. package/dist/tools/sendPayment.js.map +1 -1
  493. package/dist/tools/setAgentPolicy.d.ts +75 -0
  494. package/dist/tools/setAgentPolicy.d.ts.map +1 -0
  495. package/dist/tools/setAgentPolicy.js +80 -0
  496. package/dist/tools/setAgentPolicy.js.map +1 -0
  497. package/dist/tools/simulateTransaction.d.ts +64 -60
  498. package/dist/tools/simulateTransaction.d.ts.map +1 -1
  499. package/dist/tools/simulateTransaction.js +116 -83
  500. package/dist/tools/simulateTransaction.js.map +1 -1
  501. package/dist/tools/tokenRegistryStatus.d.ts +46 -26
  502. package/dist/tools/tokenRegistryStatus.d.ts.map +1 -1
  503. package/dist/tools/tokenRegistryStatus.js +126 -96
  504. package/dist/tools/tokenRegistryStatus.js.map +1 -1
  505. package/dist/tools/verifyRiskInclusion.d.ts +59 -0
  506. package/dist/tools/verifyRiskInclusion.d.ts.map +1 -0
  507. package/dist/tools/verifyRiskInclusion.js +40 -0
  508. package/dist/tools/verifyRiskInclusion.js.map +1 -0
  509. package/dist/tools/x402PayAndFetch.d.ts +87 -81
  510. package/dist/tools/x402PayAndFetch.d.ts.map +1 -1
  511. package/dist/tools/x402PayAndFetch.js +295 -152
  512. package/dist/tools/x402PayAndFetch.js.map +1 -1
  513. package/dist/worker.d.ts +3 -0
  514. package/dist/worker.d.ts.map +1 -0
  515. package/dist/worker.js +39 -0
  516. package/dist/worker.js.map +1 -0
  517. package/dist/x402Server.d.ts +1 -1
  518. package/dist/x402Server.d.ts.map +1 -1
  519. package/dist/x402Server.js +409 -252
  520. package/dist/x402Server.js.map +1 -1
  521. package/docs/REVIEWER_QUICKSTART.md +113 -0
  522. package/docs/SAFEHANDS_REVIEWER_DEMO_SCRIPT.md +228 -0
  523. package/package.json +130 -83
  524. package/contracts/RiskRegistry.json +0 -223
  525. package/contracts/RiskRegistry.sol +0 -58
  526. package/dist/lib/testDodoLive.d.ts +0 -2
  527. package/dist/lib/testDodoLive.d.ts.map +0 -1
  528. package/dist/lib/testDodoLive.js +0 -105
  529. package/dist/lib/testDodoLive.js.map +0 -1
  530. package/dist/lib/testLiveSafehands.d.ts +0 -2
  531. package/dist/lib/testLiveSafehands.d.ts.map +0 -1
  532. package/dist/lib/testLiveSafehands.js +0 -93
  533. package/dist/lib/testLiveSafehands.js.map +0 -1
  534. package/dist/lib/testRpc.d.ts +0 -2
  535. package/dist/lib/testRpc.d.ts.map +0 -1
  536. package/dist/lib/testRpc.js +0 -30
  537. package/dist/lib/testRpc.js.map +0 -1
  538. package/dist/lib/testRpcLive.d.ts +0 -2
  539. package/dist/lib/testRpcLive.d.ts.map +0 -1
  540. package/dist/lib/testRpcLive.js +0 -89
  541. package/dist/lib/testRpcLive.js.map +0 -1
  542. package/dist/lib/testTools.d.ts +0 -2
  543. package/dist/lib/testTools.d.ts.map +0 -1
  544. package/dist/lib/testTools.js +0 -398
  545. package/dist/lib/testTools.js.map +0 -1
  546. package/dist/lib/testX402Live.d.ts +0 -2
  547. package/dist/lib/testX402Live.d.ts.map +0 -1
  548. package/dist/lib/testX402Live.js +0 -160
  549. package/dist/lib/testX402Live.js.map +0 -1
  550. package/dist/scripts/checkDeploy.d.ts +0 -2
  551. package/dist/scripts/checkDeploy.d.ts.map +0 -1
  552. package/dist/scripts/checkDeploy.js +0 -25
  553. package/dist/scripts/checkDeploy.js.map +0 -1
  554. package/dist/scripts/deployRegistry.d.ts +0 -2
  555. package/dist/scripts/deployRegistry.d.ts.map +0 -1
  556. package/dist/scripts/deployRegistry.js +0 -101
  557. package/dist/scripts/deployRegistry.js.map +0 -1
  558. package/dist/scripts/testRegistry.d.ts +0 -2
  559. package/dist/scripts/testRegistry.d.ts.map +0 -1
  560. package/dist/scripts/testRegistry.js +0 -44
  561. package/dist/scripts/testRegistry.js.map +0 -1
  562. package/examples/dashboard/index.html +0 -337
  563. package/examples/pharos-skill-engine/SKILL.safehands.md +0 -85
  564. package/examples/pharos-skill-engine/assets/safehands/example-actions.json +0 -49
  565. package/examples/pharos-skill-engine/assets/safehands/policy-defaults.json +0 -11
  566. package/examples/pharos-skill-engine/references/safehands.md +0 -345
  567. package/examples/scenario-hack.ts +0 -38
  568. package/skill/SKILL.md +0 -133
  569. package/skill/assets/safehands/example-actions.json +0 -49
  570. package/skill/assets/safehands/policy-defaults.json +0 -11
  571. package/skill/references/safehands.md +0 -345
@@ -1,292 +1,453 @@
1
- export declare const PHAROS_ENVIRONMENT: string;
2
- export declare const CHAIN_ID: number;
3
- export declare const RPC_URL: string;
4
- export declare const EXPLORER_BASE: string;
5
- export declare const IS_MAINNET = false;
6
- export declare const CHAIN_REGISTRY: {
7
- readonly pharosAtlanticTestnet: {
8
- readonly environment: "atlantic-testnet";
9
- readonly chainId: 688689;
10
- readonly isMainnet: false;
11
- readonly rpcUrlEnv: "PHAROS_RPC_URL";
12
- readonly defaultRpcUrl: "https://atlantic.dplabs-internal.com/";
13
- readonly explorerUrl: "https://atlantic.pharosscan.xyz/";
14
- readonly docsSource: "https://docs.pharosnetwork.xyz/developer-guide/hardhat/write-your-first-nft";
15
- };
16
- };
17
- /** Native PHRS sentinel address used by DODO API for native token */
18
- export declare const PHRS_ADDRESS: "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE";
19
- export declare const USDT_ADDRESS: "0xE7E84B8B4f39C507499c40B4ac199B050e2882d5";
20
- /** Primary USDC for Pharos Skill Engine (from official tokens.json) */
21
- export declare const USDC_ADDRESS: "0xE0BE08c77f415F577A1B3A9aD7a1Df1479564ec8";
22
- /** Alternate USDC listed by Circle's contract addresses page (not in Skill Engine tokens.json) */
23
- export declare const CIRCLE_USDC_ADDRESS: "0xcfC8330f4BCAB529c625D12781b1C19466A9Fc8B";
24
- /** @deprecated Use USDC_ADDRESS instead. Kept for backward compatibility. */
25
- export declare const X402_DEMO_USDC_ADDRESS: "0xE0BE08c77f415F577A1B3A9aD7a1Df1479564ec8";
26
- export declare const TEST_USDC_ADDRESS: "0xE0BE08c77f415F577A1B3A9aD7a1Df1479564ec8";
27
- export declare const WBTC_ADDRESS: "0x0c64F03EEa5c30946D5c55B4b532D08ad74638a4";
28
- export declare const WETH_ADDRESS: "0x7d211F77525ea39A0592794f793cC1036eEaccD5";
29
- export declare const WPHRS_ADDRESS: "0x838800b758277CC111B2d48Ab01e5E164f8E9471";
30
- export declare const TOKEN_REGISTRY: {
31
- readonly PHRS: {
32
- readonly symbol: "PHRS";
33
- readonly address: "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE";
34
- readonly decimals: 18;
35
- readonly chainId: number;
36
- readonly environment: string;
37
- readonly isMainnet: false;
38
- readonly isCanonical: true;
39
- readonly isTestToken: true;
40
- readonly purpose: "native PHRS sentinel address for DODO route API";
41
- readonly docsSource: "https://docs.pharos.xyz/";
42
- };
43
- readonly USDC: {
44
- readonly symbol: "USDC";
45
- readonly address: "0xE0BE08c77f415F577A1B3A9aD7a1Df1479564ec8";
46
- readonly decimals: 6;
47
- readonly chainId: number;
48
- readonly environment: string;
49
- readonly isMainnet: false;
50
- readonly isCanonical: true;
51
- readonly isTestToken: true;
52
- readonly purpose: "Pharos Skill Engine USDC — the USDC listed in the official pharos-skill-engine-0.1.0 assets/tokens.json for atlantic-testnet";
53
- readonly docsSource: "pharos-skill-engine-0.1.0/assets/tokens.json";
54
- readonly verificationStatus: "DOCS_VERIFIED_FROM_PHAROS_SKILL_ENGINE";
55
- };
56
- readonly CIRCLE_USDC: {
57
- readonly symbol: "CIRCLE_USDC";
58
- readonly address: "0xcfC8330f4BCAB529c625D12781b1C19466A9Fc8B";
59
- readonly decimals: 6;
60
- readonly chainId: number;
61
- readonly environment: string;
62
- readonly isMainnet: false;
63
- readonly isCanonical: true;
64
- readonly isTestToken: true;
65
- readonly purpose: "Alternate USDC listed by Circle contract addresses page and Pharos docs token registry; not the primary token in Skill Engine tokens.json";
66
- readonly docsSource: "https://developers.circle.com/stablecoins/usdc-contract-addresses and https://docs.pharos.xyz/getting-started/token-registry";
67
- readonly verificationStatus: "CIRCLE_REFERENCED_USDC";
68
- };
69
- readonly USDT: {
70
- readonly symbol: "USDT";
71
- readonly address: "0xE7E84B8B4f39C507499c40B4ac199B050e2882d5";
72
- readonly decimals: 6;
73
- readonly chainId: number;
74
- readonly environment: string;
75
- readonly isMainnet: false;
76
- readonly isCanonical: true;
77
- readonly isTestToken: true;
78
- readonly purpose: "canonical Pharos Atlantic Testnet USDT (Tether USD)";
79
- readonly docsSource: "https://docs.pharos.xyz/getting-started/token-registry";
80
- readonly verificationStatus: "DOCS_VERIFIED";
81
- };
82
- readonly WBTC: {
83
- readonly symbol: "WBTC";
84
- readonly address: "0x0c64F03EEa5c30946D5c55B4b532D08ad74638a4";
85
- readonly decimals: 18;
86
- readonly chainId: number;
87
- readonly environment: string;
88
- readonly isMainnet: false;
89
- readonly isCanonical: true;
90
- readonly isTestToken: true;
91
- readonly purpose: "canonical Pharos Atlantic Testnet WBTC (Wrapped BTC)";
92
- readonly docsSource: "https://docs.pharos.xyz/getting-started/token-registry";
93
- readonly verificationStatus: "DOCS_VERIFIED";
94
- };
95
- readonly WETH: {
96
- readonly symbol: "WETH";
97
- readonly address: "0x7d211F77525ea39A0592794f793cC1036eEaccD5";
98
- readonly decimals: 18;
99
- readonly chainId: number;
100
- readonly environment: string;
101
- readonly isMainnet: false;
102
- readonly isCanonical: true;
103
- readonly isTestToken: true;
104
- readonly purpose: "canonical Pharos Atlantic Testnet WETH (Wrapped ETH)";
105
- readonly docsSource: "https://docs.pharos.xyz/getting-started/token-registry";
106
- readonly verificationStatus: "DOCS_VERIFIED";
107
- };
108
- readonly WPHRS: {
109
- readonly symbol: "WPHRS";
110
- readonly address: "0x838800b758277CC111B2d48Ab01e5E164f8E9471";
111
- readonly decimals: 18;
112
- readonly chainId: number;
113
- readonly environment: string;
114
- readonly isMainnet: false;
115
- readonly isCanonical: true;
116
- readonly isTestToken: true;
117
- readonly purpose: "canonical Pharos Atlantic Testnet WPHRS (Wrapped PHRS)";
118
- readonly docsSource: "https://docs.pharos.xyz/getting-started/token-registry";
119
- readonly verificationStatus: "DOCS_VERIFIED";
120
- };
121
- };
122
- export declare const TOKEN_DECIMALS: Record<string, number>;
123
- export declare const TOKEN_MAP: Record<string, `0x${string}`>;
124
- export declare const DODO_APPROVE_ADDRESS: "0x4Cf317b8918FbE8A890c01eDAb7d548555Ac2cE9";
125
- export declare const DODO_ROUTE_PROXY_ADDRESS: "0x819829e5CF6e19F9fED92F6b4CC1edF45a2cC4A2";
126
- export declare const POSITION_MANAGER_ADDRESS: "0x1c430d84DD6185b1Ea2d4693e0033799d193542f";
127
- export declare const DODO_API_BASE: string;
128
- export declare const DODO_API_KEY: string | undefined;
129
- export declare const DODO_DEFAULT_SLIPPAGE = 3.225;
130
- export declare const DODO_ROUTE_ENDPOINT = "/route-service/v2/widget/getdodoroute";
131
- export declare const RISK_BLOCK_THRESHOLD = 80;
132
- export declare const RISK_WARN_THRESHOLD = 60;
133
- export declare const MAX_SLIPPAGE_PCT = 5;
134
- export declare const MAX_BALANCE_USAGE_PCT = 90;
135
- export declare const MAX_TX_AMOUNT_PHRS: string;
136
- export declare const MAX_APPROVAL_AMOUNT_USDC: string;
137
- export declare const MAX_DAILY_SPEND_USD: string;
138
- export declare const MAX_X402_PAYMENT_USDC: string;
139
- export declare const X402_PAYMENT_TOKEN_ADDRESS: `0x${string}`;
140
- export declare const RISK_WEIGHTS: {
141
- readonly liquidityRisk: 0.25;
142
- readonly slippageRisk: 0.25;
143
- readonly counterpartyRisk: 0.2;
144
- readonly balanceRisk: 0.15;
145
- readonly marketConditionRisk: 0.15;
146
- };
147
- export declare const ERC20_ABI: readonly [{
148
- readonly name: "approve";
149
- readonly type: "function";
150
- readonly stateMutability: "nonpayable";
151
- readonly inputs: readonly [{
152
- readonly name: "spender";
153
- readonly type: "address";
154
- }, {
155
- readonly name: "amount";
156
- readonly type: "uint256";
157
- }];
158
- readonly outputs: readonly [{
159
- readonly name: "";
160
- readonly type: "bool";
161
- }];
162
- }, {
163
- readonly name: "allowance";
164
- readonly type: "function";
165
- readonly stateMutability: "view";
166
- readonly inputs: readonly [{
167
- readonly name: "owner";
168
- readonly type: "address";
169
- }, {
170
- readonly name: "spender";
171
- readonly type: "address";
172
- }];
173
- readonly outputs: readonly [{
174
- readonly name: "";
175
- readonly type: "uint256";
176
- }];
177
- }, {
178
- readonly name: "balanceOf";
179
- readonly type: "function";
180
- readonly stateMutability: "view";
181
- readonly inputs: readonly [{
182
- readonly name: "account";
183
- readonly type: "address";
184
- }];
185
- readonly outputs: readonly [{
186
- readonly name: "";
187
- readonly type: "uint256";
188
- }];
189
- }, {
190
- readonly name: "decimals";
191
- readonly type: "function";
192
- readonly stateMutability: "view";
193
- readonly inputs: readonly [];
194
- readonly outputs: readonly [{
195
- readonly name: "";
196
- readonly type: "uint8";
197
- }];
198
- }, {
199
- readonly name: "symbol";
200
- readonly type: "function";
201
- readonly stateMutability: "view";
202
- readonly inputs: readonly [];
203
- readonly outputs: readonly [{
204
- readonly name: "";
205
- readonly type: "string";
206
- }];
207
- }, {
208
- readonly name: "transfer";
209
- readonly type: "function";
210
- readonly stateMutability: "nonpayable";
211
- readonly inputs: readonly [{
212
- readonly name: "to";
213
- readonly type: "address";
214
- }, {
215
- readonly name: "amount";
216
- readonly type: "uint256";
217
- }];
218
- readonly outputs: readonly [{
219
- readonly name: "";
220
- readonly type: "bool";
221
- }];
222
- }];
223
- export declare const RISK_REGISTRY_ADDRESS: `0x${string}`;
224
- export declare const RISK_REGISTRY_ABI: readonly [{
225
- readonly name: "publish";
226
- readonly type: "function";
227
- readonly stateMutability: "nonpayable";
228
- readonly inputs: readonly [{
229
- readonly name: "wallet";
230
- readonly type: "address";
231
- }, {
232
- readonly name: "score";
233
- readonly type: "uint256";
234
- }, {
235
- readonly name: "riskLevel";
236
- readonly type: "string";
237
- }, {
238
- readonly name: "recommendation";
239
- readonly type: "string";
240
- }];
241
- readonly outputs: readonly [];
242
- }, {
243
- readonly name: "query";
244
- readonly type: "function";
245
- readonly stateMutability: "view";
246
- readonly inputs: readonly [{
247
- readonly name: "wallet";
248
- readonly type: "address";
249
- }];
250
- readonly outputs: readonly [{
251
- readonly name: "";
252
- readonly type: "tuple";
253
- readonly components: readonly [{
254
- readonly name: "score";
255
- readonly type: "uint256";
256
- }, {
257
- readonly name: "riskLevel";
258
- readonly type: "string";
259
- }, {
260
- readonly name: "recommendation";
261
- readonly type: "string";
262
- }, {
263
- readonly name: "timestamp";
264
- readonly type: "uint256";
265
- }, {
266
- readonly name: "assessedBy";
267
- readonly type: "address";
268
- }];
269
- }];
270
- }, {
271
- readonly anonymous: false;
272
- readonly name: "RiskPublished";
273
- readonly type: "event";
274
- readonly inputs: readonly [{
275
- readonly indexed: true;
276
- readonly name: "wallet";
277
- readonly type: "address";
278
- }, {
279
- readonly indexed: false;
280
- readonly name: "score";
281
- readonly type: "uint256";
282
- }, {
283
- readonly indexed: false;
284
- readonly name: "riskLevel";
285
- readonly type: "string";
286
- }, {
287
- readonly indexed: false;
288
- readonly name: "assessedBy";
289
- readonly type: "address";
290
- }];
291
- }];
1
+ /** Package version, read once from package.json so callers never hardcode it. */
2
+ export declare const SAFEHANDS_VERSION: string;
3
+ /** User-agent for outbound HTTP calls (GoPlus etc.), version-synced. */
4
+ export declare const SAFEHANDS_USER_AGENT: string;
5
+ export declare const PHAROS_ENVIRONMENT: string;
6
+ export declare const CHAIN_ID: number;
7
+ export declare const RPC_URL: string;
8
+ export declare const EXPLORER_BASE: string;
9
+ export declare const IS_MAINNET: boolean;
10
+ /** Native PROS — sentinel address used by DODO API for native token */
11
+ export declare const PROS_ADDRESS: "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE";
12
+ export declare const USDT_ADDRESS: "0xE7E84B8B4f39C507499c40B4ac199B050e2882d5";
13
+ /** Skill-Engine-compat USDC (official pharos-skill-engine tokens.json); testnet compat list only. */
14
+ export declare const USDC_ADDRESS: "0xE0BE08c77f415F577A1B3A9aD7a1Df1479564ec8";
15
+ /** Circle's Pharos TESTNET USDC (per Circle's contract-addresses page). Used only as the Atlantic alt-USDC route fallback — never a mainnet claim. */
16
+ export declare const CIRCLE_USDC_ADDRESS: "0xcfC8330f4BCAB529c625D12781b1C19466A9Fc8B";
17
+ export declare const WBTC_ADDRESS: "0x0c64F03EEa5c30946D5c55B4b532D08ad74638a4";
18
+ export declare const WETH_ADDRESS: "0x7d211F77525ea39A0592794f793cC1036eEaccD5";
19
+ export declare const WPROS_ADDRESS: "0x838800b758277CC111B2d48Ab01e5E164f8E9471";
20
+ export declare const TOKEN_REGISTRY: {
21
+ readonly PROS: {
22
+ readonly symbol: "PROS";
23
+ readonly address: "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE";
24
+ readonly decimals: 18;
25
+ readonly chainId: 688689;
26
+ readonly environment: "atlantic-testnet";
27
+ readonly isMainnet: false;
28
+ readonly isCanonical: true;
29
+ readonly isTestToken: true;
30
+ readonly purpose: "native PROS sentinel address for DODO route API";
31
+ readonly docsSource: "https://docs.pharos.xyz/";
32
+ };
33
+ readonly USDC: {
34
+ readonly symbol: "USDC";
35
+ readonly address: "0xE0BE08c77f415F577A1B3A9aD7a1Df1479564ec8";
36
+ readonly decimals: 6;
37
+ readonly chainId: 688689;
38
+ readonly environment: "atlantic-testnet";
39
+ readonly isMainnet: false;
40
+ readonly isCanonical: true;
41
+ readonly isTestToken: true;
42
+ readonly purpose: "Pharos Skill Engine USDC: the USDC listed in the official pharos-skill-engine-0.1.0 assets/tokens.json for pacific-mainnet";
43
+ readonly docsSource: "pharos-skill-engine-0.1.0/assets/tokens.json";
44
+ readonly verificationStatus: "DOCS_VERIFIED_FROM_PHAROS_SKILL_ENGINE";
45
+ };
46
+ readonly CIRCLE_USDC: {
47
+ readonly symbol: "CIRCLE_USDC";
48
+ readonly address: "0xcfC8330f4BCAB529c625D12781b1C19466A9Fc8B";
49
+ readonly decimals: 6;
50
+ readonly chainId: 688689;
51
+ readonly environment: "atlantic-testnet";
52
+ readonly isMainnet: false;
53
+ readonly isCanonical: true;
54
+ readonly isTestToken: true;
55
+ readonly purpose: "Circle's Pharos TESTNET USDC (Circle contract-addresses page, re-checked 2026-07-10); Atlantic alt-USDC route fallback, not the primary Skill-Engine token";
56
+ readonly docsSource: "https://developers.circle.com/stablecoins/usdc-contract-addresses";
57
+ readonly verificationStatus: "CIRCLE_DOCS_VERIFIED_TESTNET";
58
+ };
59
+ readonly USDT: {
60
+ readonly symbol: "USDT";
61
+ readonly address: "0xE7E84B8B4f39C507499c40B4ac199B050e2882d5";
62
+ readonly decimals: 6;
63
+ readonly chainId: 688689;
64
+ readonly environment: "atlantic-testnet";
65
+ readonly isMainnet: false;
66
+ readonly isCanonical: true;
67
+ readonly isTestToken: true;
68
+ readonly purpose: "canonical Pharos Atlantic Testnet USDT (Tether USD)";
69
+ readonly docsSource: "https://docs.pharos.xyz/getting-started/token-registry";
70
+ readonly verificationStatus: "DOCS_VERIFIED";
71
+ };
72
+ readonly WBTC: {
73
+ readonly symbol: "WBTC";
74
+ readonly address: "0x0c64F03EEa5c30946D5c55B4b532D08ad74638a4";
75
+ readonly decimals: 18;
76
+ readonly chainId: 688689;
77
+ readonly environment: "atlantic-testnet";
78
+ readonly isMainnet: false;
79
+ readonly isCanonical: true;
80
+ readonly isTestToken: true;
81
+ readonly purpose: "canonical Pharos Atlantic Testnet WBTC (Wrapped BTC)";
82
+ readonly docsSource: "https://docs.pharos.xyz/getting-started/token-registry";
83
+ readonly verificationStatus: "DOCS_VERIFIED";
84
+ };
85
+ readonly WETH: {
86
+ readonly symbol: "WETH";
87
+ readonly address: "0x7d211F77525ea39A0592794f793cC1036eEaccD5";
88
+ readonly decimals: 18;
89
+ readonly chainId: 688689;
90
+ readonly environment: "atlantic-testnet";
91
+ readonly isMainnet: false;
92
+ readonly isCanonical: true;
93
+ readonly isTestToken: true;
94
+ readonly purpose: "canonical Pharos Atlantic Testnet WETH (Wrapped ETH)";
95
+ readonly docsSource: "https://docs.pharos.xyz/getting-started/token-registry";
96
+ readonly verificationStatus: "DOCS_VERIFIED";
97
+ };
98
+ readonly WPROS: {
99
+ readonly symbol: "WPROS";
100
+ readonly address: "0x838800b758277CC111B2d48Ab01e5E164f8E9471";
101
+ readonly decimals: 18;
102
+ readonly chainId: 688689;
103
+ readonly environment: "atlantic-testnet";
104
+ readonly isMainnet: false;
105
+ readonly isCanonical: true;
106
+ readonly isTestToken: true;
107
+ readonly purpose: "canonical Pharos Atlantic Testnet WPROS (Wrapped PROS)";
108
+ readonly docsSource: "https://docs.pharos.xyz/getting-started/token-registry";
109
+ readonly verificationStatus: "DOCS_VERIFIED";
110
+ };
111
+ };
112
+ export declare const PACIFIC_WPROS_ADDRESS: "0x52c48d4213107b20bc583832b0d951fb9ca8f0b0";
113
+ export declare const PACIFIC_USDC_ADDRESS: "0xc879c018db60520f4355c26ed1a6d572cdac1815";
114
+ export declare const PACIFIC_LINK_ADDRESS: "0x51e2A24742Db77604B881d6781Ee16B5b8fcBE29";
115
+ export declare const PACIFIC_WETH_ADDRESS: "0x1f4b7011Ee3d53969bb67F59428a9ec0477856E9";
116
+ export declare const PACIFIC_MAINNET_TOKEN_REGISTRY: {
117
+ readonly WPROS: {
118
+ readonly symbol: "WPROS";
119
+ readonly name: "Wrapped PROS";
120
+ readonly address: "0x52c48d4213107b20bc583832b0d951fb9ca8f0b0";
121
+ readonly decimals: 18;
122
+ readonly chainId: 1672;
123
+ readonly environment: "pacific-mainnet";
124
+ readonly isMainnet: true;
125
+ readonly isCanonical: true;
126
+ readonly docsSource: "https://docs.pharos.xyz/getting-started/token-registry";
127
+ readonly verificationStatus: "DOCS_VERIFIED";
128
+ };
129
+ readonly USDC: {
130
+ readonly symbol: "USDC";
131
+ readonly name: "USD Coin (Circle-deployed)";
132
+ readonly address: "0xc879c018db60520f4355c26ed1a6d572cdac1815";
133
+ readonly decimals: 6;
134
+ readonly chainId: 1672;
135
+ readonly environment: "pacific-mainnet";
136
+ readonly isMainnet: true;
137
+ readonly isCanonical: true;
138
+ readonly docsSource: "https://docs.pharos.xyz/getting-started/token-registry and https://developers.circle.com/stablecoins/usdc-contract-addresses";
139
+ readonly verificationStatus: "DOCS_VERIFIED";
140
+ };
141
+ readonly LINK: {
142
+ readonly symbol: "LINK";
143
+ readonly name: "ChainLink Token";
144
+ readonly address: "0x51e2A24742Db77604B881d6781Ee16B5b8fcBE29";
145
+ readonly decimals: 18;
146
+ readonly chainId: 1672;
147
+ readonly environment: "pacific-mainnet";
148
+ readonly isMainnet: true;
149
+ readonly isCanonical: true;
150
+ readonly docsSource: "https://docs.pharos.xyz/getting-started/token-registry";
151
+ readonly verificationStatus: "DOCS_VERIFIED";
152
+ };
153
+ readonly WETH: {
154
+ readonly symbol: "WETH";
155
+ readonly name: "Wrapped Ether";
156
+ readonly address: "0x1f4b7011Ee3d53969bb67F59428a9ec0477856E9";
157
+ readonly decimals: 18;
158
+ readonly chainId: 1672;
159
+ readonly environment: "pacific-mainnet";
160
+ readonly isMainnet: true;
161
+ readonly isCanonical: true;
162
+ readonly docsSource: "https://docs.pharos.xyz/getting-started/token-registry";
163
+ readonly verificationStatus: "DOCS_VERIFIED";
164
+ };
165
+ };
166
+ export declare const TOKEN_DECIMALS: Record<string, number>;
167
+ export declare const TOKEN_MAP: Record<string, `0x${string}`>;
168
+ export declare const PACIFIC_TOKEN_MAP: Record<string, `0x${string}`>;
169
+ export declare const PACIFIC_TOKEN_DECIMALS: Record<string, number>;
170
+ /** Network-aware token symbol→address map (mainnet-first). */
171
+ export declare function activeTokenMap(): Record<string, `0x${string}`>;
172
+ /** Network-aware token decimals (mainnet-first). */
173
+ export declare function activeTokenDecimals(): Record<string, number>;
174
+ /** Active canonical USDC address (mainnet 0xc879…, else Skill-Engine USDC). */
175
+ export declare function activeUsdcAddress(): `0x${string}`;
176
+ /** Active network token registry metadata (mainnet-first). */
177
+ export declare function activeTokenRegistry(): Record<string, {
178
+ symbol: string;
179
+ address: `0x${string}`;
180
+ decimals: number;
181
+ [key: string]: unknown;
182
+ }>;
183
+ /** x402 payment assets SafeHands recognizes for the active network. */
184
+ export declare function activeX402AllowedTokenAddresses(): `0x${string}`[];
185
+ export declare const DODO_APPROVE_ADDRESS: "0x4Cf317b8918FbE8A890c01eDAb7d548555Ac2cE9";
186
+ export declare const DODO_ROUTE_PROXY_ADDRESS: "0x819829e5CF6e19F9fED92F6b4CC1edF45a2cC4A2";
187
+ export declare function activeDodoSpenderAllowlist(): `0x${string}`[];
188
+ export declare function activeDodoRouterAllowlist(): `0x${string}`[];
189
+ export declare function isAllowedDodoSpender(address: string): boolean;
190
+ export declare function isAllowedDodoRouter(address: string): boolean;
191
+ export declare const DODO_API_BASE: string;
192
+ export declare const DODO_API_KEY: string | undefined;
193
+ export declare const DODO_DEFAULT_SLIPPAGE = 3;
194
+ export declare const DODO_ROUTE_ENDPOINT = "/route-service/v2/widget/getdodoroute";
195
+ export declare const OKX_DEX_ROUTER_ADDRESS: "0x75f21a97bd89a9a5683a9f46b5d5b4a080708dea";
196
+ export declare const OKX_DEX_APPROVE_ADDRESS: "0x78466A1488f1883d71cFddd1c621351572dE0a1C";
197
+ export declare function activeOkxSpenderAllowlist(): `0x${string}`[];
198
+ export declare function activeOkxRouterAllowlist(): `0x${string}`[];
199
+ export declare function isAllowedOkxSpender(address: string): boolean;
200
+ export declare function isAllowedOkxRouter(address: string): boolean;
201
+ export declare const OKX_API_BASE: string;
202
+ export declare const OKX_SWAP_ENDPOINT = "/api/v6/dex/aggregator/swap";
203
+ export interface OkxApiCredentials {
204
+ apiKey: string;
205
+ apiSecret: string;
206
+ passphrase: string;
207
+ projectId?: string;
208
+ }
209
+ export declare function okxApiCredentials(): {
210
+ ok: true;
211
+ credentials: OkxApiCredentials;
212
+ } | {
213
+ ok: false;
214
+ missing: string[];
215
+ };
216
+ export declare const RISK_BLOCK_THRESHOLD = 80;
217
+ export declare const COUNTERPARTY_CRITICAL_THRESHOLD = 90;
218
+ export declare const MAX_SLIPPAGE_PCT = 5;
219
+ export declare const MAX_BALANCE_USAGE_PCT = 90;
220
+ export declare const MAX_TX_AMOUNT_PROS: string;
221
+ export declare const MAX_APPROVAL_AMOUNT_USDC: string;
222
+ export declare const MAX_DAILY_SPEND_USD: string;
223
+ export declare const MAX_X402_PAYMENT_USDC: string;
224
+ export declare const X402_PAYMENT_TOKEN_ADDRESS: `0x${string}`;
225
+ export declare const RISK_WEIGHTS: {
226
+ readonly liquidityRisk: 0.25;
227
+ readonly slippageRisk: 0.25;
228
+ readonly counterpartyRisk: 0.2;
229
+ readonly balanceRisk: 0.15;
230
+ readonly marketConditionRisk: 0.15;
231
+ };
232
+ export declare const ERC20_ABI: readonly [{
233
+ readonly name: "approve";
234
+ readonly type: "function";
235
+ readonly stateMutability: "nonpayable";
236
+ readonly inputs: readonly [{
237
+ readonly name: "spender";
238
+ readonly type: "address";
239
+ }, {
240
+ readonly name: "amount";
241
+ readonly type: "uint256";
242
+ }];
243
+ readonly outputs: readonly [{
244
+ readonly name: "";
245
+ readonly type: "bool";
246
+ }];
247
+ }, {
248
+ readonly name: "allowance";
249
+ readonly type: "function";
250
+ readonly stateMutability: "view";
251
+ readonly inputs: readonly [{
252
+ readonly name: "owner";
253
+ readonly type: "address";
254
+ }, {
255
+ readonly name: "spender";
256
+ readonly type: "address";
257
+ }];
258
+ readonly outputs: readonly [{
259
+ readonly name: "";
260
+ readonly type: "uint256";
261
+ }];
262
+ }, {
263
+ readonly name: "balanceOf";
264
+ readonly type: "function";
265
+ readonly stateMutability: "view";
266
+ readonly inputs: readonly [{
267
+ readonly name: "account";
268
+ readonly type: "address";
269
+ }];
270
+ readonly outputs: readonly [{
271
+ readonly name: "";
272
+ readonly type: "uint256";
273
+ }];
274
+ }, {
275
+ readonly name: "decimals";
276
+ readonly type: "function";
277
+ readonly stateMutability: "view";
278
+ readonly inputs: readonly [];
279
+ readonly outputs: readonly [{
280
+ readonly name: "";
281
+ readonly type: "uint8";
282
+ }];
283
+ }, {
284
+ readonly name: "symbol";
285
+ readonly type: "function";
286
+ readonly stateMutability: "view";
287
+ readonly inputs: readonly [];
288
+ readonly outputs: readonly [{
289
+ readonly name: "";
290
+ readonly type: "string";
291
+ }];
292
+ }, {
293
+ readonly name: "transfer";
294
+ readonly type: "function";
295
+ readonly stateMutability: "nonpayable";
296
+ readonly inputs: readonly [{
297
+ readonly name: "to";
298
+ readonly type: "address";
299
+ }, {
300
+ readonly name: "amount";
301
+ readonly type: "uint256";
302
+ }];
303
+ readonly outputs: readonly [{
304
+ readonly name: "";
305
+ readonly type: "bool";
306
+ }];
307
+ }];
308
+ export declare const REQUIRE_AUTHORIZED_AGENT_FOR_WRITE: boolean;
309
+ export declare const REQUIRE_AUTHORIZED_AGENT_FOR_X402: boolean;
310
+ export declare const AUTO_AUTHORIZE_AGENT_WALLET: boolean;
311
+ /** Read-path resolver: env override → Pacific-mainnet baked default → "" (chainId-guarded, fail-closed). */
312
+ export declare function resolveSafeHandsRegistryAddress(chainId?: number): string;
313
+ /**
314
+ * Read-path resolver: env override → Pacific-mainnet baked default → "" (chainId-guarded, fail-closed).
315
+ * NOTE: the legacy SAFEHANDS_RISK_REGISTRY_ADDRESS var aliases the REGISTRY contract only and is
316
+ * deliberately NOT accepted here — the attestation ledger is a different contract, and aliasing
317
+ * both to one address produced ABI-mismatch reads.
318
+ */
319
+ export declare function resolveSafeHandsAttestationAddress(chainId?: number): string;
320
+ export declare const SAFEHANDS_REGISTRY_ADDRESS: string;
321
+ export declare const SAFEHANDS_ATTESTATION_ADDRESS: string;
322
+ export declare const SAFEHANDS_REGISTRY_ABI: readonly [{
323
+ readonly name: "owner";
324
+ readonly type: "function";
325
+ readonly stateMutability: "view";
326
+ readonly inputs: readonly [];
327
+ readonly outputs: readonly [{
328
+ readonly type: "address";
329
+ }];
330
+ }, {
331
+ readonly name: "isAuthorizedOperator";
332
+ readonly type: "function";
333
+ readonly stateMutability: "view";
334
+ readonly inputs: readonly [{
335
+ readonly type: "address";
336
+ }];
337
+ readonly outputs: readonly [{
338
+ readonly type: "bool";
339
+ }];
340
+ }, {
341
+ readonly name: "isAuthorizedAgent";
342
+ readonly type: "function";
343
+ readonly stateMutability: "view";
344
+ readonly inputs: readonly [{
345
+ readonly type: "address";
346
+ }];
347
+ readonly outputs: readonly [{
348
+ readonly type: "bool";
349
+ }];
350
+ }, {
351
+ readonly name: "setAuthorizedAgent";
352
+ readonly type: "function";
353
+ readonly stateMutability: "nonpayable";
354
+ readonly inputs: readonly [{
355
+ readonly type: "address";
356
+ readonly name: "agent";
357
+ }, {
358
+ readonly type: "bool";
359
+ readonly name: "authorized";
360
+ }];
361
+ readonly outputs: readonly [];
362
+ }, {
363
+ readonly name: "setAuthorizedAgents";
364
+ readonly type: "function";
365
+ readonly stateMutability: "nonpayable";
366
+ readonly inputs: readonly [{
367
+ readonly type: "address[]";
368
+ readonly name: "agents";
369
+ }, {
370
+ readonly type: "bool";
371
+ readonly name: "authorized";
372
+ }];
373
+ readonly outputs: readonly [];
374
+ }, {
375
+ readonly name: "setOperator";
376
+ readonly type: "function";
377
+ readonly stateMutability: "nonpayable";
378
+ readonly inputs: readonly [{
379
+ readonly type: "address";
380
+ readonly name: "operator";
381
+ }, {
382
+ readonly type: "bool";
383
+ readonly name: "authorized";
384
+ }];
385
+ readonly outputs: readonly [];
386
+ }, {
387
+ readonly name: "currentMerkleRoot";
388
+ readonly type: "function";
389
+ readonly stateMutability: "view";
390
+ readonly inputs: readonly [];
391
+ readonly outputs: readonly [{
392
+ readonly type: "bytes32";
393
+ }];
394
+ }, {
395
+ readonly name: "currentDataURI";
396
+ readonly type: "function";
397
+ readonly stateMutability: "view";
398
+ readonly inputs: readonly [];
399
+ readonly outputs: readonly [{
400
+ readonly type: "string";
401
+ }];
402
+ }, {
403
+ readonly name: "commitRiskRoot";
404
+ readonly type: "function";
405
+ readonly stateMutability: "nonpayable";
406
+ readonly inputs: readonly [{
407
+ readonly type: "bytes32";
408
+ readonly name: "root";
409
+ }, {
410
+ readonly type: "string";
411
+ readonly name: "dataURI";
412
+ }];
413
+ readonly outputs: readonly [];
414
+ }, {
415
+ readonly name: "verifyRiskRecord";
416
+ readonly type: "function";
417
+ readonly stateMutability: "view";
418
+ readonly inputs: readonly [{
419
+ readonly type: "address";
420
+ readonly name: "target";
421
+ }, {
422
+ readonly type: "bytes32";
423
+ readonly name: "actionHash";
424
+ }, {
425
+ readonly type: "uint8";
426
+ readonly name: "score";
427
+ }, {
428
+ readonly type: "uint8";
429
+ readonly name: "level";
430
+ }, {
431
+ readonly type: "uint8";
432
+ readonly name: "recommendation";
433
+ }, {
434
+ readonly type: "bytes32";
435
+ readonly name: "policyVersionHash";
436
+ }, {
437
+ readonly type: "bytes32";
438
+ readonly name: "evidenceHash";
439
+ }, {
440
+ readonly type: "uint64";
441
+ readonly name: "expiresAt";
442
+ }, {
443
+ readonly type: "bytes32[]";
444
+ readonly name: "proof";
445
+ }];
446
+ readonly outputs: readonly [{
447
+ readonly type: "bool";
448
+ }];
449
+ }];
450
+ export declare const PACIFIC_CANONICAL_CONTRACTS: string[];
451
+ export declare const ATLANTIC_CANONICAL_CONTRACTS: string[];
452
+ export declare function isCanonicalInfrastructure(address: string, isMainnet: boolean): boolean;
292
453
  //# sourceMappingURL=constants.d.ts.map