@antseed/node 0.2.118 → 0.2.120

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 (82) hide show
  1. package/dist/discovery/display-name.d.ts +8 -0
  2. package/dist/discovery/display-name.d.ts.map +1 -0
  3. package/dist/discovery/display-name.js +17 -0
  4. package/dist/discovery/display-name.js.map +1 -0
  5. package/dist/discovery/domain-verification.d.ts.map +1 -1
  6. package/dist/discovery/domain-verification.js +2 -1
  7. package/dist/discovery/domain-verification.js.map +1 -1
  8. package/dist/discovery/github-verification.d.ts.map +1 -1
  9. package/dist/discovery/github-verification.js +5 -1
  10. package/dist/discovery/github-verification.js.map +1 -1
  11. package/dist/discovery/index.d.ts +1 -0
  12. package/dist/discovery/index.d.ts.map +1 -1
  13. package/dist/discovery/index.js +1 -0
  14. package/dist/discovery/index.js.map +1 -1
  15. package/dist/discovery/service-catalog.d.ts +2 -1
  16. package/dist/discovery/service-catalog.d.ts.map +1 -1
  17. package/dist/discovery/service-catalog.js +2 -0
  18. package/dist/discovery/service-catalog.js.map +1 -1
  19. package/dist/discovery/verifier-capabilities.d.ts +9 -0
  20. package/dist/discovery/verifier-capabilities.d.ts.map +1 -0
  21. package/dist/discovery/verifier-capabilities.js +35 -0
  22. package/dist/discovery/verifier-capabilities.js.map +1 -0
  23. package/dist/index.d.ts +6 -1
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +6 -1
  26. package/dist/index.js.map +1 -1
  27. package/dist/node.d.ts +15 -3
  28. package/dist/node.d.ts.map +1 -1
  29. package/dist/node.js +114 -82
  30. package/dist/node.js.map +1 -1
  31. package/dist/p2p/identity.js +1 -1
  32. package/dist/p2p/identity.js.map +1 -1
  33. package/dist/payments/evm/multicall.d.ts +2 -1
  34. package/dist/payments/evm/multicall.d.ts.map +1 -1
  35. package/dist/payments/evm/multicall.js +1 -1
  36. package/dist/payments/evm/multicall.js.map +1 -1
  37. package/dist/payments/evm/trust-signals-client.d.ts +54 -0
  38. package/dist/payments/evm/trust-signals-client.d.ts.map +1 -0
  39. package/dist/payments/evm/trust-signals-client.js +162 -0
  40. package/dist/payments/evm/trust-signals-client.js.map +1 -0
  41. package/dist/payments/generated-contract-addresses.d.ts +14 -4
  42. package/dist/payments/generated-contract-addresses.d.ts.map +1 -1
  43. package/dist/payments/generated-contract-addresses.js +14 -4
  44. package/dist/payments/generated-contract-addresses.js.map +1 -1
  45. package/dist/reputation/identity-history.d.ts +75 -0
  46. package/dist/reputation/identity-history.d.ts.map +1 -0
  47. package/dist/reputation/identity-history.js +258 -0
  48. package/dist/reputation/identity-history.js.map +1 -0
  49. package/dist/reputation/model-reputation.d.ts +3 -2
  50. package/dist/reputation/model-reputation.d.ts.map +1 -1
  51. package/dist/reputation/model-reputation.js +2 -9
  52. package/dist/reputation/model-reputation.js.map +1 -1
  53. package/dist/reputation/public-json.d.ts +9 -0
  54. package/dist/reputation/public-json.d.ts.map +1 -0
  55. package/dist/reputation/public-json.js +98 -0
  56. package/dist/reputation/public-json.js.map +1 -0
  57. package/dist/reputation/sybil-risk.d.ts +35 -0
  58. package/dist/reputation/sybil-risk.d.ts.map +1 -0
  59. package/dist/reputation/sybil-risk.js +136 -0
  60. package/dist/reputation/sybil-risk.js.map +1 -0
  61. package/dist/reputation/trust-score.d.ts +83 -0
  62. package/dist/reputation/trust-score.d.ts.map +1 -0
  63. package/dist/reputation/trust-score.js +91 -0
  64. package/dist/reputation/trust-score.js.map +1 -0
  65. package/dist/routing/default-router.d.ts +0 -1
  66. package/dist/routing/default-router.d.ts.map +1 -1
  67. package/dist/routing/default-router.js +2 -12
  68. package/dist/routing/default-router.js.map +1 -1
  69. package/dist/routing/model-route-ranking.d.ts +0 -1
  70. package/dist/routing/model-route-ranking.d.ts.map +1 -1
  71. package/dist/routing/model-route-ranking.js.map +1 -1
  72. package/dist/types/peer.d.ts +27 -18
  73. package/dist/types/peer.d.ts.map +1 -1
  74. package/dist/verification/tee-status.d.ts +35 -0
  75. package/dist/verification/tee-status.d.ts.map +1 -0
  76. package/dist/verification/tee-status.js +21 -0
  77. package/dist/verification/tee-status.js.map +1 -0
  78. package/package.json +14 -6
  79. package/dist/reputation/on-chain-reputation.d.ts +0 -84
  80. package/dist/reputation/on-chain-reputation.d.ts.map +0 -1
  81. package/dist/reputation/on-chain-reputation.js +0 -290
  82. package/dist/reputation/on-chain-reputation.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"model-route-ranking.js","sourceRoot":"","sources":["../../src/routing/model-route-ranking.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-route-ranking.js","sourceRoot":"","sources":["../../src/routing/model-route-ranking.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,10 @@ import type { PeerId } from '@antseed/protocol/peer-id';
6
6
  export type { TokenPricingUsdPerMillion } from '@antseed/protocol/peer-metadata';
7
7
  export type { ProviderPricingMatrixEntry, ProviderServiceCategoryMatrixEntry, ProviderServiceApiProtocolMatrixEntry, ProviderServiceUnitBillingModelMatrixEntry, ProviderServiceCapabilityMatrixEntry, } from '@antseed/protocol/peer-pricing';
8
8
  import type { ProviderPricingMatrixEntry, ProviderServiceCategoryMatrixEntry, ProviderServiceApiProtocolMatrixEntry, ProviderServiceUnitBillingModelMatrixEntry, ProviderServiceCapabilityMatrixEntry } from '@antseed/protocol/peer-pricing';
9
+ import type { TrustBreakdown } from '../reputation/trust-score.js';
9
10
  export interface PeerVerificationResults {
11
+ /** Buyer-collected public history for verified identities (GitHub portfolio, domain registration). */
12
+ identityHistory?: import('../reputation/identity-history.js').IdentityHistoryEvidence;
10
13
  /** True when every announced external claim verified successfully. */
11
14
  verified: boolean;
12
15
  /** Buyer-local time when the latest verification pass completed. */
@@ -59,37 +62,43 @@ export interface PeerInfo {
59
62
  maxConcurrency?: number;
60
63
  /** Current number of requests the peer is handling. */
61
64
  currentLoad?: number;
62
- /**
63
- * On-chain ERC-8004 agent ID from `AntseedStaking.getAgentId`.
64
- * Read by the buyer directly from the chain.
65
- */
65
+ /** On-chain ERC-8004 agent ID, resolved through the seller registry. */
66
66
  onChainAgentId?: number;
67
- /**
68
- * On-chain seller stake in micro-USDC from `AntseedStaking.getStake`.
69
- * Read by the buyer directly from the chain.
70
- */
71
- onChainStakeUsdcMicros?: number;
72
- /** Buyer-computed displayed on-chain score (0-100). */
67
+ /** Buyer-computed trust score (0-100). See `computeTrustScore`. */
73
68
  onChainReputationScore?: number;
74
- /** Raw on-chain trust: credited settled USDC volume. */
75
- onChainTrustScore?: number;
76
- /** Sybil-risk heuristic in [0, 1]. */
69
+ /** Parts that make up `onChainReputationScore`. */
70
+ trust?: TrustBreakdown;
71
+ /** Local sybil-risk heuristic in [0, 1]. Display-only; not part of the trust score. */
77
72
  onChainSybilRisk?: number;
78
73
  /** Sybil signals that fired for this peer. */
79
74
  onChainSybilFlags?: string[];
80
- /** Settled channel count; buyer overwrites metadata with chain reads when available. */
75
+ /** Lifetime settled channel count from `AntseedChannels`. */
81
76
  onChainChannelCount?: number;
82
- /** Ghost count; buyer overwrites metadata with chain reads when available. */
77
+ /** Lifetime ghost (timed-out, unsettled) channel count from `AntseedChannels`. */
83
78
  onChainGhostCount?: number;
84
- /** Cumulative settled volume in micro-USDC. */
79
+ /** Lifetime settled volume in micro-USDC from `AntseedChannels`. */
85
80
  onChainTotalVolumeUsdcMicros?: number;
86
81
  /** Unix seconds of the most recent settlement. */
87
82
  onChainLastSettledAtSec?: number;
88
- /** Unix seconds when the seller first staked. */
83
+ /** Unix seconds when the seller first staked on the legacy USDC staking contract, when known. */
89
84
  onChainStakedAtSec?: number;
85
+ /** Current recognized-usage epoch at the time of the read. */
86
+ onChainUsageEpoch?: number;
87
+ /** Seller pool's share of all pools' recognized-usage points in the previous epoch, in basis points. */
88
+ onChainUsageShareBps?: number;
89
+ /** Recognized usage points (micro-USDC) credited to the seller in the previous epoch. */
90
+ onChainUsageLastEpochUsdcMicros?: number;
91
+ /** ANTS actively staked in the seller's pool this epoch (whole ANTS). */
92
+ onChainPoolStakeAnts?: number;
93
+ /** Seller pool's share of total network staking power this epoch, in basis points. */
94
+ onChainPoolPowerShareBps?: number;
95
+ /** True when `AntseedWashTradingRegistry.isProvenWashTrader` is set for the seller. */
96
+ onChainWashFlagged?: boolean;
97
+ /** Proven wash share of the seller's volume, in basis points. */
98
+ onChainWashShareBps?: number;
90
99
  /**
91
100
  * Unix ms when the buyer last refreshed on-chain stats for this peer.
92
- * Used to throttle repeat `getAgentStats` calls across discovery cycles.
101
+ * Used to throttle repeat chain reads across discovery cycles.
93
102
  */
94
103
  onChainStatsFetchedAt?: number;
95
104
  /** Full peer metadata, if available (set after metadata resolution). */
@@ -1 +1 @@
1
- {"version":3,"file":"peer.d.ts","sourceRoot":"","sources":["../../src/types/peer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"peer.d.ts","sourceRoot":"","sources":["../../src/types/peer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AACpF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAGpF,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,KAAK,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAExD,YAAY,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AACjF,YAAY,EACV,0BAA0B,EAC1B,kCAAkC,EAClC,qCAAqC,EACrC,0CAA0C,EAC1C,oCAAoC,GACrC,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EACV,0BAA0B,EAC1B,kCAAkC,EAClC,qCAAqC,EACrC,0CAA0C,EAC1C,oCAAoC,EACrC,MAAM,gCAAgC,CAAC;AAExC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEnE,MAAM,WAAW,uBAAuB;IACtC,sGAAsG;IACtG,eAAe,CAAC,EAAE,OAAO,mCAAmC,EAAE,uBAAuB,CAAC;IACtF,sEAAsE;IACtE,QAAQ,EAAE,OAAO,CAAC;IAClB,oEAAoE;IACpE,WAAW,EAAE,MAAM,CAAC;IACpB,6EAA6E;IAC7E,OAAO,EAAE,wBAAwB,EAAE,CAAC;IACpC,qFAAqF;IACrF,MAAM,EAAE,wBAAwB,EAAE,CAAC;CACpC;AAED,sCAAsC;AACtC,MAAM,WAAW,QAAQ;IACvB,0DAA0D;IAC1D,MAAM,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iEAAiE;IACjE,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,mDAAmD;IACnD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,gDAAgD;IAChD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,8DAA8D;IAC9D,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;IAC7D,0DAA0D;IAC1D,yBAAyB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kCAAkC,CAAC,CAAC;IAC/E,0DAA0D;IAC1D,2BAA2B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,qCAAqC,CAAC,CAAC;IACpF,yEAAyE;IACzE,gCAAgC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,0CAA0C,CAAC,CAAC;IAC9F,mEAAmE;IACnE,2BAA2B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oCAAoC,CAAC,CAAC;IACnF,sEAAsE;IACtE,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,uEAAuE;IACvE,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,6EAA6E;IAC7E,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC,uDAAuD;IACvD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uDAAuD;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mEAAmE;IACnE,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,mDAAmD;IACnD,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,uFAAuF;IACvF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,8CAA8C;IAC9C,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,6DAA6D;IAC7D,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kFAAkF;IAClF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oEAAoE;IACpE,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,kDAAkD;IAClD,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,iGAAiG;IACjG,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,8DAA8D;IAC9D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,wGAAwG;IACxG,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,yFAAyF;IACzF,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC,yEAAyE;IACzE,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,sFAAsF;IACtF,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,uFAAuF;IACvF,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,iEAAiE;IACjE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;OAGG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,wEAAwE;IACxE,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,kFAAkF;IAClF,mBAAmB,CAAC,EAAE,uBAAuB,CAAC;CAC/C"}
@@ -0,0 +1,35 @@
1
+ export declare const TEE_VERIFIER_ID = "antseed-verifier";
2
+ export declare const TEE_MAX_AGE_MS: number;
3
+ export declare const TEE_BADGE_MAX_AGE_MS: number;
4
+ export declare const TEE_REQUIRED_CLAIMS: readonly ["antseed-verifier:seller-node-tee-genuine", "antseed-verifier:seller-bound"];
5
+ export interface TeeClaim {
6
+ claim: string;
7
+ ok: boolean;
8
+ detail?: string;
9
+ }
10
+ export interface TeeEvidence {
11
+ peerId: string;
12
+ verifierId: string;
13
+ verifierVersion?: string;
14
+ fingerprint: string;
15
+ checkedAt: number;
16
+ expiresAt: number;
17
+ sellerNodeVerified: boolean;
18
+ claims: TeeClaim[];
19
+ reason?: string;
20
+ checking?: boolean;
21
+ unavailable?: boolean;
22
+ }
23
+ export interface TeeSnapshot {
24
+ sessionId: string;
25
+ verificationEnabled: boolean;
26
+ evidence: TeeEvidence[];
27
+ }
28
+ export interface DesktopTeeStatus {
29
+ snapshot: TeeSnapshot | null;
30
+ error?: string;
31
+ }
32
+ export declare function passedSellerNodeClaims(claims: readonly TeeClaim[]): boolean;
33
+ export declare function isFreshSellerNodeEvidence(evidence: TeeEvidence | undefined, now?: number): boolean;
34
+ export declare function teeControlFileName(port: number): string;
35
+ //# sourceMappingURL=tee-status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tee-status.d.ts","sourceRoot":"","sources":["../../src/verification/tee-status.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,qBAAqB,CAAA;AACjD,eAAO,MAAM,cAAc,QAAa,CAAA;AACxC,eAAO,MAAM,oBAAoB,QAAmB,CAAA;AACpD,eAAO,MAAM,mBAAmB,wFAGtB,CAAA;AAEV,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,EAAE,EAAE,OAAO,CAAA;IACX,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AACD,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,kBAAkB,EAAE,OAAO,CAAA;IAC3B,MAAM,EAAE,QAAQ,EAAE,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AACD,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,QAAQ,EAAE,WAAW,EAAE,CAAA;CACxB;AACD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAA;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,QAAQ,EAAE,GAAG,OAAO,CAK3E;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,WAAW,GAAG,SAAS,EAAE,GAAG,SAAa,GAAG,OAAO,CAGtG;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEvD"}
@@ -0,0 +1,21 @@
1
+ export const TEE_VERIFIER_ID = 'antseed-verifier';
2
+ export const TEE_MAX_AGE_MS = 5 * 60_000;
3
+ export const TEE_BADGE_MAX_AGE_MS = 24 * 60 * 60_000;
4
+ export const TEE_REQUIRED_CLAIMS = [
5
+ 'antseed-verifier:seller-node-tee-genuine',
6
+ 'antseed-verifier:seller-bound',
7
+ ];
8
+ export function passedSellerNodeClaims(claims) {
9
+ return TEE_REQUIRED_CLAIMS.every((required) => {
10
+ const matches = claims.filter((claim) => claim.claim === required);
11
+ return matches.length > 0 && matches.every((claim) => claim.ok === true);
12
+ });
13
+ }
14
+ export function isFreshSellerNodeEvidence(evidence, now = Date.now()) {
15
+ return evidence?.sellerNodeVerified === true && !evidence.checking
16
+ && !evidence.unavailable && evidence.expiresAt > now;
17
+ }
18
+ export function teeControlFileName(port) {
19
+ return `buyer-verification-${port}.json`;
20
+ }
21
+ //# sourceMappingURL=tee-status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tee-status.js","sourceRoot":"","sources":["../../src/verification/tee-status.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,kBAAkB,CAAA;AACjD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAG,MAAM,CAAA;AACxC,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAA;AACpD,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,0CAA0C;IAC1C,+BAA+B;CACvB,CAAA;AA8BV,MAAM,UAAU,sBAAsB,CAAC,MAA2B;IAChE,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE;QAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAA;QAClE,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,CAAC,CAAA;IAC1E,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,QAAiC,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAC3F,OAAO,QAAQ,EAAE,kBAAkB,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ;WAC7D,CAAC,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,SAAS,GAAG,GAAG,CAAA;AACxD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,OAAO,sBAAsB,IAAI,OAAO,CAAA;AAC1C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antseed/node",
3
- "version": "0.2.118",
3
+ "version": "0.2.120",
4
4
  "description": "Antseed Network protocol SDK — P2P inference marketplace",
5
5
  "type": "module",
6
6
  "files": [
@@ -41,6 +41,14 @@
41
41
  "import": "./dist/types/index.js",
42
42
  "types": "./dist/types/index.d.ts"
43
43
  },
44
+ "./verifier-capabilities": {
45
+ "import": "./dist/discovery/verifier-capabilities.js",
46
+ "types": "./dist/discovery/verifier-capabilities.d.ts"
47
+ },
48
+ "./tee-status": {
49
+ "import": "./dist/verification/tee-status.js",
50
+ "types": "./dist/verification/tee-status.d.ts"
51
+ },
44
52
  "./model-identity": {
45
53
  "import": "./dist/model-identity.js",
46
54
  "types": "./dist/model-identity.d.ts"
@@ -49,9 +57,9 @@
49
57
  "import": "./dist/routing/model-route-ranking.js",
50
58
  "types": "./dist/routing/model-route-ranking.d.ts"
51
59
  },
52
- "./on-chain-reputation": {
53
- "import": "./dist/reputation/on-chain-reputation.js",
54
- "types": "./dist/reputation/on-chain-reputation.d.ts"
60
+ "./trust-score": {
61
+ "import": "./dist/reputation/trust-score.js",
62
+ "types": "./dist/reputation/trust-score.d.ts"
55
63
  }
56
64
  },
57
65
  "dependencies": {
@@ -61,8 +69,8 @@
61
69
  "ethers": "~6.16.0",
62
70
  "node-datachannel": "^0.7.0",
63
71
  "tokenx": "^1.3.0",
64
- "@antseed/api-adapter": "0.1.46",
65
- "@antseed/buyer-core": "0.1.9",
72
+ "@antseed/api-adapter": "0.1.47",
73
+ "@antseed/buyer-core": "0.1.10",
66
74
  "@antseed/protocol": "0.1.4"
67
75
  },
68
76
  "optionalDependencies": {
@@ -1,84 +0,0 @@
1
- import type { PeerInfo } from '../types/peer.js';
2
- export declare const ON_CHAIN_TRUST_TICKET_TARGET_USDC = 2;
3
- export declare const ON_CHAIN_TRUST_TICKET_MIN = 0.5;
4
- export declare const ON_CHAIN_TRUST_TICKET_MAX = 1.5;
5
- export declare const ON_CHAIN_TRUST_RECENCY_FRESH_DAYS = 14;
6
- export declare const ON_CHAIN_TRUST_RECENCY_STALE_DAYS = 60;
7
- export declare const ON_CHAIN_TRUST_RECENCY_DORMANT_FACTOR = 0.25;
8
- export declare const ON_CHAIN_TRUST_STAKE_THRESHOLD_USDC = 1;
9
- export declare const ON_CHAIN_TRUST_NO_STAKE_FACTOR = 0.5;
10
- export declare const ON_CHAIN_TRUST_INITIAL_CREDIT_USDC = 25;
11
- export declare const ON_CHAIN_TRUST_DAILY_CREDIT_USDC = 125;
12
- export declare const ON_CHAIN_TRUST_MATURITY_DAYS = 30;
13
- export declare const ON_CHAIN_TRUST_CHANNEL_CONFIDENCE_CAP = 1000;
14
- export declare const ON_CHAIN_TRUST_GHOST_PENALTY_WEIGHT = 2.5;
15
- export declare const ON_CHAIN_TRUST_MIN_GHOST_FACTOR = 0.25;
16
- export declare const ON_CHAIN_TRUST_LOW_TICKET_USDC = 0.25;
17
- export declare const ON_CHAIN_TRUST_LOW_TICKET_MIN_CHANNELS = 50;
18
- export declare const ON_CHAIN_TRUST_LOW_TICKET_FACTOR = 0.65;
19
- export declare const ON_CHAIN_TRUST_HIGH_TICKET_USDC = 50;
20
- export declare const ON_CHAIN_TRUST_HIGH_TICKET_MAX_CHANNELS = 20;
21
- export declare const ON_CHAIN_TRUST_HIGH_TICKET_FACTOR = 0.75;
22
- export declare const ON_CHAIN_SCORE_LOG_CAP_USDC = 10000;
23
- export declare const ON_CHAIN_SCORE_LOG_CAP_EXPONENT: number;
24
- export declare const ON_CHAIN_VERIFICATION_DOMAIN_POINTS = 5;
25
- export declare const ON_CHAIN_VERIFICATION_GITHUB_POINTS = 3;
26
- export declare const ON_CHAIN_VERIFICATION_MAX_POINTS = 8;
27
- export declare const SYBIL_WEIGHT_SUBFLOOR_TICKET = 0.3;
28
- export declare const SYBIL_WEIGHT_BURN_RATE = 0.25;
29
- export declare const SYBIL_WEIGHT_NARROW_CUSTOM = 0.25;
30
- export declare const SYBIL_WEIGHT_YOUNG_HIGH_VOL = 0.2;
31
- export declare const SYBIL_SUBFLOOR_TICKET_USDC = 1;
32
- export declare const SYBIL_SUBFLOOR_MIN_CHANNELS = 50;
33
- export declare const SYBIL_BURN_RATE_THRESHOLD = 30;
34
- export declare const SYBIL_BURN_RATE_SATURATION = 80;
35
- export declare const SYBIL_YOUNG_MAX_DAYS = 14;
36
- export declare const SYBIL_YOUNG_CHANNEL_FLOOR = 100;
37
- export declare const SYBIL_YOUNG_CHANNEL_SATURATION = 400;
38
- export declare const SYBIL_ADVERTISED_CHEAP_INPUT_USD_PER_MILLION = 0.1;
39
- export type SybilFlag = 'subfloor_ticket' | 'burn_rate' | 'narrow_custom' | 'young_high_vol';
40
- export interface SybilRiskResult {
41
- risk: number;
42
- flags: SybilFlag[];
43
- signals: Record<SybilFlag, number>;
44
- }
45
- export interface SybilContext {
46
- serviceCounts: Map<string, number>;
47
- }
48
- export interface OnChainTrustBreakdown {
49
- trust: number;
50
- volumeUsdc: number;
51
- creditedVolumeUsdc: number;
52
- volumeCreditCapUsdc: number;
53
- channels: number;
54
- avgChannelUsdc: number;
55
- ticketBonus: number;
56
- ticketGate: number;
57
- recencyGate: number;
58
- stakeGate: number;
59
- ageGate: number;
60
- channelConfidence: number;
61
- ghostGate: number;
62
- scoreMultiplier: number;
63
- verificationBonusPoints: number;
64
- daysSinceLastSettled: number | null;
65
- daysSinceStaked: number | null;
66
- }
67
- export declare function computeVerificationScoreBonus(peer: Pick<PeerInfo, 'verificationResults'>): number;
68
- /**
69
- * Compute raw on-chain trust, or `null` when chain stats are unavailable.
70
- *
71
- * Trust is anchored to settled USDC, but volume credit vests with seller age.
72
- * Channel count, ghost rate, last-settled recency, stake, and ticket shape gate
73
- * the displayed score instead of multiplying settled volume directly.
74
- */
75
- export declare function computeOnChainTrustBreakdown(peer: Pick<PeerInfo, 'onChainChannelCount' | 'onChainGhostCount' | 'onChainTotalVolumeUsdcMicros' | 'onChainLastSettledAtSec' | 'onChainStakedAtSec' | 'onChainStakeUsdcMicros' | 'verificationResults'>, nowMs?: number): OnChainTrustBreakdown | null;
76
- export declare function computeOnChainTrust(peer: Parameters<typeof computeOnChainTrustBreakdown>[0], nowMs?: number): number | null;
77
- export declare function buildSybilContext(peers: ReadonlyArray<PeerInfo>): SybilContext;
78
- /** Heuristic wash-trading risk in [0, 1]. */
79
- export declare function computeOnChainSybilRisk(peer: PeerInfo, ctx: SybilContext, nowMs?: number): SybilRiskResult;
80
- export declare function scoreFromTrust(trust: number): number;
81
- export declare function computeOnChainScoreWithRisk(peer: PeerInfo, risk: number, nowMs?: number): number | null;
82
- export declare function computeOnChainScore(peer: PeerInfo, ctx?: SybilContext, nowMs?: number): number | null;
83
- export declare function computeOnChainReputationScore(peer: PeerInfo, nowMs?: number): number | null;
84
- //# sourceMappingURL=on-chain-reputation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"on-chain-reputation.d.ts","sourceRoot":"","sources":["../../src/reputation/on-chain-reputation.ts"],"names":[],"mappings":"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"}
@@ -1,290 +0,0 @@
1
- export const ON_CHAIN_TRUST_TICKET_TARGET_USDC = 2.0;
2
- export const ON_CHAIN_TRUST_TICKET_MIN = 0.5;
3
- export const ON_CHAIN_TRUST_TICKET_MAX = 1.5;
4
- export const ON_CHAIN_TRUST_RECENCY_FRESH_DAYS = 14;
5
- export const ON_CHAIN_TRUST_RECENCY_STALE_DAYS = 60;
6
- export const ON_CHAIN_TRUST_RECENCY_DORMANT_FACTOR = 0.25;
7
- export const ON_CHAIN_TRUST_STAKE_THRESHOLD_USDC = 1.0;
8
- export const ON_CHAIN_TRUST_NO_STAKE_FACTOR = 0.5;
9
- export const ON_CHAIN_TRUST_INITIAL_CREDIT_USDC = 25;
10
- export const ON_CHAIN_TRUST_DAILY_CREDIT_USDC = 125;
11
- export const ON_CHAIN_TRUST_MATURITY_DAYS = 30;
12
- export const ON_CHAIN_TRUST_CHANNEL_CONFIDENCE_CAP = 1_000;
13
- export const ON_CHAIN_TRUST_GHOST_PENALTY_WEIGHT = 2.5;
14
- export const ON_CHAIN_TRUST_MIN_GHOST_FACTOR = 0.25;
15
- export const ON_CHAIN_TRUST_LOW_TICKET_USDC = 0.25;
16
- export const ON_CHAIN_TRUST_LOW_TICKET_MIN_CHANNELS = 50;
17
- export const ON_CHAIN_TRUST_LOW_TICKET_FACTOR = 0.65;
18
- export const ON_CHAIN_TRUST_HIGH_TICKET_USDC = 50;
19
- export const ON_CHAIN_TRUST_HIGH_TICKET_MAX_CHANNELS = 20;
20
- export const ON_CHAIN_TRUST_HIGH_TICKET_FACTOR = 0.75;
21
- export const ON_CHAIN_SCORE_LOG_CAP_USDC = 10_000;
22
- export const ON_CHAIN_SCORE_LOG_CAP_EXPONENT = Math.log10(1 + ON_CHAIN_SCORE_LOG_CAP_USDC);
23
- export const ON_CHAIN_VERIFICATION_DOMAIN_POINTS = 5;
24
- export const ON_CHAIN_VERIFICATION_GITHUB_POINTS = 3;
25
- export const ON_CHAIN_VERIFICATION_MAX_POINTS = 8;
26
- export const SYBIL_WEIGHT_SUBFLOOR_TICKET = 0.30;
27
- export const SYBIL_WEIGHT_BURN_RATE = 0.25;
28
- export const SYBIL_WEIGHT_NARROW_CUSTOM = 0.25;
29
- export const SYBIL_WEIGHT_YOUNG_HIGH_VOL = 0.20;
30
- export const SYBIL_SUBFLOOR_TICKET_USDC = 1.0;
31
- export const SYBIL_SUBFLOOR_MIN_CHANNELS = 50;
32
- export const SYBIL_BURN_RATE_THRESHOLD = 30;
33
- export const SYBIL_BURN_RATE_SATURATION = 80;
34
- export const SYBIL_YOUNG_MAX_DAYS = 14;
35
- export const SYBIL_YOUNG_CHANNEL_FLOOR = 100;
36
- export const SYBIL_YOUNG_CHANNEL_SATURATION = 400;
37
- export const SYBIL_ADVERTISED_CHEAP_INPUT_USD_PER_MILLION = 0.10;
38
- function clamp(value, lo, hi) {
39
- if (!Number.isFinite(value))
40
- return lo;
41
- if (value <= lo)
42
- return lo;
43
- if (value >= hi)
44
- return hi;
45
- return value;
46
- }
47
- function nonNegativeFinite(value) {
48
- return typeof value === 'number' && Number.isFinite(value) && value >= 0 ? value : null;
49
- }
50
- function logConfidence(value, cap) {
51
- if (!Number.isFinite(value) || value <= 0)
52
- return 0;
53
- return clamp(Math.log10(1 + value) / Math.log10(1 + cap), 0, 1);
54
- }
55
- export function computeVerificationScoreBonus(peer) {
56
- const results = peer.verificationResults;
57
- if (!results)
58
- return 0;
59
- const verifiedDomains = results.domains.filter((result) => result.verified).length;
60
- const verifiedGithub = results.github.filter((result) => result.verified).length;
61
- return clamp(verifiedDomains * ON_CHAIN_VERIFICATION_DOMAIN_POINTS
62
- + verifiedGithub * ON_CHAIN_VERIFICATION_GITHUB_POINTS, 0, ON_CHAIN_VERIFICATION_MAX_POINTS);
63
- }
64
- function collectPeerServices(peer) {
65
- const out = new Set();
66
- const pricing = peer.providerPricing;
67
- if (!pricing)
68
- return [];
69
- for (const entry of Object.values(pricing)) {
70
- if (entry.services) {
71
- for (const name of Object.keys(entry.services)) {
72
- const trimmed = name.trim();
73
- if (trimmed.length > 0)
74
- out.add(trimmed);
75
- }
76
- }
77
- }
78
- return Array.from(out);
79
- }
80
- function minAdvertisedInputUsdPerMillion(peer) {
81
- let best = null;
82
- const consider = (value) => {
83
- if (typeof value === 'number' && Number.isFinite(value) && value >= 0) {
84
- if (best === null || value < best)
85
- best = value;
86
- }
87
- };
88
- const pricing = peer.providerPricing;
89
- if (pricing) {
90
- for (const entry of Object.values(pricing)) {
91
- consider(entry.defaults?.inputUsdPerMillion);
92
- if (entry.services) {
93
- for (const s of Object.values(entry.services)) {
94
- consider(s.inputUsdPerMillion);
95
- }
96
- }
97
- }
98
- }
99
- consider(peer.defaultInputUsdPerMillion);
100
- return best;
101
- }
102
- /**
103
- * Compute raw on-chain trust, or `null` when chain stats are unavailable.
104
- *
105
- * Trust is anchored to settled USDC, but volume credit vests with seller age.
106
- * Channel count, ghost rate, last-settled recency, stake, and ticket shape gate
107
- * the displayed score instead of multiplying settled volume directly.
108
- */
109
- export function computeOnChainTrustBreakdown(peer, nowMs = Date.now()) {
110
- const channels = nonNegativeFinite(peer.onChainChannelCount);
111
- const volumeMicros = nonNegativeFinite(peer.onChainTotalVolumeUsdcMicros);
112
- if (channels == null || volumeMicros == null)
113
- return null;
114
- const volumeUsdc = volumeMicros / 1_000_000;
115
- const avgChannelUsdc = channels > 0 ? volumeUsdc / channels : 0;
116
- const lastSettledAtSec = nonNegativeFinite(peer.onChainLastSettledAtSec);
117
- const daysSinceLastSettled = lastSettledAtSec && lastSettledAtSec > 0
118
- ? Math.max(0, (nowMs - lastSettledAtSec * 1000) / 86_400_000)
119
- : null;
120
- let recencyGate;
121
- if (daysSinceLastSettled === null) {
122
- recencyGate = 0;
123
- }
124
- else if (daysSinceLastSettled < ON_CHAIN_TRUST_RECENCY_FRESH_DAYS) {
125
- recencyGate = 1;
126
- }
127
- else if (daysSinceLastSettled < ON_CHAIN_TRUST_RECENCY_STALE_DAYS) {
128
- recencyGate = ON_CHAIN_TRUST_RECENCY_DORMANT_FACTOR;
129
- }
130
- else {
131
- recencyGate = 0;
132
- }
133
- const stakeUsdc = (nonNegativeFinite(peer.onChainStakeUsdcMicros) ?? 0) / 1_000_000;
134
- const stakeGate = stakeUsdc >= ON_CHAIN_TRUST_STAKE_THRESHOLD_USDC
135
- ? 1
136
- : ON_CHAIN_TRUST_NO_STAKE_FACTOR;
137
- const ticketBonus = clamp(avgChannelUsdc / ON_CHAIN_TRUST_TICKET_TARGET_USDC, ON_CHAIN_TRUST_TICKET_MIN, ON_CHAIN_TRUST_TICKET_MAX);
138
- const stakedAtSec = nonNegativeFinite(peer.onChainStakedAtSec);
139
- const daysSinceStaked = stakedAtSec && stakedAtSec > 0
140
- ? Math.max(0, (nowMs - stakedAtSec * 1000) / 86_400_000)
141
- : null;
142
- // Some migrated/facade accounts have no usable staking timestamp. Only
143
- // infer maturity once verified activity reaches the channel-confidence
144
- // cap; ordinary accounts with an unknown age retain the $25 new-seller
145
- // volume cap.
146
- const inferredMatureAccount = daysSinceStaked === null
147
- && stakeUsdc >= ON_CHAIN_TRUST_STAKE_THRESHOLD_USDC
148
- && channels >= ON_CHAIN_TRUST_CHANNEL_CONFIDENCE_CAP;
149
- const maturityDays = daysSinceStaked
150
- ?? (inferredMatureAccount ? ON_CHAIN_TRUST_MATURITY_DAYS : 0);
151
- const volumeCreditCapUsdc = ON_CHAIN_TRUST_INITIAL_CREDIT_USDC
152
- + maturityDays * ON_CHAIN_TRUST_DAILY_CREDIT_USDC;
153
- const creditedVolumeUsdc = Math.min(volumeUsdc, volumeCreditCapUsdc);
154
- const ageGate = clamp(maturityDays / ON_CHAIN_TRUST_MATURITY_DAYS, 0.20, 1);
155
- const channelConfidence = 0.35
156
- + 0.65 * logConfidence(channels, ON_CHAIN_TRUST_CHANNEL_CONFIDENCE_CAP);
157
- const ghosts = nonNegativeFinite(peer.onChainGhostCount) ?? 0;
158
- const ghostRate = channels + ghosts > 0 ? ghosts / (channels + ghosts) : 0;
159
- const ghostGate = clamp(1 - ghostRate * ON_CHAIN_TRUST_GHOST_PENALTY_WEIGHT, ON_CHAIN_TRUST_MIN_GHOST_FACTOR, 1);
160
- let ticketGate = 1;
161
- if (channels >= ON_CHAIN_TRUST_LOW_TICKET_MIN_CHANNELS && avgChannelUsdc < ON_CHAIN_TRUST_LOW_TICKET_USDC) {
162
- ticketGate = ON_CHAIN_TRUST_LOW_TICKET_FACTOR;
163
- }
164
- else if (channels > 0 && channels < ON_CHAIN_TRUST_HIGH_TICKET_MAX_CHANNELS && avgChannelUsdc > ON_CHAIN_TRUST_HIGH_TICKET_USDC) {
165
- ticketGate = ON_CHAIN_TRUST_HIGH_TICKET_FACTOR;
166
- }
167
- const scoreMultiplier = channelConfidence
168
- * ageGate
169
- * ghostGate
170
- * recencyGate
171
- * stakeGate
172
- * ticketGate;
173
- const verificationBonusPoints = computeVerificationScoreBonus(peer);
174
- const trust = creditedVolumeUsdc;
175
- return {
176
- trust,
177
- volumeUsdc,
178
- creditedVolumeUsdc,
179
- volumeCreditCapUsdc,
180
- channels,
181
- avgChannelUsdc,
182
- ticketBonus,
183
- ticketGate,
184
- recencyGate,
185
- stakeGate,
186
- ageGate,
187
- channelConfidence,
188
- ghostGate,
189
- scoreMultiplier,
190
- verificationBonusPoints,
191
- daysSinceLastSettled,
192
- daysSinceStaked,
193
- };
194
- }
195
- export function computeOnChainTrust(peer, nowMs = Date.now()) {
196
- return computeOnChainTrustBreakdown(peer, nowMs)?.trust ?? null;
197
- }
198
- export function buildSybilContext(peers) {
199
- const serviceCounts = new Map();
200
- for (const peer of peers) {
201
- for (const name of collectPeerServices(peer)) {
202
- serviceCounts.set(name, (serviceCounts.get(name) ?? 0) + 1);
203
- }
204
- }
205
- return { serviceCounts };
206
- }
207
- /** Heuristic wash-trading risk in [0, 1]. */
208
- export function computeOnChainSybilRisk(peer, ctx, nowMs = Date.now()) {
209
- const channels = nonNegativeFinite(peer.onChainChannelCount) ?? 0;
210
- const volumeUsdc = (nonNegativeFinite(peer.onChainTotalVolumeUsdcMicros) ?? 0) / 1_000_000;
211
- const avgChannelUsdc = channels > 0 ? volumeUsdc / channels : 0;
212
- const stakedAtSec = nonNegativeFinite(peer.onChainStakedAtSec);
213
- const daysSinceStaked = stakedAtSec && stakedAtSec > 0
214
- ? Math.max(0, (nowMs - stakedAtSec * 1000) / 86_400_000)
215
- : null;
216
- const channelsPerDay = daysSinceStaked !== null && daysSinceStaked > 0
217
- ? channels / daysSinceStaked
218
- : null;
219
- const services = collectPeerServices(peer);
220
- const advertisedInput = minAdvertisedInputUsdPerMillion(peer);
221
- let narrowCustom = 0;
222
- if (services.length > 0 && services.length <= 2) {
223
- const allExclusive = services.every((s) => (ctx.serviceCounts.get(s) ?? 0) <= 1);
224
- if (allExclusive)
225
- narrowCustom = services.length === 1 ? 1.0 : 0.5;
226
- }
227
- let burnRate = 0;
228
- if (narrowCustom > 0 && channelsPerDay !== null) {
229
- burnRate = clamp((channelsPerDay - SYBIL_BURN_RATE_THRESHOLD)
230
- / (SYBIL_BURN_RATE_SATURATION - SYBIL_BURN_RATE_THRESHOLD), 0, 1);
231
- }
232
- let subfloorTicket = 0;
233
- const advertisedCheap = advertisedInput != null
234
- && advertisedInput <= SYBIL_ADVERTISED_CHEAP_INPUT_USD_PER_MILLION;
235
- if (!advertisedCheap && channels >= SYBIL_SUBFLOOR_MIN_CHANNELS && avgChannelUsdc < SYBIL_SUBFLOOR_TICKET_USDC) {
236
- subfloorTicket = clamp((SYBIL_SUBFLOOR_TICKET_USDC - avgChannelUsdc) / SYBIL_SUBFLOOR_TICKET_USDC, 0, 1);
237
- }
238
- let youngHighVol = 0;
239
- if (daysSinceStaked !== null
240
- && daysSinceStaked < SYBIL_YOUNG_MAX_DAYS
241
- && channels > SYBIL_YOUNG_CHANNEL_FLOOR) {
242
- const ageComponent = clamp((SYBIL_YOUNG_MAX_DAYS - daysSinceStaked) / SYBIL_YOUNG_MAX_DAYS, 0, 1);
243
- const volComponent = clamp((channels - SYBIL_YOUNG_CHANNEL_FLOOR)
244
- / (SYBIL_YOUNG_CHANNEL_SATURATION - SYBIL_YOUNG_CHANNEL_FLOOR), 0, 0.5);
245
- youngHighVol = Math.min(1, ageComponent + volComponent);
246
- }
247
- const signals = {
248
- subfloor_ticket: subfloorTicket,
249
- burn_rate: burnRate,
250
- narrow_custom: narrowCustom,
251
- young_high_vol: youngHighVol,
252
- };
253
- const risk = Math.min(1, SYBIL_WEIGHT_SUBFLOOR_TICKET * subfloorTicket
254
- + SYBIL_WEIGHT_BURN_RATE * burnRate
255
- + SYBIL_WEIGHT_NARROW_CUSTOM * narrowCustom
256
- + SYBIL_WEIGHT_YOUNG_HIGH_VOL * youngHighVol);
257
- const flags = Object.keys(signals)
258
- .filter((k) => signals[k] > 0.05)
259
- .sort((a, b) => signals[b] - signals[a]);
260
- return { risk, flags, signals };
261
- }
262
- export function scoreFromTrust(trust) {
263
- if (!Number.isFinite(trust) || trust <= 0)
264
- return 0;
265
- return Math.min(100, (100 / ON_CHAIN_SCORE_LOG_CAP_EXPONENT) * Math.log10(1 + trust));
266
- }
267
- function scoreFromBreakdown(breakdown, risk) {
268
- const baseScore = scoreFromTrust(breakdown.trust);
269
- const chainScore = baseScore * breakdown.scoreMultiplier * (1 - clamp(risk, 0, 1));
270
- if (chainScore <= 0)
271
- return chainScore;
272
- return Math.min(100, chainScore + breakdown.verificationBonusPoints);
273
- }
274
- export function computeOnChainScoreWithRisk(peer, risk, nowMs = Date.now()) {
275
- const breakdown = computeOnChainTrustBreakdown(peer, nowMs);
276
- if (breakdown === null)
277
- return null;
278
- return scoreFromBreakdown(breakdown, risk);
279
- }
280
- export function computeOnChainScore(peer, ctx, nowMs = Date.now()) {
281
- const breakdown = computeOnChainTrustBreakdown(peer, nowMs);
282
- if (breakdown === null)
283
- return null;
284
- const risk = ctx ? computeOnChainSybilRisk(peer, ctx, nowMs).risk : 0;
285
- return scoreFromBreakdown(breakdown, risk);
286
- }
287
- export function computeOnChainReputationScore(peer, nowMs = Date.now()) {
288
- return computeOnChainScore(peer, undefined, nowMs);
289
- }
290
- //# sourceMappingURL=on-chain-reputation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"on-chain-reputation.js","sourceRoot":"","sources":["../../src/reputation/on-chain-reputation.ts"],"names":[],"mappings":"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"}