diff --git a/packages/self-check-server/src/x402-keuring-18-okt.test.ts b/packages/self-check-server/src/x402-keuring-18-okt.test.ts index 47ff126..9cfccb1 100644 --- a/packages/self-check-server/src/x402-keuring-18-okt.test.ts +++ b/packages/self-check-server/src/x402-keuring-18-okt.test.ts @@ -567,7 +567,9 @@ describe("de mainnet-route, standaard uit", () => { const routes = buildPaidRoutes(config) as any; const accepts = routes["POST /api/paid/verify-ownership"].accepts; expect(accepts).toHaveLength(2); - expect(accepts.map((a: { network: string }) => a.network)).toEqual([SELLER_NETWORK, MAINNET_NETWORK]); + // MAINNET VOOROP, want de officiele client kiest accepts[0]. Gemeten: onze eerste + // mainnet-poging betaalde op testnet omdat die regel vooraan stond. + expect(accepts.map((a: { network: string }) => a.network)).toEqual([MAINNET_NETWORK, SELLER_NETWORK]); // Dezelfde prijs en hetzelfde ontvangstadres op beide, anders adverteren we twee // verschillende aanbiedingen zonder dat iemand dat besloot. expect(new Set(accepts.map((a: { price: string }) => a.price)).size).toBe(1); diff --git a/packages/self-check-server/src/x402-seller.ts b/packages/self-check-server/src/x402-seller.ts index 1ce8c52..0181a3c 100644 --- a/packages/self-check-server/src/x402-seller.ts +++ b/packages/self-check-server/src/x402-seller.ts @@ -553,12 +553,13 @@ export function buildPaidRoutes(config: SellerConfig): Record { // buildOfferReceiptExtension leest context.requirements.network, dus die volgt // automatisch de regel die de koper koos. accepts: [ - { - scheme: "exact", - price: config.price, - network: SELLER_NETWORK, - payTo: config.payTo, - }, + // MAINNET VOOROP ZODRA HIJ AAN STAAT, en dat is gemeten en geen voorkeur. De + // officiele client kiest accepts[0] (zie @x402/core, getDisplayAmount en de + // selectie eromheen), dus de ORDE bepaalt waar een gewone koper betaalt. Onze + // eerste mainnet-poging ging daardoor over testnet, met mainnet op plek twee. + // Wie echt geld aanzet, wil dat een koper echt geld betaalt; een tester kiest + // de andere regel expliciet. Staat mainnet uit, dan is er maar een regel en + // verandert hier niets. ...(config.mainnet ? [ { @@ -569,6 +570,12 @@ export function buildPaidRoutes(config: SellerConfig): Record { }, ] : []), + { + scheme: "exact", + price: config.price, + network: SELLER_NETWORK, + payTo: config.payTo, + }, ], description: "Ownership verification with a signed receipt. The receipt is the product: the same answer is available for free at /api/verify-ownership.",