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.
- package/.agents/policies/default.json +15 -0
- package/.env.example +81 -64
- package/README.md +301 -444
- package/SECURITY.md +112 -0
- package/SKILL.md +59 -0
- package/contracts/SafeHandsAttestation.sol +182 -0
- package/contracts/SafeHandsRegistry.sol +149 -0
- package/dist/agent/SafeHandsGuardianAgent.d.ts +39 -0
- package/dist/agent/SafeHandsGuardianAgent.d.ts.map +1 -0
- package/dist/agent/SafeHandsGuardianAgent.js +98 -0
- package/dist/agent/SafeHandsGuardianAgent.js.map +1 -0
- package/dist/agent/agentDecisionFormatter.d.ts +43 -0
- package/dist/agent/agentDecisionFormatter.d.ts.map +1 -0
- package/dist/agent/agentDecisionFormatter.js +96 -0
- package/dist/agent/agentDecisionFormatter.js.map +1 -0
- package/dist/agent/agentEnrich.d.ts +28 -0
- package/dist/agent/agentEnrich.d.ts.map +1 -0
- package/dist/agent/agentEnrich.js +99 -0
- package/dist/agent/agentEnrich.js.map +1 -0
- package/dist/agent/agentIntentClassifier.d.ts +44 -0
- package/dist/agent/agentIntentClassifier.d.ts.map +1 -0
- package/dist/agent/agentIntentClassifier.js +77 -0
- package/dist/agent/agentIntentClassifier.js.map +1 -0
- package/dist/agent/agentPolicyResolver.d.ts +44 -0
- package/dist/agent/agentPolicyResolver.d.ts.map +1 -0
- package/dist/agent/agentPolicyResolver.js +94 -0
- package/dist/agent/agentPolicyResolver.js.map +1 -0
- package/dist/agent/agentRuntime.d.ts +12 -0
- package/dist/agent/agentRuntime.d.ts.map +1 -0
- package/dist/agent/agentRuntime.js +31 -0
- package/dist/agent/agentRuntime.js.map +1 -0
- package/dist/agent/agentToolRouter.d.ts +24 -0
- package/dist/agent/agentToolRouter.d.ts.map +1 -0
- package/dist/agent/agentToolRouter.js +89 -0
- package/dist/agent/agentToolRouter.js.map +1 -0
- package/dist/agent/guardianOperator.d.ts +35 -0
- package/dist/agent/guardianOperator.d.ts.map +1 -0
- package/dist/agent/guardianOperator.js +65 -0
- package/dist/agent/guardianOperator.js.map +1 -0
- package/dist/agent/index.d.ts +8 -0
- package/dist/agent/index.d.ts.map +1 -0
- package/dist/agent/index.js +14 -0
- package/dist/agent/index.js.map +1 -0
- package/dist/api/activityRoutes.d.ts +70 -0
- package/dist/api/activityRoutes.d.ts.map +1 -0
- package/dist/api/activityRoutes.js +100 -0
- package/dist/api/activityRoutes.js.map +1 -0
- package/dist/api/agentRoutes.d.ts +16 -0
- package/dist/api/agentRoutes.d.ts.map +1 -0
- package/dist/api/agentRoutes.js +37 -0
- package/dist/api/agentRoutes.js.map +1 -0
- package/dist/api/broadcastRoutes.d.ts +34 -0
- package/dist/api/broadcastRoutes.d.ts.map +1 -0
- package/dist/api/broadcastRoutes.js +147 -0
- package/dist/api/broadcastRoutes.js.map +1 -0
- package/dist/api/consolePage.d.ts +2 -0
- package/dist/api/consolePage.d.ts.map +1 -0
- package/dist/api/consolePage.js +206 -0
- package/dist/api/consolePage.js.map +1 -0
- package/dist/api/httpHardening.d.ts +75 -0
- package/dist/api/httpHardening.d.ts.map +1 -0
- package/dist/api/httpHardening.js +122 -0
- package/dist/api/httpHardening.js.map +1 -0
- package/dist/api/indexerRoutes.d.ts +46 -0
- package/dist/api/indexerRoutes.d.ts.map +1 -0
- package/dist/api/indexerRoutes.js +75 -0
- package/dist/api/indexerRoutes.js.map +1 -0
- package/dist/api/paidRoutes.d.ts +8 -0
- package/dist/api/paidRoutes.d.ts.map +1 -0
- package/dist/api/paidRoutes.js +175 -0
- package/dist/api/paidRoutes.js.map +1 -0
- package/dist/api/prepareRoutes.d.ts +58 -0
- package/dist/api/prepareRoutes.d.ts.map +1 -0
- package/dist/api/prepareRoutes.js +90 -0
- package/dist/api/prepareRoutes.js.map +1 -0
- package/dist/api/response.d.ts +39 -0
- package/dist/api/response.d.ts.map +1 -0
- package/dist/api/response.js +53 -0
- package/dist/api/response.js.map +1 -0
- package/dist/api/routes.d.ts +175 -0
- package/dist/api/routes.d.ts.map +1 -0
- package/dist/api/routes.js +276 -0
- package/dist/api/routes.js.map +1 -0
- package/dist/api/schemas.d.ts +147 -0
- package/dist/api/schemas.d.ts.map +1 -0
- package/dist/api/schemas.js +81 -0
- package/dist/api/schemas.js.map +1 -0
- package/dist/api/server.d.ts +11 -0
- package/dist/api/server.d.ts.map +1 -0
- package/dist/api/server.js +505 -0
- package/dist/api/server.js.map +1 -0
- package/dist/api/toolRoutes.d.ts +14 -0
- package/dist/api/toolRoutes.d.ts.map +1 -0
- package/dist/api/toolRoutes.js +138 -0
- package/dist/api/toolRoutes.js.map +1 -0
- package/dist/api/walletPrepareRoutes.d.ts +74 -0
- package/dist/api/walletPrepareRoutes.d.ts.map +1 -0
- package/dist/api/walletPrepareRoutes.js +127 -0
- package/dist/api/walletPrepareRoutes.js.map +1 -0
- package/dist/api/x402Gate.d.ts +51 -0
- package/dist/api/x402Gate.d.ts.map +1 -0
- package/dist/api/x402Gate.js +184 -0
- package/dist/api/x402Gate.js.map +1 -0
- package/dist/cli.d.ts +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +29 -1
- package/dist/cli.js.map +1 -1
- package/dist/data/ecosystemRegistry.data.d.ts +3 -0
- package/dist/data/ecosystemRegistry.data.d.ts.map +1 -0
- package/dist/data/ecosystemRegistry.data.js +582 -0
- package/dist/data/ecosystemRegistry.data.js.map +1 -0
- package/dist/demo.d.ts +0 -0
- package/dist/demo.d.ts.map +1 -1
- package/dist/demo.js +43 -8
- package/dist/demo.js.map +1 -1
- package/dist/handsafe.zip +0 -0
- package/dist/index.d.ts +0 -0
- package/dist/index.d.ts.map +0 -0
- package/dist/index.js +212 -135
- package/dist/index.js.map +1 -1
- package/dist/init.d.ts +0 -0
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +72 -10
- package/dist/init.js.map +1 -1
- package/dist/lib/analysis/abiWords.d.ts +17 -0
- package/dist/lib/analysis/abiWords.d.ts.map +1 -0
- package/dist/lib/analysis/abiWords.js +48 -0
- package/dist/lib/analysis/abiWords.js.map +1 -0
- package/dist/lib/analysis/approval.d.ts +29 -0
- package/dist/lib/analysis/approval.d.ts.map +1 -0
- package/dist/lib/analysis/approval.js +189 -0
- package/dist/lib/analysis/approval.js.map +1 -0
- package/dist/lib/analysis/calldata.d.ts +60 -0
- package/dist/lib/analysis/calldata.d.ts.map +1 -0
- package/dist/lib/analysis/calldata.js +464 -0
- package/dist/lib/analysis/calldata.js.map +1 -0
- package/dist/lib/analysis/contractIntel.d.ts +65 -0
- package/dist/lib/analysis/contractIntel.d.ts.map +1 -0
- package/dist/lib/analysis/contractIntel.js +320 -0
- package/dist/lib/analysis/contractIntel.js.map +1 -0
- package/dist/lib/analysis/evm.d.ts +42 -0
- package/dist/lib/analysis/evm.d.ts.map +1 -0
- package/dist/lib/analysis/evm.js +185 -0
- package/dist/lib/analysis/evm.js.map +1 -0
- package/dist/lib/analysis/gas.d.ts +4 -0
- package/dist/lib/analysis/gas.d.ts.map +1 -0
- package/dist/lib/analysis/gas.js +13 -0
- package/dist/lib/analysis/gas.js.map +1 -0
- package/dist/lib/analysis/index.d.ts +11 -0
- package/dist/lib/analysis/index.d.ts.map +1 -0
- package/dist/lib/analysis/index.js +16 -0
- package/dist/lib/analysis/index.js.map +1 -0
- package/dist/lib/analysis/pharosTokens.d.ts +31 -0
- package/dist/lib/analysis/pharosTokens.d.ts.map +1 -0
- package/dist/lib/analysis/pharosTokens.js +78 -0
- package/dist/lib/analysis/pharosTokens.js.map +1 -0
- package/dist/lib/analysis/safeTx.d.ts +27 -0
- package/dist/lib/analysis/safeTx.d.ts.map +1 -0
- package/dist/lib/analysis/safeTx.js +118 -0
- package/dist/lib/analysis/safeTx.js.map +1 -0
- package/dist/lib/analysis/token.d.ts +21 -0
- package/dist/lib/analysis/token.d.ts.map +1 -0
- package/dist/lib/analysis/token.js +151 -0
- package/dist/lib/analysis/token.js.map +1 -0
- package/dist/lib/analysis/types.d.ts +49 -0
- package/dist/lib/analysis/types.d.ts.map +1 -0
- package/dist/lib/analysis/types.js +10 -0
- package/dist/lib/analysis/types.js.map +1 -0
- package/dist/lib/analysis/x402.d.ts +24 -0
- package/dist/lib/analysis/x402.d.ts.map +1 -0
- package/dist/lib/analysis/x402.js +60 -0
- package/dist/lib/analysis/x402.js.map +1 -0
- package/dist/lib/auditLog.d.ts +1 -0
- package/dist/lib/auditLog.d.ts.map +1 -1
- package/dist/lib/auditLog.js +0 -0
- package/dist/lib/auditLog.js.map +1 -1
- package/dist/lib/config.d.ts +77 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/config.js +120 -0
- package/dist/lib/config.js.map +1 -0
- package/dist/lib/constants.d.ts +246 -97
- package/dist/lib/constants.d.ts.map +1 -1
- package/dist/lib/constants.js +334 -127
- package/dist/lib/constants.js.map +1 -1
- package/dist/lib/dodoApi.d.ts +26 -3
- package/dist/lib/dodoApi.d.ts.map +1 -1
- package/dist/lib/dodoApi.js +80 -17
- package/dist/lib/dodoApi.js.map +1 -1
- package/dist/lib/ecosystemRegistry.d.ts +126 -0
- package/dist/lib/ecosystemRegistry.d.ts.map +1 -0
- package/dist/lib/ecosystemRegistry.js +178 -0
- package/dist/lib/ecosystemRegistry.js.map +1 -0
- package/dist/lib/envLoader.d.ts +0 -0
- package/dist/lib/envLoader.d.ts.map +0 -0
- package/dist/lib/envLoader.js +39 -18
- package/dist/lib/envLoader.js.map +1 -1
- package/dist/lib/goldsky.d.ts +58 -0
- package/dist/lib/goldsky.d.ts.map +1 -0
- package/dist/lib/goldsky.js +275 -0
- package/dist/lib/goldsky.js.map +1 -0
- package/dist/lib/guardian/decision.d.ts +23 -0
- package/dist/lib/guardian/decision.d.ts.map +1 -0
- package/dist/lib/guardian/decision.js +40 -0
- package/dist/lib/guardian/decision.js.map +1 -0
- package/dist/lib/http.d.ts +0 -1
- package/dist/lib/http.d.ts.map +1 -1
- package/dist/lib/http.js +297 -32
- package/dist/lib/http.js.map +1 -1
- package/dist/lib/managedExecution.d.ts +19 -0
- package/dist/lib/managedExecution.d.ts.map +1 -0
- package/dist/lib/managedExecution.js +64 -0
- package/dist/lib/managedExecution.js.map +1 -0
- package/dist/lib/merkleBatcher.d.ts +23 -0
- package/dist/lib/merkleBatcher.d.ts.map +1 -0
- package/dist/lib/merkleBatcher.js +62 -0
- package/dist/lib/merkleBatcher.js.map +1 -0
- package/dist/lib/networks.d.ts +48 -0
- package/dist/lib/networks.d.ts.map +1 -0
- package/dist/lib/networks.js +103 -0
- package/dist/lib/networks.js.map +1 -0
- package/dist/lib/observability/accessContext.d.ts +29 -0
- package/dist/lib/observability/accessContext.d.ts.map +1 -0
- package/dist/lib/observability/accessContext.js +50 -0
- package/dist/lib/observability/accessContext.js.map +1 -0
- package/dist/lib/observability/activityStore.d.ts +70 -0
- package/dist/lib/observability/activityStore.d.ts.map +1 -0
- package/dist/lib/observability/activityStore.js +149 -0
- package/dist/lib/observability/activityStore.js.map +1 -0
- package/dist/lib/observability/apiKey.d.ts +55 -0
- package/dist/lib/observability/apiKey.d.ts.map +1 -0
- package/dist/lib/observability/apiKey.js +141 -0
- package/dist/lib/observability/apiKey.js.map +1 -0
- package/dist/lib/observability/logger.d.ts +30 -0
- package/dist/lib/observability/logger.d.ts.map +1 -0
- package/dist/lib/observability/logger.js +30 -0
- package/dist/lib/observability/logger.js.map +1 -0
- package/dist/lib/observability/quota.d.ts +33 -0
- package/dist/lib/observability/quota.d.ts.map +1 -0
- package/dist/lib/observability/quota.js +49 -0
- package/dist/lib/observability/quota.js.map +1 -0
- package/dist/lib/observability/requestId.d.ts +8 -0
- package/dist/lib/observability/requestId.d.ts.map +1 -0
- package/dist/lib/observability/requestId.js +24 -0
- package/dist/lib/observability/requestId.js.map +1 -0
- package/dist/lib/observability/sanitize.d.ts +77 -0
- package/dist/lib/observability/sanitize.d.ts.map +1 -0
- package/dist/lib/observability/sanitize.js +228 -0
- package/dist/lib/observability/sanitize.js.map +1 -0
- package/dist/lib/observability/scopes.d.ts +20 -0
- package/dist/lib/observability/scopes.d.ts.map +1 -0
- package/dist/lib/observability/scopes.js +77 -0
- package/dist/lib/observability/scopes.js.map +1 -0
- package/dist/lib/okxDexApi.d.ts +106 -0
- package/dist/lib/okxDexApi.d.ts.map +1 -0
- package/dist/lib/okxDexApi.js +221 -0
- package/dist/lib/okxDexApi.js.map +1 -0
- package/dist/lib/persistentJsonStore.d.ts +5 -0
- package/dist/lib/persistentJsonStore.d.ts.map +1 -0
- package/dist/lib/persistentJsonStore.js +39 -0
- package/dist/lib/persistentJsonStore.js.map +1 -0
- package/dist/lib/pharos/attestationPublisher.d.ts +50 -0
- package/dist/lib/pharos/attestationPublisher.d.ts.map +1 -0
- package/dist/lib/pharos/attestationPublisher.js +262 -0
- package/dist/lib/pharos/attestationPublisher.js.map +1 -0
- package/dist/lib/pharos/ecosystem.d.ts +52 -0
- package/dist/lib/pharos/ecosystem.d.ts.map +1 -0
- package/dist/lib/pharos/ecosystem.js +431 -0
- package/dist/lib/pharos/ecosystem.js.map +1 -0
- package/dist/lib/pharos/ecosystemEvidence.d.ts +53 -0
- package/dist/lib/pharos/ecosystemEvidence.d.ts.map +1 -0
- package/dist/lib/pharos/ecosystemEvidence.js +133 -0
- package/dist/lib/pharos/ecosystemEvidence.js.map +1 -0
- package/dist/lib/pharos/rpc.d.ts +44 -0
- package/dist/lib/pharos/rpc.d.ts.map +1 -0
- package/dist/lib/pharos/rpc.js +90 -0
- package/dist/lib/pharos/rpc.js.map +1 -0
- package/dist/lib/pharos/rpcEvidence.d.ts +49 -0
- package/dist/lib/pharos/rpcEvidence.d.ts.map +1 -0
- package/dist/lib/pharos/rpcEvidence.js +46 -0
- package/dist/lib/pharos/rpcEvidence.js.map +1 -0
- package/dist/lib/pharos/rpcMethods.d.ts +46 -0
- package/dist/lib/pharos/rpcMethods.d.ts.map +1 -0
- package/dist/lib/pharos/rpcMethods.js +176 -0
- package/dist/lib/pharos/rpcMethods.js.map +1 -0
- package/dist/lib/pharos/spvVerifier.d.ts +47 -0
- package/dist/lib/pharos/spvVerifier.d.ts.map +1 -0
- package/dist/lib/pharos/spvVerifier.js +105 -0
- package/dist/lib/pharos/spvVerifier.js.map +1 -0
- package/dist/lib/pharos/userSignedBroadcaster.d.ts +10 -0
- package/dist/lib/pharos/userSignedBroadcaster.d.ts.map +1 -0
- package/dist/lib/pharos/userSignedBroadcaster.js +50 -0
- package/dist/lib/pharos/userSignedBroadcaster.js.map +1 -0
- package/dist/lib/pharosClient.d.ts +5 -10
- package/dist/lib/pharosClient.d.ts.map +1 -1
- package/dist/lib/pharosClient.js +9 -16
- package/dist/lib/pharosClient.js.map +1 -1
- package/dist/lib/policy/actionPolicyEngine.d.ts +37 -1
- package/dist/lib/policy/actionPolicyEngine.d.ts.map +1 -1
- package/dist/lib/policy/actionPolicyEngine.js +213 -52
- package/dist/lib/policy/actionPolicyEngine.js.map +1 -1
- package/dist/lib/policy/agentPolicy.d.ts +29 -0
- package/dist/lib/policy/agentPolicy.d.ts.map +1 -0
- package/dist/lib/policy/agentPolicy.js +154 -0
- package/dist/lib/policy/agentPolicy.js.map +1 -0
- package/dist/lib/policy/policyPresets.d.ts +30 -0
- package/dist/lib/policy/policyPresets.d.ts.map +1 -0
- package/dist/lib/policy/policyPresets.js +124 -0
- package/dist/lib/policy/policyPresets.js.map +1 -0
- package/dist/lib/policy/writeExecutionGate.d.ts +23 -0
- package/dist/lib/policy/writeExecutionGate.d.ts.map +1 -0
- package/dist/lib/policy/writeExecutionGate.js +65 -0
- package/dist/lib/policy/writeExecutionGate.js.map +1 -0
- package/dist/lib/preparedTxStore.d.ts +21 -0
- package/dist/lib/preparedTxStore.d.ts.map +1 -0
- package/dist/lib/preparedTxStore.js +90 -0
- package/dist/lib/preparedTxStore.js.map +1 -0
- package/dist/lib/price/chainlinkPushProvider.d.ts +34 -0
- package/dist/lib/price/chainlinkPushProvider.d.ts.map +1 -0
- package/dist/lib/price/chainlinkPushProvider.js +36 -0
- package/dist/lib/price/chainlinkPushProvider.js.map +1 -0
- package/dist/lib/price/feedRegistry.d.ts +26 -0
- package/dist/lib/price/feedRegistry.d.ts.map +1 -0
- package/dist/lib/price/feedRegistry.js +67 -0
- package/dist/lib/price/feedRegistry.js.map +1 -0
- package/dist/lib/price/priceResolver.d.ts +35 -0
- package/dist/lib/price/priceResolver.d.ts.map +1 -0
- package/dist/lib/price/priceResolver.js +246 -0
- package/dist/lib/price/priceResolver.js.map +1 -0
- package/dist/lib/price/supraProvider.d.ts +9 -0
- package/dist/lib/price/supraProvider.d.ts.map +1 -0
- package/dist/lib/price/supraProvider.js +17 -0
- package/dist/lib/price/supraProvider.js.map +1 -0
- package/dist/lib/price/types.d.ts +67 -0
- package/dist/lib/price/types.d.ts.map +1 -0
- package/dist/lib/price/types.js +7 -0
- package/dist/lib/price/types.js.map +1 -0
- package/dist/lib/productionGuards.d.ts +16 -0
- package/dist/lib/productionGuards.d.ts.map +1 -0
- package/dist/lib/productionGuards.js +93 -0
- package/dist/lib/productionGuards.js.map +1 -0
- package/dist/lib/recipientSafety.d.ts +5 -0
- package/dist/lib/recipientSafety.d.ts.map +1 -0
- package/dist/lib/recipientSafety.js +28 -0
- package/dist/lib/recipientSafety.js.map +1 -0
- package/dist/lib/riskEngine.d.ts +19 -0
- package/dist/lib/riskEngine.d.ts.map +1 -1
- package/dist/lib/riskEngine.js +107 -38
- package/dist/lib/riskEngine.js.map +1 -1
- package/dist/lib/riskInclusion.d.ts +72 -0
- package/dist/lib/riskInclusion.d.ts.map +1 -0
- package/dist/lib/riskInclusion.js +252 -0
- package/dist/lib/riskInclusion.js.map +1 -0
- package/dist/lib/safeHandsRegistry.d.ts +32 -0
- package/dist/lib/safeHandsRegistry.d.ts.map +1 -0
- package/dist/lib/safeHandsRegistry.js +151 -0
- package/dist/lib/safeHandsRegistry.js.map +1 -0
- package/dist/lib/signer/index.d.ts +3 -3
- package/dist/lib/signer/index.d.ts.map +1 -1
- package/dist/lib/signer/index.js +33 -11
- package/dist/lib/signer/index.js.map +1 -1
- package/dist/lib/spendAccumulator.d.ts +24 -1
- package/dist/lib/spendAccumulator.d.ts.map +1 -1
- package/dist/lib/spendAccumulator.js +76 -6
- package/dist/lib/spendAccumulator.js.map +1 -1
- package/dist/lib/toolResponse.d.ts +6 -1
- package/dist/lib/toolResponse.d.ts.map +1 -1
- package/dist/lib/toolResponse.js +13 -9
- package/dist/lib/toolResponse.js.map +1 -1
- package/dist/lib/validation.d.ts +7 -0
- package/dist/lib/validation.d.ts.map +1 -0
- package/dist/lib/validation.js +62 -0
- package/dist/lib/validation.js.map +1 -0
- package/dist/lib/wallet/index.d.ts +8 -12
- package/dist/lib/wallet/index.d.ts.map +1 -1
- package/dist/lib/wallet/index.js +48 -35
- package/dist/lib/wallet/index.js.map +1 -1
- package/dist/lib/x402ReplayStore.d.ts +6 -0
- package/dist/lib/x402ReplayStore.d.ts.map +1 -0
- package/dist/lib/x402ReplayStore.js +79 -0
- package/dist/lib/x402ReplayStore.js.map +1 -0
- package/dist/safehands.zip +0 -0
- package/dist/sdk.d.ts +14 -0
- package/dist/sdk.d.ts.map +1 -0
- package/dist/sdk.js +25 -0
- package/dist/sdk.js.map +1 -0
- package/dist/tools/approveToken.d.ts +31 -10
- package/dist/tools/approveToken.d.ts.map +1 -1
- package/dist/tools/approveToken.js +91 -24
- package/dist/tools/approveToken.js.map +1 -1
- package/dist/tools/assessRisk.d.ts +13 -26
- package/dist/tools/assessRisk.d.ts.map +1 -1
- package/dist/tools/assessRisk.js +34 -75
- package/dist/tools/assessRisk.js.map +1 -1
- package/dist/tools/checkAllowance.d.ts +9 -3
- package/dist/tools/checkAllowance.d.ts.map +1 -1
- package/dist/tools/checkAllowance.js +27 -5
- package/dist/tools/checkAllowance.js.map +1 -1
- package/dist/tools/checkTokenSecurity.d.ts +62 -5
- package/dist/tools/checkTokenSecurity.d.ts.map +1 -1
- package/dist/tools/checkTokenSecurity.js +166 -21
- package/dist/tools/checkTokenSecurity.js.map +1 -1
- package/dist/tools/createAgentWallet.d.ts +4 -2
- package/dist/tools/createAgentWallet.d.ts.map +1 -1
- package/dist/tools/createAgentWallet.js +36 -31
- package/dist/tools/createAgentWallet.js.map +1 -1
- package/dist/tools/estimateGas.d.ts +7 -2
- package/dist/tools/estimateGas.d.ts.map +1 -1
- package/dist/tools/estimateGas.js +16 -10
- package/dist/tools/estimateGas.js.map +1 -1
- package/dist/tools/executeSwap.d.ts +56 -8
- package/dist/tools/executeSwap.d.ts.map +1 -1
- package/dist/tools/executeSwap.js +194 -46
- package/dist/tools/executeSwap.js.map +1 -1
- package/dist/tools/explainRisk.d.ts +9 -9
- package/dist/tools/explainRisk.d.ts.map +1 -1
- package/dist/tools/explainRisk.js +5 -4
- package/dist/tools/explainRisk.js.map +1 -1
- package/dist/tools/getAgentPolicy.d.ts +15 -0
- package/dist/tools/getAgentPolicy.d.ts.map +1 -0
- package/dist/tools/getAgentPolicy.js +16 -0
- package/dist/tools/getAgentPolicy.js.map +1 -0
- package/dist/tools/getAgentReputation.d.ts +31 -0
- package/dist/tools/getAgentReputation.d.ts.map +1 -0
- package/dist/tools/getAgentReputation.js +44 -0
- package/dist/tools/getAgentReputation.js.map +1 -0
- package/dist/tools/getAgentWallet.d.ts +1 -1
- package/dist/tools/getAgentWallet.d.ts.map +1 -1
- package/dist/tools/getAgentWallet.js +11 -1
- package/dist/tools/getAgentWallet.js.map +1 -1
- package/dist/tools/getAgentWalletBalance.d.ts +1 -1
- package/dist/tools/getAgentWalletBalance.d.ts.map +1 -1
- package/dist/tools/getAgentWalletBalance.js +58 -26
- package/dist/tools/getAgentWalletBalance.js.map +1 -1
- package/dist/tools/getExecutionHistory.d.ts +1 -1
- package/dist/tools/getExecutionHistory.d.ts.map +1 -1
- package/dist/tools/getExecutionHistory.js +13 -19
- package/dist/tools/getExecutionHistory.js.map +1 -1
- package/dist/tools/getGasPrice.d.ts +3 -3
- package/dist/tools/getGasPrice.d.ts.map +0 -0
- package/dist/tools/getGasPrice.js +7 -7
- package/dist/tools/getGasPrice.js.map +1 -1
- package/dist/tools/getPoolInfo.d.ts +17 -17
- package/dist/tools/getPoolInfo.d.ts.map +1 -1
- package/dist/tools/getPoolInfo.js +14 -9
- package/dist/tools/getPoolInfo.js.map +1 -1
- package/dist/tools/getSpvProof.d.ts +24 -0
- package/dist/tools/getSpvProof.d.ts.map +1 -0
- package/dist/tools/getSpvProof.js +64 -0
- package/dist/tools/getSpvProof.js.map +1 -0
- package/dist/tools/getTokenPrice.d.ts +28 -85
- package/dist/tools/getTokenPrice.d.ts.map +1 -1
- package/dist/tools/getTokenPrice.js +87 -94
- package/dist/tools/getTokenPrice.js.map +1 -1
- package/dist/tools/getTransactionStatus.d.ts +2 -2
- package/dist/tools/getTransactionStatus.d.ts.map +0 -0
- package/dist/tools/getTransactionStatus.js +0 -0
- package/dist/tools/getTransactionStatus.js.map +0 -0
- package/dist/tools/getWalletBalance.d.ts +38 -3
- package/dist/tools/getWalletBalance.d.ts.map +1 -1
- package/dist/tools/getWalletBalance.js +92 -52
- package/dist/tools/getWalletBalance.js.map +1 -1
- package/dist/tools/publishRiskScore.d.ts +36 -14
- package/dist/tools/publishRiskScore.d.ts.map +1 -1
- package/dist/tools/publishRiskScore.js +80 -32
- package/dist/tools/publishRiskScore.js.map +1 -1
- package/dist/tools/queryGoldsky.d.ts +20 -0
- package/dist/tools/queryGoldsky.d.ts.map +1 -0
- package/dist/tools/queryGoldsky.js +29 -0
- package/dist/tools/queryGoldsky.js.map +1 -0
- package/dist/tools/queryRiskRegistry.d.ts +14 -14
- package/dist/tools/queryRiskRegistry.d.ts.map +1 -1
- package/dist/tools/queryRiskRegistry.js +34 -30
- package/dist/tools/queryRiskRegistry.js.map +1 -1
- package/dist/tools/safehandsPreflightCheck.d.ts +29 -14
- package/dist/tools/safehandsPreflightCheck.d.ts.map +1 -1
- package/dist/tools/safehandsPreflightCheck.js +133 -6
- package/dist/tools/safehandsPreflightCheck.js.map +1 -1
- package/dist/tools/safehandsRiskReport.d.ts +29 -14
- package/dist/tools/safehandsRiskReport.d.ts.map +1 -1
- package/dist/tools/safehandsRiskReport.js +23 -3
- package/dist/tools/safehandsRiskReport.js.map +1 -1
- package/dist/tools/safehandsSafeExecute.d.ts +1 -1
- package/dist/tools/safehandsSafeExecute.d.ts.map +1 -1
- package/dist/tools/safehandsSafeExecute.js +100 -17
- package/dist/tools/safehandsSafeExecute.js.map +1 -1
- package/dist/tools/safehandsWalletHealth.d.ts +15 -1
- package/dist/tools/safehandsWalletHealth.d.ts.map +1 -1
- package/dist/tools/safehandsWalletHealth.js +67 -25
- package/dist/tools/safehandsWalletHealth.js.map +1 -1
- package/dist/tools/safehandsX402Preflight.d.ts +3 -3
- package/dist/tools/safehandsX402Preflight.d.ts.map +1 -1
- package/dist/tools/safehandsX402Preflight.js +24 -3
- package/dist/tools/safehandsX402Preflight.js.map +1 -1
- package/dist/tools/sendPayment.d.ts +10 -4
- package/dist/tools/sendPayment.d.ts.map +1 -1
- package/dist/tools/sendPayment.js +63 -36
- package/dist/tools/sendPayment.js.map +1 -1
- package/dist/tools/setAgentPolicy.d.ts +75 -0
- package/dist/tools/setAgentPolicy.d.ts.map +1 -0
- package/dist/tools/setAgentPolicy.js +80 -0
- package/dist/tools/setAgentPolicy.js.map +1 -0
- package/dist/tools/simulateTransaction.d.ts +7 -3
- package/dist/tools/simulateTransaction.d.ts.map +1 -1
- package/dist/tools/simulateTransaction.js +42 -9
- package/dist/tools/simulateTransaction.js.map +1 -1
- package/dist/tools/tokenRegistryStatus.d.ts +25 -5
- package/dist/tools/tokenRegistryStatus.d.ts.map +1 -1
- package/dist/tools/tokenRegistryStatus.js +61 -31
- package/dist/tools/tokenRegistryStatus.js.map +1 -1
- package/dist/tools/verifyRiskInclusion.d.ts +59 -0
- package/dist/tools/verifyRiskInclusion.d.ts.map +1 -0
- package/dist/tools/verifyRiskInclusion.js +40 -0
- package/dist/tools/verifyRiskInclusion.js.map +1 -0
- package/dist/tools/x402PayAndFetch.d.ts +15 -9
- package/dist/tools/x402PayAndFetch.d.ts.map +1 -1
- package/dist/tools/x402PayAndFetch.js +163 -20
- package/dist/tools/x402PayAndFetch.js.map +1 -1
- package/dist/worker.d.ts +3 -0
- package/dist/worker.d.ts.map +1 -0
- package/dist/worker.js +39 -0
- package/dist/worker.js.map +1 -0
- package/dist/x402Server.d.ts +1 -1
- package/dist/x402Server.d.ts.map +1 -1
- package/dist/x402Server.js +144 -35
- package/dist/x402Server.js.map +1 -1
- package/docs/REVIEWER_QUICKSTART.md +113 -0
- package/docs/SAFEHANDS_REVIEWER_DEMO_SCRIPT.md +228 -0
- package/package.json +131 -73
- package/contracts/RiskRegistry.json +0 -223
- package/contracts/RiskRegistry.sol +0 -58
- package/dist/lib/testDodoLive.d.ts +0 -2
- package/dist/lib/testDodoLive.d.ts.map +0 -1
- package/dist/lib/testDodoLive.js +0 -105
- package/dist/lib/testDodoLive.js.map +0 -1
- package/dist/lib/testLiveSafehands.d.ts +0 -2
- package/dist/lib/testLiveSafehands.d.ts.map +0 -1
- package/dist/lib/testLiveSafehands.js +0 -93
- package/dist/lib/testLiveSafehands.js.map +0 -1
- package/dist/lib/testRpc.d.ts +0 -2
- package/dist/lib/testRpc.d.ts.map +0 -1
- package/dist/lib/testRpc.js +0 -30
- package/dist/lib/testRpc.js.map +0 -1
- package/dist/lib/testRpcLive.d.ts +0 -2
- package/dist/lib/testRpcLive.d.ts.map +0 -1
- package/dist/lib/testRpcLive.js +0 -89
- package/dist/lib/testRpcLive.js.map +0 -1
- package/dist/lib/testTools.d.ts +0 -2
- package/dist/lib/testTools.d.ts.map +0 -1
- package/dist/lib/testTools.js +0 -397
- package/dist/lib/testTools.js.map +0 -1
- package/dist/lib/testX402Live.d.ts +0 -2
- package/dist/lib/testX402Live.d.ts.map +0 -1
- package/dist/lib/testX402Live.js +0 -160
- package/dist/lib/testX402Live.js.map +0 -1
- package/dist/scripts/checkDeploy.d.ts +0 -2
- package/dist/scripts/checkDeploy.d.ts.map +0 -1
- package/dist/scripts/checkDeploy.js +0 -25
- package/dist/scripts/checkDeploy.js.map +0 -1
- package/dist/scripts/deployRegistry.d.ts +0 -2
- package/dist/scripts/deployRegistry.d.ts.map +0 -1
- package/dist/scripts/deployRegistry.js +0 -101
- package/dist/scripts/deployRegistry.js.map +0 -1
- package/dist/scripts/testRegistry.d.ts +0 -2
- package/dist/scripts/testRegistry.d.ts.map +0 -1
- package/dist/scripts/testRegistry.js +0 -44
- package/dist/scripts/testRegistry.js.map +0 -1
package/dist/lib/constants.d.ts
CHANGED
|
@@ -1,55 +1,45 @@
|
|
|
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;
|
|
1
5
|
export declare const PHAROS_ENVIRONMENT: string;
|
|
2
6
|
export declare const CHAIN_ID: number;
|
|
3
7
|
export declare const RPC_URL: string;
|
|
4
8
|
export declare const EXPLORER_BASE: string;
|
|
5
|
-
export declare const IS_MAINNET
|
|
6
|
-
|
|
7
|
-
|
|
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";
|
|
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";
|
|
19
12
|
export declare const USDT_ADDRESS: "0xE7E84B8B4f39C507499c40B4ac199B050e2882d5";
|
|
20
|
-
/**
|
|
13
|
+
/** Skill-Engine-compat USDC (official pharos-skill-engine tokens.json); testnet compat list only. */
|
|
21
14
|
export declare const USDC_ADDRESS: "0xE0BE08c77f415F577A1B3A9aD7a1Df1479564ec8";
|
|
22
|
-
/**
|
|
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. */
|
|
23
16
|
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
17
|
export declare const WBTC_ADDRESS: "0x0c64F03EEa5c30946D5c55B4b532D08ad74638a4";
|
|
28
18
|
export declare const WETH_ADDRESS: "0x7d211F77525ea39A0592794f793cC1036eEaccD5";
|
|
29
|
-
export declare const
|
|
19
|
+
export declare const WPROS_ADDRESS: "0x838800b758277CC111B2d48Ab01e5E164f8E9471";
|
|
30
20
|
export declare const TOKEN_REGISTRY: {
|
|
31
|
-
readonly
|
|
32
|
-
readonly symbol: "
|
|
21
|
+
readonly PROS: {
|
|
22
|
+
readonly symbol: "PROS";
|
|
33
23
|
readonly address: "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE";
|
|
34
24
|
readonly decimals: 18;
|
|
35
|
-
readonly chainId:
|
|
36
|
-
readonly environment:
|
|
25
|
+
readonly chainId: 688689;
|
|
26
|
+
readonly environment: "atlantic-testnet";
|
|
37
27
|
readonly isMainnet: false;
|
|
38
28
|
readonly isCanonical: true;
|
|
39
29
|
readonly isTestToken: true;
|
|
40
|
-
readonly purpose: "native
|
|
30
|
+
readonly purpose: "native PROS sentinel address for DODO route API";
|
|
41
31
|
readonly docsSource: "https://docs.pharos.xyz/";
|
|
42
32
|
};
|
|
43
33
|
readonly USDC: {
|
|
44
34
|
readonly symbol: "USDC";
|
|
45
35
|
readonly address: "0xE0BE08c77f415F577A1B3A9aD7a1Df1479564ec8";
|
|
46
36
|
readonly decimals: 6;
|
|
47
|
-
readonly chainId:
|
|
48
|
-
readonly environment:
|
|
37
|
+
readonly chainId: 688689;
|
|
38
|
+
readonly environment: "atlantic-testnet";
|
|
49
39
|
readonly isMainnet: false;
|
|
50
40
|
readonly isCanonical: true;
|
|
51
41
|
readonly isTestToken: true;
|
|
52
|
-
readonly purpose: "Pharos Skill Engine USDC
|
|
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";
|
|
53
43
|
readonly docsSource: "pharos-skill-engine-0.1.0/assets/tokens.json";
|
|
54
44
|
readonly verificationStatus: "DOCS_VERIFIED_FROM_PHAROS_SKILL_ENGINE";
|
|
55
45
|
};
|
|
@@ -57,21 +47,21 @@ export declare const TOKEN_REGISTRY: {
|
|
|
57
47
|
readonly symbol: "CIRCLE_USDC";
|
|
58
48
|
readonly address: "0xcfC8330f4BCAB529c625D12781b1C19466A9Fc8B";
|
|
59
49
|
readonly decimals: 6;
|
|
60
|
-
readonly chainId:
|
|
61
|
-
readonly environment:
|
|
50
|
+
readonly chainId: 688689;
|
|
51
|
+
readonly environment: "atlantic-testnet";
|
|
62
52
|
readonly isMainnet: false;
|
|
63
53
|
readonly isCanonical: true;
|
|
64
54
|
readonly isTestToken: true;
|
|
65
|
-
readonly purpose: "
|
|
66
|
-
readonly docsSource: "https://developers.circle.com/stablecoins/usdc-contract-addresses
|
|
67
|
-
readonly verificationStatus: "
|
|
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";
|
|
68
58
|
};
|
|
69
59
|
readonly USDT: {
|
|
70
60
|
readonly symbol: "USDT";
|
|
71
61
|
readonly address: "0xE7E84B8B4f39C507499c40B4ac199B050e2882d5";
|
|
72
62
|
readonly decimals: 6;
|
|
73
|
-
readonly chainId:
|
|
74
|
-
readonly environment:
|
|
63
|
+
readonly chainId: 688689;
|
|
64
|
+
readonly environment: "atlantic-testnet";
|
|
75
65
|
readonly isMainnet: false;
|
|
76
66
|
readonly isCanonical: true;
|
|
77
67
|
readonly isTestToken: true;
|
|
@@ -83,8 +73,8 @@ export declare const TOKEN_REGISTRY: {
|
|
|
83
73
|
readonly symbol: "WBTC";
|
|
84
74
|
readonly address: "0x0c64F03EEa5c30946D5c55B4b532D08ad74638a4";
|
|
85
75
|
readonly decimals: 18;
|
|
86
|
-
readonly chainId:
|
|
87
|
-
readonly environment:
|
|
76
|
+
readonly chainId: 688689;
|
|
77
|
+
readonly environment: "atlantic-testnet";
|
|
88
78
|
readonly isMainnet: false;
|
|
89
79
|
readonly isCanonical: true;
|
|
90
80
|
readonly isTestToken: true;
|
|
@@ -96,8 +86,8 @@ export declare const TOKEN_REGISTRY: {
|
|
|
96
86
|
readonly symbol: "WETH";
|
|
97
87
|
readonly address: "0x7d211F77525ea39A0592794f793cC1036eEaccD5";
|
|
98
88
|
readonly decimals: 18;
|
|
99
|
-
readonly chainId:
|
|
100
|
-
readonly environment:
|
|
89
|
+
readonly chainId: 688689;
|
|
90
|
+
readonly environment: "atlantic-testnet";
|
|
101
91
|
readonly isMainnet: false;
|
|
102
92
|
readonly isCanonical: true;
|
|
103
93
|
readonly isTestToken: true;
|
|
@@ -105,34 +95,129 @@ export declare const TOKEN_REGISTRY: {
|
|
|
105
95
|
readonly docsSource: "https://docs.pharos.xyz/getting-started/token-registry";
|
|
106
96
|
readonly verificationStatus: "DOCS_VERIFIED";
|
|
107
97
|
};
|
|
108
|
-
readonly
|
|
109
|
-
readonly symbol: "
|
|
98
|
+
readonly WPROS: {
|
|
99
|
+
readonly symbol: "WPROS";
|
|
110
100
|
readonly address: "0x838800b758277CC111B2d48Ab01e5E164f8E9471";
|
|
111
101
|
readonly decimals: 18;
|
|
112
|
-
readonly chainId:
|
|
113
|
-
readonly environment:
|
|
102
|
+
readonly chainId: 688689;
|
|
103
|
+
readonly environment: "atlantic-testnet";
|
|
114
104
|
readonly isMainnet: false;
|
|
115
105
|
readonly isCanonical: true;
|
|
116
106
|
readonly isTestToken: true;
|
|
117
|
-
readonly purpose: "canonical Pharos Atlantic Testnet
|
|
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;
|
|
118
162
|
readonly docsSource: "https://docs.pharos.xyz/getting-started/token-registry";
|
|
119
163
|
readonly verificationStatus: "DOCS_VERIFIED";
|
|
120
164
|
};
|
|
121
165
|
};
|
|
122
166
|
export declare const TOKEN_DECIMALS: Record<string, number>;
|
|
123
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}`[];
|
|
124
185
|
export declare const DODO_APPROVE_ADDRESS: "0x4Cf317b8918FbE8A890c01eDAb7d548555Ac2cE9";
|
|
125
186
|
export declare const DODO_ROUTE_PROXY_ADDRESS: "0x819829e5CF6e19F9fED92F6b4CC1edF45a2cC4A2";
|
|
126
|
-
export declare
|
|
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;
|
|
127
191
|
export declare const DODO_API_BASE: string;
|
|
128
192
|
export declare const DODO_API_KEY: string | undefined;
|
|
129
|
-
export declare const DODO_DEFAULT_SLIPPAGE = 3
|
|
193
|
+
export declare const DODO_DEFAULT_SLIPPAGE = 3;
|
|
130
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
|
+
};
|
|
131
216
|
export declare const RISK_BLOCK_THRESHOLD = 80;
|
|
132
|
-
export declare const
|
|
217
|
+
export declare const COUNTERPARTY_CRITICAL_THRESHOLD = 90;
|
|
133
218
|
export declare const MAX_SLIPPAGE_PCT = 5;
|
|
134
219
|
export declare const MAX_BALANCE_USAGE_PCT = 90;
|
|
135
|
-
export declare const
|
|
220
|
+
export declare const MAX_TX_AMOUNT_PROS: string;
|
|
136
221
|
export declare const MAX_APPROVAL_AMOUNT_USDC: string;
|
|
137
222
|
export declare const MAX_DAILY_SPEND_USD: string;
|
|
138
223
|
export declare const MAX_X402_PAYMENT_USDC: string;
|
|
@@ -220,85 +305,149 @@ export declare const ERC20_ABI: readonly [{
|
|
|
220
305
|
readonly type: "bool";
|
|
221
306
|
}];
|
|
222
307
|
}];
|
|
223
|
-
export declare const
|
|
224
|
-
export declare const
|
|
225
|
-
|
|
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";
|
|
226
324
|
readonly type: "function";
|
|
227
|
-
readonly stateMutability: "
|
|
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";
|
|
228
334
|
readonly inputs: readonly [{
|
|
229
|
-
readonly name: "wallet";
|
|
230
335
|
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
336
|
}];
|
|
241
|
-
readonly outputs: readonly [
|
|
337
|
+
readonly outputs: readonly [{
|
|
338
|
+
readonly type: "bool";
|
|
339
|
+
}];
|
|
242
340
|
}, {
|
|
243
|
-
readonly name: "
|
|
341
|
+
readonly name: "isAuthorizedAgent";
|
|
244
342
|
readonly type: "function";
|
|
245
343
|
readonly stateMutability: "view";
|
|
246
344
|
readonly inputs: readonly [{
|
|
247
|
-
readonly name: "wallet";
|
|
248
345
|
readonly type: "address";
|
|
249
346
|
}];
|
|
250
347
|
readonly outputs: readonly [{
|
|
251
|
-
readonly
|
|
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
|
-
}];
|
|
348
|
+
readonly type: "bool";
|
|
269
349
|
}];
|
|
270
350
|
}, {
|
|
271
351
|
readonly name: "setAuthorizedAgent";
|
|
272
352
|
readonly type: "function";
|
|
273
353
|
readonly stateMutability: "nonpayable";
|
|
274
354
|
readonly inputs: readonly [{
|
|
275
|
-
readonly name: "agent";
|
|
276
355
|
readonly type: "address";
|
|
356
|
+
readonly name: "agent";
|
|
277
357
|
}, {
|
|
358
|
+
readonly type: "bool";
|
|
278
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
|
+
}, {
|
|
279
370
|
readonly type: "bool";
|
|
371
|
+
readonly name: "authorized";
|
|
280
372
|
}];
|
|
281
373
|
readonly outputs: readonly [];
|
|
282
374
|
}, {
|
|
283
|
-
readonly
|
|
284
|
-
readonly
|
|
285
|
-
readonly
|
|
375
|
+
readonly name: "setOperator";
|
|
376
|
+
readonly type: "function";
|
|
377
|
+
readonly stateMutability: "nonpayable";
|
|
286
378
|
readonly inputs: readonly [{
|
|
287
|
-
readonly indexed: true;
|
|
288
|
-
readonly name: "wallet";
|
|
289
379
|
readonly type: "address";
|
|
380
|
+
readonly name: "operator";
|
|
290
381
|
}, {
|
|
291
|
-
readonly
|
|
292
|
-
readonly name: "
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
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 [{
|
|
297
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";
|
|
298
409
|
}, {
|
|
299
|
-
readonly
|
|
300
|
-
readonly name: "
|
|
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 [{
|
|
301
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";
|
|
302
448
|
}];
|
|
303
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;
|
|
304
453
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"AAwBA,iFAAiF;AACjF,eAAO,MAAM,iBAAiB,EAAE,MAA8F,CAAC;AAC/H,wEAAwE;AACxE,eAAO,MAAM,oBAAoB,QAAmC,CAAC;AAIrE,eAAO,MAAM,kBAAkB,QAAwD,CAAC;AACxF,eAAO,MAAM,QAAQ,QAAgE,CAAC;AACtF,eAAO,MAAM,OAAO,QAA8D,CAAC;AACnF,eAAO,MAAM,aAAa,QAAqE,CAAC;AAChG,eAAO,MAAM,UAAU,SAA2B,CAAC;AAQnD,uEAAuE;AACvE,eAAO,MAAM,YAAY,EAAG,4CAAqD,CAAC;AAClF,eAAO,MAAM,YAAY,EAAG,4CAAqD,CAAC;AAElF,qGAAqG;AACrG,eAAO,MAAM,YAAY,EAAG,4CAAqD,CAAC;AAElF,sJAAsJ;AACtJ,eAAO,MAAM,mBAAmB,EAAG,4CAAqD,CAAC;AAEzF,eAAO,MAAM,YAAY,EAAG,4CAAqD,CAAC;AAClF,eAAO,MAAM,YAAY,EAAG,4CAAqD,CAAC;AAClF,eAAO,MAAM,aAAa,EAAG,4CAAqD,CAAC;AAEnF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2FjB,CAAC;AAOX,eAAO,MAAM,qBAAqB,EAAG,4CAAqD,CAAC;AAG3F,eAAO,MAAM,oBAAoB,EAAG,4CAAqD,CAAC;AAC1F,eAAO,MAAM,oBAAoB,EAAG,4CAAqD,CAAC;AAC1F,eAAO,MAAM,oBAAoB,EAAG,4CAAqD,CAAC;AAE1F,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDjC,CAAC;AAIX,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAejD,CAAC;AAIF,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,MAAM,EAAE,CAQnD,CAAC;AAKF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,MAAM,EAAE,CAM3D,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAWzD,CAAC;AAEF,8DAA8D;AAC9D,wBAAgB,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC,CAE9D;AAED,oDAAoD;AACpD,wBAAgB,mBAAmB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAE5D;AAED,+EAA+E;AAC/E,wBAAgB,iBAAiB,IAAI,KAAK,MAAM,EAAE,CAEjD;AAGD,8DAA8D;AAC9D,wBAAgB,mBAAmB,IAAI,MAAM,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC,CAI1I;AAED,uEAAuE;AACvE,wBAAgB,+BAA+B,IAAI,KAAK,MAAM,EAAE,EAAE,CAIjE;AAYD,eAAO,MAAM,oBAAoB,EAAG,4CAAqD,CAAC;AAC1F,eAAO,MAAM,wBAAwB,EAAG,4CAAqD,CAAC;AAS9F,wBAAgB,0BAA0B,IAAI,KAAK,MAAM,EAAE,EAAE,CAE5D;AAED,wBAAgB,yBAAyB,IAAI,KAAK,MAAM,EAAE,EAAE,CAE3D;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE7D;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE5D;AAID,eAAO,MAAM,aAAa,QAAuD,CAAC;AAClF,eAAO,MAAM,YAAY,oBAA2B,CAAC;AACrD,eAAO,MAAM,qBAAqB,IAAI,CAAC;AACvC,eAAO,MAAM,mBAAmB,0CAA0C,CAAC;AAU3E,eAAO,MAAM,sBAAsB,EAAG,4CAAqD,CAAC;AAC5F,eAAO,MAAM,uBAAuB,EAAG,4CAAqD,CAAC;AAE7F,wBAAgB,yBAAyB,IAAI,KAAK,MAAM,EAAE,EAAE,CAE3D;AAED,wBAAgB,wBAAwB,IAAI,KAAK,MAAM,EAAE,EAAE,CAE1D;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE3D;AAQD,eAAO,MAAM,YAAY,QAAqD,CAAC;AAC/E,eAAO,MAAM,iBAAiB,gCAAgC,CAAC;AAE/D,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,iBAAiB,IAAI;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,WAAW,EAAE,iBAAiB,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAWnH;AAOD,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAKvC,eAAO,MAAM,+BAA+B,KAAK,CAAC;AAClD,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAIxC,eAAO,MAAM,kBAAkB,QAA0C,CAAC;AAC1E,eAAO,MAAM,wBAAwB,QAA+C,CAAC;AACrF,eAAO,MAAM,mBAAmB,QAA0C,CAAC;AAC3E,eAAO,MAAM,qBAAqB,QAA8C,CAAC;AACjF,eAAO,MAAM,0BAA0B,EAAsE,KAAK,MAAM,EAAE,CAAC;AAI3H,eAAO,MAAM,YAAY;;;;;;CAMf,CAAC;AAIX,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoDZ,CAAC;AAQX,eAAO,MAAM,kCAAkC,SACwB,CAAC;AAOxE,eAAO,MAAM,iCAAiC,SACY,CAAC;AAE3D,eAAO,MAAM,2BAA2B,SACY,CAAC;AAerD,4GAA4G;AAC5G,wBAAgB,+BAA+B,CAAC,OAAO,GAAE,MAAiB,GAAG,MAAM,CAIlF;AAED;;;;;GAKG;AACH,wBAAgB,kCAAkC,CAAC,OAAO,GAAE,MAAiB,GAAG,MAAM,CAIrF;AAGD,eAAO,MAAM,0BAA0B,QAAoC,CAAC;AAC5E,eAAO,MAAM,6BAA6B,QAAuC,CAAC;AAMlF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWjC,CAAC;AAaH,eAAO,MAAM,2BAA2B,UAEvC,CAAC;AAEF,eAAO,MAAM,4BAA4B,UAExC,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAItF"}
|