@aifinpay/agent 2.0.0-rc.8 → 2.0.3
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 +21 -0
- package/PAYMENT_RECEIPTS.md +114 -0
- package/README.md +85 -28
- package/dist/agent.d.ts +8 -1
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +50 -17
- package/dist/agent.js.map +1 -1
- package/dist/agentHistory.d.ts +55 -0
- package/dist/agentHistory.d.ts.map +1 -0
- package/dist/agentHistory.js +145 -0
- package/dist/agentHistory.js.map +1 -0
- package/dist/agentPassport.d.ts +71 -7
- package/dist/agentPassport.d.ts.map +1 -1
- package/dist/agentPassport.js +135 -27
- package/dist/agentPassport.js.map +1 -1
- package/dist/aifp1.d.ts +94 -5
- package/dist/aifp1.d.ts.map +1 -1
- package/dist/aifp1.js +370 -114
- package/dist/aifp1.js.map +1 -1
- package/dist/apiUrl.d.ts +3 -0
- package/dist/apiUrl.d.ts.map +1 -0
- package/dist/apiUrl.js +8 -0
- package/dist/apiUrl.js.map +1 -0
- package/dist/chains.d.ts +7 -0
- package/dist/chains.d.ts.map +1 -1
- package/dist/chains.js +19 -1
- package/dist/chains.js.map +1 -1
- package/dist/crossChain.d.ts +1 -0
- package/dist/crossChain.d.ts.map +1 -1
- package/dist/crossChain.js +87 -5
- package/dist/crossChain.js.map +1 -1
- package/dist/crypto.d.ts.map +1 -1
- package/dist/crypto.js.map +1 -1
- package/dist/deploymentResolver.d.ts +95 -0
- package/dist/deploymentResolver.d.ts.map +1 -0
- package/dist/deploymentResolver.js +169 -0
- package/dist/deploymentResolver.js.map +1 -0
- package/dist/errors.d.ts +17 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +14 -0
- package/dist/errors.js.map +1 -1
- package/dist/facilitators/aifinpay.d.ts +4 -5
- package/dist/facilitators/aifinpay.d.ts.map +1 -1
- package/dist/facilitators/aifinpay.js +50 -21
- package/dist/facilitators/aifinpay.js.map +1 -1
- package/dist/facilitators/base.d.ts +12 -1
- package/dist/facilitators/base.d.ts.map +1 -1
- package/dist/facilitators/coinbase.d.ts.map +1 -1
- package/dist/facilitators/coinbase.js +3 -7
- package/dist/facilitators/coinbase.js.map +1 -1
- package/dist/facilitators/detect.d.ts.map +1 -1
- package/dist/facilitators/detect.js +2 -7
- package/dist/facilitators/detect.js.map +1 -1
- package/dist/facilitators/standard-x402.d.ts.map +1 -1
- package/dist/facilitators/standard-x402.js +40 -30
- package/dist/facilitators/standard-x402.js.map +1 -1
- package/dist/generated/solanaV14Deployments.generated.d.ts +25 -0
- package/dist/generated/solanaV14Deployments.generated.d.ts.map +1 -0
- package/dist/generated/solanaV14Deployments.generated.js +39 -0
- package/dist/generated/solanaV14Deployments.generated.js.map +1 -0
- package/dist/generated/splitterRoutes.generated.d.ts +24 -0
- package/dist/generated/splitterRoutes.generated.d.ts.map +1 -0
- package/dist/generated/splitterRoutes.generated.js +453 -0
- package/dist/generated/splitterRoutes.generated.js.map +1 -0
- package/dist/generated/v14Deployments.generated.d.ts +49 -0
- package/dist/generated/v14Deployments.generated.d.ts.map +1 -0
- package/dist/generated/v14Deployments.generated.js +415 -0
- package/dist/generated/v14Deployments.generated.js.map +1 -0
- package/dist/index.d.ts +27 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -7
- package/dist/index.js.map +1 -1
- package/dist/localIdentity.d.ts +17 -0
- package/dist/localIdentity.d.ts.map +1 -0
- package/dist/localIdentity.js +95 -0
- package/dist/localIdentity.js.map +1 -0
- package/dist/settlement.d.ts +35 -5
- package/dist/settlement.d.ts.map +1 -1
- package/dist/settlement.js +232 -76
- package/dist/settlement.js.map +1 -1
- package/dist/settlementHttp.d.ts +10 -0
- package/dist/settlementHttp.d.ts.map +1 -0
- package/dist/settlementHttp.js +78 -0
- package/dist/settlementHttp.js.map +1 -0
- package/dist/settlementV14.d.ts +10 -9
- package/dist/settlementV14.d.ts.map +1 -1
- package/dist/settlementV14.js +43 -55
- package/dist/settlementV14.js.map +1 -1
- package/dist/solanaDeploymentResolver.d.ts +98 -0
- package/dist/solanaDeploymentResolver.d.ts.map +1 -0
- package/dist/solanaDeploymentResolver.js +162 -0
- package/dist/solanaDeploymentResolver.js.map +1 -0
- package/dist/solanaV14Deployments.generated.d.ts +25 -0
- package/dist/solanaV14Deployments.generated.d.ts.map +1 -0
- package/dist/solanaV14Deployments.generated.js +39 -0
- package/dist/solanaV14Deployments.generated.js.map +1 -0
- package/dist/spendLedger.d.ts.map +1 -1
- package/dist/spendLedger.js +1 -3
- package/dist/spendLedger.js.map +1 -1
- package/dist/splitterRoutes.d.ts +11 -4
- package/dist/splitterRoutes.d.ts.map +1 -1
- package/dist/splitterRoutes.generated.d.ts +11 -9
- package/dist/splitterRoutes.generated.d.ts.map +1 -1
- package/dist/splitterRoutes.generated.js +72 -18
- package/dist/splitterRoutes.generated.js.map +1 -1
- package/dist/splitterRoutes.js +7 -5
- package/dist/splitterRoutes.js.map +1 -1
- package/dist/unifiedAgent.d.ts +97 -29
- package/dist/unifiedAgent.d.ts.map +1 -1
- package/dist/unifiedAgent.js +232 -349
- package/dist/unifiedAgent.js.map +1 -1
- package/dist/v14Deployments.generated.d.ts +49 -0
- package/dist/v14Deployments.generated.d.ts.map +1 -0
- package/dist/v14Deployments.generated.js +413 -0
- package/dist/v14Deployments.generated.js.map +1 -0
- package/dist/wallet.d.ts.map +1 -1
- package/dist/wallet.js +2 -2
- package/dist/wallet.js.map +1 -1
- package/package.json +27 -6
- package/dist/cli.d.ts +0 -3
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -127
- package/dist/cli.js.map +0 -1
package/dist/settlement.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { keccak256, } from "viem";
|
|
1
|
+
import { keccak256, stringToHex } from "viem";
|
|
2
|
+
import { settlementHttp } from "./settlementHttp.js";
|
|
2
3
|
export class SettlementProtocolError extends Error {
|
|
3
4
|
code;
|
|
4
5
|
constructor(message, code = "settlement_protocol_error") {
|
|
@@ -7,7 +8,20 @@ export class SettlementProtocolError extends Error {
|
|
|
7
8
|
this.name = "SettlementProtocolError";
|
|
8
9
|
}
|
|
9
10
|
}
|
|
11
|
+
/** Broadcast succeeded but confirmation is unknown. Keep this hash and check
|
|
12
|
+
* it before retrying; a timeout is not evidence that no money moved. */
|
|
13
|
+
export class SettlementConfirmationPendingError extends SettlementProtocolError {
|
|
14
|
+
txHash;
|
|
15
|
+
stage;
|
|
16
|
+
constructor(txHash, stage) {
|
|
17
|
+
super(`transaction ${txHash} was broadcast but confirmation is unavailable; recover this transaction before retrying`, "confirmation_pending");
|
|
18
|
+
this.txHash = txHash;
|
|
19
|
+
this.stage = stage;
|
|
20
|
+
this.name = "SettlementConfirmationPendingError";
|
|
21
|
+
}
|
|
22
|
+
}
|
|
10
23
|
const CHAIN_IDS = {
|
|
24
|
+
amoy: 80002,
|
|
11
25
|
polygon: 137,
|
|
12
26
|
avalanche: 43114,
|
|
13
27
|
arbitrum: 42161,
|
|
@@ -15,9 +29,21 @@ const CHAIN_IDS = {
|
|
|
15
29
|
base: 8453,
|
|
16
30
|
unichain: 130,
|
|
17
31
|
optimism: 10,
|
|
18
|
-
|
|
32
|
+
robinhood: 4663,
|
|
19
33
|
xrplevm: 1440000,
|
|
20
34
|
};
|
|
35
|
+
const NATIVE_ASSETS = {
|
|
36
|
+
polygon: "POL",
|
|
37
|
+
amoy: "POL",
|
|
38
|
+
avalanche: "AVAX",
|
|
39
|
+
arbitrum: "ETH",
|
|
40
|
+
bnb: "BNB",
|
|
41
|
+
base: "ETH",
|
|
42
|
+
unichain: "ETH",
|
|
43
|
+
optimism: "ETH",
|
|
44
|
+
robinhood: "ETH",
|
|
45
|
+
xrplevm: "XRP",
|
|
46
|
+
};
|
|
21
47
|
const EXPECTED_BPS = {
|
|
22
48
|
"AIFP-1": { treasury: 100, creator: 0 },
|
|
23
49
|
"AIFP-2": { treasury: 0, creator: 0 },
|
|
@@ -27,37 +53,85 @@ const ADDRESS_RE = /^0x[0-9a-fA-F]{40}$/;
|
|
|
27
53
|
const HASH_RE = /^0x[0-9a-fA-F]{64}$/;
|
|
28
54
|
const lc = (value) => value.toLowerCase();
|
|
29
55
|
const PROFILE_ABI = [
|
|
30
|
-
{
|
|
31
|
-
|
|
56
|
+
{
|
|
57
|
+
type: "function",
|
|
58
|
+
name: "treasuryBps",
|
|
59
|
+
stateMutability: "view",
|
|
60
|
+
inputs: [],
|
|
61
|
+
outputs: [{ type: "uint256" }],
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
type: "function",
|
|
65
|
+
name: "ipCreatorBps",
|
|
66
|
+
stateMutability: "view",
|
|
67
|
+
inputs: [],
|
|
68
|
+
outputs: [{ type: "uint256" }],
|
|
69
|
+
},
|
|
32
70
|
];
|
|
33
71
|
const V13_ABI = [
|
|
34
72
|
{
|
|
35
|
-
type: "function",
|
|
73
|
+
type: "function",
|
|
74
|
+
name: "payNative",
|
|
75
|
+
stateMutability: "payable",
|
|
36
76
|
inputs: [
|
|
37
|
-
{
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
77
|
+
{
|
|
78
|
+
type: "tuple",
|
|
79
|
+
name: "p",
|
|
80
|
+
components: [
|
|
81
|
+
{ type: "bytes32", name: "paymentId" },
|
|
82
|
+
{ type: "address", name: "merchant" },
|
|
83
|
+
{ type: "uint256", name: "grossAmount" },
|
|
84
|
+
{ type: "address", name: "ipCreator" },
|
|
85
|
+
{ type: "uint256", name: "validUntil" },
|
|
86
|
+
{ type: "string", name: "orderId" },
|
|
87
|
+
],
|
|
88
|
+
},
|
|
89
|
+
],
|
|
90
|
+
outputs: [],
|
|
44
91
|
},
|
|
45
92
|
{
|
|
46
|
-
type: "function",
|
|
93
|
+
type: "function",
|
|
94
|
+
name: "payStable",
|
|
95
|
+
stateMutability: "nonpayable",
|
|
47
96
|
inputs: [
|
|
48
|
-
{
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
97
|
+
{
|
|
98
|
+
type: "tuple",
|
|
99
|
+
name: "p",
|
|
100
|
+
components: [
|
|
101
|
+
{ type: "bytes32", name: "paymentId" },
|
|
102
|
+
{ type: "address", name: "token" },
|
|
103
|
+
{ type: "uint256", name: "grossAmount" },
|
|
104
|
+
{ type: "address", name: "merchant" },
|
|
105
|
+
{ type: "address", name: "ipCreator" },
|
|
106
|
+
{ type: "uint256", name: "validUntil" },
|
|
107
|
+
{ type: "string", name: "orderId" },
|
|
108
|
+
],
|
|
109
|
+
},
|
|
110
|
+
],
|
|
111
|
+
outputs: [],
|
|
56
112
|
},
|
|
57
113
|
];
|
|
58
114
|
const ERC20_ABI = [
|
|
59
|
-
{
|
|
60
|
-
|
|
115
|
+
{
|
|
116
|
+
type: "function",
|
|
117
|
+
name: "allowance",
|
|
118
|
+
stateMutability: "view",
|
|
119
|
+
inputs: [
|
|
120
|
+
{ type: "address", name: "owner" },
|
|
121
|
+
{ type: "address", name: "spender" },
|
|
122
|
+
],
|
|
123
|
+
outputs: [{ type: "uint256" }],
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
type: "function",
|
|
127
|
+
name: "approve",
|
|
128
|
+
stateMutability: "nonpayable",
|
|
129
|
+
inputs: [
|
|
130
|
+
{ type: "address", name: "spender" },
|
|
131
|
+
{ type: "uint256", name: "amount" },
|
|
132
|
+
],
|
|
133
|
+
outputs: [{ type: "bool" }],
|
|
134
|
+
},
|
|
61
135
|
];
|
|
62
136
|
function asJsonRecord(value) {
|
|
63
137
|
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
@@ -65,19 +139,22 @@ function asJsonRecord(value) {
|
|
|
65
139
|
}
|
|
66
140
|
return value;
|
|
67
141
|
}
|
|
68
|
-
|
|
142
|
+
function responseJson(response, text) {
|
|
69
143
|
let json;
|
|
70
144
|
try {
|
|
71
|
-
json =
|
|
145
|
+
json = JSON.parse(text);
|
|
72
146
|
}
|
|
73
147
|
catch {
|
|
74
148
|
throw new SettlementProtocolError(`settlement API ${response.status}: non-JSON response`);
|
|
75
149
|
}
|
|
76
150
|
const rec = asJsonRecord(json);
|
|
77
151
|
if (!response.ok) {
|
|
78
|
-
const detail = typeof rec.detail === "string"
|
|
79
|
-
|
|
80
|
-
|
|
152
|
+
const detail = typeof rec.detail === "string"
|
|
153
|
+
? rec.detail
|
|
154
|
+
: typeof rec.reason === "string"
|
|
155
|
+
? rec.reason
|
|
156
|
+
: typeof rec.error === "string"
|
|
157
|
+
? rec.error
|
|
81
158
|
: `HTTP ${response.status}`;
|
|
82
159
|
throw new SettlementProtocolError(detail, typeof rec.error === "string" ? rec.error : "settlement_http_error");
|
|
83
160
|
}
|
|
@@ -85,8 +162,8 @@ async function responseJson(response) {
|
|
|
85
162
|
}
|
|
86
163
|
function expectedBreakdown(route, gross) {
|
|
87
164
|
const bps = EXPECTED_BPS[route];
|
|
88
|
-
const treasury = gross * BigInt(bps.treasury) / 10000n;
|
|
89
|
-
const creator = gross * BigInt(bps.creator) / 10000n;
|
|
165
|
+
const treasury = (gross * BigInt(bps.treasury)) / 10000n;
|
|
166
|
+
const creator = (gross * BigInt(bps.creator)) / 10000n;
|
|
90
167
|
if (bps.treasury > 0 && treasury === 0n) {
|
|
91
168
|
throw new SettlementProtocolError("AIFP-1 gross amount is too small for the 1% protocol fee", "amount_too_small");
|
|
92
169
|
}
|
|
@@ -97,9 +174,7 @@ function expectedBreakdown(route, gross) {
|
|
|
97
174
|
return { gross, merchant, treasury, creator };
|
|
98
175
|
}
|
|
99
176
|
function isStableInvoice(invoice) {
|
|
100
|
-
return invoice.transaction.kind === "evm_erc20_then_contract_call"
|
|
101
|
-
&& "token" in invoice
|
|
102
|
-
&& invoice.token !== undefined;
|
|
177
|
+
return (invoice.transaction.kind === "evm_erc20_then_contract_call" && "token" in invoice && invoice.token !== undefined);
|
|
103
178
|
}
|
|
104
179
|
function assertCommonCallBinding(invoice, args) {
|
|
105
180
|
if (lc(args.paymentId) !== lc(invoice.payment_id)) {
|
|
@@ -136,6 +211,14 @@ export function validateSettlementInvoice(invoice) {
|
|
|
136
211
|
throw new SettlementProtocolError("invalid merchant_wallet");
|
|
137
212
|
if (!HASH_RE.test(invoice.payment_id))
|
|
138
213
|
throw new SettlementProtocolError("invalid payment_id");
|
|
214
|
+
if (typeof invoice.order_id !== "string" ||
|
|
215
|
+
!invoice.order_id.trim() ||
|
|
216
|
+
new TextEncoder().encode(invoice.order_id).length > 256) {
|
|
217
|
+
throw new SettlementProtocolError("order_id must contain 1..256 UTF-8 bytes");
|
|
218
|
+
}
|
|
219
|
+
if (lc(invoice.payment_id) !== keccak256(stringToHex(invoice.order_id)).toLowerCase()) {
|
|
220
|
+
throw new SettlementProtocolError("payment_id must be keccak256(order_id); refusing a replayable invoice", "payment_id_mismatch");
|
|
221
|
+
}
|
|
139
222
|
if (invoice.fee_on_top !== false || invoice.settlement_semantics !== "gross-inclusive") {
|
|
140
223
|
throw new SettlementProtocolError("fee-on-top or non-gross settlement is not supported");
|
|
141
224
|
}
|
|
@@ -146,38 +229,56 @@ export function validateSettlementInvoice(invoice) {
|
|
|
146
229
|
if (invoice.valid_until > now + 20 * 60 + 5) {
|
|
147
230
|
throw new SettlementProtocolError("invoice lifetime exceeds the 20-minute safety bound");
|
|
148
231
|
}
|
|
232
|
+
for (const amount of [
|
|
233
|
+
invoice.breakdown.gross_amount,
|
|
234
|
+
invoice.breakdown.merchant_amount,
|
|
235
|
+
invoice.breakdown.protocol_fee_amount,
|
|
236
|
+
invoice.breakdown.creator_amount,
|
|
237
|
+
]) {
|
|
238
|
+
if (typeof amount !== "string" || !/^(0|[1-9][0-9]{0,77})$/.test(amount) || BigInt(amount) >= 2n ** 256n) {
|
|
239
|
+
throw new SettlementProtocolError("invoice amount must be a decimal uint256", "invalid_amount");
|
|
240
|
+
}
|
|
241
|
+
}
|
|
149
242
|
const gross = BigInt(invoice.breakdown.gross_amount);
|
|
150
243
|
const expected = expectedBreakdown(invoice.route_class, gross);
|
|
151
244
|
const bps = EXPECTED_BPS[invoice.route_class];
|
|
152
245
|
if (invoice.breakdown.protocol_fee_bps !== bps.treasury || invoice.breakdown.creator_bps !== bps.creator) {
|
|
153
246
|
throw new SettlementProtocolError("invoice bps do not match the canonical route profile");
|
|
154
247
|
}
|
|
155
|
-
if (BigInt(invoice.breakdown.merchant_amount) !== expected.merchant
|
|
156
|
-
|
|
157
|
-
|
|
248
|
+
if (BigInt(invoice.breakdown.merchant_amount) !== expected.merchant ||
|
|
249
|
+
BigInt(invoice.breakdown.protocol_fee_amount) !== expected.treasury ||
|
|
250
|
+
BigInt(invoice.breakdown.creator_amount) !== expected.creator) {
|
|
158
251
|
throw new SettlementProtocolError("invoice breakdown does not match canonical gross split");
|
|
159
252
|
}
|
|
160
253
|
if (isStableInvoice(invoice)) {
|
|
254
|
+
if (!["USDC", "USDT"].includes(invoice.asset) ||
|
|
255
|
+
!Number.isInteger(invoice.token.decimals) ||
|
|
256
|
+
invoice.token.decimals < 0 ||
|
|
257
|
+
invoice.token.decimals > 18) {
|
|
258
|
+
throw new SettlementProtocolError("invalid stable asset identity");
|
|
259
|
+
}
|
|
161
260
|
if (!ADDRESS_RE.test(invoice.token.address) || lc(invoice.token.address) === ZERO) {
|
|
162
261
|
throw new SettlementProtocolError("invalid stable token address");
|
|
163
262
|
}
|
|
164
|
-
if (lc(invoice.transaction.approve.token) !== lc(invoice.token.address)
|
|
165
|
-
|
|
166
|
-
|
|
263
|
+
if (lc(invoice.transaction.approve.token) !== lc(invoice.token.address) ||
|
|
264
|
+
lc(invoice.transaction.approve.spender) !== lc(invoice.splitter) ||
|
|
265
|
+
BigInt(invoice.transaction.approve.amount) !== gross) {
|
|
167
266
|
throw new SettlementProtocolError("stable approval does not match invoice");
|
|
168
267
|
}
|
|
169
|
-
if (invoice.transaction.settle.function !== "payStable(bytes32,address,uint256,address,address,uint256,string)") {
|
|
268
|
+
if (invoice.transaction.settle.function !== "payStable((bytes32,address,uint256,address,address,uint256,string))") {
|
|
170
269
|
throw new SettlementProtocolError("unexpected stable v1.3 function signature");
|
|
171
270
|
}
|
|
172
|
-
if (lc(invoice.transaction.settle.args.token) !== lc(invoice.token.address)
|
|
173
|
-
|
|
174
|
-
|
|
271
|
+
if (lc(invoice.transaction.settle.args.token) !== lc(invoice.token.address) ||
|
|
272
|
+
BigInt(invoice.transaction.settle.args.grossAmount) !== gross ||
|
|
273
|
+
invoice.transaction.settle.value !== "0") {
|
|
175
274
|
throw new SettlementProtocolError("stable settlement token/gross/value mismatch");
|
|
176
275
|
}
|
|
177
276
|
assertCommonCallBinding(invoice, invoice.transaction.settle.args);
|
|
178
277
|
return;
|
|
179
278
|
}
|
|
180
|
-
if (invoice.
|
|
279
|
+
if (invoice.asset !== NATIVE_ASSETS[invoice.chain])
|
|
280
|
+
throw new SettlementProtocolError("native asset does not match the requested chain");
|
|
281
|
+
if (invoice.transaction.function !== "payNative((bytes32,address,uint256,address,uint256,string))") {
|
|
181
282
|
throw new SettlementProtocolError("unexpected native v1.3 function signature");
|
|
182
283
|
}
|
|
183
284
|
if (BigInt(invoice.transaction.value) !== gross || BigInt(invoice.transaction.args.grossAmount) !== gross) {
|
|
@@ -188,6 +289,15 @@ export function validateSettlementInvoice(invoice) {
|
|
|
188
289
|
/** Verify that a backend invoice matches an independently trusted release pin. */
|
|
189
290
|
export function validateTrustedSettlementRoutePin(invoice, pin) {
|
|
190
291
|
validateSettlementInvoice(invoice);
|
|
292
|
+
if ((pin.chain === "amoy") !== (pin.testnet === true)) {
|
|
293
|
+
throw new SettlementProtocolError("testnet signing requires an explicit matching testnet pin", "trusted_pin_invalid");
|
|
294
|
+
}
|
|
295
|
+
if (isStableInvoice(invoice)) {
|
|
296
|
+
const asset = pin.stable_assets?.[invoice.asset];
|
|
297
|
+
if (!asset || lc(asset.address) !== lc(invoice.token.address) || asset.decimals !== invoice.token.decimals) {
|
|
298
|
+
throw new SettlementProtocolError("stable asset does not match the independent token pin", "trusted_asset_mismatch");
|
|
299
|
+
}
|
|
300
|
+
}
|
|
191
301
|
if (!(pin.chain in CHAIN_IDS) || pin.chain_id !== CHAIN_IDS[pin.chain]) {
|
|
192
302
|
throw new SettlementProtocolError("trusted route pin has an invalid chain binding", "trusted_pin_invalid");
|
|
193
303
|
}
|
|
@@ -197,36 +307,64 @@ export function validateTrustedSettlementRoutePin(invoice, pin) {
|
|
|
197
307
|
if (!ADDRESS_RE.test(pin.splitter) || lc(pin.splitter) === ZERO || !HASH_RE.test(pin.runtime_code_hash)) {
|
|
198
308
|
throw new SettlementProtocolError("trusted route pin has invalid address/hash", "trusted_pin_invalid");
|
|
199
309
|
}
|
|
200
|
-
if (pin.route_class !== invoice.route_class
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
310
|
+
if (pin.route_class !== invoice.route_class ||
|
|
311
|
+
pin.chain !== invoice.chain ||
|
|
312
|
+
pin.chain_id !== invoice.chain_id ||
|
|
313
|
+
pin.splitter_version !== invoice.splitter_version ||
|
|
314
|
+
lc(pin.splitter) !== lc(invoice.splitter) ||
|
|
315
|
+
lc(pin.runtime_code_hash) !== lc(invoice.runtime_code_hash)) {
|
|
206
316
|
throw new SettlementProtocolError("backend invoice route does not match the independently trusted deployment pin", "trusted_pin_mismatch");
|
|
207
317
|
}
|
|
208
318
|
}
|
|
209
319
|
export class SettlementClient {
|
|
210
320
|
baseUrl;
|
|
211
|
-
|
|
212
|
-
|
|
321
|
+
fetchImpl;
|
|
322
|
+
timeoutMs;
|
|
323
|
+
constructor(options = {}) {
|
|
324
|
+
const opts = typeof options === "string" ? { baseUrl: options } : options;
|
|
325
|
+
const base = new URL(opts.baseUrl ?? "https://aifinpay.io");
|
|
326
|
+
if (!["http:", "https:"].includes(base.protocol) || base.username || base.password || base.search || base.hash) {
|
|
327
|
+
throw new SettlementProtocolError("invalid settlement API base URL");
|
|
328
|
+
}
|
|
329
|
+
this.baseUrl = base.toString().replace(/\/+$/, "");
|
|
330
|
+
this.fetchImpl = opts.fetchImpl ?? globalThis.fetch;
|
|
331
|
+
this.timeoutMs = opts.timeoutMs ?? 15_000;
|
|
332
|
+
if (!Number.isSafeInteger(this.timeoutMs) || this.timeoutMs <= 0 || this.timeoutMs > 2_147_483_647) {
|
|
333
|
+
throw new SettlementProtocolError("timeoutMs must be a positive timer duration");
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
async request(path, init) {
|
|
337
|
+
const url = `${this.baseUrl}${path}`;
|
|
338
|
+
const { response, text } = await settlementHttp(this.fetchImpl, url, init, this.timeoutMs);
|
|
339
|
+
return responseJson(response, text);
|
|
213
340
|
}
|
|
214
341
|
async routes(routeClass) {
|
|
215
342
|
const q = routeClass ? `?route_class=${encodeURIComponent(routeClass)}` : "";
|
|
216
|
-
const rec = await
|
|
343
|
+
const rec = await this.request(`/v1/settlement/routes${q}`);
|
|
217
344
|
if (!Array.isArray(rec.routes)) {
|
|
218
345
|
throw new SettlementProtocolError("routes response has no routes array");
|
|
219
346
|
}
|
|
220
347
|
return rec.routes;
|
|
221
348
|
}
|
|
222
349
|
async invoice(input) {
|
|
223
|
-
const rec = await
|
|
350
|
+
const rec = await this.request("/v1/settlement/invoice", {
|
|
224
351
|
method: "POST",
|
|
225
352
|
headers: { "content-type": "application/json" },
|
|
226
353
|
body: JSON.stringify({ ...input, gross_amount: String(input.gross_amount) }),
|
|
227
|
-
})
|
|
354
|
+
});
|
|
228
355
|
const invoice = rec;
|
|
229
356
|
validateSettlementInvoice(invoice);
|
|
357
|
+
const recipient = input.merchant_wallet ?? input.provider_wallet;
|
|
358
|
+
if (invoice.route_class !== input.route_class ||
|
|
359
|
+
invoice.chain !== input.chain ||
|
|
360
|
+
invoice.asset !== input.asset.toUpperCase() ||
|
|
361
|
+
BigInt(invoice.breakdown.gross_amount) !== BigInt(input.gross_amount) ||
|
|
362
|
+
invoice.order_id !== input.order_id ||
|
|
363
|
+
!recipient ||
|
|
364
|
+
lc(invoice.merchant_wallet) !== lc(recipient) ||
|
|
365
|
+
(input.valid_until !== undefined && invoice.valid_until !== input.valid_until)) {
|
|
366
|
+
throw new SettlementProtocolError("invoice differs from the requested payment", "invoice_request_mismatch");
|
|
367
|
+
}
|
|
230
368
|
return invoice;
|
|
231
369
|
}
|
|
232
370
|
}
|
|
@@ -245,16 +383,30 @@ export async function verifySettlementRouteOnChain(invoice, publicClient, truste
|
|
|
245
383
|
throw new SettlementProtocolError("trusted splitter runtime bytecode hash mismatch", "runtime_hash_mismatch");
|
|
246
384
|
}
|
|
247
385
|
const [treasuryBps, creatorBps] = await Promise.all([
|
|
248
|
-
publicClient.readContract({
|
|
249
|
-
|
|
386
|
+
publicClient.readContract({
|
|
387
|
+
address: trustedPin.splitter,
|
|
388
|
+
abi: PROFILE_ABI,
|
|
389
|
+
functionName: "treasuryBps",
|
|
390
|
+
}),
|
|
391
|
+
publicClient.readContract({
|
|
392
|
+
address: trustedPin.splitter,
|
|
393
|
+
abi: PROFILE_ABI,
|
|
394
|
+
functionName: "ipCreatorBps",
|
|
395
|
+
}),
|
|
250
396
|
]);
|
|
251
397
|
const expected = EXPECTED_BPS[trustedPin.route_class];
|
|
252
398
|
if (Number(treasuryBps) !== expected.treasury || Number(creatorBps) !== expected.creator) {
|
|
253
399
|
throw new SettlementProtocolError("on-chain route economics do not match trusted route class", "profile_mismatch");
|
|
254
400
|
}
|
|
255
401
|
}
|
|
256
|
-
async function waitSuccess(publicClient, hash) {
|
|
257
|
-
|
|
402
|
+
async function waitSuccess(publicClient, hash, stage = "settlement") {
|
|
403
|
+
let receipt;
|
|
404
|
+
try {
|
|
405
|
+
receipt = await publicClient.waitForTransactionReceipt({ hash });
|
|
406
|
+
}
|
|
407
|
+
catch {
|
|
408
|
+
throw new SettlementConfirmationPendingError(hash, stage);
|
|
409
|
+
}
|
|
258
410
|
if (receipt.status !== "success") {
|
|
259
411
|
throw new SettlementProtocolError(`transaction ${hash} reverted`, "transaction_reverted");
|
|
260
412
|
}
|
|
@@ -267,8 +419,8 @@ export async function executeSettlementInvoice(invoice, walletClient, publicClie
|
|
|
267
419
|
if (!account) {
|
|
268
420
|
throw new SettlementProtocolError("walletClient has no signing account", "signer_missing");
|
|
269
421
|
}
|
|
270
|
-
const walletChainId = walletClient.
|
|
271
|
-
if (walletChainId
|
|
422
|
+
const walletChainId = await walletClient.getChainId();
|
|
423
|
+
if (walletChainId !== trustedPin.chain_id || walletClient.chain?.id !== trustedPin.chain_id) {
|
|
272
424
|
throw new SettlementProtocolError(`wallet chainId ${walletChainId} != trusted pin ${trustedPin.chain_id}`, "wrong_chain");
|
|
273
425
|
}
|
|
274
426
|
const approvalTxs = [];
|
|
@@ -292,7 +444,7 @@ export async function executeSettlementInvoice(invoice, walletClient, publicClie
|
|
|
292
444
|
chain: walletClient.chain,
|
|
293
445
|
});
|
|
294
446
|
approvalTxs.push(reset);
|
|
295
|
-
await waitSuccess(publicClient, reset);
|
|
447
|
+
await waitSuccess(publicClient, reset, "approval");
|
|
296
448
|
}
|
|
297
449
|
const approve = await walletClient.writeContract({
|
|
298
450
|
address: invoice.token.address,
|
|
@@ -303,20 +455,22 @@ export async function executeSettlementInvoice(invoice, walletClient, publicClie
|
|
|
303
455
|
chain: walletClient.chain,
|
|
304
456
|
});
|
|
305
457
|
approvalTxs.push(approve);
|
|
306
|
-
await waitSuccess(publicClient, approve);
|
|
458
|
+
await waitSuccess(publicClient, approve, "approval");
|
|
307
459
|
}
|
|
308
460
|
settlementTx = await walletClient.writeContract({
|
|
309
461
|
address: trustedPin.splitter,
|
|
310
462
|
abi: V13_ABI,
|
|
311
463
|
functionName: "payStable",
|
|
312
464
|
args: [
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
465
|
+
{
|
|
466
|
+
paymentId: invoice.transaction.settle.args.paymentId,
|
|
467
|
+
token: invoice.transaction.settle.args.token,
|
|
468
|
+
grossAmount: BigInt(invoice.transaction.settle.args.grossAmount),
|
|
469
|
+
merchant: invoice.transaction.settle.args.merchant,
|
|
470
|
+
ipCreator: invoice.transaction.settle.args.ipCreator,
|
|
471
|
+
validUntil: BigInt(invoice.transaction.settle.args.validUntil),
|
|
472
|
+
orderId: invoice.transaction.settle.args.orderId,
|
|
473
|
+
},
|
|
320
474
|
],
|
|
321
475
|
account,
|
|
322
476
|
chain: walletClient.chain,
|
|
@@ -328,12 +482,14 @@ export async function executeSettlementInvoice(invoice, walletClient, publicClie
|
|
|
328
482
|
abi: V13_ABI,
|
|
329
483
|
functionName: "payNative",
|
|
330
484
|
args: [
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
485
|
+
{
|
|
486
|
+
paymentId: invoice.transaction.args.paymentId,
|
|
487
|
+
merchant: invoice.transaction.args.merchant,
|
|
488
|
+
grossAmount: BigInt(invoice.transaction.args.grossAmount),
|
|
489
|
+
ipCreator: invoice.transaction.args.ipCreator,
|
|
490
|
+
validUntil: BigInt(invoice.transaction.args.validUntil),
|
|
491
|
+
orderId: invoice.transaction.args.orderId,
|
|
492
|
+
},
|
|
337
493
|
],
|
|
338
494
|
value: BigInt(invoice.transaction.value),
|
|
339
495
|
account,
|
package/dist/settlement.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settlement.js","sourceRoot":"","sources":["../src/settlement.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"settlement.js","sourceRoot":"","sources":["../src/settlement.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** Bounded transport for payment API requests, including response body reads. */
|
|
2
|
+
export declare class SettlementHttpError extends Error {
|
|
3
|
+
readonly code: string;
|
|
4
|
+
constructor(message: string, code: string);
|
|
5
|
+
}
|
|
6
|
+
export declare function settlementHttp(fetchImpl: typeof fetch, url: string, init?: RequestInit, timeoutMs?: number): Promise<{
|
|
7
|
+
response: Response;
|
|
8
|
+
text: string;
|
|
9
|
+
}>;
|
|
10
|
+
//# sourceMappingURL=settlementHttp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settlementHttp.d.ts","sourceRoot":"","sources":["../src/settlementHttp.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,qBAAa,mBAAoB,SAAQ,KAAK;IAG1C,QAAQ,CAAC,IAAI,EAAE,MAAM;gBADrB,OAAO,EAAE,MAAM,EACN,IAAI,EAAE,MAAM;CAKxB;AAED,wBAAsB,cAAc,CAClC,SAAS,EAAE,OAAO,KAAK,EACvB,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,WAAgB,EACtB,SAAS,SAAS,GACjB,OAAO,CAAC;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAiE/C"}
|