@aifinpay/agent 2.3.0 → 2.3.2
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/README.md +22 -11
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +127 -0
- package/dist/cli.js.map +1 -0
- package/dist/facilitators/index.d.ts +1 -1
- package/dist/facilitators/index.d.ts.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/solanaV14Deployments.generated.d.ts +35 -0
- package/dist/solanaV14Deployments.generated.d.ts.map +1 -0
- package/dist/solanaV14Deployments.generated.js +61 -0
- package/dist/solanaV14Deployments.generated.js.map +1 -0
- package/dist/splitterRoutes.generated.d.ts +22 -0
- package/dist/splitterRoutes.generated.d.ts.map +1 -0
- package/dist/splitterRoutes.generated.js +459 -0
- package/dist/splitterRoutes.generated.js.map +1 -0
- package/dist/unifiedAgent.js +5 -5
- package/dist/unifiedAgent.js.map +1 -1
- package/dist/v14Deployments.generated.d.ts +53 -0
- package/dist/v14Deployments.generated.d.ts.map +1 -0
- package/dist/v14Deployments.generated.js +89 -0
- package/dist/v14Deployments.generated.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -69,7 +69,7 @@ npm pack
|
|
|
69
69
|
Install the resulting tarball in your application:
|
|
70
70
|
|
|
71
71
|
```bash
|
|
72
|
-
npm install /absolute/path/to/sdk/node/aifinpay-agent
|
|
72
|
+
npm install /absolute/path/to/sdk/node/aifinpay-agent-<version>.tgz
|
|
73
73
|
```
|
|
74
74
|
|
|
75
75
|
## Quick start
|
|
@@ -104,7 +104,8 @@ inputs and wallet files out of chats, logs and version control.
|
|
|
104
104
|
The same configured inputs restore the same addresses after a process restart.
|
|
105
105
|
An explicit `evmPrivateKey` option overrides the derived EVM identity; retain
|
|
106
106
|
that separate key as well to recover the imported wallet. Loading a wallet
|
|
107
|
-
does not
|
|
107
|
+
does not by itself pay for anything; paid execution goes through `fetchPaid`
|
|
108
|
+
and its checks.
|
|
108
109
|
|
|
109
110
|
`AiFinPayAgent.new()` and `Agent.new()` intentionally create a fresh ephemeral
|
|
110
111
|
wallet each time. They do not load existing environment variables or keystores
|
|
@@ -126,24 +127,34 @@ const agent2 = Agent.fromSecretB58("3RvZm7Gw...");
|
|
|
126
127
|
|
|
127
128
|
## How x402 auth works under the hood
|
|
128
129
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
130
|
+
`Agent.pay(url)` (and `get`/`post`/`request`) handles an AiFinPay-native 402
|
|
131
|
+
with request-bound auth (version 2). For a gated request the SDK:
|
|
132
|
+
|
|
133
|
+
1. sends the request without credentials; the 402 body carries a one-time
|
|
134
|
+
`x-nonce`, its expiry `x-nonce-expires-at`, `x-aifinpay-auth-version: 2`
|
|
135
|
+
and the SHA-256 of the request body it was issued for;
|
|
136
|
+
2. refuses to sign unless the request went to the origin configured as the
|
|
137
|
+
agent's `baseUrl`, the response came from that origin, and the body digest
|
|
138
|
+
matches the body it sent;
|
|
139
|
+
3. signs, with Ed25519, the SHA-256 of
|
|
140
|
+
`JSON.stringify(["AiFinPay-x402", "v2", nonce, pubkey, origin, METHOD, path+query, bodySha256, expiresAt])`
|
|
141
|
+
and base58-encodes the signature;
|
|
134
142
|
4. retries the original request with headers:
|
|
135
143
|
- `x-agent-pubkey: <base58 pubkey>`
|
|
136
|
-
- `x-nonce: <
|
|
144
|
+
- `x-nonce: <nonce>`
|
|
137
145
|
- `x-signature: <base58 sig>`
|
|
146
|
+
- `x-aifinpay-auth-version: 2`
|
|
138
147
|
|
|
139
|
-
The server verifies the signature, checks the agent has a
|
|
140
|
-
on-chain, and serves the resource.
|
|
148
|
+
The server verifies the signature, consumes the nonce, checks the agent has a
|
|
149
|
+
live Seat PDA on-chain, and serves the resource. The retired v1 format
|
|
150
|
+
(`GET /nonce`, `SHA-256("AiFinPay-x402:{nonce}:{pubkey}")`) is refused, and
|
|
151
|
+
`Agent.authHeaders()` throws.
|
|
141
152
|
|
|
142
153
|
## Privacy
|
|
143
154
|
|
|
144
155
|
- **The server never sees your private key.** Period.
|
|
145
156
|
- Nonces are consumed on use; replay-resistant.
|
|
146
|
-
-
|
|
157
|
+
- Payments settle on public chains — Polygon, or Base when selected — and are visible on-chain.
|
|
147
158
|
|
|
148
159
|
## License
|
|
149
160
|
|
package/dist/cli.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
|
package/dist/cli.js
ADDED
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* `npx @aifinpay/agent init` — one command from zero to a paying agent.
|
|
4
|
+
*
|
|
5
|
+
* 1. generates the agent's wallet LOCALLY (key never leaves this machine),
|
|
6
|
+
* writes .env (AGENT_PK) and protects it via .gitignore
|
|
7
|
+
* 2. detects an MCP host (Claude Code / Cursor) and prints the one-liner
|
|
8
|
+
* 3. prints funding instructions + a ready-to-run code snippet
|
|
9
|
+
*
|
|
10
|
+
* npx @aifinpay/agent init # interactive
|
|
11
|
+
* npx @aifinpay/agent init --yes # zero questions, sane defaults
|
|
12
|
+
* npx @aifinpay/agent init --merchant # ALSO register you as a merchant (paywall side)
|
|
13
|
+
*/
|
|
14
|
+
import { appendFileSync, existsSync, readFileSync, writeFileSync } from 'node:fs';
|
|
15
|
+
import { homedir } from 'node:os';
|
|
16
|
+
import { join } from 'node:path';
|
|
17
|
+
import { createInterface } from 'node:readline/promises';
|
|
18
|
+
import { generatePrivateKey, privateKeyToAccount } from 'viem/accounts';
|
|
19
|
+
const API = process.env.AIFP_API || 'https://api.aifinpay.io';
|
|
20
|
+
const args = process.argv.slice(2);
|
|
21
|
+
const cmd = args.find((a) => !a.startsWith('-')) || 'init';
|
|
22
|
+
const YES = args.includes('--yes') || args.includes('-y');
|
|
23
|
+
const MERCHANT = args.includes('--merchant');
|
|
24
|
+
const c = {
|
|
25
|
+
b: (s) => `\x1b[1m${s}\x1b[0m`,
|
|
26
|
+
dim: (s) => `\x1b[2m${s}\x1b[0m`,
|
|
27
|
+
ok: (s) => `\x1b[32m${s}\x1b[0m`,
|
|
28
|
+
warn: (s) => `\x1b[33m${s}\x1b[0m`,
|
|
29
|
+
code: (s) => `\x1b[36m${s}\x1b[0m`,
|
|
30
|
+
};
|
|
31
|
+
async function ask(q, def) {
|
|
32
|
+
if (YES)
|
|
33
|
+
return def;
|
|
34
|
+
const rl = createInterface({ input: process.stdin, output: process.stdout });
|
|
35
|
+
const a = (await rl.question(`${q} ${c.dim(`(${def})`)} `)).trim();
|
|
36
|
+
rl.close();
|
|
37
|
+
return a || def;
|
|
38
|
+
}
|
|
39
|
+
function upsertEnv(key, value) {
|
|
40
|
+
const envPath = join(process.cwd(), '.env');
|
|
41
|
+
const cur = existsSync(envPath) ? readFileSync(envPath, 'utf8') : '';
|
|
42
|
+
if (new RegExp(`^${key}=`, 'm').test(cur))
|
|
43
|
+
return 'kept';
|
|
44
|
+
appendFileSync(envPath, `${cur.endsWith('\n') || cur === '' ? '' : '\n'}${key}=${value}\n`);
|
|
45
|
+
return 'created';
|
|
46
|
+
}
|
|
47
|
+
function protectEnvInGitignore() {
|
|
48
|
+
const gi = join(process.cwd(), '.gitignore');
|
|
49
|
+
const cur = existsSync(gi) ? readFileSync(gi, 'utf8') : '';
|
|
50
|
+
if (!/^\.env$/m.test(cur))
|
|
51
|
+
writeFileSync(gi, `${cur}${cur && !cur.endsWith('\n') ? '\n' : ''}.env\n`);
|
|
52
|
+
}
|
|
53
|
+
function detectMcpHost() {
|
|
54
|
+
if (existsSync(join(homedir(), '.claude.json')) || existsSync(join(homedir(), '.claude')))
|
|
55
|
+
return 'claude';
|
|
56
|
+
if (existsSync(join(homedir(), '.cursor')))
|
|
57
|
+
return 'cursor';
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
async function init() {
|
|
61
|
+
console.log(`\n${c.b('◈ AiFinPay')} — set up your agent's wallet\n`);
|
|
62
|
+
// 1. wallet — local generation, or keep the existing key
|
|
63
|
+
const envPath = join(process.cwd(), '.env');
|
|
64
|
+
let pk = '';
|
|
65
|
+
const existing = existsSync(envPath) && readFileSync(envPath, 'utf8').match(/^AGENT_PK=(0x[0-9a-fA-F]{64})$/m);
|
|
66
|
+
if (existing) {
|
|
67
|
+
pk = existing[1];
|
|
68
|
+
console.log(`${c.ok('✓')} found existing AGENT_PK in .env — reusing it`);
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
pk = generatePrivateKey();
|
|
72
|
+
upsertEnv('AGENT_PK', pk);
|
|
73
|
+
console.log(`${c.ok('✓')} wallet generated ${c.dim('locally — the key stays on this machine, saved to .env')}`);
|
|
74
|
+
}
|
|
75
|
+
protectEnvInGitignore();
|
|
76
|
+
console.log(`${c.ok('✓')} .env is covered by .gitignore`);
|
|
77
|
+
const address = privateKeyToAccount(pk).address;
|
|
78
|
+
// 2. MCP host one-liner
|
|
79
|
+
const host = detectMcpHost();
|
|
80
|
+
if (host) {
|
|
81
|
+
console.log(`\n${c.b(`Detected ${host === 'claude' ? 'Claude Code' : 'Cursor'}`)} — give your assistant payment tools:`);
|
|
82
|
+
console.log(` ${c.code('claude mcp add aifinpay -- npx -y @aifinpay/mcp')}`);
|
|
83
|
+
}
|
|
84
|
+
// 3. funding + snippet
|
|
85
|
+
console.log(`\n${c.b('Fund your agent')} ${c.dim("(its own wallet — only you hold the key)")}:`);
|
|
86
|
+
console.log(` address : ${c.code(address)}`);
|
|
87
|
+
console.log(` network : Polygon · send ~1 USDC + ~0.5 POL (gas)`);
|
|
88
|
+
console.log(`\n${c.b('Make your first paid call')}:`);
|
|
89
|
+
console.log(c.code(` import { AiFinPayAgent } from "@aifinpay/agent";\n` +
|
|
90
|
+
` const agent = await AiFinPayAgent.new({ privateKey: process.env.AGENT_PK });\n` +
|
|
91
|
+
` const r = await agent.call({ provider: "exa", body: { query: "hello" } });`));
|
|
92
|
+
console.log(`\n docs: https://aifinpay.io/llms.txt · registry: ${API}/registry`);
|
|
93
|
+
// 4. optional merchant registration (the paywall side)
|
|
94
|
+
if (MERCHANT) {
|
|
95
|
+
console.log(`\n${c.b('Merchant registration')} — charge agents for YOUR API:`);
|
|
96
|
+
const name = await ask(' Service name?', 'My Paid API');
|
|
97
|
+
const payout = await ask(' Payout wallet (0x…)?', address);
|
|
98
|
+
const res = await fetch(`${API}/v1/merchants`, {
|
|
99
|
+
method: 'POST',
|
|
100
|
+
headers: { 'content-type': 'application/json' },
|
|
101
|
+
body: JSON.stringify({ name, pay_to: { polygon: payout } }),
|
|
102
|
+
});
|
|
103
|
+
const j = await res.json();
|
|
104
|
+
if (!res.ok) {
|
|
105
|
+
console.log(`${c.warn('✗')} registration failed: ${j.detail || res.status}`);
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
upsertEnv('AIFP_MERCHANT_ID', j.merchant_id);
|
|
109
|
+
upsertEnv('AIFP_MERCHANT_SECRET', j.merchant_secret);
|
|
110
|
+
console.log(`${c.ok('✓')} registered ${c.code(j.merchant_id)} ${c.dim('(id + one-time secret saved to .env)')}`);
|
|
111
|
+
console.log(` agents pay you with: POST ${API}/v1/quote {"merchant_id":"${j.merchant_id}", …}`);
|
|
112
|
+
console.log(` verify receipts against: ${API}/.well-known/jwks.json`);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
console.log(`\n${c.ok('Done.')} Fund the address above and your agent can pay for search, inference and data.\n`);
|
|
116
|
+
}
|
|
117
|
+
if (cmd === 'init') {
|
|
118
|
+
init().catch((e) => {
|
|
119
|
+
console.error(`${c.warn('✗')} ${e.message}`);
|
|
120
|
+
process.exit(1);
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
console.log(`Unknown command "${cmd}". Usage: npx @aifinpay/agent init [--yes] [--merchant]`);
|
|
125
|
+
process.exit(1);
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type { AuthPayload, Facilitator, FacilitatorClass, PayOptions } from "./base.js";
|
|
1
|
+
export type { AuthPayload, AuthRequestContext, Facilitator, FacilitatorClass, PayOptions } from "./base.js";
|
|
2
2
|
export { AiFinPayFacilitator } from "./aifinpay.js";
|
|
3
3
|
export { CoinbaseX402Facilitator } from "./coinbase.js";
|
|
4
4
|
export { REGISTERED, detectFacilitator } from "./detect.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/facilitators/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/facilitators/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5G,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
export { AgentPassportError, normalizeAgentPassportIdentifier, resolveAgentPassport, generateAgentPassportHolderKeypair, signAgentPassportHolderMessage, issueAgentPassport, createAgentPassport, requestAgentPassportWalletBinding, confirmAgentPassportWalletBinding, verifyAgentPassportIssuerSignature, agentPassportWallet, } from "./agentPassport.js";
|
|
10
10
|
export type { AgentPassportNetwork, AgentPassportChainFamily, AgentPassportStatus, AgentPassportWalletStatus, AgentPassportWalletBinding, AgentPassportIssuerProof, AgentPassportIdentity, AgentPassportHolderKeypair, AgentPassportWalletChallenge, } from "./agentPassport.js";
|
|
11
11
|
export { SettlementClient, SettlementProtocolError, SettlementConfirmationPendingError, validateSettlementInvoice, validateTrustedSettlementRoutePin, verifySettlementRouteOnChain, executeSettlementInvoice, SETTLEMENT_CHAIN_IDS, SETTLEMENT_EXPECTED_BPS, } from "./settlement.js";
|
|
12
|
+
export { SettlementHttpError } from "./settlementHttp.js";
|
|
12
13
|
export * from "./settlementV14.js";
|
|
13
14
|
export type { SettlementRouteClass, SettlementClientOptions, SettlementEvmNetwork, SettlementRoute, TrustedSettlementRoutePin, TrustedSettlementRouteRegistry, SettlementInvoiceInput, SettlementInvoice, NativeSettlementInvoice, StableSettlementInvoice, SettlementExecution, } from "./settlement.js";
|
|
14
15
|
export { SPLITTER_ROUTES, SPLITTER_GOVERNANCE, SPLITTER_REGISTRY_SOURCE, resolveSplitterRoute, resolveSettlingSplitterRoute, UnknownSplitterRouteError, SplitterRouteNotSettlingError, } from "./splitterRoutes.js";
|
|
@@ -38,7 +39,7 @@ export type { SafeErrorShape } from "./errors.js";
|
|
|
38
39
|
/** @deprecated Legacy x402 facilitators — use AIFP-1/AIFP-2 settlement instead */
|
|
39
40
|
export { AiFinPayFacilitator, CoinbaseX402Facilitator, REGISTERED, detectFacilitator } from "./facilitators/index.js";
|
|
40
41
|
/** @deprecated Legacy x402 facilitators — use AIFP-1/AIFP-2 settlement instead */
|
|
41
|
-
export type { AuthPayload, Facilitator, FacilitatorClass, PayOptions } from "./facilitators/index.js";
|
|
42
|
+
export type { AuthPayload, AuthRequestContext, Facilitator, FacilitatorClass, PayOptions, } from "./facilitators/index.js";
|
|
42
43
|
export { type SpendLedger, MemorySpendLedger, FileSpendLedger } from "./spendLedger.js";
|
|
43
44
|
export { deriveWallet, newWallet } from "./wallet.js";
|
|
44
45
|
export { getAgentHistory, getQuota, AGENT_RECEIPT_FIELDS, AGENT_TRANSACTION_FIELDS } from "./agentHistory.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EACL,kBAAkB,EAClB,gCAAgC,EAChC,oBAAoB,EACpB,kCAAkC,EAClC,8BAA8B,EAC9B,kBAAkB,EAClB,mBAAmB,EACnB,iCAAiC,EACjC,iCAAiC,EACjC,kCAAkC,EAClC,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EACnB,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,EACxB,qBAAqB,EACrB,0BAA0B,EAC1B,4BAA4B,GAC7B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,kCAAkC,EAClC,yBAAyB,EACzB,iCAAiC,EACjC,4BAA4B,EAC5B,wBAAwB,EACxB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -10,6 +10,9 @@
|
|
|
10
10
|
export { AgentPassportError, normalizeAgentPassportIdentifier, resolveAgentPassport, generateAgentPassportHolderKeypair, signAgentPassportHolderMessage, issueAgentPassport, createAgentPassport, requestAgentPassportWalletBinding, confirmAgentPassportWalletBinding, verifyAgentPassportIssuerSignature, agentPassportWallet, } from "./agentPassport.js";
|
|
11
11
|
// ── Canonical route-specific v1.3 settlement ─────────────────────────────
|
|
12
12
|
export { SettlementClient, SettlementProtocolError, SettlementConfirmationPendingError, validateSettlementInvoice, validateTrustedSettlementRoutePin, verifySettlementRouteOnChain, executeSettlementInvoice, SETTLEMENT_CHAIN_IDS, SETTLEMENT_EXPECTED_BPS, } from "./settlement.js";
|
|
13
|
+
// Thrown by SettlementClient for transport failures (timeout, refused redirect,
|
|
14
|
+
// oversized response) — export it so callers can tell those from protocol errors.
|
|
15
|
+
export { SettlementHttpError } from "./settlementHttp.js";
|
|
13
16
|
export * from "./settlementV14.js";
|
|
14
17
|
// ── Unified surface (Phase 1+ / legacy callers remain source-compatible) ──
|
|
15
18
|
export { SPLITTER_ROUTES, SPLITTER_GOVERNANCE, SPLITTER_REGISTRY_SOURCE, resolveSplitterRoute, resolveSettlingSplitterRoute, UnknownSplitterRouteError, SplitterRouteNotSettlingError, } from "./splitterRoutes.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,4EAA4E;AAC5E,OAAO,EACL,kBAAkB,EAClB,gCAAgC,EAChC,oBAAoB,EACpB,kCAAkC,EAClC,8BAA8B,EAC9B,kBAAkB,EAClB,mBAAmB,EACnB,iCAAiC,EACjC,iCAAiC,EACjC,kCAAkC,EAClC,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAa5B,4EAA4E;AAC5E,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,kCAAkC,EAClC,yBAAyB,EACzB,iCAAiC,EACjC,4BAA4B,EAC5B,wBAAwB,EACxB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AACzB,cAAc,oBAAoB,CAAC;AAenC,6EAA6E;AAC7E,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACpB,4BAA4B,EAC5B,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,qBAAqB,CAAC;AAE7B,iEAAiE;AACjE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3D,4EAA4E;AAC5E,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,uBAAuB,EACvB,0BAA0B,EAC1B,uBAAuB,EACvB,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AAQjC,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAGpH,4EAA4E;AAC5E,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,gCAAgC,EAChC,6BAA6B,EAC7B,yBAAyB,EACzB,6BAA6B,EAC7B,uBAAuB,GACxB,MAAM,+BAA+B,CAAC;AAOvC,OAAO,EACL,sBAAsB,EACtB,6BAA6B,EAC7B,mBAAmB,GACpB,MAAM,+CAA+C,CAAC;AAGvD,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAgBtF,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EACf,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAE3B,4EAA4E;AAC5E,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,WAAW,EACX,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,2BAA2B,EAC3B,mBAAmB,EACnB,aAAa,GACd,MAAM,YAAY,CAAC;AAcpB,OAAO,EACL,UAAU,EACV,eAAe,EACf,aAAa,EACb,+BAA+B,EAC/B,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AAEpB,6EAA6E;AAC7E,OAAO,EACL,WAAW,EACX,aAAa,EACb,oBAAoB,EACpB,UAAU,EACV,WAAW,EACX,YAAY,GACb,MAAM,iBAAiB,CAAC;AAGzB,4EAA4E;AAC5E,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EACL,aAAa,EACb,8BAA8B,EAC9B,mBAAmB,EACnB,wBAAwB,EACxB,iBAAiB,EACjB,2BAA2B,EAC3B,SAAS,EACT,WAAW,GACZ,MAAM,aAAa,CAAC;AAErB,kFAAkF;AAClF,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { SdkEnvironment } from "./deploymentResolver.js";
|
|
2
|
+
/** Solana clusters the resolver understands. `dev` maps to devnet, `prod` to
|
|
3
|
+
* mainnet-beta. */
|
|
4
|
+
export type SolanaNetwork = "devnet" | "mainnet";
|
|
5
|
+
/** A Solana splitter v1.4 deployment, as recorded by the deploy scripts. */
|
|
6
|
+
export interface SolanaV14Deployment {
|
|
7
|
+
network: SolanaNetwork;
|
|
8
|
+
/** Which SDK environment this deployment belongs to: devnet is the dev
|
|
9
|
+
* target, mainnet is prod. */
|
|
10
|
+
environment: SdkEnvironment;
|
|
11
|
+
splitterVersion: "1.4";
|
|
12
|
+
/** Base58 on-chain program id, from the deploy log's "Canonical program ID
|
|
13
|
+
* confirmed" line. Never hardcoded in resolver logic — read from here. */
|
|
14
|
+
programId: string;
|
|
15
|
+
/** IDL metadata (Anchor), for callers that load the IDL. */
|
|
16
|
+
idl: {
|
|
17
|
+
name: string;
|
|
18
|
+
version: string;
|
|
19
|
+
/** Path of the source IDL artifact in solana-contract, for provenance. */
|
|
20
|
+
artifact: string;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
/** Where this table came from, so a build can be traced to a commit. */
|
|
24
|
+
export declare const SOLANA_V14_DEPLOYMENTS_SOURCE: {
|
|
25
|
+
readonly repo: "AiFinPay/solana-contract";
|
|
26
|
+
readonly branch: "dev";
|
|
27
|
+
readonly commit: "8a13d10d6210cd37345f7ae6684068bf849e24b1";
|
|
28
|
+
readonly path: "deployments/splitter_v14/";
|
|
29
|
+
};
|
|
30
|
+
/** Solana v1.4 deployments, keyed by cluster. Devnet is dev-only; mainnet is
|
|
31
|
+
* prod-only. Absence of a cluster here means no v1.4 deployment for it. */
|
|
32
|
+
export declare const SOLANA_V14_DEPLOYMENTS: Record<string, SolanaV14Deployment>;
|
|
33
|
+
/** The single development cluster Solana v1.4 supports today. */
|
|
34
|
+
export declare const SOLANA_DEV_NETWORKS: readonly ["devnet"];
|
|
35
|
+
//# sourceMappingURL=solanaV14Deployments.generated.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solanaV14Deployments.generated.d.ts","sourceRoot":"","sources":["../src/solanaV14Deployments.generated.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D;oBACoB;AACpB,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEjD,4EAA4E;AAC5E,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,aAAa,CAAC;IACvB;mCAC+B;IAC/B,WAAW,EAAE,cAAc,CAAC;IAC5B,eAAe,EAAE,KAAK,CAAC;IACvB;+EAC2E;IAC3E,SAAS,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,GAAG,EAAE;QACH,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,0EAA0E;QAC1E,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED,wEAAwE;AACxE,eAAO,MAAM,6BAA6B;;;;;CAKhC,CAAC;AAEX;4EAC4E;AAC5E,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAyBtE,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,mBAAmB,qBAAsB,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
// DO NOT EDIT BY HAND. Bundled copy of the Solana splitter v1.4 deployment
|
|
2
|
+
// artifacts from AiFinPay/solana-contract, so a shipped build resolves the
|
|
3
|
+
// Solana program id without a runtime GitHub fetch — the same discipline as
|
|
4
|
+
// v14Deployments.generated.ts (EVM) and splitterRoutes.generated.ts.
|
|
5
|
+
//
|
|
6
|
+
// Source: AiFinPay/solana-contract @ dev (commit
|
|
7
|
+
// 8a13d10d6210cd37345f7ae6684068bf849e24b1), files:
|
|
8
|
+
// deployments/splitter_v14/splitter.mainnet.20260910-170049.json (mainnet IDL)
|
|
9
|
+
// deployments/splitter_v14/splitter-mainnet-deploy-20260910-170049.log
|
|
10
|
+
// deployments/splitter_v14/splitter.devnet.20260910-143306.json (devnet IDL)
|
|
11
|
+
// deployments/splitter_v14/splitter-deploy-20260910-143306.log
|
|
12
|
+
//
|
|
13
|
+
// To refresh: read the same files off solana-contract's dev branch, e.g.
|
|
14
|
+
// git show origin/dev:deployments/splitter_v14/splitter.mainnet.<ts>.json
|
|
15
|
+
// and update the program ids below. Development deployments are, by design,
|
|
16
|
+
// devnet; production is mainnet-beta. The program id in each entry is the
|
|
17
|
+
// canonical program id confirmed in the deploy log for that cluster.
|
|
18
|
+
//
|
|
19
|
+
// NOTE ON FALLBACK: unlike EVM (which falls back v1.4 -> v1.2), Solana has NO
|
|
20
|
+
// v1.2-equivalent splitter to fall back to. The previous Solana program
|
|
21
|
+
// (5g9zWHF1Vv6GiGpA2ZbJQbSCDZd5hAk9AyvabRJvKFx2) was closed and removed from
|
|
22
|
+
// mainnet, and the SDK never bundled it — it takes the program id at runtime
|
|
23
|
+
// from the bridge's pay_solana challenge. So the Solana resolver offers v1.4
|
|
24
|
+
// only; "auto" resolves v1.4 and raises a typed no-deployment error where v1.4
|
|
25
|
+
// is absent rather than inventing a downgrade.
|
|
26
|
+
/** Where this table came from, so a build can be traced to a commit. */
|
|
27
|
+
export const SOLANA_V14_DEPLOYMENTS_SOURCE = {
|
|
28
|
+
repo: "AiFinPay/solana-contract",
|
|
29
|
+
branch: "dev",
|
|
30
|
+
commit: "8a13d10d6210cd37345f7ae6684068bf849e24b1",
|
|
31
|
+
path: "deployments/splitter_v14/",
|
|
32
|
+
};
|
|
33
|
+
/** Solana v1.4 deployments, keyed by cluster. Devnet is dev-only; mainnet is
|
|
34
|
+
* prod-only. Absence of a cluster here means no v1.4 deployment for it. */
|
|
35
|
+
export const SOLANA_V14_DEPLOYMENTS = {
|
|
36
|
+
devnet: {
|
|
37
|
+
network: "devnet",
|
|
38
|
+
environment: "dev",
|
|
39
|
+
splitterVersion: "1.4",
|
|
40
|
+
programId: "Dg9v95m6ofTwaU9V69PNAyRaKeELwxrne4THUYuUTeon",
|
|
41
|
+
idl: {
|
|
42
|
+
name: "splitter",
|
|
43
|
+
version: "1.4.1",
|
|
44
|
+
artifact: "deployments/splitter_v14/splitter.devnet.20260910-143306.json",
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
mainnet: {
|
|
48
|
+
network: "mainnet",
|
|
49
|
+
environment: "prod",
|
|
50
|
+
splitterVersion: "1.4",
|
|
51
|
+
programId: "8dty5bD738Z9TzEkDu8vLSnhpJNWtEGMUEcYaKCUTY6y",
|
|
52
|
+
idl: {
|
|
53
|
+
name: "splitter",
|
|
54
|
+
version: "1.4.1",
|
|
55
|
+
artifact: "deployments/splitter_v14/splitter.mainnet.20260910-170049.json",
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
/** The single development cluster Solana v1.4 supports today. */
|
|
60
|
+
export const SOLANA_DEV_NETWORKS = ["devnet"];
|
|
61
|
+
//# sourceMappingURL=solanaV14Deployments.generated.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solanaV14Deployments.generated.js","sourceRoot":"","sources":["../src/solanaV14Deployments.generated.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,2EAA2E;AAC3E,4EAA4E;AAC5E,qEAAqE;AACrE,EAAE;AACF,iDAAiD;AACjD,oDAAoD;AACpD,kFAAkF;AAClF,yEAAyE;AACzE,iFAAiF;AACjF,iEAAiE;AACjE,EAAE;AACF,yEAAyE;AACzE,4EAA4E;AAC5E,4EAA4E;AAC5E,0EAA0E;AAC1E,qEAAqE;AACrE,EAAE;AACF,8EAA8E;AAC9E,wEAAwE;AACxE,6EAA6E;AAC7E,6EAA6E;AAC7E,6EAA6E;AAC7E,+EAA+E;AAC/E,+CAA+C;AA2B/C,wEAAwE;AACxE,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,IAAI,EAAE,0BAA0B;IAChC,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,0CAA0C;IAClD,IAAI,EAAE,2BAA2B;CACzB,CAAC;AAEX;4EAC4E;AAC5E,MAAM,CAAC,MAAM,sBAAsB,GAAwC;IACzE,MAAM,EAAE;QACN,OAAO,EAAE,QAAQ;QACjB,WAAW,EAAE,KAAK;QAClB,eAAe,EAAE,KAAK;QACtB,SAAS,EAAE,8CAA8C;QACzD,GAAG,EAAE;YACH,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,OAAO;YAChB,QAAQ,EACN,+DAA+D;SAClE;KACF;IACD,OAAO,EAAE;QACP,OAAO,EAAE,SAAS;QAClB,WAAW,EAAE,MAAM;QACnB,eAAe,EAAE,KAAK;QACtB,SAAS,EAAE,8CAA8C;QACzD,GAAG,EAAE;YACH,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,OAAO;YAChB,QAAQ,EACN,gEAAgE;SACnE;KACF;CACF,CAAC;AAEF,iEAAiE;AACjE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,QAAQ,CAAU,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { SplitterRouteDeployment, SplitterRouteKey } from "./splitterRoutes.js";
|
|
2
|
+
/** Where this table came from, so a deployed build can be traced to a commit. */
|
|
3
|
+
export declare const SPLITTER_REGISTRY_SOURCE: {
|
|
4
|
+
readonly repo: "AiFinPay/evm-contract";
|
|
5
|
+
readonly path: "registry/generated/splitter-table.json";
|
|
6
|
+
readonly commit: "64e245fd613e97f95195239238d6ac75484a8a21";
|
|
7
|
+
readonly artifactSha256: "36ee672b1deccd7b851460b459af26984ca07802477bc8c1e78018f5d5154827";
|
|
8
|
+
readonly schemaVersion: 4;
|
|
9
|
+
readonly registryUpdatedAt: "2026-08-30";
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* The governance Safe that owns every splitter below, and the exact signer
|
|
13
|
+
* shape it was verified under. Read from the chain by verify-registry.mjs, which
|
|
14
|
+
* compares the signer set and threshold exactly rather than as a floor.
|
|
15
|
+
*/
|
|
16
|
+
export declare const SPLITTER_GOVERNANCE: {
|
|
17
|
+
readonly safe: "0xFd936f75D9221949f2FEaB54Cd342F7527154eD5";
|
|
18
|
+
readonly threshold: 3;
|
|
19
|
+
readonly owners: readonly ["0x2118c57dEBD53f614DDfE464Ff2941BE6646cA82", "0x3C31dd9daCeC5473cC9B660CD69247A20701cF19", "0x25A834b6fEC79e9ee6ED04Ef5b97440149C6Cc24", "0x1D5eF769A024B3157c76884fbd10302d8d83fAB9", "0x849930eB20ED0a697c71BcE565f18702D202C0F8"];
|
|
20
|
+
};
|
|
21
|
+
export declare const SPLITTER_ROUTES: Record<SplitterRouteKey, SplitterRouteDeployment>;
|
|
22
|
+
//# sourceMappingURL=splitterRoutes.generated.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"splitterRoutes.generated.d.ts","sourceRoot":"","sources":["../src/splitterRoutes.generated.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAErF,iFAAiF;AACjF,eAAO,MAAM,wBAAwB;;;;;;;CAO3B,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,mBAAmB;;;;CAUtB,CAAC;AAEX,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,gBAAgB,EAAE,uBAAuB,CAqa7E,CAAC"}
|