@antseed/node 0.2.164 → 0.2.165
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/dist/health/self-health-error.d.ts +8 -0
- package/dist/health/self-health-error.d.ts.map +1 -1
- package/dist/health/self-health-error.js +22 -0
- package/dist/health/self-health-error.js.map +1 -1
- package/dist/health/upstream-credit.d.ts.map +1 -1
- package/dist/health/upstream-credit.js +3 -2
- package/dist/health/upstream-credit.js.map +1 -1
- package/dist/payments/evm/verification-signals-client.d.ts +7 -7
- package/dist/payments/evm/verification-signals-client.d.ts.map +1 -1
- package/dist/payments/evm/verification-signals-client.js +7 -10
- package/dist/payments/evm/verification-signals-client.js.map +1 -1
- package/dist/payments/evm/verifier-client.d.ts +27 -22
- package/dist/payments/evm/verifier-client.d.ts.map +1 -1
- package/dist/payments/evm/verifier-client.js +65 -69
- package/dist/payments/evm/verifier-client.js.map +1 -1
- package/dist/payments/generated-contract-addresses.d.ts +3 -3
- package/dist/payments/generated-contract-addresses.js +3 -3
- package/dist/proxy/buyer-response-headers.d.ts +2 -0
- package/dist/proxy/buyer-response-headers.d.ts.map +1 -0
- package/dist/proxy/buyer-response-headers.js +31 -0
- package/dist/proxy/buyer-response-headers.js.map +1 -0
- package/dist/seller-request-handler.d.ts.map +1 -1
- package/dist/seller-request-handler.js +28 -6
- package/dist/seller-request-handler.js.map +1 -1
- package/package.json +3 -3
|
@@ -16,7 +16,7 @@ export const MAX_RESULTS_PER_MODEL_AUDIT = 256;
|
|
|
16
16
|
/** AntseedKbfAudits profile limits. */
|
|
17
17
|
export const MAX_AUDITOR_PROFILE_NAME_BYTES = 64;
|
|
18
18
|
export const MAX_AUDITOR_PROFILE_URI_BYTES = 256;
|
|
19
|
-
/** `AntseedVerificationResults.REWARDS_OFF`:
|
|
19
|
+
/** `AntseedVerificationResults.REWARDS_OFF`: an audit's rewards start epoch while its rewards are off. */
|
|
20
20
|
export const VERIFICATION_REWARDS_OFF = 2n ** 64n - 1n;
|
|
21
21
|
/** Throws when `profile` would be rejected by `setAuditorProfile`, with the reason. */
|
|
22
22
|
export function validateAuditorProfile(profile) {
|
|
@@ -41,7 +41,7 @@ export function validateAuditorProfile(profile) {
|
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
|
-
/** `AntseedKbfAudits`: the KBF
|
|
44
|
+
/** `AntseedKbfAudits`: the KBF audit auditors submit to. */
|
|
45
45
|
export const KBF_AUDITS_ABI = [
|
|
46
46
|
'function submitModelAudit(uint256 expectedEpoch,bytes32 modelHash,bytes32 evidenceHash,string evidenceUri,(uint256 agentId,bytes32 serviceHash,uint8 verdict)[] results) external',
|
|
47
47
|
'function requiredReports(uint8 verdict) external view returns (uint8)',
|
|
@@ -49,10 +49,16 @@ export const KBF_AUDITS_ABI = [
|
|
|
49
49
|
'function reportKey(uint256 epoch,uint256 agentId,bytes32 serviceHash,bytes32 modelHash,uint256 round) external pure returns (bytes32)',
|
|
50
50
|
'function reportOf(bytes32 key,address auditor) external view returns (uint8)',
|
|
51
51
|
'function reportCount(bytes32 key,uint8 verdict) external view returns (uint256)',
|
|
52
|
-
'function
|
|
52
|
+
'function creditedAudits(uint256 epoch,address auditor,bytes32 modelHash) external view returns (uint256)',
|
|
53
53
|
'function maxCreditsPerModelPerEpoch() external view returns (uint32)',
|
|
54
|
+
'function creditsPerAudit() external view returns (uint32)',
|
|
55
|
+
'function modelCreditsPerAudit(bytes32 modelHash) external view returns (uint32)',
|
|
56
|
+
'function creditsFor(bytes32 modelHash) external view returns (uint256)',
|
|
57
|
+
'function validityEpochs() external view returns (uint8)',
|
|
58
|
+
'function diffReplacementReports() external view returns (uint8)',
|
|
54
59
|
'function results() external view returns (address)',
|
|
55
60
|
'function sellerPools() external view returns (address)',
|
|
61
|
+
'function identityRegistry() external view returns (address)',
|
|
56
62
|
'function approvedAuditors(address auditor) external view returns (bool)',
|
|
57
63
|
'function auditorRevocations() external view returns (uint256)',
|
|
58
64
|
'function agentOwner(uint256 agentId) external view returns (bool known,address owner)',
|
|
@@ -62,55 +68,46 @@ export const KBF_AUDITS_ABI = [
|
|
|
62
68
|
'event AuditorProfileSet(address indexed auditor,string name,string iconUri,string url)',
|
|
63
69
|
'event ModelAudited(bytes32 indexed modelHash,address indexed auditor,uint256 indexed epoch,bytes32 evidenceHash,string evidenceUri,uint256 resultCount)',
|
|
64
70
|
'event ServiceAudited(uint256 indexed agentId,bytes32 indexed serviceHash,address indexed auditor,bytes32 modelHash,uint8 verdict,uint256 round,uint256 reports,uint256 required)',
|
|
65
|
-
'event AuditCredited(uint256 indexed epoch,address indexed auditor,bytes32 indexed modelHash)',
|
|
71
|
+
'event AuditCredited(uint256 indexed epoch,address indexed auditor,bytes32 indexed modelHash,uint256 credits)',
|
|
66
72
|
'event UnknownAgentSkipped(uint256 indexed agentId,bytes32 indexed modelHash)',
|
|
73
|
+
'event ValidityEpochsSet(uint8 validityEpochs)',
|
|
74
|
+
'event CreditsPerAuditSet(uint32 credits)',
|
|
75
|
+
'event ModelCreditsPerAuditSet(bytes32 indexed modelHash,uint32 credits)',
|
|
67
76
|
];
|
|
68
|
-
/** `AntseedVerificationResults`: verdicts and verification rewards, for every
|
|
77
|
+
/** `AntseedVerificationResults`: verdicts and verification rewards, for every audit. */
|
|
69
78
|
export const VERIFICATION_RESULTS_ABI = [
|
|
70
|
-
'function serviceStatus(uint256 agentId,bytes32 serviceHash) external view returns ((bytes32 modelHash,uint8 verdict,uint64 updatedAt,uint64 epoch,address
|
|
79
|
+
'function serviceStatus(uint256 agentId,bytes32 serviceHash) external view returns ((bytes32 modelHash,uint8 verdict,uint64 updatedAt,uint64 epoch,address audit,uint64 validUntilEpoch))',
|
|
71
80
|
'function agentStatus(uint256 agentId) external view returns ((uint16 verifiedCount,uint16 diffCount))',
|
|
72
81
|
'function isVerified(uint256 agentId) external view returns (bool)',
|
|
73
82
|
'function liveVerdict(uint256 agentId,bytes32 serviceHash) external view returns (uint8)',
|
|
74
83
|
'function serviceClears(uint256 agentId,bytes32 serviceHash) external view returns (uint256)',
|
|
75
84
|
'function diffChanges(uint256 agentId,bytes32 serviceHash) external view returns (uint256)',
|
|
76
|
-
'function validityEpochs() external view returns (uint8)',
|
|
77
85
|
'function emissionsGate() external view returns (address)',
|
|
78
|
-
'function registry() external view returns (address)',
|
|
79
86
|
'function currentEpoch() external view returns (uint256)',
|
|
80
|
-
'function
|
|
81
|
-
'function
|
|
82
|
-
'function
|
|
83
|
-
'function
|
|
84
|
-
'function rewardsStartEpoch(address
|
|
85
|
-
'function maxCreditsPerAuditorPerEpoch(address
|
|
86
|
-
'function maxAuditorShareBps(address
|
|
87
|
-
'function epochCredits(address
|
|
88
|
-
'function auditorEpochCredits(address
|
|
89
|
-
'function auditorEpochClaimed(address
|
|
90
|
-
'function
|
|
91
|
-
'function
|
|
92
|
-
'function
|
|
93
|
-
'
|
|
94
|
-
'function claimRewards(address source,uint256[] epochs) external returns (uint256)',
|
|
95
|
-
'function pendingReward(address source,address auditor,uint256 epoch) external view returns (uint256)',
|
|
96
|
-
'function settleEpochRemainder(uint256 epoch) external returns (uint256 burnedAmount,uint256 reserveAmount)',
|
|
97
|
-
'event ServiceStatusChanged(uint256 indexed agentId,bytes32 indexed serviceHash,bytes32 modelHash,uint8 previous,uint8 current,address source,uint256 epoch)',
|
|
87
|
+
'function isAudit(address audit) external view returns (bool)',
|
|
88
|
+
'function auditShareBps(address audit) external view returns (uint16)',
|
|
89
|
+
'function auditShareBpsAt(address audit,uint256 epoch) external view returns (uint16)',
|
|
90
|
+
'function auditBudget(address audit,uint256 epoch) external view returns (uint256)',
|
|
91
|
+
'function rewardsStartEpoch(address audit) external view returns (uint64)',
|
|
92
|
+
'function maxCreditsPerAuditorPerEpoch(address audit) external view returns (uint32)',
|
|
93
|
+
'function maxAuditorShareBps(address audit) external view returns (uint16)',
|
|
94
|
+
'function epochCredits(address audit,uint256 epoch) external view returns (uint256)',
|
|
95
|
+
'function auditorEpochCredits(address audit,uint256 epoch,address auditor) external view returns (uint256)',
|
|
96
|
+
'function auditorEpochClaimed(address audit,uint256 epoch,address auditor) external view returns (bool)',
|
|
97
|
+
'function claimAuditorReward(address audit,uint256 epoch) external',
|
|
98
|
+
'function pendingAuditorReward(address audit,address auditor,uint256 epoch) external view returns (uint256)',
|
|
99
|
+
'function paused() external view returns (bool)',
|
|
100
|
+
'event ServiceStatusChanged(uint256 indexed agentId,bytes32 indexed serviceHash,bytes32 modelHash,uint8 previous,uint8 current,address audit,uint256 epoch,uint256 validUntilEpoch)',
|
|
98
101
|
'event ServiceCleared(uint256 indexed agentId,bytes32 indexed serviceHash,uint256 epoch,uint256 clears)',
|
|
99
102
|
'event AgentStatusChanged(uint256 indexed agentId,uint16 verifiedCount,uint16 diffCount)',
|
|
100
|
-
'event Credited(address indexed
|
|
101
|
-
'event
|
|
102
|
-
'event RewardClaimed(address indexed source,uint256 indexed epoch,address indexed auditor,uint256 amount,uint256 reserveAmount)',
|
|
103
|
-
'event EpochRemainderSettled(uint256 indexed epoch,uint256 amount,uint256 burnedAmount,uint256 reserveAmount)',
|
|
103
|
+
'event Credited(address indexed audit,uint256 indexed epoch,address indexed auditor,uint256 credits)',
|
|
104
|
+
'event AuditorRewardClaimed(address indexed audit,uint256 indexed epoch,address indexed auditor,uint256 credits,uint256 totalCredits,uint256 grossAmount,uint256 claimableAmount,uint256 reserveAmount)',
|
|
104
105
|
];
|
|
105
106
|
const EMISSIONS_GATE_EPOCH_ABI = [
|
|
106
107
|
'function currentEpoch() external view returns (uint256)',
|
|
107
108
|
'function genesis() external view returns (uint256)',
|
|
108
109
|
'function epochDuration() external view returns (uint256)',
|
|
109
110
|
];
|
|
110
|
-
const ANTSEED_REGISTRY_ABI = [
|
|
111
|
-
'function identityRegistry() external view returns (address)',
|
|
112
|
-
'function emissions() external view returns (address)',
|
|
113
|
-
];
|
|
114
111
|
const IDENTITY_REGISTRY_ABI = [
|
|
115
112
|
'function ownerOf(uint256 agentId) external view returns (address)',
|
|
116
113
|
];
|
|
@@ -137,7 +134,7 @@ export function sortServiceResults(results) {
|
|
|
137
134
|
* - `AntseedKbfAudits` (`contractAddress`): approved auditors (`AuditorSet` events), audits, report
|
|
138
135
|
* tallies, per-model credits;
|
|
139
136
|
* - `AntseedVerificationResults` (`kbf.results()`): verdicts, epochs, credits and reward claims,
|
|
140
|
-
* keyed by the KBF contract as the
|
|
137
|
+
* keyed by the KBF contract as the audit.
|
|
141
138
|
*
|
|
142
139
|
* The results address is discovered from the KBF contract on first use and cached.
|
|
143
140
|
*/
|
|
@@ -180,15 +177,22 @@ export class VerifierClient extends BaseEvmClient {
|
|
|
180
177
|
async submitModelAudit(signer, input) {
|
|
181
178
|
return this._execWrite(signer, KBF_AUDITS_ABI, 'submitModelAudit', input.expectedEpoch, input.modelHash, input.evidenceHash, input.evidenceUri, sortServiceResults(input.results).map((result) => [result.agentId, result.serviceHash, result.verdict]));
|
|
182
179
|
}
|
|
183
|
-
/**
|
|
180
|
+
/**
|
|
181
|
+
* Claims KBF rewards on the results contract, one transaction per epoch as the contract takes
|
|
182
|
+
* them: `results.claimAuditorReward(kbf, epoch)`. Returns the transaction hashes in order.
|
|
183
|
+
*/
|
|
184
184
|
async claimAuditorRewards(signer, epochs) {
|
|
185
185
|
const writer = new ResultsWriter(this._config, await this.resultsAddress()).withProvider(this._provider);
|
|
186
|
-
|
|
186
|
+
const audit = getAddress(this._contractAddress);
|
|
187
|
+
const hashes = [];
|
|
188
|
+
for (const epoch of epochs)
|
|
189
|
+
hashes.push(await writer.claimAuditorReward(signer, audit, BigInt(epoch)));
|
|
190
|
+
return hashes;
|
|
187
191
|
}
|
|
188
|
-
/** Claimable KBF reward of a finalized epoch: `results.
|
|
192
|
+
/** Claimable KBF reward of a finalized epoch: `results.pendingAuditorReward(kbf, auditor, epoch)`. */
|
|
189
193
|
async pendingAuditorReward(auditor, epoch) {
|
|
190
194
|
const results = await this._results();
|
|
191
|
-
return BigInt(await results.getFunction('
|
|
195
|
+
return BigInt(await results.getFunction('pendingAuditorReward')(this._contractAddress, getAddress(auditor), BigInt(epoch)));
|
|
192
196
|
}
|
|
193
197
|
/** KBF credits the auditor earned in `epoch`, and the epoch's KBF total, from the results contract. */
|
|
194
198
|
async auditCredits(auditor, epoch) {
|
|
@@ -199,10 +203,15 @@ export class VerifierClient extends BaseEvmClient {
|
|
|
199
203
|
]);
|
|
200
204
|
return { auditor: BigInt(auditorCredits), total: BigInt(total) };
|
|
201
205
|
}
|
|
202
|
-
|
|
203
|
-
|
|
206
|
+
/** Audits of `model` (a model hash) by `auditor` in `epoch` that earned credits; at most `perModel` of `creditLimits`. */
|
|
207
|
+
async creditedAudits(epoch, auditor, model) {
|
|
208
|
+
return BigInt(await this._contract().getFunction('creditedAudits')(BigInt(epoch), getAddress(auditor), model));
|
|
204
209
|
}
|
|
205
|
-
/**
|
|
210
|
+
/** Credits one audit of `model` (a model hash) earns now: its own amount on the KBF contract, else the default. */
|
|
211
|
+
async creditsFor(model) {
|
|
212
|
+
return BigInt(await this._contract().getFunction('creditsFor')(model));
|
|
213
|
+
}
|
|
214
|
+
/** Per-auditor credit cap (results layer, for the KBF audit, per epoch) and per-model cap on credited audits (KBF contract). */
|
|
206
215
|
async creditLimits() {
|
|
207
216
|
const results = await this._results();
|
|
208
217
|
const [perAuditor, perModel] = await Promise.all([
|
|
@@ -218,13 +227,13 @@ export class VerifierClient extends BaseEvmClient {
|
|
|
218
227
|
*/
|
|
219
228
|
async rewardSettings(epoch) {
|
|
220
229
|
const results = await this._results();
|
|
221
|
-
const
|
|
230
|
+
const audit = this._contractAddress;
|
|
222
231
|
const [start, share, cap] = await Promise.all([
|
|
223
|
-
results.getFunction('rewardsStartEpoch')(
|
|
232
|
+
results.getFunction('rewardsStartEpoch')(audit),
|
|
224
233
|
epoch === undefined
|
|
225
|
-
? results.getFunction('
|
|
226
|
-
: results.getFunction('
|
|
227
|
-
results.getFunction('maxAuditorShareBps')(
|
|
234
|
+
? results.getFunction('auditShareBps')(audit)
|
|
235
|
+
: results.getFunction('auditShareBpsAt')(audit, BigInt(epoch)),
|
|
236
|
+
results.getFunction('maxAuditorShareBps')(audit),
|
|
228
237
|
]);
|
|
229
238
|
return { rewardsStartEpoch: BigInt(start), shareBps: Number(share), maxAuditorShareBps: Number(cap) };
|
|
230
239
|
}
|
|
@@ -242,21 +251,13 @@ export class VerifierClient extends BaseEvmClient {
|
|
|
242
251
|
validateAuditorProfile(profile);
|
|
243
252
|
return this._execWrite(signer, KBF_AUDITS_ABI, 'setAuditorProfile', profile.name, profile.iconUri, profile.url);
|
|
244
253
|
}
|
|
245
|
-
/** What `settleEpochRemainder(epoch)` would sweep now (burn, then reserve); 0 for the current epoch. */
|
|
246
|
-
async unclaimableRemainder(epoch) {
|
|
247
|
-
return BigInt(await (await this._results()).getFunction('unclaimableRemainder')(BigInt(epoch)));
|
|
248
|
-
}
|
|
249
|
-
/** Sweeps a finalized epoch's unclaimable verification budget; anyone may send it. */
|
|
250
|
-
async settleEpochRemainder(signer, epoch) {
|
|
251
|
-
const writer = new ResultsWriter(this._config, await this.resultsAddress()).withProvider(this._provider);
|
|
252
|
-
return writer.settleEpochRemainder(signer, BigInt(epoch));
|
|
253
|
-
}
|
|
254
254
|
/** The emissions gate the results contract pinned at deployment; `expectedEpoch` is checked against it. */
|
|
255
255
|
async emissionsGate() {
|
|
256
256
|
return getAddress(String(await (await this._results()).getFunction('emissionsGate')()));
|
|
257
257
|
}
|
|
258
|
+
/** Epochs a KBF verdict counts for (KBF contract), including the one it was given in. */
|
|
258
259
|
async validityEpochs() {
|
|
259
|
-
return Number(await
|
|
260
|
+
return Number(await this._contract().getFunction('validityEpochs')());
|
|
260
261
|
}
|
|
261
262
|
/** The current epoch exactly as `submitModelAudit` checks it. */
|
|
262
263
|
async currentEpochWindow() {
|
|
@@ -272,7 +273,7 @@ export class VerifierClient extends BaseEvmClient {
|
|
|
272
273
|
async isVerified(agentId) {
|
|
273
274
|
return Boolean(await (await this._results()).getFunction('isVerified')(BigInt(agentId)));
|
|
274
275
|
}
|
|
275
|
-
/** SAME and DIFF services whose verdicts
|
|
276
|
+
/** SAME and DIFF services whose verdicts still count (`currentEpoch < validUntilEpoch`). */
|
|
276
277
|
async agentStatus(agentId) {
|
|
277
278
|
const status = await (await this._results()).getFunction('agentStatus')(BigInt(agentId));
|
|
278
279
|
return {
|
|
@@ -290,19 +291,17 @@ export class VerifierClient extends BaseEvmClient {
|
|
|
290
291
|
verdict: Number(status.verdict ?? status[1]),
|
|
291
292
|
updatedAt: BigInt(status.updatedAt ?? status[2]),
|
|
292
293
|
epoch: BigInt(status.epoch ?? status[3]),
|
|
293
|
-
|
|
294
|
+
audit: getAddress(String(status.audit ?? status[4])),
|
|
295
|
+
validUntilEpoch: BigInt(status.validUntilEpoch ?? status[5]),
|
|
294
296
|
};
|
|
295
297
|
}
|
|
296
298
|
/** Whether `auditor` is approved on the KBF contract. */
|
|
297
299
|
async approvedAuditor(auditor) {
|
|
298
300
|
return Boolean(await this._contract().getFunction('approvedAuditors')(getAddress(auditor)));
|
|
299
301
|
}
|
|
300
|
-
|
|
301
|
-
return getAddress(String(await (await this._results()).getFunction('registry')()));
|
|
302
|
-
}
|
|
302
|
+
/** The identity registry the KBF contract resolves agent owners with. */
|
|
303
303
|
async identityRegistry() {
|
|
304
|
-
|
|
305
|
-
return getAddress(String(await registry.getFunction('identityRegistry')()));
|
|
304
|
+
return getAddress(String(await this._contract().getFunction('identityRegistry')()));
|
|
306
305
|
}
|
|
307
306
|
async agentOwner(agentId) {
|
|
308
307
|
const identityRegistry = new Contract(await this.identityRegistry(), IDENTITY_REGISTRY_ABI, this._provider);
|
|
@@ -449,11 +448,8 @@ class ResultsWriter extends BaseEvmClient {
|
|
|
449
448
|
constructor(config, resultsAddress) {
|
|
450
449
|
super(config.rpcUrl, resultsAddress, config.fallbackRpcUrls, config.evmChainId);
|
|
451
450
|
}
|
|
452
|
-
|
|
453
|
-
return this._execWrite(signer, VERIFICATION_RESULTS_ABI, '
|
|
454
|
-
}
|
|
455
|
-
settleEpochRemainder(signer, epoch) {
|
|
456
|
-
return this._execWrite(signer, VERIFICATION_RESULTS_ABI, 'settleEpochRemainder', epoch);
|
|
451
|
+
claimAuditorReward(signer, audit, epoch) {
|
|
452
|
+
return this._execWrite(signer, VERIFICATION_RESULTS_ABI, 'claimAuditorReward', audit, epoch);
|
|
457
453
|
}
|
|
458
454
|
}
|
|
459
455
|
//# sourceMappingURL=verifier-client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verifier-client.js","sourceRoot":"","sources":["../../../src/payments/evm/verifier-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"verifier-client.js","sourceRoot":"","sources":["../../../src/payments/evm/verifier-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,8 +15,8 @@ export declare const DEPLOYED_CONTRACT_ADDRESSES: {
|
|
|
15
15
|
readonly identityRegistryAddress: "0x8004A169FB4a3325136EB29fA0ceB6D2e539a432";
|
|
16
16
|
readonly statsContractAddress: "0x15649ff076BFa5e37e24EE3154a00503149954Fd";
|
|
17
17
|
readonly depositRelayAddress: "0x34a44542e76f9b4cff3a31902eDF14AbF2C3B3DD";
|
|
18
|
-
readonly verificationContractAddress: "
|
|
19
|
-
readonly verificationResultsAddress: "
|
|
18
|
+
readonly verificationContractAddress: "0x86b92dc48ef7c5a12de6e44409e83c8ef36657ff";
|
|
19
|
+
readonly verificationResultsAddress: "0x139ab1722a62a23371f491220902c460e9faeab2";
|
|
20
20
|
readonly emissionsGateAddress: "0xe60a31e6cd2f8455503ca0b3f6545dd3ddf543bd";
|
|
21
21
|
readonly sellerPoolsAddress: "0x8bf4d39aa13f3cb03f87d9500767fbc4d0940652";
|
|
22
22
|
readonly sellerRegistryAddress: "0x99c533bcc6ca646e543dba835fdbb9c2ee02cb60";
|
|
@@ -27,7 +27,7 @@ export declare const DEPLOYED_CONTRACT_ADDRESSES: {
|
|
|
27
27
|
readonly legacyEmissionsEscrowAddress: "0x4d0fc3c0bbb5233af6c4ce33223e5330c34db9ab";
|
|
28
28
|
readonly channelsDeployBlock: 44469557;
|
|
29
29
|
readonly statsDeployBlock: 44469557;
|
|
30
|
-
readonly verificationDeployBlock:
|
|
30
|
+
readonly verificationDeployBlock: 53514467;
|
|
31
31
|
readonly recognizedUsage: {
|
|
32
32
|
readonly status: "active";
|
|
33
33
|
readonly effectiveEpoch: 22;
|
|
@@ -16,8 +16,8 @@ export const DEPLOYED_CONTRACT_ADDRESSES = {
|
|
|
16
16
|
identityRegistryAddress: '0x8004A169FB4a3325136EB29fA0ceB6D2e539a432',
|
|
17
17
|
statsContractAddress: '0x15649ff076BFa5e37e24EE3154a00503149954Fd',
|
|
18
18
|
depositRelayAddress: '0x34a44542e76f9b4cff3a31902eDF14AbF2C3B3DD',
|
|
19
|
-
verificationContractAddress: '
|
|
20
|
-
verificationResultsAddress: '
|
|
19
|
+
verificationContractAddress: '0x86b92dc48ef7c5a12de6e44409e83c8ef36657ff',
|
|
20
|
+
verificationResultsAddress: '0x139ab1722a62a23371f491220902c460e9faeab2',
|
|
21
21
|
emissionsGateAddress: '0xe60a31e6cd2f8455503ca0b3f6545dd3ddf543bd',
|
|
22
22
|
sellerPoolsAddress: '0x8bf4d39aa13f3cb03f87d9500767fbc4d0940652',
|
|
23
23
|
sellerRegistryAddress: '0x99c533bcc6ca646e543dba835fdbb9c2ee02cb60',
|
|
@@ -28,7 +28,7 @@ export const DEPLOYED_CONTRACT_ADDRESSES = {
|
|
|
28
28
|
legacyEmissionsEscrowAddress: '0x4d0fc3c0bbb5233af6c4ce33223e5330c34db9ab',
|
|
29
29
|
channelsDeployBlock: 44469557,
|
|
30
30
|
statsDeployBlock: 44469557,
|
|
31
|
-
verificationDeployBlock:
|
|
31
|
+
verificationDeployBlock: 53514467,
|
|
32
32
|
recognizedUsage: {
|
|
33
33
|
"status": "active",
|
|
34
34
|
"effectiveEpoch": 22,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buyer-response-headers.d.ts","sourceRoot":"","sources":["../../src/proxy/buyer-response-headers.ts"],"names":[],"mappings":"AAuBA,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAO9G"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Upstream response headers a seller passes on to buyers. Everything else an
|
|
3
|
+
* upstream sends stays with the seller: its account and plan (`x-codex-plan-type`,
|
|
4
|
+
* credit balances, usage and reset windows), rate limits, request ids and cookies
|
|
5
|
+
* say who the seller buys from and on which terms, and no buyer needs them.
|
|
6
|
+
*/
|
|
7
|
+
const FORWARDED_RESPONSE_HEADERS = new Set([
|
|
8
|
+
'accept-ranges',
|
|
9
|
+
'cache-control',
|
|
10
|
+
'content-disposition',
|
|
11
|
+
'content-language',
|
|
12
|
+
'content-length',
|
|
13
|
+
'content-range',
|
|
14
|
+
'content-type',
|
|
15
|
+
'etag',
|
|
16
|
+
'last-modified',
|
|
17
|
+
'location',
|
|
18
|
+
'retry-after',
|
|
19
|
+
]);
|
|
20
|
+
/** Headers the seller and its providers set themselves. */
|
|
21
|
+
const ANTSEED_HEADER_PREFIX = 'x-antseed-';
|
|
22
|
+
export function buyerFacingResponseHeaders(headers) {
|
|
23
|
+
const out = {};
|
|
24
|
+
for (const [name, value] of Object.entries(headers ?? {})) {
|
|
25
|
+
const lower = name.toLowerCase();
|
|
26
|
+
if (FORWARDED_RESPONSE_HEADERS.has(lower) || lower.startsWith(ANTSEED_HEADER_PREFIX))
|
|
27
|
+
out[name] = value;
|
|
28
|
+
}
|
|
29
|
+
return out;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=buyer-response-headers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buyer-response-headers.js","sourceRoot":"","sources":["../../src/proxy/buyer-response-headers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC;IACzC,eAAe;IACf,eAAe;IACf,qBAAqB;IACrB,kBAAkB;IAClB,gBAAgB;IAChB,eAAe;IACf,cAAc;IACd,MAAM;IACN,eAAe;IACf,UAAU;IACV,aAAa;CACd,CAAC,CAAC;AAEH,2DAA2D;AAC3D,MAAM,qBAAqB,GAAG,YAAY,CAAC;AAE3C,MAAM,UAAU,0BAA0B,CAAC,OAA2C;IACpF,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;QAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,IAAI,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,qBAAqB,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IAC1G,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seller-request-handler.d.ts","sourceRoot":"","sources":["../src/seller-request-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EACV,QAAQ,EAGT,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAuB,KAAK,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACtF,OAAO,KAAK,EAAoB,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAUtG,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EACV,qBAAqB,EAEtB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"seller-request-handler.d.ts","sourceRoot":"","sources":["../src/seller-request-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ const FREE_TIER_EXHAUSTED_MESSAGES = {
|
|
|
10
10
|
import { ProxyMux } from './proxy/proxy-mux.js';
|
|
11
11
|
import { computeCostUsdc, estimateTokensFromBytesSampled, } from './payments/pricing.js';
|
|
12
12
|
import { debugLog, debugWarn } from './utils/debug.js';
|
|
13
|
+
import { buyerFacingResponseHeaders } from './proxy/buyer-response-headers.js';
|
|
13
14
|
import { CONNECTION_CAPABILITY_RESPONSE_AUTH_V1, DEFAULT_FIRST_SIGN_CAP, DEFAULT_TOP_UP_SETTLED_THRESHOLD_BPS, computeOneOffChannelPlan, PAYMENT_CODE_CHANNEL_EXHAUSTED, PAYMENT_CODE_ONE_OFF_CHANNEL_REQUIRED, } from './types/protocol.js';
|
|
14
15
|
import { createResponseAuthPayload, createStreamingResponseHash } from './verification/response-auth.js';
|
|
15
16
|
import { VIDEO_DOWNLOAD_STREAM_HEADER, VIDEO_DOWNLOAD_STREAM_VERSION } from '@antseed/protocol/http';
|
|
@@ -22,7 +23,7 @@ import { speechVoiceProblem } from '@antseed/protocol/peer-metadata';
|
|
|
22
23
|
import { detectRequestServiceApiProtocol, selectTargetProtocolForRequest, } from '@antseed/api-adapter';
|
|
23
24
|
import { parseResponseUsage } from './utils/response-usage.js';
|
|
24
25
|
import { requestBodyService } from './requested-service.js';
|
|
25
|
-
import { buildSelfHealthErrorResponse, buildUpstreamUnavailableResponse, isUpstreamAccountError, isUpstreamFailureStatus } from './health/self-health-error.js';
|
|
26
|
+
import { buildSelfHealthErrorResponse, buildUpstreamRateLimitedResponse, buildUpstreamUnavailableResponse, isUpstreamAccountError, isUpstreamFailureStatus } from './health/self-health-error.js';
|
|
26
27
|
import { StreamOutcome } from './health/stream-outcome.js';
|
|
27
28
|
import { routingProtocolForPath, routingProtocolOf, routingRequestOf, routingWireProtocol, ROUTING_PROTOCOLS } from '@antseed/protocol/routing';
|
|
28
29
|
/** A seller's services of one routing protocol. */
|
|
@@ -99,6 +100,8 @@ function isZeroTokenPricing(pricing) {
|
|
|
99
100
|
* Set a header the seller controls. Header names are case-insensitive, so any
|
|
100
101
|
* buyer-sent copy (in any letter case) is removed first and only ours remains.
|
|
101
102
|
*/
|
|
103
|
+
/** What a buyer is told when the provider throws; the exception itself stays in the seller's log. */
|
|
104
|
+
const PROVIDER_FAILURE_MESSAGE = 'The seller could not complete the request upstream';
|
|
102
105
|
function setTrustedHeader(headers, name, value) {
|
|
103
106
|
for (const key of Object.keys(headers)) {
|
|
104
107
|
if (key.toLowerCase() === name)
|
|
@@ -873,6 +876,9 @@ export class SellerRequestHandler {
|
|
|
873
876
|
response = buildUpstreamUnavailableResponse(request.requestId, requestedModel);
|
|
874
877
|
statusCode = response.statusCode;
|
|
875
878
|
}
|
|
879
|
+
else if (!streamedResponseStarted && statusCode === 429) {
|
|
880
|
+
response = buildUpstreamRateLimitedResponse(request.requestId, requestedModel, takeHeader({ ...response.headers }, 'retry-after'));
|
|
881
|
+
}
|
|
876
882
|
const health = serviceHealthOf(provider.serviceHealth, requestedModel);
|
|
877
883
|
if (!streamedResponseStarted && isServiceHealthFailing(health) && isUpstreamFailureStatus(statusCode)) {
|
|
878
884
|
response = buildSelfHealthErrorResponse(request.requestId, requestedModel, health, response);
|
|
@@ -924,14 +930,15 @@ export class SellerRequestHandler {
|
|
|
924
930
|
debugWarn(`[SellerHandler] Provider exception: provider="${provider.name}" model="${requestedModel}" buyer=${buyerPeerId.slice(0, 12)}... (${Date.now() - startTime}ms) ${message}`);
|
|
925
931
|
if (videoRoute?.action === 'create')
|
|
926
932
|
this._closeOneOffBestEffort(oneOffChannelId, 'video create failed');
|
|
927
|
-
|
|
933
|
+
// The exception can quote the upstream (its account, its answer): the buyer only learns the request failed.
|
|
934
|
+
responseBody = new TextEncoder().encode(PROVIDER_FAILURE_MESSAGE);
|
|
928
935
|
if (streamedResponseStarted && isDownload) {
|
|
929
936
|
statusCode = 502;
|
|
930
937
|
responseForAuth = null;
|
|
931
938
|
mux.sendProxyError(request.requestId);
|
|
932
939
|
}
|
|
933
940
|
else if (streamedResponseStarted) {
|
|
934
|
-
const errorFrame = new TextEncoder().encode(`event: error\ndata: ${
|
|
941
|
+
const errorFrame = new TextEncoder().encode(`event: error\ndata: ${PROVIDER_FAILURE_MESSAGE}\n\n`);
|
|
935
942
|
responseBody = errorFrame;
|
|
936
943
|
mux.sendProxyChunk({
|
|
937
944
|
requestId: request.requestId,
|
|
@@ -1235,7 +1242,7 @@ export class SellerRequestHandler {
|
|
|
1235
1242
|
setTrustedHeader(request.headers, 'x-antseed-buyer-peer-id', buyerPeerId);
|
|
1236
1243
|
try {
|
|
1237
1244
|
const response = await provider.handleRequest(request);
|
|
1238
|
-
return { ...response, requestId: request.requestId };
|
|
1245
|
+
return { ...response, requestId: request.requestId, headers: buyerFacingResponseHeaders(response.headers) };
|
|
1239
1246
|
}
|
|
1240
1247
|
catch (error) {
|
|
1241
1248
|
return failure(503, 'unavailable', `Routing catalog failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
@@ -1484,10 +1491,25 @@ export class SellerRequestHandler {
|
|
|
1484
1491
|
return Math.floor(numeric);
|
|
1485
1492
|
}
|
|
1486
1493
|
async _executeRequest(provider, request, streamCallbacks) {
|
|
1494
|
+
// Buyers only ever see the headers buyerFacingResponseHeaders lets through.
|
|
1487
1495
|
if (streamCallbacks && provider.handleRequestStream) {
|
|
1488
|
-
|
|
1496
|
+
// A streamed 429 is held back like a buffered one, so its upstream body can be replaced before the buyer sees it.
|
|
1497
|
+
let heldRateLimit = false;
|
|
1498
|
+
const response = await provider.handleRequestStream(request, {
|
|
1499
|
+
...streamCallbacks,
|
|
1500
|
+
onResponseStart: (start) => {
|
|
1501
|
+
if (start.statusCode === 429) {
|
|
1502
|
+
heldRateLimit = true;
|
|
1503
|
+
return;
|
|
1504
|
+
}
|
|
1505
|
+
streamCallbacks.onResponseStart({ ...start, headers: buyerFacingResponseHeaders(start.headers) });
|
|
1506
|
+
},
|
|
1507
|
+
onResponseChunk: (chunk) => (heldRateLimit ? undefined : streamCallbacks.onResponseChunk(chunk)),
|
|
1508
|
+
});
|
|
1509
|
+
return { ...response, headers: buyerFacingResponseHeaders(response.headers) };
|
|
1489
1510
|
}
|
|
1490
|
-
|
|
1511
|
+
const response = await provider.handleRequest(request);
|
|
1512
|
+
return { ...response, headers: buyerFacingResponseHeaders(response.headers) };
|
|
1491
1513
|
}
|
|
1492
1514
|
_sendNeedAuthBestEffort(paymentMux, payload, buyerPeerId, phase) {
|
|
1493
1515
|
try {
|