@agirails/sdk 3.2.0 → 3.4.1
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/LICENSE +1 -1
- package/README.md +12 -14
- package/dist/ACTPClient.d.ts +8 -11
- package/dist/ACTPClient.d.ts.map +1 -1
- package/dist/ACTPClient.js +79 -20
- package/dist/ACTPClient.js.map +1 -1
- package/dist/__tests__/helpers/mockX402Server.d.ts +67 -0
- package/dist/__tests__/helpers/mockX402Server.d.ts.map +1 -0
- package/dist/__tests__/helpers/mockX402Server.js +121 -0
- package/dist/__tests__/helpers/mockX402Server.js.map +1 -0
- package/dist/adapters/BaseAdapter.d.ts +7 -1
- package/dist/adapters/BaseAdapter.d.ts.map +1 -1
- package/dist/adapters/BaseAdapter.js +11 -6
- package/dist/adapters/BaseAdapter.js.map +1 -1
- package/dist/adapters/BasicAdapter.d.ts.map +1 -1
- package/dist/adapters/BasicAdapter.js +12 -2
- package/dist/adapters/BasicAdapter.js.map +1 -1
- package/dist/adapters/StandardAdapter.d.ts.map +1 -1
- package/dist/adapters/StandardAdapter.js +12 -2
- package/dist/adapters/StandardAdapter.js.map +1 -1
- package/dist/adapters/X402Adapter.d.ts +161 -199
- package/dist/adapters/X402Adapter.d.ts.map +1 -1
- package/dist/adapters/X402Adapter.js +603 -414
- package/dist/adapters/X402Adapter.js.map +1 -1
- package/dist/adapters/index.d.ts +1 -1
- package/dist/adapters/index.d.ts.map +1 -1
- package/dist/adapters/index.js.map +1 -1
- package/dist/api/agirailsApp.d.ts +21 -1
- package/dist/api/agirailsApp.d.ts.map +1 -1
- package/dist/api/agirailsApp.js.map +1 -1
- package/dist/builders/CounterAcceptBuilder.d.ts +96 -0
- package/dist/builders/CounterAcceptBuilder.d.ts.map +1 -0
- package/dist/builders/CounterAcceptBuilder.js +226 -0
- package/dist/builders/CounterAcceptBuilder.js.map +1 -0
- package/dist/builders/CounterOfferBuilder.d.ts +143 -0
- package/dist/builders/CounterOfferBuilder.d.ts.map +1 -0
- package/dist/builders/CounterOfferBuilder.js +329 -0
- package/dist/builders/CounterOfferBuilder.js.map +1 -0
- package/dist/builders/DeliveryProofBuilder.d.ts.map +1 -1
- package/dist/builders/DeliveryProofBuilder.js +3 -2
- package/dist/builders/DeliveryProofBuilder.js.map +1 -1
- package/dist/builders/QuoteBuilder.d.ts.map +1 -1
- package/dist/builders/QuoteBuilder.js +8 -3
- package/dist/builders/QuoteBuilder.js.map +1 -1
- package/dist/builders/index.d.ts +2 -0
- package/dist/builders/index.d.ts.map +1 -1
- package/dist/builders/index.js +7 -1
- package/dist/builders/index.js.map +1 -1
- package/dist/cli/agirails.js +34 -6
- package/dist/cli/agirails.js.map +1 -1
- package/dist/cli/commands/autopublish.js +9 -1
- package/dist/cli/commands/autopublish.js.map +1 -1
- package/dist/cli/commands/config.js +1 -12
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/commands/deploy-env.js +1 -1
- package/dist/cli/commands/deploy-env.js.map +1 -1
- package/dist/cli/commands/diff.js +38 -4
- package/dist/cli/commands/diff.js.map +1 -1
- package/dist/cli/commands/health.js +24 -6
- package/dist/cli/commands/health.js.map +1 -1
- package/dist/cli/commands/init.d.ts +2 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +100 -7
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/pay.d.ts.map +1 -1
- package/dist/cli/commands/pay.js +23 -0
- package/dist/cli/commands/pay.js.map +1 -1
- package/dist/cli/commands/publish.d.ts +34 -0
- package/dist/cli/commands/publish.d.ts.map +1 -1
- package/dist/cli/commands/publish.js +266 -83
- package/dist/cli/commands/publish.js.map +1 -1
- package/dist/cli/commands/pull.js +3 -1
- package/dist/cli/commands/pull.js.map +1 -1
- package/dist/cli/commands/receipt.d.ts +17 -3
- package/dist/cli/commands/receipt.d.ts.map +1 -1
- package/dist/cli/commands/receipt.js +95 -33
- package/dist/cli/commands/receipt.js.map +1 -1
- package/dist/cli/commands/repair.d.ts +23 -0
- package/dist/cli/commands/repair.d.ts.map +1 -0
- package/dist/cli/commands/repair.js +210 -0
- package/dist/cli/commands/repair.js.map +1 -0
- package/dist/cli/commands/serve.d.ts +38 -0
- package/dist/cli/commands/serve.d.ts.map +1 -0
- package/dist/cli/commands/serve.js +308 -0
- package/dist/cli/commands/serve.js.map +1 -0
- package/dist/cli/commands/test.d.ts.map +1 -1
- package/dist/cli/commands/test.js +222 -60
- package/dist/cli/commands/test.js.map +1 -1
- package/dist/cli/commands/tx.js +13 -0
- package/dist/cli/commands/tx.js.map +1 -1
- package/dist/cli/index.js +9 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/receiptUpload.d.ts +52 -0
- package/dist/cli/receiptUpload.d.ts.map +1 -0
- package/dist/cli/receiptUpload.js +134 -0
- package/dist/cli/receiptUpload.js.map +1 -0
- package/dist/cli/utils/banner.d.ts +31 -0
- package/dist/cli/utils/banner.d.ts.map +1 -0
- package/dist/cli/utils/banner.js +92 -0
- package/dist/cli/utils/banner.js.map +1 -0
- package/dist/cli/utils/config.d.ts +0 -2
- package/dist/cli/utils/config.d.ts.map +1 -1
- package/dist/cli/utils/config.js +40 -25
- package/dist/cli/utils/config.js.map +1 -1
- package/dist/cli/utils/output.d.ts +2 -0
- package/dist/cli/utils/output.d.ts.map +1 -1
- package/dist/cli/utils/output.js +7 -1
- package/dist/cli/utils/output.js.map +1 -1
- package/dist/cli/utils/share.d.ts +51 -0
- package/dist/cli/utils/share.d.ts.map +1 -0
- package/dist/cli/utils/share.js +133 -0
- package/dist/cli/utils/share.js.map +1 -0
- package/dist/config/agirailsmd.d.ts.map +1 -1
- package/dist/config/agirailsmd.js +2 -1
- package/dist/config/agirailsmd.js.map +1 -1
- package/dist/config/agirailsmdV4.d.ts +46 -1
- package/dist/config/agirailsmdV4.d.ts.map +1 -1
- package/dist/config/agirailsmdV4.js +65 -8
- package/dist/config/agirailsmdV4.js.map +1 -1
- package/dist/config/defaults.d.ts +12 -2
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +19 -3
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/networks.d.ts +7 -0
- package/dist/config/networks.d.ts.map +1 -1
- package/dist/config/networks.js +20 -11
- package/dist/config/networks.js.map +1 -1
- package/dist/config/pendingPublish.d.ts.map +1 -1
- package/dist/config/pendingPublish.js +10 -3
- package/dist/config/pendingPublish.js.map +1 -1
- package/dist/config/publishPipeline.d.ts +23 -1
- package/dist/config/publishPipeline.d.ts.map +1 -1
- package/dist/config/publishPipeline.js +70 -15
- package/dist/config/publishPipeline.js.map +1 -1
- package/dist/config/syncOperations.d.ts.map +1 -1
- package/dist/config/syncOperations.js +4 -2
- package/dist/config/syncOperations.js.map +1 -1
- package/dist/erc8004/ERC8004Bridge.d.ts.map +1 -1
- package/dist/erc8004/ERC8004Bridge.js +0 -1
- package/dist/erc8004/ERC8004Bridge.js.map +1 -1
- package/dist/errors/ACTPError.d.ts +24 -0
- package/dist/errors/ACTPError.d.ts.map +1 -0
- package/dist/errors/ACTPError.js +35 -0
- package/dist/errors/ACTPError.js.map +1 -0
- package/dist/errors/X402Errors.d.ts +106 -0
- package/dist/errors/X402Errors.d.ts.map +1 -0
- package/dist/errors/X402Errors.js +160 -0
- package/dist/errors/X402Errors.js.map +1 -0
- package/dist/errors/index.d.ts +3 -9
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/index.js +38 -33
- package/dist/errors/index.js.map +1 -1
- package/dist/index.d.ts +22 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +41 -3
- package/dist/index.js.map +1 -1
- package/dist/level0/Provider.d.ts +5 -0
- package/dist/level0/Provider.d.ts.map +1 -1
- package/dist/level0/ServiceDirectory.d.ts.map +1 -1
- package/dist/level0/ServiceDirectory.js +3 -2
- package/dist/level0/ServiceDirectory.js.map +1 -1
- package/dist/level0/provide.d.ts.map +1 -1
- package/dist/level0/provide.js +11 -8
- package/dist/level0/provide.js.map +1 -1
- package/dist/level0/request.d.ts.map +1 -1
- package/dist/level0/request.js +14 -6
- package/dist/level0/request.js.map +1 -1
- package/dist/level1/Agent.d.ts +28 -1
- package/dist/level1/Agent.d.ts.map +1 -1
- package/dist/level1/Agent.js +89 -12
- package/dist/level1/Agent.js.map +1 -1
- package/dist/level1/pricing/PriceCalculator.d.ts.map +1 -1
- package/dist/level1/pricing/PriceCalculator.js +4 -12
- package/dist/level1/pricing/PriceCalculator.js.map +1 -1
- package/dist/negotiation/BuyerOrchestrator.d.ts +103 -1
- package/dist/negotiation/BuyerOrchestrator.d.ts.map +1 -1
- package/dist/negotiation/BuyerOrchestrator.js +499 -4
- package/dist/negotiation/BuyerOrchestrator.js.map +1 -1
- package/dist/negotiation/DecisionEngine.d.ts +69 -1
- package/dist/negotiation/DecisionEngine.d.ts.map +1 -1
- package/dist/negotiation/DecisionEngine.js +140 -1
- package/dist/negotiation/DecisionEngine.js.map +1 -1
- package/dist/negotiation/PolicyEngine.d.ts +32 -0
- package/dist/negotiation/PolicyEngine.d.ts.map +1 -1
- package/dist/negotiation/PolicyEngine.js.map +1 -1
- package/dist/negotiation/ProviderOrchestrator.d.ts +108 -0
- package/dist/negotiation/ProviderOrchestrator.d.ts.map +1 -0
- package/dist/negotiation/ProviderOrchestrator.js +136 -0
- package/dist/negotiation/ProviderOrchestrator.js.map +1 -0
- package/dist/negotiation/ProviderPolicy.d.ts +143 -0
- package/dist/negotiation/ProviderPolicy.d.ts.map +1 -0
- package/dist/negotiation/ProviderPolicy.js +207 -0
- package/dist/negotiation/ProviderPolicy.js.map +1 -0
- package/dist/negotiation/index.d.ts +8 -1
- package/dist/negotiation/index.d.ts.map +1 -1
- package/dist/negotiation/index.js +8 -1
- package/dist/negotiation/index.js.map +1 -1
- package/dist/negotiation/verifyQuoteOnChain.d.ts +58 -0
- package/dist/negotiation/verifyQuoteOnChain.d.ts.map +1 -0
- package/dist/negotiation/verifyQuoteOnChain.js +83 -0
- package/dist/negotiation/verifyQuoteOnChain.js.map +1 -0
- package/dist/protocol/ACTPKernel.d.ts +4 -1
- package/dist/protocol/ACTPKernel.d.ts.map +1 -1
- package/dist/protocol/ACTPKernel.js +2 -1
- package/dist/protocol/ACTPKernel.js.map +1 -1
- package/dist/protocol/EventMonitor.d.ts +27 -1
- package/dist/protocol/EventMonitor.d.ts.map +1 -1
- package/dist/protocol/EventMonitor.js +11 -9
- package/dist/protocol/EventMonitor.js.map +1 -1
- package/dist/protocol/ProofGenerator.d.ts.map +1 -1
- package/dist/protocol/ProofGenerator.js +3 -2
- package/dist/protocol/ProofGenerator.js.map +1 -1
- package/dist/runtime/BlockchainRuntime.d.ts +15 -0
- package/dist/runtime/BlockchainRuntime.d.ts.map +1 -1
- package/dist/runtime/BlockchainRuntime.js +42 -6
- package/dist/runtime/BlockchainRuntime.js.map +1 -1
- package/dist/runtime/IACTPRuntime.d.ts +35 -0
- package/dist/runtime/IACTPRuntime.d.ts.map +1 -1
- package/dist/runtime/MockRuntime.d.ts +14 -2
- package/dist/runtime/MockRuntime.d.ts.map +1 -1
- package/dist/runtime/MockRuntime.js +55 -22
- package/dist/runtime/MockRuntime.js.map +1 -1
- package/dist/runtime/types/MockState.d.ts +14 -0
- package/dist/runtime/types/MockState.d.ts.map +1 -1
- package/dist/runtime/types/MockState.js.map +1 -1
- package/dist/server/buildX402Server.d.ts +131 -0
- package/dist/server/buildX402Server.d.ts.map +1 -0
- package/dist/server/buildX402Server.js +151 -0
- package/dist/server/buildX402Server.js.map +1 -0
- package/dist/server/index.d.ts +33 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +36 -0
- package/dist/server/index.js.map +1 -0
- package/dist/transport/QuoteChannel.d.ts +201 -0
- package/dist/transport/QuoteChannel.d.ts.map +1 -0
- package/dist/transport/QuoteChannel.js +358 -0
- package/dist/transport/QuoteChannel.js.map +1 -0
- package/dist/types/adapter.d.ts +64 -34
- package/dist/types/adapter.d.ts.map +1 -1
- package/dist/types/adapter.js +6 -1
- package/dist/types/adapter.js.map +1 -1
- package/dist/types/eip712.d.ts +20 -0
- package/dist/types/eip712.d.ts.map +1 -1
- package/dist/types/x402.d.ts +8 -8
- package/dist/utils/security.d.ts.map +1 -1
- package/dist/utils/security.js +4 -6
- package/dist/utils/security.js.map +1 -1
- package/dist/wallet/AutoWalletProvider.d.ts +45 -1
- package/dist/wallet/AutoWalletProvider.d.ts.map +1 -1
- package/dist/wallet/AutoWalletProvider.js +154 -1
- package/dist/wallet/AutoWalletProvider.js.map +1 -1
- package/dist/wallet/EOAWalletProvider.d.ts +13 -1
- package/dist/wallet/EOAWalletProvider.d.ts.map +1 -1
- package/dist/wallet/EOAWalletProvider.js +24 -0
- package/dist/wallet/EOAWalletProvider.js.map +1 -1
- package/dist/wallet/IWalletProvider.d.ts +34 -0
- package/dist/wallet/IWalletProvider.d.ts.map +1 -1
- package/dist/wallet/SmartWalletRouter.d.ts.map +1 -1
- package/dist/wallet/SmartWalletRouter.js +3 -1
- package/dist/wallet/SmartWalletRouter.js.map +1 -1
- package/dist/wallet/aa/BundlerClient.js +8 -4
- package/dist/wallet/aa/BundlerClient.js.map +1 -1
- package/dist/wallet/aa/DualNonceManager.d.ts +4 -1
- package/dist/wallet/aa/DualNonceManager.d.ts.map +1 -1
- package/dist/wallet/aa/DualNonceManager.js +3 -0
- package/dist/wallet/aa/DualNonceManager.js.map +1 -1
- package/dist/wallet/keystore.d.ts.map +1 -1
- package/dist/wallet/keystore.js +6 -4
- package/dist/wallet/keystore.js.map +1 -1
- package/package.json +31 -3
- package/dist/adapters/BeginnerAdapter.d.ts +0 -152
- package/dist/adapters/BeginnerAdapter.d.ts.map +0 -1
- package/dist/adapters/BeginnerAdapter.js +0 -168
- package/dist/adapters/BeginnerAdapter.js.map +0 -1
- package/dist/adapters/IntermediateAdapter.d.ts +0 -211
- package/dist/adapters/IntermediateAdapter.d.ts.map +0 -1
- package/dist/adapters/IntermediateAdapter.js +0 -260
- package/dist/adapters/IntermediateAdapter.js.map +0 -1
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CounterOfferBuilder — AIP-2.1 counter-offer message construction.
|
|
3
|
+
*
|
|
4
|
+
* AIP-2 covers the provider's first quote (`agirails.quote.v1`). AIP-2.1
|
|
5
|
+
* adds the buyer's reply: a signed counter-offer message that proposes a
|
|
6
|
+
* different price than what the provider quoted. The buyer can ping-pong
|
|
7
|
+
* counter-offers with the provider off-chain; the final agreed amount is
|
|
8
|
+
* pinned on-chain when the buyer eventually calls `acceptQuote(txId, amount)`
|
|
9
|
+
* followed by `linkEscrow`.
|
|
10
|
+
*
|
|
11
|
+
* Mirrors QuoteBuilder.ts shape so the verification path is symmetric:
|
|
12
|
+
* - EIP-712 signed message (buyer signs)
|
|
13
|
+
* - Canonical JSON hash (deterministic across implementations)
|
|
14
|
+
* - Same DID extraction + signature recovery pattern
|
|
15
|
+
*
|
|
16
|
+
* @module builders/CounterOfferBuilder
|
|
17
|
+
* @see Protocol/aips/AIP-2.1-DRAFT.md §8 (security model + transport)
|
|
18
|
+
* @see src/builders/QuoteBuilder.ts (sibling, provider side)
|
|
19
|
+
*/
|
|
20
|
+
import { Signer } from 'ethers';
|
|
21
|
+
import { NonceManager } from '../utils/NonceManager';
|
|
22
|
+
/**
|
|
23
|
+
* Counter-offer message — the buyer's reply to a provider quote.
|
|
24
|
+
*
|
|
25
|
+
* Field shape mirrors QuoteMessage where it makes sense (txId, currency,
|
|
26
|
+
* decimals, chainId, nonce, signature) but flips provider/consumer
|
|
27
|
+
* semantics: the buyer/consumer is the one signing and the one proposing
|
|
28
|
+
* a (typically lower) price.
|
|
29
|
+
*
|
|
30
|
+
* `quotedAmount` from the original provider quote is preserved as
|
|
31
|
+
* `quoteAmount` for unambiguous binding — the verifier can confirm this
|
|
32
|
+
* counter is in response to the exact quote it claims to be.
|
|
33
|
+
*/
|
|
34
|
+
export interface CounterOfferMessage {
|
|
35
|
+
type: 'agirails.counteroffer.v1';
|
|
36
|
+
version: '1.0.0';
|
|
37
|
+
/** Transaction ID this counter belongs to (binds counter to txn). */
|
|
38
|
+
txId: string;
|
|
39
|
+
/** Buyer/consumer DID (signer). */
|
|
40
|
+
consumer: string;
|
|
41
|
+
/** Provider DID (recipient). */
|
|
42
|
+
provider: string;
|
|
43
|
+
/** Provider's most recent quoted amount this counter is replying to. */
|
|
44
|
+
quoteAmount: string;
|
|
45
|
+
/** Buyer's proposed counter amount in USDC base units. */
|
|
46
|
+
counterAmount: string;
|
|
47
|
+
/** Original maxPrice from the buyer's policy (anchors the negotiation band). */
|
|
48
|
+
maxPrice: string;
|
|
49
|
+
currency: 'USDC';
|
|
50
|
+
decimals: 6;
|
|
51
|
+
/** Quote hash this counter is replying to — links counter to a specific quote. */
|
|
52
|
+
inReplyTo: string;
|
|
53
|
+
/** Unix seconds, when this counter was constructed. */
|
|
54
|
+
counteredAt: number;
|
|
55
|
+
/** Unix seconds, when this counter expires. Provider must accept/reject by then. */
|
|
56
|
+
expiresAt: number;
|
|
57
|
+
/** Optional human-readable reasoning + market data. */
|
|
58
|
+
justification?: {
|
|
59
|
+
reason?: string;
|
|
60
|
+
/** Average market price observed for the same service (USD). */
|
|
61
|
+
marketRate?: number;
|
|
62
|
+
/** Free-form key/value breakdown the buyer wants to share. */
|
|
63
|
+
breakdown?: Record<string, unknown>;
|
|
64
|
+
};
|
|
65
|
+
chainId: number;
|
|
66
|
+
/** Monotonic per-consumer per-message-type. */
|
|
67
|
+
nonce: number;
|
|
68
|
+
/** EIP-712 signature by consumer over the canonical message. */
|
|
69
|
+
signature: string;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Parameters to build a counter-offer. `counteredAt`, `nonce`, and
|
|
73
|
+
* `signature` are filled by the builder.
|
|
74
|
+
*/
|
|
75
|
+
export interface CounterOfferParams {
|
|
76
|
+
txId: string;
|
|
77
|
+
consumer: string;
|
|
78
|
+
provider: string;
|
|
79
|
+
quoteAmount: string;
|
|
80
|
+
counterAmount: string;
|
|
81
|
+
maxPrice: string;
|
|
82
|
+
inReplyTo: string;
|
|
83
|
+
expiresAt?: number;
|
|
84
|
+
justification?: CounterOfferMessage['justification'];
|
|
85
|
+
chainId: number;
|
|
86
|
+
/** ACTPKernel address — used in EIP-712 domain. */
|
|
87
|
+
kernelAddress: string;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* EIP-712 type definitions for `agirails.counteroffer.v1`.
|
|
91
|
+
*
|
|
92
|
+
* The justification object is hashed (single bytes32 field) instead of
|
|
93
|
+
* inlined — same pattern as AIP-2 quotes — so callers can omit large
|
|
94
|
+
* justification blobs without changing the signed payload structure.
|
|
95
|
+
*/
|
|
96
|
+
export declare const AIP21CounterOfferTypes: {
|
|
97
|
+
CounterOffer: {
|
|
98
|
+
name: string;
|
|
99
|
+
type: string;
|
|
100
|
+
}[];
|
|
101
|
+
};
|
|
102
|
+
export declare class CounterOfferBuilder {
|
|
103
|
+
private readonly signer?;
|
|
104
|
+
private readonly nonceManager?;
|
|
105
|
+
/**
|
|
106
|
+
* `signer` and `nonceManager` are only required for `build()`.
|
|
107
|
+
* `verify()` and `computeHash()` are signer-independent — pass
|
|
108
|
+
* `undefined` to construct a verify-only instance.
|
|
109
|
+
*/
|
|
110
|
+
constructor(signer?: Signer | undefined, nonceManager?: NonceManager | undefined);
|
|
111
|
+
/**
|
|
112
|
+
* Build and sign a counter-offer message.
|
|
113
|
+
* @throws Error on validation failure (amount bands, formats, expiry).
|
|
114
|
+
*/
|
|
115
|
+
build(params: CounterOfferParams): Promise<CounterOfferMessage>;
|
|
116
|
+
/**
|
|
117
|
+
* Verify a counter-offer:
|
|
118
|
+
* 1. Schema is well-formed
|
|
119
|
+
* 2. EIP-712 signature recovers to the consumer DID's address
|
|
120
|
+
* 3. Amount band: counterAmount within [platformMin, maxPrice], not above quoteAmount
|
|
121
|
+
* 4. Not expired (with TIMESTAMP_GRACE_SECONDS slack on counteredAt)
|
|
122
|
+
*
|
|
123
|
+
* @returns true on success; throws otherwise.
|
|
124
|
+
*/
|
|
125
|
+
verify(message: CounterOfferMessage, kernelAddress: string): Promise<boolean>;
|
|
126
|
+
/**
|
|
127
|
+
* Compute the canonical hash of a counter-offer (signature stripped).
|
|
128
|
+
*
|
|
129
|
+
* This is the value that should be used for any on-chain anchoring or
|
|
130
|
+
* off-chain dedup keys. Identical counter content → identical hash on
|
|
131
|
+
* any implementation that uses fast-json-stable-stringify.
|
|
132
|
+
*/
|
|
133
|
+
computeHash(message: CounterOfferMessage): string;
|
|
134
|
+
private signMessage;
|
|
135
|
+
private recoverSigner;
|
|
136
|
+
/** Build the exact object EIP-712 sees (justificationHash field, no inline justification). */
|
|
137
|
+
private toSignedShape;
|
|
138
|
+
private computeJustificationHash;
|
|
139
|
+
private extractAddressFromDID;
|
|
140
|
+
private validateParams;
|
|
141
|
+
private validateMessageSchema;
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=CounterOfferBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CounterOfferBuilder.d.ts","sourceRoot":"","sources":["../../src/builders/CounterOfferBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,MAAM,EAA2C,MAAM,QAAQ,CAAC;AAEzE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAQrD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,0BAA0B,CAAC;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,WAAW,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,aAAa,EAAE,MAAM,CAAC;IACtB,gFAAgF;IAChF,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,CAAC,CAAC;IACZ,kFAAkF;IAClF,SAAS,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB,oFAAoF;IACpF,SAAS,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,aAAa,CAAC,EAAE;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,gEAAgE;QAChE,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,8DAA8D;QAC9D,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACrC,CAAC;IACF,OAAO,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB;;;;;CAiBlC,CAAC;AAcF,qBAAa,mBAAmB;IAO5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IAPhC;;;;OAIG;gBAEgB,MAAM,CAAC,oBAAQ,EACf,YAAY,CAAC,0BAAc;IAG9C;;;OAGG;IACG,KAAK,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA0CrE;;;;;;;;OAQG;IACG,MAAM,CAAC,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA0CnF;;;;;;OAMG;IACH,WAAW,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM;YAUnC,WAAW;IAsBzB,OAAO,CAAC,aAAa;IAgBrB,8FAA8F;IAC9F,OAAO,CAAC,aAAa;IAmBrB,OAAO,CAAC,wBAAwB;IAOhC,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,cAAc;IAoDtB,OAAO,CAAC,qBAAqB;CAyC9B"}
|
|
@@ -0,0 +1,329 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* CounterOfferBuilder — AIP-2.1 counter-offer message construction.
|
|
4
|
+
*
|
|
5
|
+
* AIP-2 covers the provider's first quote (`agirails.quote.v1`). AIP-2.1
|
|
6
|
+
* adds the buyer's reply: a signed counter-offer message that proposes a
|
|
7
|
+
* different price than what the provider quoted. The buyer can ping-pong
|
|
8
|
+
* counter-offers with the provider off-chain; the final agreed amount is
|
|
9
|
+
* pinned on-chain when the buyer eventually calls `acceptQuote(txId, amount)`
|
|
10
|
+
* followed by `linkEscrow`.
|
|
11
|
+
*
|
|
12
|
+
* Mirrors QuoteBuilder.ts shape so the verification path is symmetric:
|
|
13
|
+
* - EIP-712 signed message (buyer signs)
|
|
14
|
+
* - Canonical JSON hash (deterministic across implementations)
|
|
15
|
+
* - Same DID extraction + signature recovery pattern
|
|
16
|
+
*
|
|
17
|
+
* @module builders/CounterOfferBuilder
|
|
18
|
+
* @see Protocol/aips/AIP-2.1-DRAFT.md §8 (security model + transport)
|
|
19
|
+
* @see src/builders/QuoteBuilder.ts (sibling, provider side)
|
|
20
|
+
*/
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.CounterOfferBuilder = exports.AIP21CounterOfferTypes = void 0;
|
|
23
|
+
const ethers_1 = require("ethers");
|
|
24
|
+
const canonicalJson_1 = require("../utils/canonicalJson");
|
|
25
|
+
const errors_1 = require("../errors");
|
|
26
|
+
/**
|
|
27
|
+
* EIP-712 type definitions for `agirails.counteroffer.v1`.
|
|
28
|
+
*
|
|
29
|
+
* The justification object is hashed (single bytes32 field) instead of
|
|
30
|
+
* inlined — same pattern as AIP-2 quotes — so callers can omit large
|
|
31
|
+
* justification blobs without changing the signed payload structure.
|
|
32
|
+
*/
|
|
33
|
+
exports.AIP21CounterOfferTypes = {
|
|
34
|
+
CounterOffer: [
|
|
35
|
+
{ name: 'txId', type: 'bytes32' },
|
|
36
|
+
{ name: 'consumer', type: 'string' },
|
|
37
|
+
{ name: 'provider', type: 'string' },
|
|
38
|
+
{ name: 'quoteAmount', type: 'string' },
|
|
39
|
+
{ name: 'counterAmount', type: 'string' },
|
|
40
|
+
{ name: 'maxPrice', type: 'string' },
|
|
41
|
+
{ name: 'currency', type: 'string' },
|
|
42
|
+
{ name: 'decimals', type: 'uint8' },
|
|
43
|
+
{ name: 'inReplyTo', type: 'bytes32' },
|
|
44
|
+
{ name: 'counteredAt', type: 'uint256' },
|
|
45
|
+
{ name: 'expiresAt', type: 'uint256' },
|
|
46
|
+
{ name: 'justificationHash', type: 'bytes32' },
|
|
47
|
+
{ name: 'chainId', type: 'uint256' },
|
|
48
|
+
{ name: 'nonce', type: 'uint256' },
|
|
49
|
+
],
|
|
50
|
+
};
|
|
51
|
+
const MESSAGE_TYPE = 'agirails.counteroffer.v1';
|
|
52
|
+
const DEFAULT_TTL_SECONDS = 3600; // 1 hour
|
|
53
|
+
const MAX_TTL_SECONDS = 86400; // 24 hours
|
|
54
|
+
const TIMESTAMP_GRACE_SECONDS = 300; // 5 minutes (matches QuoteBuilder)
|
|
55
|
+
const PLATFORM_MIN_BASE_UNITS = 50000n; // $0.05 USDC
|
|
56
|
+
const ZERO_HASH = '0x0000000000000000000000000000000000000000000000000000000000000000';
|
|
57
|
+
const VALID_CHAIN_IDS = new Set([84532, 8453]);
|
|
58
|
+
// ============================================================================
|
|
59
|
+
// Builder
|
|
60
|
+
// ============================================================================
|
|
61
|
+
class CounterOfferBuilder {
|
|
62
|
+
/**
|
|
63
|
+
* `signer` and `nonceManager` are only required for `build()`.
|
|
64
|
+
* `verify()` and `computeHash()` are signer-independent — pass
|
|
65
|
+
* `undefined` to construct a verify-only instance.
|
|
66
|
+
*/
|
|
67
|
+
constructor(signer, nonceManager) {
|
|
68
|
+
this.signer = signer;
|
|
69
|
+
this.nonceManager = nonceManager;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Build and sign a counter-offer message.
|
|
73
|
+
* @throws Error on validation failure (amount bands, formats, expiry).
|
|
74
|
+
*/
|
|
75
|
+
async build(params) {
|
|
76
|
+
if (!this.signer || !this.nonceManager) {
|
|
77
|
+
throw new Error('CounterOfferBuilder.build requires signer + nonceManager');
|
|
78
|
+
}
|
|
79
|
+
this.validateParams(params);
|
|
80
|
+
const counteredAt = Math.floor(Date.now() / 1000);
|
|
81
|
+
const expiresAt = params.expiresAt ?? counteredAt + DEFAULT_TTL_SECONDS;
|
|
82
|
+
if (expiresAt <= counteredAt) {
|
|
83
|
+
throw new Error('expiresAt must be after counteredAt');
|
|
84
|
+
}
|
|
85
|
+
if (expiresAt > counteredAt + MAX_TTL_SECONDS) {
|
|
86
|
+
throw new Error(`expiresAt cannot exceed ${MAX_TTL_SECONDS}s from counteredAt`);
|
|
87
|
+
}
|
|
88
|
+
const message = {
|
|
89
|
+
type: MESSAGE_TYPE,
|
|
90
|
+
version: '1.0.0',
|
|
91
|
+
txId: params.txId,
|
|
92
|
+
consumer: params.consumer,
|
|
93
|
+
provider: params.provider,
|
|
94
|
+
quoteAmount: params.quoteAmount,
|
|
95
|
+
counterAmount: params.counterAmount,
|
|
96
|
+
maxPrice: params.maxPrice,
|
|
97
|
+
currency: 'USDC',
|
|
98
|
+
decimals: 6,
|
|
99
|
+
inReplyTo: params.inReplyTo,
|
|
100
|
+
counteredAt,
|
|
101
|
+
expiresAt,
|
|
102
|
+
justification: params.justification,
|
|
103
|
+
chainId: params.chainId,
|
|
104
|
+
nonce: this.nonceManager.getNextNonce(MESSAGE_TYPE),
|
|
105
|
+
signature: '',
|
|
106
|
+
};
|
|
107
|
+
message.signature = await this.signMessage(message, params.kernelAddress);
|
|
108
|
+
this.nonceManager.recordNonce(MESSAGE_TYPE, message.nonce);
|
|
109
|
+
return message;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Verify a counter-offer:
|
|
113
|
+
* 1. Schema is well-formed
|
|
114
|
+
* 2. EIP-712 signature recovers to the consumer DID's address
|
|
115
|
+
* 3. Amount band: counterAmount within [platformMin, maxPrice], not above quoteAmount
|
|
116
|
+
* 4. Not expired (with TIMESTAMP_GRACE_SECONDS slack on counteredAt)
|
|
117
|
+
*
|
|
118
|
+
* @returns true on success; throws otherwise.
|
|
119
|
+
*/
|
|
120
|
+
async verify(message, kernelAddress) {
|
|
121
|
+
this.validateMessageSchema(message);
|
|
122
|
+
const recovered = this.recoverSigner(message, kernelAddress);
|
|
123
|
+
const expected = this.extractAddressFromDID(message.consumer);
|
|
124
|
+
if (recovered.toLowerCase() !== expected.toLowerCase()) {
|
|
125
|
+
throw new errors_1.SignatureVerificationError(message.consumer, 'unknown');
|
|
126
|
+
}
|
|
127
|
+
const counterAmount = BigInt(message.counterAmount);
|
|
128
|
+
const quoteAmount = BigInt(message.quoteAmount);
|
|
129
|
+
const maxPrice = BigInt(message.maxPrice);
|
|
130
|
+
if (counterAmount < PLATFORM_MIN_BASE_UNITS) {
|
|
131
|
+
throw new Error('counterAmount below platform minimum ($0.05)');
|
|
132
|
+
}
|
|
133
|
+
// A counter that meets or exceeds the existing quote is not a counter —
|
|
134
|
+
// accept the quote instead.
|
|
135
|
+
if (counterAmount >= quoteAmount) {
|
|
136
|
+
throw new Error('counterAmount must be less than quoteAmount (otherwise just accept the quote)');
|
|
137
|
+
}
|
|
138
|
+
if (counterAmount > maxPrice) {
|
|
139
|
+
// Defensive — should never happen if buyer policy is consistent.
|
|
140
|
+
throw new Error('counterAmount exceeds maxPrice');
|
|
141
|
+
}
|
|
142
|
+
const now = Math.floor(Date.now() / 1000);
|
|
143
|
+
if (message.expiresAt < now) {
|
|
144
|
+
throw new Error('Counter-offer expired');
|
|
145
|
+
}
|
|
146
|
+
// One-sided skew — only reject timestamps claiming the future.
|
|
147
|
+
// The "too old" side is bounded by expiresAt (checked above).
|
|
148
|
+
// Mirrors QuoteBuilder post-audit behavior so long-TTL counters
|
|
149
|
+
// (15-30 min, common in real negotiation) don't get rejected
|
|
150
|
+
// just because the buyer paused 6 minutes to decide.
|
|
151
|
+
if (message.counteredAt > now + TIMESTAMP_GRACE_SECONDS) {
|
|
152
|
+
throw new Error('counteredAt is in the future beyond skew tolerance');
|
|
153
|
+
}
|
|
154
|
+
return true;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Compute the canonical hash of a counter-offer (signature stripped).
|
|
158
|
+
*
|
|
159
|
+
* This is the value that should be used for any on-chain anchoring or
|
|
160
|
+
* off-chain dedup keys. Identical counter content → identical hash on
|
|
161
|
+
* any implementation that uses fast-json-stable-stringify.
|
|
162
|
+
*/
|
|
163
|
+
computeHash(message) {
|
|
164
|
+
const { signature: _sig, ...withoutSig } = message;
|
|
165
|
+
void _sig;
|
|
166
|
+
return (0, ethers_1.keccak256)((0, ethers_1.toUtf8Bytes)((0, canonicalJson_1.canonicalJsonStringify)(withoutSig)));
|
|
167
|
+
}
|
|
168
|
+
// --------------------------------------------------------------------------
|
|
169
|
+
// Internals
|
|
170
|
+
// --------------------------------------------------------------------------
|
|
171
|
+
async signMessage(message, kernelAddress) {
|
|
172
|
+
const domain = {
|
|
173
|
+
name: 'AGIRAILS',
|
|
174
|
+
version: '1',
|
|
175
|
+
chainId: message.chainId,
|
|
176
|
+
verifyingContract: kernelAddress,
|
|
177
|
+
};
|
|
178
|
+
const justificationHash = this.computeJustificationHash(message.justification);
|
|
179
|
+
const signed = this.toSignedShape(message, justificationHash);
|
|
180
|
+
// Call as method (preserve `this` binding) — detaching the function ref
|
|
181
|
+
// breaks ethers' Wallet which reaches for `this.signingKey`.
|
|
182
|
+
const signerWithTypedData = this.signer;
|
|
183
|
+
if (typeof signerWithTypedData.signTypedData === 'function') {
|
|
184
|
+
return signerWithTypedData.signTypedData(domain, exports.AIP21CounterOfferTypes, signed);
|
|
185
|
+
}
|
|
186
|
+
throw new Error('Signer does not support EIP-712 typed data signing');
|
|
187
|
+
}
|
|
188
|
+
recoverSigner(message, kernelAddress) {
|
|
189
|
+
const domain = {
|
|
190
|
+
name: 'AGIRAILS',
|
|
191
|
+
version: '1',
|
|
192
|
+
chainId: message.chainId,
|
|
193
|
+
verifyingContract: kernelAddress,
|
|
194
|
+
};
|
|
195
|
+
const justificationHash = this.computeJustificationHash(message.justification);
|
|
196
|
+
const signed = this.toSignedShape(message, justificationHash);
|
|
197
|
+
try {
|
|
198
|
+
return (0, ethers_1.verifyTypedData)(domain, exports.AIP21CounterOfferTypes, signed, message.signature);
|
|
199
|
+
}
|
|
200
|
+
catch {
|
|
201
|
+
throw new errors_1.SignatureVerificationError(message.consumer, 'unknown');
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
/** Build the exact object EIP-712 sees (justificationHash field, no inline justification). */
|
|
205
|
+
toSignedShape(message, justificationHash) {
|
|
206
|
+
return {
|
|
207
|
+
txId: message.txId,
|
|
208
|
+
consumer: message.consumer,
|
|
209
|
+
provider: message.provider,
|
|
210
|
+
quoteAmount: message.quoteAmount,
|
|
211
|
+
counterAmount: message.counterAmount,
|
|
212
|
+
maxPrice: message.maxPrice,
|
|
213
|
+
currency: message.currency,
|
|
214
|
+
decimals: message.decimals,
|
|
215
|
+
inReplyTo: message.inReplyTo,
|
|
216
|
+
counteredAt: message.counteredAt,
|
|
217
|
+
expiresAt: message.expiresAt,
|
|
218
|
+
justificationHash,
|
|
219
|
+
chainId: message.chainId,
|
|
220
|
+
nonce: message.nonce,
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
computeJustificationHash(justification) {
|
|
224
|
+
if (!justification || Object.keys(justification).length === 0) {
|
|
225
|
+
return ZERO_HASH;
|
|
226
|
+
}
|
|
227
|
+
return (0, ethers_1.keccak256)((0, ethers_1.toUtf8Bytes)((0, canonicalJson_1.canonicalJsonStringify)(justification)));
|
|
228
|
+
}
|
|
229
|
+
extractAddressFromDID(did) {
|
|
230
|
+
const parts = did.replace('did:ethr:', '').split(':');
|
|
231
|
+
const address = parts.length === 2 ? parts[1] : parts[0];
|
|
232
|
+
if (!address.startsWith('0x') || address.length !== 42) {
|
|
233
|
+
throw new Error(`Invalid DID format: ${did}`);
|
|
234
|
+
}
|
|
235
|
+
return address;
|
|
236
|
+
}
|
|
237
|
+
validateParams(params) {
|
|
238
|
+
if (!/^0x[a-fA-F0-9]{64}$/.test(params.txId)) {
|
|
239
|
+
throw new Error('txId must be valid bytes32 hex string');
|
|
240
|
+
}
|
|
241
|
+
if (!/^0x[a-fA-F0-9]{64}$/.test(params.inReplyTo)) {
|
|
242
|
+
throw new Error('inReplyTo must be valid bytes32 hex string (the quote hash)');
|
|
243
|
+
}
|
|
244
|
+
if (!/^0x[a-fA-F0-9]{40}$/.test(params.kernelAddress)) {
|
|
245
|
+
throw new Error('kernelAddress must be valid Ethereum address');
|
|
246
|
+
}
|
|
247
|
+
if (!params.consumer.startsWith('did:ethr:')) {
|
|
248
|
+
throw new Error('consumer must be valid did:ethr format');
|
|
249
|
+
}
|
|
250
|
+
if (!params.provider.startsWith('did:ethr:')) {
|
|
251
|
+
throw new Error('provider must be valid did:ethr format');
|
|
252
|
+
}
|
|
253
|
+
if (!VALID_CHAIN_IDS.has(params.chainId)) {
|
|
254
|
+
throw new Error('chainId must be 84532 (Base Sepolia) or 8453 (Base Mainnet)');
|
|
255
|
+
}
|
|
256
|
+
let counter;
|
|
257
|
+
let quote;
|
|
258
|
+
let max;
|
|
259
|
+
try {
|
|
260
|
+
counter = BigInt(params.counterAmount);
|
|
261
|
+
quote = BigInt(params.quoteAmount);
|
|
262
|
+
max = BigInt(params.maxPrice);
|
|
263
|
+
}
|
|
264
|
+
catch {
|
|
265
|
+
throw new Error('counterAmount, quoteAmount, maxPrice must be numeric strings');
|
|
266
|
+
}
|
|
267
|
+
if (counter < PLATFORM_MIN_BASE_UNITS) {
|
|
268
|
+
throw new Error('counterAmount below platform minimum ($0.05)');
|
|
269
|
+
}
|
|
270
|
+
if (counter >= quote) {
|
|
271
|
+
throw new Error('counterAmount must be strictly less than quoteAmount');
|
|
272
|
+
}
|
|
273
|
+
if (counter > max) {
|
|
274
|
+
throw new Error('counterAmount exceeds maxPrice');
|
|
275
|
+
}
|
|
276
|
+
if (params.expiresAt !== undefined) {
|
|
277
|
+
const now = Math.floor(Date.now() / 1000);
|
|
278
|
+
if (params.expiresAt <= now) {
|
|
279
|
+
throw new Error('expiresAt must be in the future');
|
|
280
|
+
}
|
|
281
|
+
if (params.expiresAt > now + MAX_TTL_SECONDS) {
|
|
282
|
+
throw new Error(`expiresAt cannot be more than ${MAX_TTL_SECONDS}s in the future`);
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
validateMessageSchema(message) {
|
|
287
|
+
if (message.type !== MESSAGE_TYPE) {
|
|
288
|
+
throw new Error(`Invalid message type (expected ${MESSAGE_TYPE}, got ${message.type})`);
|
|
289
|
+
}
|
|
290
|
+
if (!/^\d+\.\d+\.\d+$/.test(message.version)) {
|
|
291
|
+
throw new Error('Invalid version format');
|
|
292
|
+
}
|
|
293
|
+
if (!/^0x[a-fA-F0-9]{64}$/.test(message.txId)) {
|
|
294
|
+
throw new Error('Invalid txId format');
|
|
295
|
+
}
|
|
296
|
+
if (!/^0x[a-fA-F0-9]{64}$/.test(message.inReplyTo)) {
|
|
297
|
+
throw new Error('Invalid inReplyTo format');
|
|
298
|
+
}
|
|
299
|
+
if (!message.consumer.startsWith('did:ethr:')) {
|
|
300
|
+
throw new Error('Invalid consumer DID format');
|
|
301
|
+
}
|
|
302
|
+
if (!message.provider.startsWith('did:ethr:')) {
|
|
303
|
+
throw new Error('Invalid provider DID format');
|
|
304
|
+
}
|
|
305
|
+
if (!/^\d+$/.test(message.counterAmount)) {
|
|
306
|
+
throw new Error('Invalid counterAmount format');
|
|
307
|
+
}
|
|
308
|
+
if (!/^\d+$/.test(message.quoteAmount)) {
|
|
309
|
+
throw new Error('Invalid quoteAmount format');
|
|
310
|
+
}
|
|
311
|
+
if (!/^\d+$/.test(message.maxPrice)) {
|
|
312
|
+
throw new Error('Invalid maxPrice format');
|
|
313
|
+
}
|
|
314
|
+
if (message.currency !== 'USDC') {
|
|
315
|
+
throw new Error('Only USDC currency is supported');
|
|
316
|
+
}
|
|
317
|
+
if (message.decimals !== 6) {
|
|
318
|
+
throw new Error('USDC must use 6 decimals');
|
|
319
|
+
}
|
|
320
|
+
if (!VALID_CHAIN_IDS.has(message.chainId)) {
|
|
321
|
+
throw new Error('Invalid chainId');
|
|
322
|
+
}
|
|
323
|
+
if (!/^0x[a-fA-F0-9]{130}$/.test(message.signature)) {
|
|
324
|
+
throw new Error('Invalid signature format');
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
exports.CounterOfferBuilder = CounterOfferBuilder;
|
|
329
|
+
//# sourceMappingURL=CounterOfferBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CounterOfferBuilder.js","sourceRoot":"","sources":["../../src/builders/CounterOfferBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeliveryProofBuilder.d.ts","sourceRoot":"","sources":["../../src/builders/DeliveryProofBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,MAAM,EAAmB,MAAM,QAAQ,CAAC;AACjD,OAAO,EAAE,GAAG,EAAiB,MAAM,uCAAuC,CAAC;AAE3E,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAGxD;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,uEAAuE,CAAC;AAEjH;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,GAAG,CAAC;IAChB,QAAQ,CAAC,EAAE;QACT,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;CACvB;AAID;;GAEG;AACH,qBAAa,oBAAoB;IAE7B,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,GAAG;gBAHH,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,EAC1B,GAAG,EAAE,GAAG;IAGlB;;;;;;OAMG;IACG,KAAK,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC;QAChD,aAAa,EAAE,oBAAoB,CAAC;QACpC,gBAAgB,EAAE,MAAM,CAAC;QACzB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;
|
|
1
|
+
{"version":3,"file":"DeliveryProofBuilder.d.ts","sourceRoot":"","sources":["../../src/builders/DeliveryProofBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,MAAM,EAAmB,MAAM,QAAQ,CAAC;AACjD,OAAO,EAAE,GAAG,EAAiB,MAAM,uCAAuC,CAAC;AAE3E,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAGxD;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,uEAAuE,CAAC;AAEjH;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,GAAG,CAAC;IAChB,QAAQ,CAAC,EAAE;QACT,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;CACvB;AAID;;GAEG;AACH,qBAAa,oBAAoB;IAE7B,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,GAAG;gBAHH,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,EAC1B,GAAG,EAAE,GAAG;IAGlB;;;;;;OAMG;IACG,KAAK,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC;QAChD,aAAa,EAAE,oBAAoB,CAAC;QACpC,gBAAgB,EAAE,MAAM,CAAC;QACzB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;IA2EF;;;;;;;;OAQG;IACG,MAAM,CACV,aAAa,EAAE,oBAAoB,EACnC,UAAU,EAAE,GAAG,EACf,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,OAAO,CAAC;IA6DnB;;;;;;;OAOG;YACW,iBAAiB;IAsC/B;;;;;;OAMG;YACW,0BAA0B;IAwCxC;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;CAU9B"}
|
|
@@ -84,14 +84,15 @@ class DeliveryProofBuilder {
|
|
|
84
84
|
nonce: this.nonceManager.getNextNonce('agirails.delivery.v1'),
|
|
85
85
|
signature: '' // Filled in next step
|
|
86
86
|
};
|
|
87
|
+
// Record nonce as used BEFORE signing/uploading to prevent replay
|
|
88
|
+
// if IPFS upload fails and the same nonce is reused on retry.
|
|
89
|
+
this.nonceManager.recordNonce('agirails.delivery.v1', deliveryProof.nonce);
|
|
87
90
|
// Step 5: Sign with EIP-712
|
|
88
91
|
const signature = await this.signDeliveryProof(deliveryProof, params.kernelAddress);
|
|
89
92
|
deliveryProof.signature = signature;
|
|
90
93
|
// Step 6: Upload delivery proof to IPFS
|
|
91
94
|
const deliveryProofCID = await this.ipfs.add(JSON.stringify(deliveryProof));
|
|
92
95
|
await this.ipfs.pin(deliveryProofCID); // Permanent
|
|
93
|
-
// Record nonce usage
|
|
94
|
-
this.nonceManager.recordNonce('agirails.delivery.v1', deliveryProof.nonce);
|
|
95
96
|
return {
|
|
96
97
|
deliveryProof,
|
|
97
98
|
deliveryProofCID,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeliveryProofBuilder.js","sourceRoot":"","sources":["../../src/builders/DeliveryProofBuilder.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"DeliveryProofBuilder.js","sourceRoot":"","sources":["../../src/builders/DeliveryProofBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuoteBuilder.d.ts","sourceRoot":"","sources":["../../src/builders/QuoteBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,MAAM,EAA2C,MAAM,QAAQ,CAAC;AAEzE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAIrD;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KACjC,CAAC;IACF,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KACjC,CAAC;IACF,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc;;;;;CAgB1B,CAAC;AAEF;;;GAGG;AACH,qBAAa,YAAY;IAErB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,IAAI,CAAC;gBAFL,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,EAC1B,IAAI,CAAC,wBAAY;IAG3B;;;;;;OAMG;IACG,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IA8CvD;;;;;;;OAOG;IACG,MAAM,CAAC,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"QuoteBuilder.d.ts","sourceRoot":"","sources":["../../src/builders/QuoteBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,MAAM,EAA2C,MAAM,QAAQ,CAAC;AAEzE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAIrD;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KACjC,CAAC;IACF,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KACjC,CAAC;IACF,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc;;;;;CAgB1B,CAAC;AAEF;;;GAGG;AACH,qBAAa,YAAY;IAErB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,IAAI,CAAC;gBAFL,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,EAC1B,IAAI,CAAC,wBAAY;IAG3B;;;;;;OAMG;IACG,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IA8CvD;;;;;;;OAOG;IACG,MAAM,CAAC,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAiD1E;;;;;;OAMG;IACG,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAUxD;;;;;;;OAOG;IACH,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM;IAMxC;;;;;;;OAOG;YACW,SAAS;IAoCvB;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;IAwC1B;;;;;;OAMG;IACH,OAAO,CAAC,wBAAwB;IAQhC;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IAsDtB;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;IAkD3B;;;;;;;OAOG;IACH,OAAO,CAAC,qBAAqB;CAU9B"}
|
|
@@ -126,9 +126,14 @@ class QuoteBuilder {
|
|
|
126
126
|
if (quote.expiresAt < now) {
|
|
127
127
|
throw new Error('Quote expired');
|
|
128
128
|
}
|
|
129
|
-
// 5. Timestamp freshness
|
|
130
|
-
|
|
131
|
-
|
|
129
|
+
// 5. Timestamp freshness — one-sided: the signed `quotedAt` must not
|
|
130
|
+
// claim a time in the future beyond clock-skew tolerance. "Too old"
|
|
131
|
+
// is bounded by `expiresAt` (checked above); rejecting on past
|
|
132
|
+
// timestamps breaks any negotiation where the buyer takes longer
|
|
133
|
+
// than 5 min to inspect a 15-minute quote. AIP-2 §2.2.1 only
|
|
134
|
+
// specifies the future side ("Must be ≤ current time + 300s").
|
|
135
|
+
if (quote.quotedAt > now + 300) {
|
|
136
|
+
throw new Error('Quote timestamp is in the future beyond skew tolerance');
|
|
132
137
|
}
|
|
133
138
|
return true;
|
|
134
139
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuoteBuilder.js","sourceRoot":"","sources":["../../src/builders/QuoteBuilder.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"QuoteBuilder.js","sourceRoot":"","sources":["../../src/builders/QuoteBuilder.ts"],"names":[],"mappings":"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"}
|
package/dist/builders/index.d.ts
CHANGED
|
@@ -4,4 +4,6 @@
|
|
|
4
4
|
*/
|
|
5
5
|
export { DeliveryProofBuilder, DeliveryProofParams, AGIRAILS_DELIVERY_SCHEMA_UID } from './DeliveryProofBuilder';
|
|
6
6
|
export { QuoteBuilder, QuoteParams, QuoteMessage, AIP2QuoteTypes } from './QuoteBuilder';
|
|
7
|
+
export { CounterOfferBuilder, CounterOfferParams, CounterOfferMessage, AIP21CounterOfferTypes } from './CounterOfferBuilder';
|
|
8
|
+
export { CounterAcceptBuilder, CounterAcceptParams, CounterAcceptMessage, AIP21CounterAcceptTypes } from './CounterAcceptBuilder';
|
|
7
9
|
//# sourceMappingURL=index.d.ts.map
|