safehands-pharos 1.5.0 → 2.8.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 (566) hide show
  1. package/.agents/policies/default.json +15 -0
  2. package/.env.example +81 -64
  3. package/README.md +301 -444
  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 +1 -1
  105. package/dist/cli.d.ts.map +1 -1
  106. package/dist/cli.js +29 -1
  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 +0 -0
  113. package/dist/demo.d.ts.map +1 -1
  114. package/dist/demo.js +43 -8
  115. package/dist/demo.js.map +1 -1
  116. package/dist/handsafe.zip +0 -0
  117. package/dist/index.d.ts +0 -0
  118. package/dist/index.d.ts.map +0 -0
  119. package/dist/index.js +212 -135
  120. package/dist/index.js.map +1 -1
  121. package/dist/init.d.ts +0 -0
  122. package/dist/init.d.ts.map +1 -1
  123. package/dist/init.js +72 -10
  124. package/dist/init.js.map +1 -1
  125. package/dist/lib/analysis/abiWords.d.ts +17 -0
  126. package/dist/lib/analysis/abiWords.d.ts.map +1 -0
  127. package/dist/lib/analysis/abiWords.js +48 -0
  128. package/dist/lib/analysis/abiWords.js.map +1 -0
  129. package/dist/lib/analysis/approval.d.ts +29 -0
  130. package/dist/lib/analysis/approval.d.ts.map +1 -0
  131. package/dist/lib/analysis/approval.js +189 -0
  132. package/dist/lib/analysis/approval.js.map +1 -0
  133. package/dist/lib/analysis/calldata.d.ts +60 -0
  134. package/dist/lib/analysis/calldata.d.ts.map +1 -0
  135. package/dist/lib/analysis/calldata.js +464 -0
  136. package/dist/lib/analysis/calldata.js.map +1 -0
  137. package/dist/lib/analysis/contractIntel.d.ts +65 -0
  138. package/dist/lib/analysis/contractIntel.d.ts.map +1 -0
  139. package/dist/lib/analysis/contractIntel.js +320 -0
  140. package/dist/lib/analysis/contractIntel.js.map +1 -0
  141. package/dist/lib/analysis/evm.d.ts +42 -0
  142. package/dist/lib/analysis/evm.d.ts.map +1 -0
  143. package/dist/lib/analysis/evm.js +185 -0
  144. package/dist/lib/analysis/evm.js.map +1 -0
  145. package/dist/lib/analysis/gas.d.ts +4 -0
  146. package/dist/lib/analysis/gas.d.ts.map +1 -0
  147. package/dist/lib/analysis/gas.js +13 -0
  148. package/dist/lib/analysis/gas.js.map +1 -0
  149. package/dist/lib/analysis/index.d.ts +11 -0
  150. package/dist/lib/analysis/index.d.ts.map +1 -0
  151. package/dist/lib/analysis/index.js +16 -0
  152. package/dist/lib/analysis/index.js.map +1 -0
  153. package/dist/lib/analysis/pharosTokens.d.ts +31 -0
  154. package/dist/lib/analysis/pharosTokens.d.ts.map +1 -0
  155. package/dist/lib/analysis/pharosTokens.js +78 -0
  156. package/dist/lib/analysis/pharosTokens.js.map +1 -0
  157. package/dist/lib/analysis/safeTx.d.ts +27 -0
  158. package/dist/lib/analysis/safeTx.d.ts.map +1 -0
  159. package/dist/lib/analysis/safeTx.js +118 -0
  160. package/dist/lib/analysis/safeTx.js.map +1 -0
  161. package/dist/lib/analysis/token.d.ts +21 -0
  162. package/dist/lib/analysis/token.d.ts.map +1 -0
  163. package/dist/lib/analysis/token.js +151 -0
  164. package/dist/lib/analysis/token.js.map +1 -0
  165. package/dist/lib/analysis/types.d.ts +49 -0
  166. package/dist/lib/analysis/types.d.ts.map +1 -0
  167. package/dist/lib/analysis/types.js +10 -0
  168. package/dist/lib/analysis/types.js.map +1 -0
  169. package/dist/lib/analysis/x402.d.ts +24 -0
  170. package/dist/lib/analysis/x402.d.ts.map +1 -0
  171. package/dist/lib/analysis/x402.js +60 -0
  172. package/dist/lib/analysis/x402.js.map +1 -0
  173. package/dist/lib/auditLog.d.ts +1 -0
  174. package/dist/lib/auditLog.d.ts.map +1 -1
  175. package/dist/lib/auditLog.js +0 -0
  176. package/dist/lib/auditLog.js.map +1 -1
  177. package/dist/lib/config.d.ts +77 -0
  178. package/dist/lib/config.d.ts.map +1 -0
  179. package/dist/lib/config.js +120 -0
  180. package/dist/lib/config.js.map +1 -0
  181. package/dist/lib/constants.d.ts +246 -97
  182. package/dist/lib/constants.d.ts.map +1 -1
  183. package/dist/lib/constants.js +334 -127
  184. package/dist/lib/constants.js.map +1 -1
  185. package/dist/lib/dodoApi.d.ts +26 -3
  186. package/dist/lib/dodoApi.d.ts.map +1 -1
  187. package/dist/lib/dodoApi.js +80 -17
  188. package/dist/lib/dodoApi.js.map +1 -1
  189. package/dist/lib/ecosystemRegistry.d.ts +126 -0
  190. package/dist/lib/ecosystemRegistry.d.ts.map +1 -0
  191. package/dist/lib/ecosystemRegistry.js +178 -0
  192. package/dist/lib/ecosystemRegistry.js.map +1 -0
  193. package/dist/lib/envLoader.d.ts +0 -0
  194. package/dist/lib/envLoader.d.ts.map +0 -0
  195. package/dist/lib/envLoader.js +39 -18
  196. package/dist/lib/envLoader.js.map +1 -1
  197. package/dist/lib/goldsky.d.ts +58 -0
  198. package/dist/lib/goldsky.d.ts.map +1 -0
  199. package/dist/lib/goldsky.js +275 -0
  200. package/dist/lib/goldsky.js.map +1 -0
  201. package/dist/lib/guardian/decision.d.ts +23 -0
  202. package/dist/lib/guardian/decision.d.ts.map +1 -0
  203. package/dist/lib/guardian/decision.js +40 -0
  204. package/dist/lib/guardian/decision.js.map +1 -0
  205. package/dist/lib/http.d.ts +0 -1
  206. package/dist/lib/http.d.ts.map +1 -1
  207. package/dist/lib/http.js +297 -32
  208. package/dist/lib/http.js.map +1 -1
  209. package/dist/lib/managedExecution.d.ts +19 -0
  210. package/dist/lib/managedExecution.d.ts.map +1 -0
  211. package/dist/lib/managedExecution.js +64 -0
  212. package/dist/lib/managedExecution.js.map +1 -0
  213. package/dist/lib/merkleBatcher.d.ts +23 -0
  214. package/dist/lib/merkleBatcher.d.ts.map +1 -0
  215. package/dist/lib/merkleBatcher.js +62 -0
  216. package/dist/lib/merkleBatcher.js.map +1 -0
  217. package/dist/lib/networks.d.ts +48 -0
  218. package/dist/lib/networks.d.ts.map +1 -0
  219. package/dist/lib/networks.js +103 -0
  220. package/dist/lib/networks.js.map +1 -0
  221. package/dist/lib/observability/accessContext.d.ts +29 -0
  222. package/dist/lib/observability/accessContext.d.ts.map +1 -0
  223. package/dist/lib/observability/accessContext.js +50 -0
  224. package/dist/lib/observability/accessContext.js.map +1 -0
  225. package/dist/lib/observability/activityStore.d.ts +70 -0
  226. package/dist/lib/observability/activityStore.d.ts.map +1 -0
  227. package/dist/lib/observability/activityStore.js +149 -0
  228. package/dist/lib/observability/activityStore.js.map +1 -0
  229. package/dist/lib/observability/apiKey.d.ts +55 -0
  230. package/dist/lib/observability/apiKey.d.ts.map +1 -0
  231. package/dist/lib/observability/apiKey.js +141 -0
  232. package/dist/lib/observability/apiKey.js.map +1 -0
  233. package/dist/lib/observability/logger.d.ts +30 -0
  234. package/dist/lib/observability/logger.d.ts.map +1 -0
  235. package/dist/lib/observability/logger.js +30 -0
  236. package/dist/lib/observability/logger.js.map +1 -0
  237. package/dist/lib/observability/quota.d.ts +33 -0
  238. package/dist/lib/observability/quota.d.ts.map +1 -0
  239. package/dist/lib/observability/quota.js +49 -0
  240. package/dist/lib/observability/quota.js.map +1 -0
  241. package/dist/lib/observability/requestId.d.ts +8 -0
  242. package/dist/lib/observability/requestId.d.ts.map +1 -0
  243. package/dist/lib/observability/requestId.js +24 -0
  244. package/dist/lib/observability/requestId.js.map +1 -0
  245. package/dist/lib/observability/sanitize.d.ts +77 -0
  246. package/dist/lib/observability/sanitize.d.ts.map +1 -0
  247. package/dist/lib/observability/sanitize.js +228 -0
  248. package/dist/lib/observability/sanitize.js.map +1 -0
  249. package/dist/lib/observability/scopes.d.ts +20 -0
  250. package/dist/lib/observability/scopes.d.ts.map +1 -0
  251. package/dist/lib/observability/scopes.js +77 -0
  252. package/dist/lib/observability/scopes.js.map +1 -0
  253. package/dist/lib/okxDexApi.d.ts +106 -0
  254. package/dist/lib/okxDexApi.d.ts.map +1 -0
  255. package/dist/lib/okxDexApi.js +221 -0
  256. package/dist/lib/okxDexApi.js.map +1 -0
  257. package/dist/lib/persistentJsonStore.d.ts +5 -0
  258. package/dist/lib/persistentJsonStore.d.ts.map +1 -0
  259. package/dist/lib/persistentJsonStore.js +39 -0
  260. package/dist/lib/persistentJsonStore.js.map +1 -0
  261. package/dist/lib/pharos/attestationPublisher.d.ts +50 -0
  262. package/dist/lib/pharos/attestationPublisher.d.ts.map +1 -0
  263. package/dist/lib/pharos/attestationPublisher.js +262 -0
  264. package/dist/lib/pharos/attestationPublisher.js.map +1 -0
  265. package/dist/lib/pharos/ecosystem.d.ts +52 -0
  266. package/dist/lib/pharos/ecosystem.d.ts.map +1 -0
  267. package/dist/lib/pharos/ecosystem.js +431 -0
  268. package/dist/lib/pharos/ecosystem.js.map +1 -0
  269. package/dist/lib/pharos/ecosystemEvidence.d.ts +53 -0
  270. package/dist/lib/pharos/ecosystemEvidence.d.ts.map +1 -0
  271. package/dist/lib/pharos/ecosystemEvidence.js +133 -0
  272. package/dist/lib/pharos/ecosystemEvidence.js.map +1 -0
  273. package/dist/lib/pharos/rpc.d.ts +44 -0
  274. package/dist/lib/pharos/rpc.d.ts.map +1 -0
  275. package/dist/lib/pharos/rpc.js +90 -0
  276. package/dist/lib/pharos/rpc.js.map +1 -0
  277. package/dist/lib/pharos/rpcEvidence.d.ts +49 -0
  278. package/dist/lib/pharos/rpcEvidence.d.ts.map +1 -0
  279. package/dist/lib/pharos/rpcEvidence.js +46 -0
  280. package/dist/lib/pharos/rpcEvidence.js.map +1 -0
  281. package/dist/lib/pharos/rpcMethods.d.ts +46 -0
  282. package/dist/lib/pharos/rpcMethods.d.ts.map +1 -0
  283. package/dist/lib/pharos/rpcMethods.js +176 -0
  284. package/dist/lib/pharos/rpcMethods.js.map +1 -0
  285. package/dist/lib/pharos/spvVerifier.d.ts +47 -0
  286. package/dist/lib/pharos/spvVerifier.d.ts.map +1 -0
  287. package/dist/lib/pharos/spvVerifier.js +105 -0
  288. package/dist/lib/pharos/spvVerifier.js.map +1 -0
  289. package/dist/lib/pharos/userSignedBroadcaster.d.ts +10 -0
  290. package/dist/lib/pharos/userSignedBroadcaster.d.ts.map +1 -0
  291. package/dist/lib/pharos/userSignedBroadcaster.js +50 -0
  292. package/dist/lib/pharos/userSignedBroadcaster.js.map +1 -0
  293. package/dist/lib/pharosClient.d.ts +5 -10
  294. package/dist/lib/pharosClient.d.ts.map +1 -1
  295. package/dist/lib/pharosClient.js +9 -16
  296. package/dist/lib/pharosClient.js.map +1 -1
  297. package/dist/lib/policy/actionPolicyEngine.d.ts +37 -1
  298. package/dist/lib/policy/actionPolicyEngine.d.ts.map +1 -1
  299. package/dist/lib/policy/actionPolicyEngine.js +213 -52
  300. package/dist/lib/policy/actionPolicyEngine.js.map +1 -1
  301. package/dist/lib/policy/agentPolicy.d.ts +29 -0
  302. package/dist/lib/policy/agentPolicy.d.ts.map +1 -0
  303. package/dist/lib/policy/agentPolicy.js +154 -0
  304. package/dist/lib/policy/agentPolicy.js.map +1 -0
  305. package/dist/lib/policy/policyPresets.d.ts +30 -0
  306. package/dist/lib/policy/policyPresets.d.ts.map +1 -0
  307. package/dist/lib/policy/policyPresets.js +124 -0
  308. package/dist/lib/policy/policyPresets.js.map +1 -0
  309. package/dist/lib/policy/writeExecutionGate.d.ts +23 -0
  310. package/dist/lib/policy/writeExecutionGate.d.ts.map +1 -0
  311. package/dist/lib/policy/writeExecutionGate.js +65 -0
  312. package/dist/lib/policy/writeExecutionGate.js.map +1 -0
  313. package/dist/lib/preparedTxStore.d.ts +21 -0
  314. package/dist/lib/preparedTxStore.d.ts.map +1 -0
  315. package/dist/lib/preparedTxStore.js +90 -0
  316. package/dist/lib/preparedTxStore.js.map +1 -0
  317. package/dist/lib/price/chainlinkPushProvider.d.ts +34 -0
  318. package/dist/lib/price/chainlinkPushProvider.d.ts.map +1 -0
  319. package/dist/lib/price/chainlinkPushProvider.js +36 -0
  320. package/dist/lib/price/chainlinkPushProvider.js.map +1 -0
  321. package/dist/lib/price/feedRegistry.d.ts +26 -0
  322. package/dist/lib/price/feedRegistry.d.ts.map +1 -0
  323. package/dist/lib/price/feedRegistry.js +67 -0
  324. package/dist/lib/price/feedRegistry.js.map +1 -0
  325. package/dist/lib/price/priceResolver.d.ts +35 -0
  326. package/dist/lib/price/priceResolver.d.ts.map +1 -0
  327. package/dist/lib/price/priceResolver.js +246 -0
  328. package/dist/lib/price/priceResolver.js.map +1 -0
  329. package/dist/lib/price/supraProvider.d.ts +9 -0
  330. package/dist/lib/price/supraProvider.d.ts.map +1 -0
  331. package/dist/lib/price/supraProvider.js +17 -0
  332. package/dist/lib/price/supraProvider.js.map +1 -0
  333. package/dist/lib/price/types.d.ts +67 -0
  334. package/dist/lib/price/types.d.ts.map +1 -0
  335. package/dist/lib/price/types.js +7 -0
  336. package/dist/lib/price/types.js.map +1 -0
  337. package/dist/lib/productionGuards.d.ts +16 -0
  338. package/dist/lib/productionGuards.d.ts.map +1 -0
  339. package/dist/lib/productionGuards.js +93 -0
  340. package/dist/lib/productionGuards.js.map +1 -0
  341. package/dist/lib/recipientSafety.d.ts +5 -0
  342. package/dist/lib/recipientSafety.d.ts.map +1 -0
  343. package/dist/lib/recipientSafety.js +28 -0
  344. package/dist/lib/recipientSafety.js.map +1 -0
  345. package/dist/lib/riskEngine.d.ts +19 -0
  346. package/dist/lib/riskEngine.d.ts.map +1 -1
  347. package/dist/lib/riskEngine.js +107 -38
  348. package/dist/lib/riskEngine.js.map +1 -1
  349. package/dist/lib/riskInclusion.d.ts +72 -0
  350. package/dist/lib/riskInclusion.d.ts.map +1 -0
  351. package/dist/lib/riskInclusion.js +252 -0
  352. package/dist/lib/riskInclusion.js.map +1 -0
  353. package/dist/lib/safeHandsRegistry.d.ts +32 -0
  354. package/dist/lib/safeHandsRegistry.d.ts.map +1 -0
  355. package/dist/lib/safeHandsRegistry.js +151 -0
  356. package/dist/lib/safeHandsRegistry.js.map +1 -0
  357. package/dist/lib/signer/index.d.ts +3 -3
  358. package/dist/lib/signer/index.d.ts.map +1 -1
  359. package/dist/lib/signer/index.js +33 -11
  360. package/dist/lib/signer/index.js.map +1 -1
  361. package/dist/lib/spendAccumulator.d.ts +24 -1
  362. package/dist/lib/spendAccumulator.d.ts.map +1 -1
  363. package/dist/lib/spendAccumulator.js +76 -6
  364. package/dist/lib/spendAccumulator.js.map +1 -1
  365. package/dist/lib/toolResponse.d.ts +6 -1
  366. package/dist/lib/toolResponse.d.ts.map +1 -1
  367. package/dist/lib/toolResponse.js +13 -9
  368. package/dist/lib/toolResponse.js.map +1 -1
  369. package/dist/lib/validation.d.ts +7 -0
  370. package/dist/lib/validation.d.ts.map +1 -0
  371. package/dist/lib/validation.js +62 -0
  372. package/dist/lib/validation.js.map +1 -0
  373. package/dist/lib/wallet/index.d.ts +8 -12
  374. package/dist/lib/wallet/index.d.ts.map +1 -1
  375. package/dist/lib/wallet/index.js +48 -35
  376. package/dist/lib/wallet/index.js.map +1 -1
  377. package/dist/lib/x402ReplayStore.d.ts +6 -0
  378. package/dist/lib/x402ReplayStore.d.ts.map +1 -0
  379. package/dist/lib/x402ReplayStore.js +79 -0
  380. package/dist/lib/x402ReplayStore.js.map +1 -0
  381. package/dist/safehands.zip +0 -0
  382. package/dist/sdk.d.ts +14 -0
  383. package/dist/sdk.d.ts.map +1 -0
  384. package/dist/sdk.js +25 -0
  385. package/dist/sdk.js.map +1 -0
  386. package/dist/tools/approveToken.d.ts +31 -10
  387. package/dist/tools/approveToken.d.ts.map +1 -1
  388. package/dist/tools/approveToken.js +91 -24
  389. package/dist/tools/approveToken.js.map +1 -1
  390. package/dist/tools/assessRisk.d.ts +13 -26
  391. package/dist/tools/assessRisk.d.ts.map +1 -1
  392. package/dist/tools/assessRisk.js +34 -75
  393. package/dist/tools/assessRisk.js.map +1 -1
  394. package/dist/tools/checkAllowance.d.ts +9 -3
  395. package/dist/tools/checkAllowance.d.ts.map +1 -1
  396. package/dist/tools/checkAllowance.js +27 -5
  397. package/dist/tools/checkAllowance.js.map +1 -1
  398. package/dist/tools/checkTokenSecurity.d.ts +62 -5
  399. package/dist/tools/checkTokenSecurity.d.ts.map +1 -1
  400. package/dist/tools/checkTokenSecurity.js +166 -21
  401. package/dist/tools/checkTokenSecurity.js.map +1 -1
  402. package/dist/tools/createAgentWallet.d.ts +4 -2
  403. package/dist/tools/createAgentWallet.d.ts.map +1 -1
  404. package/dist/tools/createAgentWallet.js +36 -31
  405. package/dist/tools/createAgentWallet.js.map +1 -1
  406. package/dist/tools/estimateGas.d.ts +7 -2
  407. package/dist/tools/estimateGas.d.ts.map +1 -1
  408. package/dist/tools/estimateGas.js +16 -10
  409. package/dist/tools/estimateGas.js.map +1 -1
  410. package/dist/tools/executeSwap.d.ts +56 -8
  411. package/dist/tools/executeSwap.d.ts.map +1 -1
  412. package/dist/tools/executeSwap.js +194 -46
  413. package/dist/tools/executeSwap.js.map +1 -1
  414. package/dist/tools/explainRisk.d.ts +9 -9
  415. package/dist/tools/explainRisk.d.ts.map +1 -1
  416. package/dist/tools/explainRisk.js +5 -4
  417. package/dist/tools/explainRisk.js.map +1 -1
  418. package/dist/tools/getAgentPolicy.d.ts +15 -0
  419. package/dist/tools/getAgentPolicy.d.ts.map +1 -0
  420. package/dist/tools/getAgentPolicy.js +16 -0
  421. package/dist/tools/getAgentPolicy.js.map +1 -0
  422. package/dist/tools/getAgentReputation.d.ts +31 -0
  423. package/dist/tools/getAgentReputation.d.ts.map +1 -0
  424. package/dist/tools/getAgentReputation.js +44 -0
  425. package/dist/tools/getAgentReputation.js.map +1 -0
  426. package/dist/tools/getAgentWallet.d.ts +1 -1
  427. package/dist/tools/getAgentWallet.d.ts.map +1 -1
  428. package/dist/tools/getAgentWallet.js +11 -1
  429. package/dist/tools/getAgentWallet.js.map +1 -1
  430. package/dist/tools/getAgentWalletBalance.d.ts +1 -1
  431. package/dist/tools/getAgentWalletBalance.d.ts.map +1 -1
  432. package/dist/tools/getAgentWalletBalance.js +58 -26
  433. package/dist/tools/getAgentWalletBalance.js.map +1 -1
  434. package/dist/tools/getExecutionHistory.d.ts +1 -1
  435. package/dist/tools/getExecutionHistory.d.ts.map +1 -1
  436. package/dist/tools/getExecutionHistory.js +13 -19
  437. package/dist/tools/getExecutionHistory.js.map +1 -1
  438. package/dist/tools/getGasPrice.d.ts +3 -3
  439. package/dist/tools/getGasPrice.d.ts.map +0 -0
  440. package/dist/tools/getGasPrice.js +7 -7
  441. package/dist/tools/getGasPrice.js.map +1 -1
  442. package/dist/tools/getPoolInfo.d.ts +17 -17
  443. package/dist/tools/getPoolInfo.d.ts.map +1 -1
  444. package/dist/tools/getPoolInfo.js +14 -9
  445. package/dist/tools/getPoolInfo.js.map +1 -1
  446. package/dist/tools/getSpvProof.d.ts +24 -0
  447. package/dist/tools/getSpvProof.d.ts.map +1 -0
  448. package/dist/tools/getSpvProof.js +64 -0
  449. package/dist/tools/getSpvProof.js.map +1 -0
  450. package/dist/tools/getTokenPrice.d.ts +28 -85
  451. package/dist/tools/getTokenPrice.d.ts.map +1 -1
  452. package/dist/tools/getTokenPrice.js +87 -94
  453. package/dist/tools/getTokenPrice.js.map +1 -1
  454. package/dist/tools/getTransactionStatus.d.ts +2 -2
  455. package/dist/tools/getTransactionStatus.d.ts.map +0 -0
  456. package/dist/tools/getTransactionStatus.js +0 -0
  457. package/dist/tools/getTransactionStatus.js.map +0 -0
  458. package/dist/tools/getWalletBalance.d.ts +38 -3
  459. package/dist/tools/getWalletBalance.d.ts.map +1 -1
  460. package/dist/tools/getWalletBalance.js +92 -52
  461. package/dist/tools/getWalletBalance.js.map +1 -1
  462. package/dist/tools/publishRiskScore.d.ts +36 -14
  463. package/dist/tools/publishRiskScore.d.ts.map +1 -1
  464. package/dist/tools/publishRiskScore.js +80 -32
  465. package/dist/tools/publishRiskScore.js.map +1 -1
  466. package/dist/tools/queryGoldsky.d.ts +20 -0
  467. package/dist/tools/queryGoldsky.d.ts.map +1 -0
  468. package/dist/tools/queryGoldsky.js +29 -0
  469. package/dist/tools/queryGoldsky.js.map +1 -0
  470. package/dist/tools/queryRiskRegistry.d.ts +14 -14
  471. package/dist/tools/queryRiskRegistry.d.ts.map +1 -1
  472. package/dist/tools/queryRiskRegistry.js +34 -30
  473. package/dist/tools/queryRiskRegistry.js.map +1 -1
  474. package/dist/tools/safehandsPreflightCheck.d.ts +29 -14
  475. package/dist/tools/safehandsPreflightCheck.d.ts.map +1 -1
  476. package/dist/tools/safehandsPreflightCheck.js +133 -6
  477. package/dist/tools/safehandsPreflightCheck.js.map +1 -1
  478. package/dist/tools/safehandsRiskReport.d.ts +29 -14
  479. package/dist/tools/safehandsRiskReport.d.ts.map +1 -1
  480. package/dist/tools/safehandsRiskReport.js +23 -3
  481. package/dist/tools/safehandsRiskReport.js.map +1 -1
  482. package/dist/tools/safehandsSafeExecute.d.ts +1 -1
  483. package/dist/tools/safehandsSafeExecute.d.ts.map +1 -1
  484. package/dist/tools/safehandsSafeExecute.js +100 -17
  485. package/dist/tools/safehandsSafeExecute.js.map +1 -1
  486. package/dist/tools/safehandsWalletHealth.d.ts +15 -1
  487. package/dist/tools/safehandsWalletHealth.d.ts.map +1 -1
  488. package/dist/tools/safehandsWalletHealth.js +67 -25
  489. package/dist/tools/safehandsWalletHealth.js.map +1 -1
  490. package/dist/tools/safehandsX402Preflight.d.ts +3 -3
  491. package/dist/tools/safehandsX402Preflight.d.ts.map +1 -1
  492. package/dist/tools/safehandsX402Preflight.js +24 -3
  493. package/dist/tools/safehandsX402Preflight.js.map +1 -1
  494. package/dist/tools/sendPayment.d.ts +10 -4
  495. package/dist/tools/sendPayment.d.ts.map +1 -1
  496. package/dist/tools/sendPayment.js +63 -36
  497. package/dist/tools/sendPayment.js.map +1 -1
  498. package/dist/tools/setAgentPolicy.d.ts +75 -0
  499. package/dist/tools/setAgentPolicy.d.ts.map +1 -0
  500. package/dist/tools/setAgentPolicy.js +80 -0
  501. package/dist/tools/setAgentPolicy.js.map +1 -0
  502. package/dist/tools/simulateTransaction.d.ts +7 -3
  503. package/dist/tools/simulateTransaction.d.ts.map +1 -1
  504. package/dist/tools/simulateTransaction.js +42 -9
  505. package/dist/tools/simulateTransaction.js.map +1 -1
  506. package/dist/tools/tokenRegistryStatus.d.ts +25 -5
  507. package/dist/tools/tokenRegistryStatus.d.ts.map +1 -1
  508. package/dist/tools/tokenRegistryStatus.js +61 -31
  509. package/dist/tools/tokenRegistryStatus.js.map +1 -1
  510. package/dist/tools/verifyRiskInclusion.d.ts +59 -0
  511. package/dist/tools/verifyRiskInclusion.d.ts.map +1 -0
  512. package/dist/tools/verifyRiskInclusion.js +40 -0
  513. package/dist/tools/verifyRiskInclusion.js.map +1 -0
  514. package/dist/tools/x402PayAndFetch.d.ts +15 -9
  515. package/dist/tools/x402PayAndFetch.d.ts.map +1 -1
  516. package/dist/tools/x402PayAndFetch.js +163 -20
  517. package/dist/tools/x402PayAndFetch.js.map +1 -1
  518. package/dist/worker.d.ts +3 -0
  519. package/dist/worker.d.ts.map +1 -0
  520. package/dist/worker.js +39 -0
  521. package/dist/worker.js.map +1 -0
  522. package/dist/x402Server.d.ts +1 -1
  523. package/dist/x402Server.d.ts.map +1 -1
  524. package/dist/x402Server.js +144 -35
  525. package/dist/x402Server.js.map +1 -1
  526. package/docs/REVIEWER_QUICKSTART.md +113 -0
  527. package/docs/SAFEHANDS_REVIEWER_DEMO_SCRIPT.md +228 -0
  528. package/package.json +131 -73
  529. package/contracts/RiskRegistry.json +0 -223
  530. package/contracts/RiskRegistry.sol +0 -58
  531. package/dist/lib/testDodoLive.d.ts +0 -2
  532. package/dist/lib/testDodoLive.d.ts.map +0 -1
  533. package/dist/lib/testDodoLive.js +0 -105
  534. package/dist/lib/testDodoLive.js.map +0 -1
  535. package/dist/lib/testLiveSafehands.d.ts +0 -2
  536. package/dist/lib/testLiveSafehands.d.ts.map +0 -1
  537. package/dist/lib/testLiveSafehands.js +0 -93
  538. package/dist/lib/testLiveSafehands.js.map +0 -1
  539. package/dist/lib/testRpc.d.ts +0 -2
  540. package/dist/lib/testRpc.d.ts.map +0 -1
  541. package/dist/lib/testRpc.js +0 -30
  542. package/dist/lib/testRpc.js.map +0 -1
  543. package/dist/lib/testRpcLive.d.ts +0 -2
  544. package/dist/lib/testRpcLive.d.ts.map +0 -1
  545. package/dist/lib/testRpcLive.js +0 -89
  546. package/dist/lib/testRpcLive.js.map +0 -1
  547. package/dist/lib/testTools.d.ts +0 -2
  548. package/dist/lib/testTools.d.ts.map +0 -1
  549. package/dist/lib/testTools.js +0 -397
  550. package/dist/lib/testTools.js.map +0 -1
  551. package/dist/lib/testX402Live.d.ts +0 -2
  552. package/dist/lib/testX402Live.d.ts.map +0 -1
  553. package/dist/lib/testX402Live.js +0 -160
  554. package/dist/lib/testX402Live.js.map +0 -1
  555. package/dist/scripts/checkDeploy.d.ts +0 -2
  556. package/dist/scripts/checkDeploy.d.ts.map +0 -1
  557. package/dist/scripts/checkDeploy.js +0 -25
  558. package/dist/scripts/checkDeploy.js.map +0 -1
  559. package/dist/scripts/deployRegistry.d.ts +0 -2
  560. package/dist/scripts/deployRegistry.d.ts.map +0 -1
  561. package/dist/scripts/deployRegistry.js +0 -101
  562. package/dist/scripts/deployRegistry.js.map +0 -1
  563. package/dist/scripts/testRegistry.d.ts +0 -2
  564. package/dist/scripts/testRegistry.d.ts.map +0 -1
  565. package/dist/scripts/testRegistry.js +0 -44
  566. package/dist/scripts/testRegistry.js.map +0 -1
@@ -0,0 +1,582 @@
1
+ // ─── SafeHands Canonical Ecosystem Registry — DATA ──────────────────────
2
+ // The single source of truth for repo-bundled ecosystem knowledge. Every
3
+ // address/endpoint here was already recorded elsewhere in this repo (Phase 5A
4
+ // docs audit → constants.ts / feedRegistry.ts / anvita assets); NOTHING is
5
+ // invented. The Anvita hosted-skill asset JSONs are generated from this file
6
+ // (scripts/sync-anvita-assets.ts) and consistency with the TS constants is
7
+ // pinned by test/ecosystem-registry-schema.test.ts.
8
+ //
9
+ // Editing rules (enforced by validateEcosystemRegistry + tests):
10
+ // • New entries default to verificationStatus TO_VERIFY / safetyUse
11
+ // recognition_only until an official citation is recorded.
12
+ // • endpoint: null means NOT_CONFIGURED — never fill it in speculatively.
13
+ // • allow_eligible requires VERIFIED status + verified contracts + citations.
14
+ // ─────────────────────────────────────────────────────────────────────────
15
+ const PHAROS_CANONICAL_CONTRACTS_DOC = "https://docs.pharos.xyz/getting-started/canonical-contracts.md";
16
+ const PHAROS_TOKEN_REGISTRY_DOC = "https://docs.pharos.xyz/getting-started/token-registry";
17
+ const CHAINLINK_PUSH_DOC = "https://docs.pharos.xyz/tooling-and-infrastructure/oracles/chainlink-pe";
18
+ export const ECOSYSTEM_REGISTRY_ITEMS = [
19
+ // ── Pharos Pacific Mainnet canonical infrastructure (14 contracts) ──────
20
+ {
21
+ id: "infrastructure:pacific-mainnet:canonical-contracts",
22
+ name: "Pharos canonical infrastructure (Pacific Mainnet)",
23
+ aliases: ["canonical contracts", "pharos canonical infrastructure"],
24
+ category: "infrastructure",
25
+ chainId: 1672,
26
+ ecosystemStatus: "VERIFIED",
27
+ verificationStatus: "VERIFIED",
28
+ evidenceSources: [
29
+ { type: "official_docs", ref: PHAROS_CANONICAL_CONTRACTS_DOC, verifiedAt: null },
30
+ ],
31
+ contracts: [
32
+ { address: "0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2", label: "Create2Deployer", role: "deployer", deterministic: true, verificationStatus: "VERIFIED" },
33
+ { address: "0x4e59b44847b379578588920ca78fbf26c0b4956c", label: "Foundry Deterministic Deploy", role: "deployer", deterministic: true, verificationStatus: "VERIFIED" },
34
+ { address: "0xcA11bde05977b3631167028862bE2a173976CA11", label: "MultiCall3", role: "batching", deterministic: true, verificationStatus: "VERIFIED" },
35
+ { address: "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", label: "GnosisSafe v1.3.0", role: "smart-account", deterministic: false, verificationStatus: "VERIFIED", note: "Pharos-specific deployment address (differs from the standard-Ethereum Safe 1.3.0 address)." },
36
+ { address: "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", label: "GnosisSafeL2 v1.3.0", role: "smart-account", deterministic: false, verificationStatus: "VERIFIED", note: "Pharos-specific deployment address (differs from the standard-Ethereum SafeL2 1.3.0 address)." },
37
+ { address: "0x914d7Fec6aaC8cd542e72Bca78B30650d45643d7", label: "SafeSingletonFactory", role: "deployer", deterministic: true, verificationStatus: "VERIFIED" },
38
+ { address: "0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed", label: "CreateX", role: "deployer", deterministic: false, verificationStatus: "VERIFIED", note: "Listed for Pacific Mainnet in the Pharos canonical-contracts page; Atlantic deployment not asserted." },
39
+ { address: "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", label: "MultiSendCallOnly v1.3.0", role: "batching", deterministic: true, verificationStatus: "VERIFIED" },
40
+ { address: "0x998739BFdAAdde7C933B942a68053933098f9EDa", label: "MultiSend v1.3.0", role: "batching", deterministic: false, verificationStatus: "VERIFIED", note: "Pharos-specific deployment address (differs from the standard-Ethereum MultiSend 1.3.0 address)." },
41
+ { address: "0x000000000022D473030F116dDEE9F6B43aC78BA3", label: "Permit2", role: "approval-router", deterministic: true, verificationStatus: "VERIFIED" },
42
+ { address: "0x0000000071727De22E5E9d8BAf0edAc6f37da032", label: "ERC-4337 EntryPoint v0.7", role: "account-abstraction", deterministic: true, verificationStatus: "VERIFIED" },
43
+ { address: "0xEFC2c1444eBCC4Db75e7613d20C6a62fF67A167C", label: "ERC-4337 SenderCreator v0.7", role: "account-abstraction", deterministic: true, verificationStatus: "VERIFIED" },
44
+ { address: "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", label: "ERC-4337 EntryPoint v0.6", role: "account-abstraction", deterministic: true, verificationStatus: "VERIFIED" },
45
+ { address: "0x7fc98430eAEdbb6070B35B39D798725049088348", label: "ERC-4337 SenderCreator v0.6", role: "account-abstraction", deterministic: true, verificationStatus: "VERIFIED" },
46
+ ],
47
+ providers: [],
48
+ safetyUse: "allow_eligible",
49
+ notes: "Recognition is by canonical address only; deployment/verification on the active network is NOT asserted, and canonical recognition never makes a risky action safe (e.g. unlimited approvals to Permit2 still require confirmation).",
50
+ },
51
+ // ── Pharos Atlantic Testnet canonical infrastructure (existing registry) ─
52
+ {
53
+ id: "infrastructure:atlantic-testnet:canonical-contracts",
54
+ name: "Pharos canonical infrastructure (Atlantic Testnet)",
55
+ aliases: [],
56
+ category: "infrastructure",
57
+ chainId: 688689,
58
+ ecosystemStatus: "KNOWN_ECOSYSTEM",
59
+ verificationStatus: "TO_VERIFY",
60
+ evidenceSources: [
61
+ { type: "official_docs", ref: PHAROS_CANONICAL_CONTRACTS_DOC, verifiedAt: null },
62
+ ],
63
+ contracts: [
64
+ { address: "0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2", label: "Create2Deployer", role: "deployer", deterministic: true, verificationStatus: "TO_VERIFY" },
65
+ { address: "0x4e59b44847b379578588920ca78fbf26c0b4956c", label: "DeterministicDeploymentProxy", role: "deployer", deterministic: true, verificationStatus: "TO_VERIFY" },
66
+ { address: "0xcA11bde05977b3631167028862bE2a173976CA11", label: "MultiCall3", role: "batching", deterministic: true, verificationStatus: "TO_VERIFY" },
67
+ { address: "0x69f4D1788e39c87893C980c06EdF4b7f686e2938", label: "GnosisSafe", role: "smart-account", deterministic: false, verificationStatus: "TO_VERIFY" },
68
+ { address: "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA", label: "GnosisSafeL2", role: "smart-account", deterministic: false, verificationStatus: "TO_VERIFY" },
69
+ { address: "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B", label: "MultiSendCallOnly", role: "batching", deterministic: true, verificationStatus: "TO_VERIFY" },
70
+ { address: "0x998739BFdAAdde7C933B942a68053933098f9EDa", label: "MultiSend", role: "batching", deterministic: false, verificationStatus: "TO_VERIFY" },
71
+ { address: "0x000000000022D473030F116dDEE9F6B43aC78BA3", label: "Permit2", role: "approval-router", deterministic: true, verificationStatus: "TO_VERIFY" },
72
+ { address: "0x0000000071727De22E5E9d8BAf0edAc6f37da032", label: "EntryPoint (v0.7)", role: "account-abstraction", deterministic: true, verificationStatus: "TO_VERIFY" },
73
+ { address: "0xEFC2c1444eBCC4Db75e7613d20C6a62fF67A167C", label: "SenderCreator (v0.7)", role: "account-abstraction", deterministic: true, verificationStatus: "TO_VERIFY" },
74
+ // DODO infrastructure (recorded from the pre-existing testnet registry).
75
+ { address: "0x0246DffDa649e877CFd0951837332B4690fAD1EB", label: "DODOV2", role: "dex", deterministic: false, verificationStatus: "TO_VERIFY" },
76
+ { address: "0x701855ae3a8b2A989DC8ACCf02Dd2b96f8B21671", label: "MulticallWithValid", role: "batching", deterministic: false, verificationStatus: "TO_VERIFY" },
77
+ { address: "0x27D4236CF46842E5eC1A21C585654F07B00932a1", label: "DODOSellHelper", role: "dex", deterministic: false, verificationStatus: "TO_VERIFY" },
78
+ { address: "0xF8FCF810B5DC0715655A1Ed2ef75d6e35e3C0f25", label: "DODOSwapCalcHelper", role: "dex", deterministic: false, verificationStatus: "TO_VERIFY" },
79
+ { address: "0x9AC12A5a3AAF3d71b2beFE1F3eE8bA9820F4a591", label: "ERC20Helper", role: "dex", deterministic: false, verificationStatus: "TO_VERIFY" },
80
+ { address: "0x091341395E94517E6960c5fAF95e81CdAD92Fe0d", label: "DODOCalleeHelper", role: "dex", deterministic: false, verificationStatus: "TO_VERIFY" },
81
+ { address: "0x75EF0F8c1c31dD307451B3A11B324b3125471Ee2", label: "DODOV1PmmHelper", role: "dex", deterministic: false, verificationStatus: "TO_VERIFY" },
82
+ { address: "0xe9Fc1c26901AF258EdCC60a258A7f0228b3639d8", label: "DODOV2RouteHelper", role: "dex", deterministic: false, verificationStatus: "TO_VERIFY" },
83
+ { address: "0x114CD7D3f8a994139620aF07a4cEA444ab28968c", label: "CloneFactory", role: "deployer", deterministic: false, verificationStatus: "TO_VERIFY" },
84
+ { address: "0x73CAfc894dBfC181398264934f7Be4e482fc9d40", label: "DODOApprove", role: "approval-router", deterministic: false, verificationStatus: "TO_VERIFY" },
85
+ { address: "0x7c25C06777305e632218aDFF9763E3fC049Dd0Db", label: "DODOApproveProxy", role: "approval-router", deterministic: false, verificationStatus: "TO_VERIFY" },
86
+ { address: "0x4b177AdEd3b8bD1D5D747F91B9E853513838Cd49", label: "DODOV2Proxy02", role: "dex", deterministic: false, verificationStatus: "TO_VERIFY" },
87
+ { address: "0x3b5C0f0ca61d9C92e676C369B31545f4Fe003b56", label: "DODODspProxy", role: "dex", deterministic: false, verificationStatus: "TO_VERIFY" },
88
+ { address: "0xf05Af5E9dC3b1dd3ad0C087BD80D7391283775e0", label: "UniswapV2Router02", role: "dex", deterministic: false, verificationStatus: "TO_VERIFY" },
89
+ { address: "0x259C9EBBE307bb0aF410e103202662667254d062", label: "SwapRouter", role: "dex", deterministic: false, verificationStatus: "TO_VERIFY" },
90
+ ],
91
+ providers: [],
92
+ safetyUse: "recognition_only",
93
+ notes: "Testnet registry recorded from the pre-existing SafeHands constants; marked TO_VERIFY pending an official Atlantic citation. Recognition here never relaxes mainnet decisions.",
94
+ },
95
+ // ── Pharos Pacific Mainnet canonical tokens (official token registry) ───
96
+ {
97
+ id: "token:pacific-mainnet:wpros",
98
+ name: "Wrapped PROS",
99
+ aliases: ["WPROS"],
100
+ category: "token",
101
+ chainId: 1672,
102
+ ecosystemStatus: "VERIFIED",
103
+ verificationStatus: "VERIFIED",
104
+ evidenceSources: [{ type: "official_docs", ref: PHAROS_TOKEN_REGISTRY_DOC, verifiedAt: null }],
105
+ contracts: [
106
+ { address: "0x52c48d4213107b20bc583832b0d951fb9ca8f0b0", label: "WPROS", role: "token", deterministic: false, verificationStatus: "VERIFIED", symbol: "WPROS", decimals: 18 },
107
+ ],
108
+ providers: [],
109
+ safetyUse: "allow_eligible",
110
+ notes: "Wrapped PROS; priced via the PROS/USD Chainlink Push feed.",
111
+ },
112
+ {
113
+ id: "token:pacific-mainnet:usdc",
114
+ name: "USD Coin (Circle-deployed)",
115
+ aliases: ["USDC"],
116
+ category: "token",
117
+ chainId: 1672,
118
+ ecosystemStatus: "VERIFIED",
119
+ verificationStatus: "VERIFIED",
120
+ evidenceSources: [
121
+ { type: "official_docs", ref: PHAROS_TOKEN_REGISTRY_DOC, verifiedAt: null },
122
+ // Circle's own contract-addresses page lists 0xC879… as "Pharos" (mainnet)
123
+ // USDC — independent second source confirming the Pharos docs entry.
124
+ { type: "official_docs", ref: "https://developers.circle.com/stablecoins/usdc-contract-addresses", verifiedAt: "2026-07-10" },
125
+ ],
126
+ contracts: [
127
+ { address: "0xc879c018db60520f4355c26ed1a6d572cdac1815", label: "USDC", role: "token", deterministic: false, verificationStatus: "VERIFIED", symbol: "USDC", decimals: 6 },
128
+ ],
129
+ providers: [],
130
+ safetyUse: "allow_eligible",
131
+ notes: "Canonical Pacific Mainnet USDC. Other networks use different USDC addresses (see constants.ts); a symbol alone never identifies a token.",
132
+ },
133
+ {
134
+ id: "token:pacific-mainnet:link",
135
+ name: "ChainLink Token",
136
+ aliases: ["LINK"],
137
+ category: "token",
138
+ chainId: 1672,
139
+ ecosystemStatus: "VERIFIED",
140
+ verificationStatus: "VERIFIED",
141
+ evidenceSources: [{ type: "official_docs", ref: PHAROS_TOKEN_REGISTRY_DOC, verifiedAt: null }],
142
+ contracts: [
143
+ { address: "0x51e2A24742Db77604B881d6781Ee16B5b8fcBE29", label: "LINK", role: "token", deterministic: false, verificationStatus: "VERIFIED", symbol: "LINK", decimals: 18 },
144
+ ],
145
+ providers: [],
146
+ safetyUse: "allow_eligible",
147
+ notes: "",
148
+ },
149
+ {
150
+ id: "token:pacific-mainnet:weth",
151
+ name: "Wrapped Ether",
152
+ aliases: ["WETH"],
153
+ category: "token",
154
+ chainId: 1672,
155
+ ecosystemStatus: "VERIFIED",
156
+ verificationStatus: "VERIFIED",
157
+ evidenceSources: [{ type: "official_docs", ref: PHAROS_TOKEN_REGISTRY_DOC, verifiedAt: null }],
158
+ contracts: [
159
+ { address: "0x1f4b7011Ee3d53969bb67F59428a9ec0477856E9", label: "WETH", role: "token", deterministic: false, verificationStatus: "VERIFIED", symbol: "WETH", decimals: 18 },
160
+ ],
161
+ providers: [],
162
+ safetyUse: "allow_eligible",
163
+ notes: "Wrapped Ether; priced via the ETH/USD Chainlink Push feed.",
164
+ },
165
+ // ── Chainlink Push Engine price feeds (Pacific Mainnet) ─────────────────
166
+ {
167
+ id: "oracle:pacific-mainnet:chainlink-push-feeds",
168
+ name: "Chainlink Push Engine price feeds",
169
+ aliases: ["chainlink-push", "chainlink push feeds"],
170
+ category: "oracle",
171
+ chainId: 1672,
172
+ ecosystemStatus: "VERIFIED",
173
+ verificationStatus: "VERIFIED",
174
+ evidenceSources: [{ type: "official_docs", ref: CHAINLINK_PUSH_DOC, verifiedAt: null }],
175
+ contracts: [
176
+ { address: "0x9356C87a48F913d11C87a0d4b8cD16CD04624BF3", label: "PROS/USD", role: "price_feed", deterministic: false, verificationStatus: "VERIFIED", symbol: "PROS", pair: "PROS/USD" },
177
+ { address: "0x6BFcd14b164de6c8C4dA2d065d511055A589EB20", label: "BTC/USD", role: "price_feed", deterministic: false, verificationStatus: "VERIFIED", symbol: "BTC", pair: "BTC/USD" },
178
+ { address: "0x092ff0175Be8B2e83Ca5740d3EB13C6225901fa7", label: "ETH/USD", role: "price_feed", deterministic: false, verificationStatus: "VERIFIED", symbol: "ETH", pair: "ETH/USD" },
179
+ { address: "0x22E1db75084B7f0393896bc7046E64eFdC34b729", label: "WBTC/USD", role: "price_feed", deterministic: false, verificationStatus: "VERIFIED", symbol: "WBTC", pair: "WBTC/USD" },
180
+ { address: "0x84B06e38C70DD1f0039bA25E017CAe7cFcDE53b0", label: "USDT/USD", role: "price_feed", deterministic: false, verificationStatus: "VERIFIED", symbol: "USDT", pair: "USDT/USD", feedOnly: true, note: "Feed-only: no official USDT token address exists in the Pharos Pacific Mainnet token registry. Price reads are supported; wallet-balance and token-contract analysis for USDT are NOT claimed." },
181
+ { address: "0x8d08eA83A55ad1e805b5660F5eC76C99C6aF5eaf", label: "USDC/USD", role: "price_feed", deterministic: false, verificationStatus: "VERIFIED", symbol: "USDC", pair: "USDC/USD" },
182
+ { address: "0xCb87D7B02AC34B0aC5C3472467AB67E1de655C0A", label: "LINK/USD", role: "price_feed", deterministic: false, verificationStatus: "VERIFIED", symbol: "LINK", pair: "LINK/USD" },
183
+ { address: "0x2eaB341Db05503c73A1274f1EFbD5d4560767229", label: "BNB/USD", role: "price_feed", deterministic: false, verificationStatus: "VERIFIED", symbol: "BNB", pair: "BNB/USD" },
184
+ { address: "0x9c9FccaEf0851298321B813Ce2530c67e20F9C10", label: "SOL/USD", role: "price_feed", deterministic: false, verificationStatus: "VERIFIED", symbol: "SOL", pair: "SOL/USD" },
185
+ { address: "0x43CeBa953FF0165840f35342F6a6Bc1B923bc5FF", label: "XRP/USD", role: "price_feed", deterministic: false, verificationStatus: "VERIFIED", symbol: "XRP", pair: "XRP/USD" },
186
+ ],
187
+ providers: [
188
+ { kind: "price_feed", endpoint: null, configVia: null, status: "implemented", note: "Feed addresses are static config; prices are ALWAYS read live from the feed contracts via eth_call. Never hardcode a price, including stablecoins." },
189
+ ],
190
+ safetyUse: "recognition_only",
191
+ notes: "Canonical USD pricing source. A configured feed never guarantees token identity or action safety; stale feeds fail closed (FEED_STALE) and the last answer is never quoted.",
192
+ },
193
+ // ── SafeHands on-chain contracts (Pacific Mainnet) ──────────────────────
194
+ {
195
+ id: "infrastructure:pacific-mainnet:safehands-contracts",
196
+ name: "SafeHands Registry & Attestation",
197
+ aliases: ["safehands registry", "safehands attestation"],
198
+ category: "infrastructure",
199
+ chainId: 1672,
200
+ ecosystemStatus: "VERIFIED",
201
+ verificationStatus: "VERIFIED",
202
+ evidenceSources: [
203
+ { type: "onchain", ref: "Deployed on Pharos Pacific Mainnet (chainId 1672) via scripts/deploy-safehands.ts; see SECURITY.md §Deployed contracts.", verifiedAt: null },
204
+ { type: "official_github", ref: "https://github.com/SZtch/safehands-pharos/tree/main/contracts", verifiedAt: null },
205
+ ],
206
+ contracts: [
207
+ { address: "0x428e02bf85412e7242d991cd6725ec59e8b06c8d", label: "SafeHandsRegistry", role: "registry", deterministic: false, verificationStatus: "VERIFIED" },
208
+ { address: "0x71a7a87b3b1ab6d86204cad691bb32fd75b4588c", label: "SafeHandsAttestation", role: "attestation", deterministic: false, verificationStatus: "VERIFIED" },
209
+ ],
210
+ providers: [],
211
+ safetyUse: "allow_eligible",
212
+ notes: "Operator-permissioned Merkle-batch registry and positive-only attestation reputation (SECURITY.md operator-trust caveat): treat published risk roots as operator-attested, not trustless. Read-path defaults are chain-guarded to Pacific (any other chain resolves to \"\" → fail-closed).",
213
+ },
214
+ // ── Read-only enrichment providers (hosted skill; endpoint: null = NOT_CONFIGURED) ─
215
+ {
216
+ id: "provider:pacific-mainnet:goldsky",
217
+ name: "Goldsky subgraph",
218
+ aliases: ["goldsky", "subgraph"],
219
+ category: "provider",
220
+ chainId: 1672,
221
+ ecosystemStatus: "NOT_CONFIGURED",
222
+ verificationStatus: "UNVERIFIED",
223
+ evidenceSources: [],
224
+ contracts: [],
225
+ providers: [
226
+ { kind: "subgraph", endpoint: null, configVia: "GOLDSKY_SUBGRAPH_URL", status: "not_configured", note: "Set to a public Goldsky subgraph GraphQL URL (https, keyless) to enable query_goldsky_subgraph." },
227
+ ],
228
+ safetyUse: "recognition_only",
229
+ notes: "Indexing/data enrichment only: never an execution path and never a substitute for on-chain reads.",
230
+ },
231
+ {
232
+ id: "provider:pacific-mainnet:execution-history",
233
+ name: "Execution-history indexer",
234
+ aliases: ["execution history"],
235
+ category: "provider",
236
+ chainId: 1672,
237
+ ecosystemStatus: "NOT_CONFIGURED",
238
+ verificationStatus: "UNVERIFIED",
239
+ evidenceSources: [],
240
+ contracts: [],
241
+ providers: [
242
+ { kind: "indexer", endpoint: null, configVia: null, status: "not_configured", note: "Set to a public, keyless indexer URL to enable get_execution_history. Explorer scraping is not an acceptable substitute." },
243
+ ],
244
+ safetyUse: "recognition_only",
245
+ notes: "",
246
+ },
247
+ {
248
+ id: "provider:pacific-mainnet:pool-info",
249
+ name: "Pool-info provider",
250
+ aliases: ["pool info"],
251
+ category: "provider",
252
+ chainId: 1672,
253
+ ecosystemStatus: "NOT_CONFIGURED",
254
+ verificationStatus: "UNVERIFIED",
255
+ evidenceSources: [],
256
+ contracts: [],
257
+ providers: [
258
+ { kind: "json_api", endpoint: null, configVia: null, status: "not_configured", note: "Set to a verified public, keyless pool-info URL to enable get_pool_info. Pool/route data is context only, never a canonical price." },
259
+ ],
260
+ safetyUse: "recognition_only",
261
+ notes: "",
262
+ },
263
+ {
264
+ id: "provider:pacific-mainnet:vault-status",
265
+ name: "Vault-status provider",
266
+ aliases: ["vault status"],
267
+ category: "provider",
268
+ chainId: 1672,
269
+ ecosystemStatus: "NOT_CONFIGURED",
270
+ verificationStatus: "UNVERIFIED",
271
+ evidenceSources: [],
272
+ contracts: [],
273
+ providers: [
274
+ { kind: "json_api", endpoint: null, configVia: null, status: "not_configured", note: "Set to a verified public, keyless vault-status URL to enrich vault_deposit / yield_deposit intents with TVL/cap/paused data. Without it, those fields are reported as unavailable, never invented." },
275
+ ],
276
+ safetyUse: "recognition_only",
277
+ notes: "",
278
+ },
279
+ // ── Live truth providers used by the TS backend ─────────────────────────
280
+ {
281
+ id: "provider:pacific-mainnet:public-rpc",
282
+ name: "Public Pharos RPC",
283
+ aliases: ["public rpc", "rpc.pharos.xyz"],
284
+ category: "provider",
285
+ chainId: 1672,
286
+ ecosystemStatus: "VERIFIED",
287
+ verificationStatus: "VERIFIED",
288
+ evidenceSources: [{ type: "official_docs", ref: "https://docs.pharos.xyz/api-and-sdk/json-rpc-methods", verifiedAt: null }],
289
+ contracts: [],
290
+ providers: [
291
+ { kind: "rpc", endpoint: "https://rpc.pharos.xyz", configVia: "PHAROS_RPC_URL", status: "implemented", note: "Default keyless read-only RPC; read methods only (see src/lib/pharos/rpcMethods.ts)." },
292
+ ],
293
+ safetyUse: "recognition_only",
294
+ notes: "Tier-1 on-chain truth transport. RPC availability never relaxes a decision; RPC failure fails closed.",
295
+ },
296
+ {
297
+ id: "provider:goplus",
298
+ name: "GoPlus token/address security",
299
+ aliases: ["goplus", "go+ security"],
300
+ category: "provider",
301
+ chainId: null,
302
+ ecosystemStatus: "KNOWN_ECOSYSTEM",
303
+ verificationStatus: "TO_VERIFY",
304
+ evidenceSources: [{ type: "provider", ref: "https://api.gopluslabs.io (keyless public API)", verifiedAt: null }],
305
+ contracts: [],
306
+ providers: [
307
+ { kind: "security_intel", endpoint: "https://api.gopluslabs.io", configVia: "GOPLUS_API_BASE", status: "implemented", note: "Keyless threat intel. Negative signals escalate; a clean result never relaxes risk on its own. Unavailable/unindexed/schema-drift → fail closed (token treated as unreviewed)." },
308
+ ],
309
+ safetyUse: "recognition_only",
310
+ notes: "GoPlus support for Pharos (chain 1672) is a third-party claim (TO_VERIFY); its output is risk intel, never identity or legitimacy.",
311
+ },
312
+ {
313
+ id: "explorer:pharosscan",
314
+ name: "Pharosscan explorer",
315
+ aliases: ["pharosscan", "explorer"],
316
+ category: "explorer",
317
+ chainId: null,
318
+ ecosystemStatus: "VERIFIED",
319
+ verificationStatus: "VERIFIED",
320
+ evidenceSources: [{ type: "official_docs", ref: "https://www.pharosscan.xyz (linked from official Pharos docs)", verifiedAt: null }],
321
+ contracts: [],
322
+ providers: [
323
+ { kind: "explorer_api", endpoint: null, configVia: null, status: "not_implemented", note: "Explorer is used for display links only; no verification API is called and explorer pages are never scraped." },
324
+ ],
325
+ safetyUse: "recognition_only",
326
+ notes: "Every SafeHands analysis links to the explorer so users can verify evidence themselves; the link is presentation, not proof.",
327
+ },
328
+ // ── Known-but-unverified ecosystem protocols (fail closed) ──────────────
329
+ {
330
+ id: "protocol:pacific-mainnet:stargate",
331
+ name: "Stargate",
332
+ aliases: ["stargate"],
333
+ category: "bridge",
334
+ chainId: 1672,
335
+ ecosystemStatus: "KNOWN_ECOSYSTEM",
336
+ verificationStatus: "UNVERIFIED",
337
+ evidenceSources: [],
338
+ contracts: [],
339
+ providers: [],
340
+ safetyUse: "escalate_only",
341
+ notes: "No officially published Stargate router address for Pharos Pacific Mainnet is bundled. Bridge intents to unlisted routers fail closed (warn/block).",
342
+ },
343
+ {
344
+ id: "protocol:pacific-mainnet:faroswap",
345
+ name: "FaroSwap",
346
+ aliases: ["faroswap"],
347
+ category: "protocol",
348
+ chainId: 1672,
349
+ ecosystemStatus: "KNOWN_ECOSYSTEM",
350
+ verificationStatus: "UNVERIFIED",
351
+ evidenceSources: [],
352
+ contracts: [],
353
+ providers: [],
354
+ safetyUse: "escalate_only",
355
+ notes: "No officially published FaroSwap contract addresses are bundled. Internal frontend endpoints and pass-keys are prohibited.",
356
+ },
357
+ {
358
+ id: "protocol:pacific-mainnet:stpros-premint",
359
+ name: "stPROS Pre-Mint",
360
+ aliases: ["stpros", "stpros-premint"],
361
+ category: "protocol",
362
+ chainId: 1672,
363
+ ecosystemStatus: "KNOWN_ECOSYSTEM",
364
+ verificationStatus: "UNVERIFIED",
365
+ evidenceSources: [],
366
+ contracts: [],
367
+ providers: [],
368
+ safetyUse: "escalate_only",
369
+ notes: "No officially published stPROS Pre-Mint contract address is bundled. Yield-deposit intents to unlisted contracts fail closed (warn/block).",
370
+ },
371
+ // ── Known-but-unverified DEX / DeFi protocols (name recognition only) ────
372
+ // Ecosystem names recognized from the public Pharos ecosystem list. No
373
+ // official contract addresses are bundled — recognition is for impersonation
374
+ // detection and fail-closed escalation only, never an ALLOW signal.
375
+ {
376
+ id: "protocol:pacific-mainnet:oku",
377
+ name: "OKU",
378
+ aliases: ["oku", "oku trade"],
379
+ category: "protocol",
380
+ chainId: 1672,
381
+ ecosystemStatus: "KNOWN_ECOSYSTEM",
382
+ verificationStatus: "UNVERIFIED",
383
+ evidenceSources: [],
384
+ contracts: [],
385
+ providers: [],
386
+ safetyUse: "escalate_only",
387
+ notes: "No officially published OKU contract addresses are bundled. Swap/DEX intents to unlisted routers fail closed (warn/block).",
388
+ },
389
+ {
390
+ id: "protocol:pacific-mainnet:agra",
391
+ name: "Agra",
392
+ aliases: ["agra"],
393
+ category: "protocol",
394
+ chainId: 1672,
395
+ ecosystemStatus: "KNOWN_ECOSYSTEM",
396
+ verificationStatus: "UNVERIFIED",
397
+ evidenceSources: [],
398
+ contracts: [],
399
+ providers: [],
400
+ safetyUse: "escalate_only",
401
+ notes: "No officially published Agra contract addresses are bundled. Swap/DEX intents to unlisted routers fail closed (warn/block).",
402
+ },
403
+ {
404
+ id: "protocol:pacific-mainnet:bitverse",
405
+ name: "Bitverse",
406
+ aliases: ["bitverse"],
407
+ category: "protocol",
408
+ chainId: 1672,
409
+ ecosystemStatus: "KNOWN_ECOSYSTEM",
410
+ verificationStatus: "UNVERIFIED",
411
+ evidenceSources: [],
412
+ contracts: [],
413
+ providers: [],
414
+ safetyUse: "escalate_only",
415
+ notes: "Recognized in the Pharos DEX/DeFi and RWA ecosystem (single entry). No officially published Bitverse contract addresses are bundled. Trading/RWA intents to unlisted contracts fail closed (warn/block).",
416
+ },
417
+ // ── Known-but-unverified bridge (name recognition only) ─────────────────
418
+ {
419
+ id: "protocol:pacific-mainnet:interport",
420
+ name: "InterPort",
421
+ aliases: ["interport"],
422
+ category: "bridge",
423
+ chainId: 1672,
424
+ ecosystemStatus: "KNOWN_ECOSYSTEM",
425
+ verificationStatus: "UNVERIFIED",
426
+ evidenceSources: [],
427
+ contracts: [],
428
+ providers: [],
429
+ safetyUse: "escalate_only",
430
+ notes: "No officially published InterPort router address for Pharos Pacific Mainnet is bundled. Bridge/cross-chain intents to unlisted routers fail closed (warn/block).",
431
+ },
432
+ // ── Known-but-unverified RWA / RealFi protocols (name recognition only) ──
433
+ {
434
+ id: "protocol:pacific-mainnet:r25",
435
+ name: "R25",
436
+ aliases: ["r25"],
437
+ category: "protocol",
438
+ chainId: 1672,
439
+ ecosystemStatus: "KNOWN_ECOSYSTEM",
440
+ verificationStatus: "UNVERIFIED",
441
+ evidenceSources: [],
442
+ contracts: [],
443
+ providers: [],
444
+ safetyUse: "escalate_only",
445
+ notes: "No officially published R25 contract addresses are bundled. RWA/RealFi intents to unlisted contracts fail closed (warn/block).",
446
+ },
447
+ {
448
+ id: "protocol:pacific-mainnet:asseto",
449
+ name: "Asseto",
450
+ aliases: ["asseto"],
451
+ category: "protocol",
452
+ chainId: 1672,
453
+ ecosystemStatus: "KNOWN_ECOSYSTEM",
454
+ verificationStatus: "UNVERIFIED",
455
+ evidenceSources: [],
456
+ contracts: [],
457
+ providers: [],
458
+ safetyUse: "escalate_only",
459
+ notes: "No officially published Asseto contract addresses are bundled. RWA/RealFi intents to unlisted contracts fail closed (warn/block).",
460
+ },
461
+ {
462
+ id: "protocol:pacific-mainnet:aquaflux",
463
+ name: "AquaFlux",
464
+ aliases: ["aquaflux"],
465
+ category: "protocol",
466
+ chainId: 1672,
467
+ ecosystemStatus: "VERIFIED",
468
+ verificationStatus: "VERIFIED",
469
+ evidenceSources: [
470
+ { type: "official_docs", ref: "https://docs.aquaflux.pro/developers/contracts (Contracts page, Pharos network column; AquaFlux's own docs, not an ecosystem listing)", verifiedAt: "2026-07-12" },
471
+ { type: "onchain", ref: "eth_getCode non-empty for all bundled addresses on chainId 1672 (https://rpc.pharos.xyz); the AquaFluxCore proxy's EIP-1967 implementation slot resolves to the exact implementation address the docs publish (0x3A36D537B37F96d3df22e808400b781286200FB3)", verifiedAt: "2026-07-12" },
472
+ ],
473
+ contracts: [
474
+ { address: "0x0da98a8447b6B4aDD9733011A812922954d3e127", label: "AquaFluxCore", role: "rwa-structuring-core", deterministic: false, verificationStatus: "VERIFIED", codeHash: "0x864cc9ad53b338b82da1f7cab85ab0b3d5c8861acb422b6fec63cf36234f36a6", implAddress: "0x3A36D537B37F96d3df22e808400b781286200FB3", implCodeHash: "0x575ddbb741854b357bec819f76e93f557da665cb1809eee3371f7b9b8878743f", note: "ERC-1967 proxy; the deposit/split target for AquaFlux tri-token RWA structuring on Pharos." },
475
+ { address: "0x1C041b61A6Cf43881Be7E9394bb198B472Ae17A2", label: "AquaFlux TokenFactory", role: "token-factory", deterministic: false, verificationStatus: "VERIFIED", codeHash: "0x641e898afa64bff022e8d497edbc2573dc3e51174fed14ee51e0655cb542d1d8" },
476
+ { address: "0x94eb66E69B158eD58Edf2d4150638920205e3C88", label: "AquaFlux SwapRouter", role: "dex", deterministic: false, verificationStatus: "VERIFIED", codeHash: "0x2a3ca38ec454db4828aa1dbc489d93a73249ee239f36cf4904caea6a14aed284" },
477
+ { address: "0x11625aaB301eC4444FF38239f31E67735cAe54eE", label: "AquaFlux LiquidityRouter", role: "liquidity-router", deterministic: false, verificationStatus: "VERIFIED", codeHash: "0xa2b74a176b5558d10964ef81d6695b2175758277c72474d8dca2643cbf9f6771" },
478
+ ],
479
+ providers: [],
480
+ safetyUse: "allow_eligible",
481
+ notes: "Verified 2026-07-12 from AquaFlux's own docs Contracts page + on-chain checks (incl. the proxy's EIP-1967 slot matching the published implementation). Verification relaxes recognition only: an unlimited approval to AquaFlux contracts still requires confirmation. Implementation addresses, the shared Uniswap v4 AMM stack the docs also list (PoolManager, UniversalRouter, V4Quoter, StateView, PositionManager), Permit2, the timelock, and per-asset P/C/S token addresses are NOT bundled; assets are issued dynamically, verify each per use.",
482
+ },
483
+ {
484
+ id: "protocol:pacific-mainnet:okx-dex",
485
+ name: "OKX DEX Aggregator",
486
+ aliases: ["okx", "okx dex", "okx dex aggregator", "okx swap"],
487
+ category: "protocol",
488
+ chainId: 1672,
489
+ ecosystemStatus: "VERIFIED",
490
+ verificationStatus: "VERIFIED",
491
+ evidenceSources: [
492
+ { type: "official_docs", ref: "https://web3.okx.com/onchainos/dev-docs/trade/dex-smart-contract (OKX DEX Smart Contract dev-docs, Pharos row; OKX's own developer docs, not an ecosystem listing)", verifiedAt: "2026-07-13" },
493
+ { type: "onchain", ref: "eth_getCode non-empty for both bundled addresses on chainId 1672 (https://rpc.pharos.xyz): aggregation router 0x75f21a97bd89a9a5683a9f46b5d5b4a080708dea = 24545 bytes, token-approve/settlement 0x78466A1488f1883d71cFddd1c621351572dE0a1C = 1605 bytes", verifiedAt: "2026-07-13" },
494
+ ],
495
+ contracts: [
496
+ { address: "0x75f21a97bd89a9a5683a9f46b5d5b4a080708dea", label: "OKX DEX Aggregation Router", role: "dex", deterministic: false, verificationStatus: "VERIFIED", codeHash: "0x215d497863f2867960edc6a63731ee01e67b941a44da3b35d65c3be04857cfce", note: "Swap-execution router for the OKX DEX aggregator on Pharos, from OKX's own dev docs." },
497
+ { address: "0x78466A1488f1883d71cFddd1c621351572dE0a1C", label: "OKX DEX Token Approve", role: "approval-router", deterministic: false, verificationStatus: "VERIFIED", codeHash: "0x49c0ff4256375fd93ffdae5a20d0818e8a48df674afc3fac74bf684d1e05c717", note: "Token-approval/settlement spender approved before an OKX DEX swap." },
498
+ ],
499
+ providers: [],
500
+ safetyUse: "allow_eligible",
501
+ notes: "Verified 2026-07-13 from OKX's own DEX Smart Contract dev-docs page (Pharos row) plus on-chain eth_getCode on chainId 1672. Verification relaxes recognition only: an unlimited approval to the OKX router or approve contract still requires confirmation. The aggregator routes dynamically through downstream pools/DEXes that are NOT individually bundled; Permit2 (a separate approval path OKX also supports) is the canonical infra singleton and is not re-bundled here. OKX's supported-chains API is key-gated and is never called at runtime; only the public docs plus on-chain reads back this entry.",
502
+ },
503
+ {
504
+ id: "protocol:pacific-mainnet:zona",
505
+ name: "Zona",
506
+ aliases: ["zona"],
507
+ category: "protocol",
508
+ chainId: 1672,
509
+ ecosystemStatus: "KNOWN_ECOSYSTEM",
510
+ verificationStatus: "UNVERIFIED",
511
+ evidenceSources: [],
512
+ contracts: [],
513
+ providers: [],
514
+ safetyUse: "escalate_only",
515
+ notes: "No officially published Zona contract addresses are bundled. RWA/RealFi intents to unlisted contracts fail closed (warn/block).",
516
+ },
517
+ // ── Known-but-unverified lending / vault / yield protocols ──────────────
518
+ {
519
+ id: "protocol:pacific-mainnet:morpho",
520
+ name: "Morpho",
521
+ aliases: ["morpho", "morpho blue"],
522
+ category: "protocol",
523
+ chainId: 1672,
524
+ ecosystemStatus: "VERIFIED",
525
+ verificationStatus: "VERIFIED",
526
+ evidenceSources: [
527
+ { type: "official_docs", ref: "https://docs.morpho.org/get-started/resources/addresses/ (Pharos section; Morpho's own docs, not an ecosystem listing)", verifiedAt: "2026-07-11" },
528
+ { type: "onchain", ref: "eth_getCode non-empty for all three addresses on chainId 1672 (https://rpc.pharos.xyz); core additionally answers DOMAIN_SEPARATOR() and owner() eth_calls", verifiedAt: "2026-07-11" },
529
+ ],
530
+ contracts: [
531
+ { address: "0x18573fA18fd17dDfD790B4a5B5b2977aad3b4Efb", label: "Morpho Blue", role: "lending-core", deterministic: false, verificationStatus: "VERIFIED", codeHash: "0xc7e89967df297eebdb2642ade6225f6a9f72a61862c83de181dd707ff2e2c744", note: "The approval/deposit target for Morpho markets on Pharos." },
532
+ { address: "0xD5E02889C13230458506CC842347c4E62F8cDF3a", label: "Morpho AdaptiveCurveIRM", role: "interest-rate-model", deterministic: false, verificationStatus: "VERIFIED", codeHash: "0xb6c5655b5ca85ed8a977c8b85ecc1c5fdabd5b386766b4fe4e37808ecef0eaff" },
533
+ { address: "0xb8118256d8Aa950ec0B26a0b8Be7C6c1a858f6a3", label: "Morpho ChainlinkOracleV2Factory", role: "oracle-factory", deterministic: false, verificationStatus: "VERIFIED", codeHash: "0x535cbea6cb733b4afdb01e5c88ed057b16bea4a28c0adc5b4f02de09694ecfd2" },
534
+ ],
535
+ providers: [],
536
+ safetyUse: "allow_eligible",
537
+ notes: "Verified 2026-07-11 from Morpho's own addresses page + on-chain checks. Verification relaxes recognition only: an unlimited approval to Morpho Blue still requires confirmation, and MetaMorpho vault addresses are NOT bundled (markets/vaults are permissionless; verify each vault separately).",
538
+ },
539
+ {
540
+ id: "protocol:pacific-mainnet:termmax",
541
+ name: "TermMax",
542
+ aliases: ["termmax"],
543
+ category: "protocol",
544
+ chainId: 1672,
545
+ ecosystemStatus: "KNOWN_ECOSYSTEM",
546
+ verificationStatus: "UNVERIFIED",
547
+ evidenceSources: [],
548
+ contracts: [],
549
+ providers: [],
550
+ safetyUse: "escalate_only",
551
+ notes: "No officially published TermMax contract addresses are bundled. Lending/fixed-rate intents to unlisted contracts fail closed (warn/block).",
552
+ },
553
+ {
554
+ id: "protocol:pacific-mainnet:faroo",
555
+ name: "Faroo",
556
+ aliases: ["faroo"],
557
+ category: "protocol",
558
+ chainId: 1672,
559
+ ecosystemStatus: "KNOWN_ECOSYSTEM",
560
+ verificationStatus: "UNVERIFIED",
561
+ evidenceSources: [],
562
+ contracts: [],
563
+ providers: [],
564
+ safetyUse: "escalate_only",
565
+ notes: "Distinct from FaroSwap. No officially published Faroo contract addresses are bundled. Lending/yield intents to unlisted contracts fail closed (warn/block).",
566
+ },
567
+ {
568
+ id: "protocol:pacific-mainnet:ember",
569
+ name: "Ember",
570
+ aliases: ["ember"],
571
+ category: "protocol",
572
+ chainId: 1672,
573
+ ecosystemStatus: "KNOWN_ECOSYSTEM",
574
+ verificationStatus: "UNVERIFIED",
575
+ evidenceSources: [],
576
+ contracts: [],
577
+ providers: [],
578
+ safetyUse: "escalate_only",
579
+ notes: "No officially published Ember contract addresses are bundled. Lending/vault/yield intents to unlisted contracts fail closed (warn/block).",
580
+ },
581
+ ];
582
+ //# sourceMappingURL=ecosystemRegistry.data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ecosystemRegistry.data.js","sourceRoot":"","sources":["../../src/data/ecosystemRegistry.data.ts"],"names":[],"mappings":"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"}
package/dist/demo.d.ts CHANGED
File without changes