@aifinpay/deployments 2.1.3 → 2.1.5

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 CHANGED
@@ -33,6 +33,7 @@ const csv = evmRegistry.exportAsCsv();
33
33
  // Query artifacts
34
34
  const abi = artifacts.getEvmAbi("B2BSplitterV14", "1.4");
35
35
  const solanaIdl = artifacts.getSolanaIdl("mainnet");
36
+ const nearAbi = artifacts.getNearAbi("aifinpay-near-contract");
36
37
  ```
37
38
 
38
39
  See [USAGE.md](./USAGE.md) for complete documentation.
@@ -84,6 +85,7 @@ registry/
84
85
  │ │ └── v1.1/deployments.json # EVM v1.1 legacy
85
86
  │ ├── solana/deployments.json # Solana v1.4 program deployments
86
87
  │ ├── casper/deployments.json # Casper deployments
88
+ │ ├── near/deployments.json # Curated NEAR account/WASM snapshots
87
89
  │ └── aptos/ # Aptos deployment snapshots
88
90
  │ ├── deployments.json
89
91
  │ └── multisig-deployments.json
@@ -108,6 +110,11 @@ Aptos records are curated package data, not outputs of `registry:build`. See the
108
110
  [Aptos registry guide](registry/splitter/aptos/README.md) for snapshot
109
111
  provenance and refresh instructions.
110
112
 
113
+ NEAR deployment records are curated package data, not grabber outputs or
114
+ programmatic deployment lookup APIs. NEAR ABI documents are available through
115
+ `ArtifactRegistry`. See the [NEAR registry guide](registry/splitter/near/README.md)
116
+ for provenance, field normalization, governance caveats, and refresh instructions.
117
+
111
118
  ## Exports
112
119
 
113
120
  ### Deployment Registry
@@ -136,6 +143,8 @@ provenance and refresh instructions.
136
143
  - `getCasperIdl(network)` — Casper IDL (mainnet/testnet)
137
144
  - `getAptosIdl(contractName, version?)` — Aptos IDL
138
145
  - `getTronAbi(contractName, version?)` — Tron ABI
146
+ - `getNearAbi(contractName, version?)` — NEAR ABI document
147
+ - `getAllNearAbis()` — all loaded NEAR ABI documents
139
148
 
140
149
  ### Legacy grabber (deprecated)
141
150
 
@@ -148,4 +157,4 @@ provenance and refresh instructions.
148
157
  ### Types
149
158
 
150
159
  - `DeploymentRegistry`, `EcosystemRegistry`, `Deployment`, `EvmDeployment`, `SolanaDeployment`, `Stablecoin`
151
- - `EvmDeploymentRecord`, `SolanaDeploymentRecord`, `EvmAbiArtifact`, `SolanaIdlArtifact`
160
+ - `EvmDeploymentRecord`, `SolanaDeploymentRecord`, `EvmAbiArtifact`, `SolanaIdlArtifact`, `NearAbiArtifact`
package/USAGE.md CHANGED
@@ -318,6 +318,23 @@ const versionedAbi = artifacts.getTronAbi("B2BSplitter", "1.4");
318
318
  const allAbis = artifacts.getAllTronAbis();
319
319
  ```
320
320
 
321
+ ### NEAR ABI
322
+
323
+ ```typescript
324
+ const artifacts = ArtifactRegistry.load();
325
+
326
+ // Get the complete ABI document by contract name and optional version
327
+ const nearAbi = artifacts.getNearAbi("aifinpay-near-contract", "1.4.0");
328
+ if (nearAbi) {
329
+ console.log(nearAbi.contractName);
330
+ console.log(nearAbi.version);
331
+ console.log(nearAbi.abi); // Includes metadata and body
332
+ }
333
+
334
+ // Get all loaded NEAR ABI documents
335
+ const allNearAbis = artifacts.getAllNearAbis();
336
+ ```
337
+
321
338
  ---
322
339
 
323
340
  ## Complete Examples
@@ -455,6 +472,7 @@ import type {
455
472
  SolanaDeploymentRecord,
456
473
  EvmAbiArtifact,
457
474
  SolanaIdlArtifact,
475
+ NearAbiArtifact,
458
476
  } from "@aifinpay/deployments";
459
477
 
460
478
  // EVM deployment record
@@ -500,6 +518,12 @@ interface SolanaIdlArtifact {
500
518
  cluster: "mainnet" | "devnet";
501
519
  idl: unknown;
502
520
  }
521
+
522
+ interface NearAbiArtifact {
523
+ contractName: string;
524
+ version: string;
525
+ abi: unknown;
526
+ }
503
527
  ```
504
528
 
505
529
  ---
@@ -522,6 +546,7 @@ registry/
522
546
  │ ├── evm/
523
547
  │ │ ├── B2BSplitterV14/
524
548
  │ │ └── TimelockWrapper/
549
+ │ ├── near/
525
550
  │ └── tron/
526
551
  └── idl/
527
552
  ├── solana/splitter-v14/
@@ -26,6 +26,11 @@ export interface TronAbiArtifact {
26
26
  version: string;
27
27
  abi: unknown[];
28
28
  }
29
+ export interface NearAbiArtifact {
30
+ contractName: string;
31
+ version: string;
32
+ abi: unknown;
33
+ }
29
34
  /**
30
35
  * Programmatic interface to query ABI and IDL artifacts.
31
36
  * Provides type-safe access to contract interface definitions.
@@ -36,6 +41,7 @@ export declare class ArtifactRegistry {
36
41
  private casperIdlCache;
37
42
  private aptosIdlCache;
38
43
  private tronAbiCache;
44
+ private nearAbiCache;
39
45
  private constructor();
40
46
  static load(): ArtifactRegistry;
41
47
  private loadEvmAbiArtifacts;
@@ -43,6 +49,7 @@ export declare class ArtifactRegistry {
43
49
  private loadCasperIdlArtifacts;
44
50
  private loadAptosIdlArtifacts;
45
51
  private loadTronAbiArtifacts;
52
+ private loadNearAbiArtifacts;
46
53
  getEvmAbi(contractName: string, version?: string): EvmAbiArtifact | null;
47
54
  getAllEvmAbis(): EvmAbiArtifact[];
48
55
  getSolanaIdl(cluster: "mainnet" | "devnet"): SolanaIdlArtifact | null;
@@ -53,6 +60,8 @@ export declare class ArtifactRegistry {
53
60
  getAllAptosIdls(): AptosIdlArtifact[];
54
61
  getTronAbi(contractName: string, version?: string): TronAbiArtifact | null;
55
62
  getAllTronAbis(): TronAbiArtifact[];
63
+ getNearAbi(contractName: string, version?: string): NearAbiArtifact | null;
64
+ getAllNearAbis(): NearAbiArtifact[];
56
65
  private readDirectories;
57
66
  private readJsonFiles;
58
67
  private extractContractName;
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts.d.ts","sourceRoot":"","sources":["../src/artifacts.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,OAAO,EAAE,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC9B,GAAG,EAAE,OAAO,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC;IAC/B,GAAG,EAAE,OAAO,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,OAAO,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,OAAO,EAAE,CAAC;CAChB;AAED;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,cAAc,CAAgD;IACtE,OAAO,CAAC,aAAa,CAAgC;IACrD,OAAO,CAAC,YAAY,CAA+B;IAEnD,OAAO,eAMN;IAED,MAAM,CAAC,IAAI,IAAI,gBAAgB,CAQ9B;IAED,OAAO,CAAC,mBAAmB;IAuB3B,OAAO,CAAC,sBAAsB;IAoB9B,OAAO,CAAC,sBAAsB;IAoB9B,OAAO,CAAC,qBAAqB;IAmB7B,OAAO,CAAC,oBAAoB;IAmB5B,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,GAAE,MAAc,GAAG,cAAc,GAAG,IAAI,CAG9E;IAED,aAAa,IAAI,cAAc,EAAE,CAEhC;IAED,YAAY,CAAC,OAAO,EAAE,SAAS,GAAG,QAAQ,GAAG,iBAAiB,GAAG,IAAI,CAEpE;IAED,gBAAgB,IAAI,iBAAiB,EAAE,CAEtC;IAED,YAAY,CAAC,OAAO,EAAE,SAAS,GAAG,SAAS,GAAG,iBAAiB,GAAG,IAAI,CAErE;IAED,gBAAgB,IAAI,iBAAiB,EAAE,CAEtC;IAED,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAW3E;IAED,eAAe,IAAI,gBAAgB,EAAE,CAEpC;IAED,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAWzE;IAED,cAAc,IAAI,eAAe,EAAE,CAElC;IAED,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,6BAA6B;IAQrC,OAAO,CAAC,cAAc;CAKvB"}
1
+ {"version":3,"file":"artifacts.d.ts","sourceRoot":"","sources":["../src/artifacts.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,OAAO,EAAE,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC9B,GAAG,EAAE,OAAO,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC;IAC/B,GAAG,EAAE,OAAO,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,OAAO,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,OAAO,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,OAAO,CAAC;CACd;AAED;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,cAAc,CAAgD;IACtE,OAAO,CAAC,aAAa,CAAgC;IACrD,OAAO,CAAC,YAAY,CAA+B;IACnD,OAAO,CAAC,YAAY,CAA+B;IAEnD,OAAO,eAON;IAED,MAAM,CAAC,IAAI,IAAI,gBAAgB,CAS9B;IAED,OAAO,CAAC,mBAAmB;IAuB3B,OAAO,CAAC,sBAAsB;IAoB9B,OAAO,CAAC,sBAAsB;IAoB9B,OAAO,CAAC,qBAAqB;IAmB7B,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,oBAAoB;IAkB5B,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,GAAE,MAAc,GAAG,cAAc,GAAG,IAAI,CAG9E;IAED,aAAa,IAAI,cAAc,EAAE,CAEhC;IAED,YAAY,CAAC,OAAO,EAAE,SAAS,GAAG,QAAQ,GAAG,iBAAiB,GAAG,IAAI,CAEpE;IAED,gBAAgB,IAAI,iBAAiB,EAAE,CAEtC;IAED,YAAY,CAAC,OAAO,EAAE,SAAS,GAAG,SAAS,GAAG,iBAAiB,GAAG,IAAI,CAErE;IAED,gBAAgB,IAAI,iBAAiB,EAAE,CAEtC;IAED,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAW3E;IAED,eAAe,IAAI,gBAAgB,EAAE,CAEpC;IAED,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAWzE;IAED,cAAc,IAAI,eAAe,EAAE,CAElC;IAED,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAWzE;IAED,cAAc,IAAI,eAAe,EAAE,CAElC;IAED,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,6BAA6B;IAQrC,OAAO,CAAC,cAAc;CAKvB"}
package/dist/artifacts.js CHANGED
@@ -15,12 +15,14 @@ export class ArtifactRegistry {
15
15
  casperIdlCache;
16
16
  aptosIdlCache;
17
17
  tronAbiCache;
18
+ nearAbiCache;
18
19
  constructor() {
19
20
  this.evmAbiCache = new Map();
20
21
  this.solanaIdlCache = new Map();
21
22
  this.casperIdlCache = new Map();
22
23
  this.aptosIdlCache = new Map();
23
24
  this.tronAbiCache = new Map();
25
+ this.nearAbiCache = new Map();
24
26
  }
25
27
  static load() {
26
28
  const registry = new ArtifactRegistry();
@@ -29,6 +31,7 @@ export class ArtifactRegistry {
29
31
  registry.loadCasperIdlArtifacts();
30
32
  registry.loadAptosIdlArtifacts();
31
33
  registry.loadTronAbiArtifacts();
34
+ registry.loadNearAbiArtifacts();
32
35
  return registry;
33
36
  }
34
37
  loadEvmAbiArtifacts() {
@@ -127,6 +130,23 @@ export class ArtifactRegistry {
127
130
  this.tronAbiCache.set(key, artifact);
128
131
  }
129
132
  }
133
+ loadNearAbiArtifacts() {
134
+ const nearDir = join(ABI_DIR, "near");
135
+ if (!existsSync(nearDir))
136
+ return;
137
+ const jsonFiles = this.readJsonFiles(nearDir);
138
+ for (const file of jsonFiles) {
139
+ const content = JSON.parse(readFileSync(file, "utf-8"));
140
+ const contractName = content.metadata.name;
141
+ const version = content.metadata.version;
142
+ const artifact = {
143
+ contractName,
144
+ version,
145
+ abi: content,
146
+ };
147
+ this.nearAbiCache.set(`${contractName}@${version}`, artifact);
148
+ }
149
+ }
130
150
  getEvmAbi(contractName, version = "1.4") {
131
151
  const key = `${contractName}@${version}`;
132
152
  return this.evmAbiCache.get(key) ?? null;
@@ -176,6 +196,21 @@ export class ArtifactRegistry {
176
196
  getAllTronAbis() {
177
197
  return Array.from(this.tronAbiCache.values());
178
198
  }
199
+ getNearAbi(contractName, version) {
200
+ if (version) {
201
+ const key = `${contractName}@${version}`;
202
+ return this.nearAbiCache.get(key) ?? null;
203
+ }
204
+ for (const [key, artifact] of this.nearAbiCache.entries()) {
205
+ if (key.startsWith(`${contractName}@`)) {
206
+ return artifact;
207
+ }
208
+ }
209
+ return null;
210
+ }
211
+ getAllNearAbis() {
212
+ return Array.from(this.nearAbiCache.values());
213
+ }
179
214
  readDirectories(dir) {
180
215
  if (!existsSync(dir))
181
216
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../src/artifacts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../src/artifacts.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -4,5 +4,5 @@ export { isEvmDeployment, isSolanaDeployment } from "./types.js";
4
4
  export { getEvmDeployment, getSolanaDeployment } from "./grabber.js";
5
5
  export { AifinpayRegistry } from "./registry.js";
6
6
  export { ArtifactRegistry } from "./artifacts.js";
7
- export type { EvmAbiArtifact, SolanaIdlArtifact, CasperIdlArtifact, AptosIdlArtifact, TronAbiArtifact, } from "./artifacts.js";
7
+ export type { EvmAbiArtifact, SolanaIdlArtifact, CasperIdlArtifact, AptosIdlArtifact, TronAbiArtifact, NearAbiArtifact, } from "./artifacts.js";
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,OAAO,EACP,OAAO,GACR,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,YAAY,EACV,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,GAChB,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,OAAO,EACP,OAAO,GACR,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,YAAY,EACV,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,eAAe,GAChB,MAAM,gBAAgB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aifinpay/deployments",
3
- "version": "2.1.3",
3
+ "version": "2.1.5",
4
4
  "description": "Contracts deployment registry for AiFinPay SDK and Agent Passport identity and settlement protocol.",
5
5
  "keywords": [
6
6
  "aifinpay",
@@ -37,12 +37,6 @@
37
37
  "USAGE.md",
38
38
  "LICENSE"
39
39
  ],
40
- "scripts": {
41
- "build": "tsc -p tsconfig.json",
42
- "registry:build": "node dist/build.js",
43
- "test": "vitest run",
44
- "prepublishOnly": "npm run build"
45
- },
46
40
  "license": "MIT",
47
41
  "repository": {
48
42
  "type": "git",
@@ -56,5 +50,10 @@
56
50
  },
57
51
  "publishConfig": {
58
52
  "access": "public"
53
+ },
54
+ "scripts": {
55
+ "build": "tsc -p tsconfig.json",
56
+ "registry:build": "node dist/build.js",
57
+ "test": "vitest run"
59
58
  }
60
- }
59
+ }
@@ -0,0 +1,860 @@
1
+ {
2
+ "schema_version": "0.4.0",
3
+ "metadata": {
4
+ "name": "aifinpay-near-contract",
5
+ "version": "1.4.0"
6
+ },
7
+ "body": {
8
+ "functions": [
9
+ {
10
+ "name": "cleanup_settled",
11
+ "doc": " Remove settled/refunded payment history (NEAR-MED-003).",
12
+ "kind": "call",
13
+ "params": {
14
+ "serialization_type": "json",
15
+ "args": [
16
+ {
17
+ "name": "payment_ids",
18
+ "type_schema": {
19
+ "type": "array",
20
+ "items": {
21
+ "type": "string"
22
+ }
23
+ }
24
+ }
25
+ ]
26
+ }
27
+ },
28
+ {
29
+ "name": "configure_route",
30
+ "doc": " Create or update a route profile. Only the admin may call.",
31
+ "kind": "call",
32
+ "params": {
33
+ "serialization_type": "json",
34
+ "args": [
35
+ {
36
+ "name": "route_id",
37
+ "type_schema": {
38
+ "type": "string"
39
+ }
40
+ },
41
+ {
42
+ "name": "treasury_bps",
43
+ "type_schema": {
44
+ "type": "integer",
45
+ "format": "uint16",
46
+ "minimum": 0.0
47
+ }
48
+ },
49
+ {
50
+ "name": "ip_creator_bps",
51
+ "type_schema": {
52
+ "type": "integer",
53
+ "format": "uint16",
54
+ "minimum": 0.0
55
+ }
56
+ },
57
+ {
58
+ "name": "route_treasury",
59
+ "type_schema": {
60
+ "description": "NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::<AccountId>().is_err()); // (ƒ is not f) ```",
61
+ "type": [
62
+ "string",
63
+ "null"
64
+ ]
65
+ }
66
+ }
67
+ ]
68
+ }
69
+ },
70
+ {
71
+ "name": "contract_source_metadata",
72
+ "kind": "view"
73
+ },
74
+ {
75
+ "name": "disable_route",
76
+ "kind": "call",
77
+ "params": {
78
+ "serialization_type": "json",
79
+ "args": [
80
+ {
81
+ "name": "route_id",
82
+ "type_schema": {
83
+ "type": "string"
84
+ }
85
+ }
86
+ ]
87
+ }
88
+ },
89
+ {
90
+ "name": "enable_route",
91
+ "kind": "call",
92
+ "params": {
93
+ "serialization_type": "json",
94
+ "args": [
95
+ {
96
+ "name": "route_id",
97
+ "type_schema": {
98
+ "type": "string"
99
+ }
100
+ }
101
+ ]
102
+ }
103
+ },
104
+ {
105
+ "name": "get_admin",
106
+ "kind": "view",
107
+ "result": {
108
+ "serialization_type": "json",
109
+ "type_schema": {
110
+ "description": "NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::<AccountId>().is_err()); // (ƒ is not f) ```",
111
+ "type": "string"
112
+ }
113
+ }
114
+ },
115
+ {
116
+ "name": "get_pauser",
117
+ "kind": "view",
118
+ "result": {
119
+ "serialization_type": "json",
120
+ "type_schema": {
121
+ "description": "NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::<AccountId>().is_err()); // (ƒ is not f) ```",
122
+ "type": "string"
123
+ }
124
+ }
125
+ },
126
+ {
127
+ "name": "get_payer_nonce",
128
+ "kind": "view",
129
+ "params": {
130
+ "serialization_type": "json",
131
+ "args": [
132
+ {
133
+ "name": "payer",
134
+ "type_schema": {
135
+ "description": "NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::<AccountId>().is_err()); // (ƒ is not f) ```",
136
+ "type": "string"
137
+ }
138
+ }
139
+ ]
140
+ },
141
+ "result": {
142
+ "serialization_type": "json",
143
+ "type_schema": {
144
+ "type": "integer",
145
+ "format": "uint64",
146
+ "minimum": 0.0
147
+ }
148
+ }
149
+ },
150
+ {
151
+ "name": "get_payment_count",
152
+ "kind": "view",
153
+ "result": {
154
+ "serialization_type": "json",
155
+ "type_schema": {
156
+ "type": "integer",
157
+ "format": "uint64",
158
+ "minimum": 0.0
159
+ }
160
+ }
161
+ },
162
+ {
163
+ "name": "get_payment_status",
164
+ "kind": "view",
165
+ "params": {
166
+ "serialization_type": "json",
167
+ "args": [
168
+ {
169
+ "name": "payment_id",
170
+ "type_schema": {
171
+ "type": "string"
172
+ }
173
+ }
174
+ ]
175
+ },
176
+ "result": {
177
+ "serialization_type": "json",
178
+ "type_schema": {
179
+ "type": [
180
+ "string",
181
+ "null"
182
+ ]
183
+ }
184
+ }
185
+ },
186
+ {
187
+ "name": "get_recovery_obligation",
188
+ "kind": "view",
189
+ "params": {
190
+ "serialization_type": "json",
191
+ "args": [
192
+ {
193
+ "name": "payment_id",
194
+ "type_schema": {
195
+ "type": "string"
196
+ }
197
+ }
198
+ ]
199
+ },
200
+ "result": {
201
+ "serialization_type": "json",
202
+ "type_schema": {
203
+ "anyOf": [
204
+ {
205
+ "$ref": "#/definitions/RecoveryObligationView"
206
+ },
207
+ {
208
+ "type": "null"
209
+ }
210
+ ]
211
+ }
212
+ }
213
+ },
214
+ {
215
+ "name": "get_route",
216
+ "kind": "view",
217
+ "params": {
218
+ "serialization_type": "json",
219
+ "args": [
220
+ {
221
+ "name": "route_id",
222
+ "type_schema": {
223
+ "type": "string"
224
+ }
225
+ }
226
+ ]
227
+ },
228
+ "result": {
229
+ "serialization_type": "json",
230
+ "type_schema": {
231
+ "anyOf": [
232
+ {
233
+ "$ref": "#/definitions/RouteProfileEntry"
234
+ },
235
+ {
236
+ "type": "null"
237
+ }
238
+ ]
239
+ }
240
+ }
241
+ },
242
+ {
243
+ "name": "get_routes",
244
+ "kind": "view",
245
+ "result": {
246
+ "serialization_type": "json",
247
+ "type_schema": {
248
+ "type": "array",
249
+ "items": {
250
+ "$ref": "#/definitions/RouteProfileEntry"
251
+ }
252
+ }
253
+ }
254
+ },
255
+ {
256
+ "name": "get_signer",
257
+ "doc": " Operator secp256k1 key (uncompressed x || y) authorizing quotes.",
258
+ "kind": "view",
259
+ "result": {
260
+ "serialization_type": "json",
261
+ "type_schema": {
262
+ "type": "array",
263
+ "items": {
264
+ "type": "integer",
265
+ "format": "uint8",
266
+ "minimum": 0.0
267
+ }
268
+ }
269
+ }
270
+ },
271
+ {
272
+ "name": "get_total_settled",
273
+ "kind": "view",
274
+ "result": {
275
+ "serialization_type": "json",
276
+ "type_schema": {
277
+ "type": "string"
278
+ }
279
+ }
280
+ },
281
+ {
282
+ "name": "get_treasury",
283
+ "kind": "view",
284
+ "result": {
285
+ "serialization_type": "json",
286
+ "type_schema": {
287
+ "description": "NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::<AccountId>().is_err()); // (ƒ is not f) ```",
288
+ "type": "string"
289
+ }
290
+ }
291
+ },
292
+ {
293
+ "name": "grant_signer_role",
294
+ "doc": " Assign the operator key authorizing quotes (initial grant).\n Mirrors Solana `grant_signer_role`; admin-only.",
295
+ "kind": "call",
296
+ "params": {
297
+ "serialization_type": "json",
298
+ "args": [
299
+ {
300
+ "name": "new_signer",
301
+ "type_schema": {
302
+ "type": "array",
303
+ "items": {
304
+ "type": "integer",
305
+ "format": "uint8",
306
+ "minimum": 0.0
307
+ }
308
+ }
309
+ }
310
+ ]
311
+ }
312
+ },
313
+ {
314
+ "name": "is_paused",
315
+ "kind": "view",
316
+ "result": {
317
+ "serialization_type": "json",
318
+ "type_schema": {
319
+ "type": "boolean"
320
+ }
321
+ }
322
+ },
323
+ {
324
+ "name": "new",
325
+ "doc": " Initialise the splitter with admin, pauser, treasury, operator\n signing key and route table. The contract starts **paused**; the\n admin must explicitly unpause after verifying the deployment.",
326
+ "kind": "call",
327
+ "modifiers": [
328
+ "init"
329
+ ],
330
+ "params": {
331
+ "serialization_type": "json",
332
+ "args": [
333
+ {
334
+ "name": "admin",
335
+ "type_schema": {
336
+ "description": "NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::<AccountId>().is_err()); // (ƒ is not f) ```",
337
+ "type": "string"
338
+ }
339
+ },
340
+ {
341
+ "name": "pauser",
342
+ "type_schema": {
343
+ "description": "NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::<AccountId>().is_err()); // (ƒ is not f) ```",
344
+ "type": "string"
345
+ }
346
+ },
347
+ {
348
+ "name": "treasury",
349
+ "type_schema": {
350
+ "description": "NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::<AccountId>().is_err()); // (ƒ is not f) ```",
351
+ "type": "string"
352
+ }
353
+ },
354
+ {
355
+ "name": "signer",
356
+ "type_schema": {
357
+ "type": "array",
358
+ "items": {
359
+ "type": "integer",
360
+ "format": "uint8",
361
+ "minimum": 0.0
362
+ }
363
+ }
364
+ },
365
+ {
366
+ "name": "route_ids",
367
+ "type_schema": {
368
+ "type": "array",
369
+ "items": {
370
+ "type": "string"
371
+ }
372
+ }
373
+ },
374
+ {
375
+ "name": "treasury_bps_list",
376
+ "type_schema": {
377
+ "type": "array",
378
+ "items": {
379
+ "type": "integer",
380
+ "format": "uint16",
381
+ "minimum": 0.0
382
+ }
383
+ }
384
+ },
385
+ {
386
+ "name": "ip_creator_bps_list",
387
+ "type_schema": {
388
+ "type": "array",
389
+ "items": {
390
+ "type": "integer",
391
+ "format": "uint16",
392
+ "minimum": 0.0
393
+ }
394
+ }
395
+ }
396
+ ]
397
+ }
398
+ },
399
+ {
400
+ "name": "on_payout_complete",
401
+ "kind": "call",
402
+ "modifiers": [
403
+ "private"
404
+ ],
405
+ "params": {
406
+ "serialization_type": "json",
407
+ "args": [
408
+ {
409
+ "name": "payment_id",
410
+ "type_schema": {
411
+ "type": "string"
412
+ }
413
+ }
414
+ ]
415
+ },
416
+ "result": {
417
+ "serialization_type": "json",
418
+ "type_schema": {
419
+ "type": "boolean"
420
+ }
421
+ }
422
+ },
423
+ {
424
+ "name": "on_recovery_complete",
425
+ "kind": "call",
426
+ "modifiers": [
427
+ "private"
428
+ ],
429
+ "params": {
430
+ "serialization_type": "json",
431
+ "args": [
432
+ {
433
+ "name": "payment_id",
434
+ "type_schema": {
435
+ "type": "string"
436
+ }
437
+ },
438
+ {
439
+ "name": "retry_merchant",
440
+ "type_schema": {
441
+ "type": "boolean"
442
+ }
443
+ },
444
+ {
445
+ "name": "retry_treasury",
446
+ "type_schema": {
447
+ "type": "boolean"
448
+ }
449
+ },
450
+ {
451
+ "name": "retry_ip",
452
+ "type_schema": {
453
+ "type": "boolean"
454
+ }
455
+ }
456
+ ]
457
+ },
458
+ "result": {
459
+ "serialization_type": "json",
460
+ "type_schema": {
461
+ "type": "boolean"
462
+ }
463
+ }
464
+ },
465
+ {
466
+ "name": "on_refund_complete",
467
+ "kind": "call",
468
+ "modifiers": [
469
+ "private"
470
+ ],
471
+ "params": {
472
+ "serialization_type": "json",
473
+ "args": [
474
+ {
475
+ "name": "payment_id",
476
+ "type_schema": {
477
+ "type": "string"
478
+ }
479
+ }
480
+ ]
481
+ },
482
+ "result": {
483
+ "serialization_type": "json",
484
+ "type_schema": {
485
+ "type": "boolean"
486
+ }
487
+ }
488
+ },
489
+ {
490
+ "name": "pause",
491
+ "kind": "call"
492
+ },
493
+ {
494
+ "name": "pay",
495
+ "kind": "call",
496
+ "modifiers": [
497
+ "payable"
498
+ ],
499
+ "params": {
500
+ "serialization_type": "json",
501
+ "args": [
502
+ {
503
+ "name": "quote",
504
+ "type_schema": {
505
+ "$ref": "#/definitions/Quote"
506
+ }
507
+ },
508
+ {
509
+ "name": "signature",
510
+ "type_schema": {
511
+ "type": "array",
512
+ "items": {
513
+ "type": "integer",
514
+ "format": "uint8",
515
+ "minimum": 0.0
516
+ }
517
+ }
518
+ }
519
+ ]
520
+ },
521
+ "result": {
522
+ "serialization_type": "json",
523
+ "type_schema": {
524
+ "$ref": "#/definitions/Promise"
525
+ }
526
+ }
527
+ },
528
+ {
529
+ "name": "quote_total",
530
+ "doc": " Dry-run split calculation. Does not consume nonce or mutate state.",
531
+ "kind": "view",
532
+ "params": {
533
+ "serialization_type": "json",
534
+ "args": [
535
+ {
536
+ "name": "gross_amount",
537
+ "type_schema": {
538
+ "type": "integer",
539
+ "format": "uint128",
540
+ "minimum": 0.0
541
+ }
542
+ },
543
+ {
544
+ "name": "route_id",
545
+ "type_schema": {
546
+ "type": "string"
547
+ }
548
+ },
549
+ {
550
+ "name": "has_ip_creator",
551
+ "type_schema": {
552
+ "type": "boolean"
553
+ }
554
+ }
555
+ ]
556
+ },
557
+ "result": {
558
+ "serialization_type": "json",
559
+ "type_schema": {
560
+ "type": "array",
561
+ "items": [
562
+ {
563
+ "type": "string"
564
+ },
565
+ {
566
+ "type": "string"
567
+ },
568
+ {
569
+ "type": "string"
570
+ }
571
+ ],
572
+ "maxItems": 3,
573
+ "minItems": 3
574
+ }
575
+ }
576
+ },
577
+ {
578
+ "name": "recover_payment",
579
+ "doc": " Conservative remediation entry point.\n\n `retry_missing` retries only payout legs proven not to have succeeded.\n `refund` is allowed only after a complete callback proved that *no*\n payout leg succeeded; this prevents refund + successful-leg double\n payment.",
580
+ "kind": "call",
581
+ "params": {
582
+ "serialization_type": "json",
583
+ "args": [
584
+ {
585
+ "name": "payment_id",
586
+ "type_schema": {
587
+ "type": "string"
588
+ }
589
+ },
590
+ {
591
+ "name": "action",
592
+ "type_schema": {
593
+ "type": "string"
594
+ }
595
+ }
596
+ ]
597
+ },
598
+ "result": {
599
+ "serialization_type": "json",
600
+ "type_schema": {
601
+ "$ref": "#/definitions/Promise"
602
+ }
603
+ }
604
+ },
605
+ {
606
+ "name": "remove_route",
607
+ "doc": " Permanently remove a route (NEAR-MED-001).",
608
+ "kind": "call",
609
+ "params": {
610
+ "serialization_type": "json",
611
+ "args": [
612
+ {
613
+ "name": "route_id",
614
+ "type_schema": {
615
+ "type": "string"
616
+ }
617
+ }
618
+ ]
619
+ }
620
+ },
621
+ {
622
+ "name": "rotate_admin",
623
+ "kind": "call",
624
+ "params": {
625
+ "serialization_type": "json",
626
+ "args": [
627
+ {
628
+ "name": "new_admin",
629
+ "type_schema": {
630
+ "description": "NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::<AccountId>().is_err()); // (ƒ is not f) ```",
631
+ "type": "string"
632
+ }
633
+ }
634
+ ]
635
+ }
636
+ },
637
+ {
638
+ "name": "rotate_pauser",
639
+ "kind": "call",
640
+ "params": {
641
+ "serialization_type": "json",
642
+ "args": [
643
+ {
644
+ "name": "new_pauser",
645
+ "type_schema": {
646
+ "description": "NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::<AccountId>().is_err()); // (ƒ is not f) ```",
647
+ "type": "string"
648
+ }
649
+ }
650
+ ]
651
+ }
652
+ },
653
+ {
654
+ "name": "rotate_signer_role",
655
+ "doc": " Replace the operator key authorizing quotes. Mirrors Solana\n `rotate_signer_role`; admin-only.",
656
+ "kind": "call",
657
+ "params": {
658
+ "serialization_type": "json",
659
+ "args": [
660
+ {
661
+ "name": "new_signer",
662
+ "type_schema": {
663
+ "type": "array",
664
+ "items": {
665
+ "type": "integer",
666
+ "format": "uint8",
667
+ "minimum": 0.0
668
+ }
669
+ }
670
+ }
671
+ ]
672
+ }
673
+ },
674
+ {
675
+ "name": "set_treasury",
676
+ "kind": "call",
677
+ "params": {
678
+ "serialization_type": "json",
679
+ "args": [
680
+ {
681
+ "name": "new_treasury",
682
+ "type_schema": {
683
+ "description": "NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::<AccountId>().is_err()); // (ƒ is not f) ```",
684
+ "type": "string"
685
+ }
686
+ }
687
+ ]
688
+ }
689
+ },
690
+ {
691
+ "name": "unpause",
692
+ "kind": "call"
693
+ }
694
+ ],
695
+ "root_schema": {
696
+ "$schema": "http://json-schema.org/draft-07/schema#",
697
+ "title": "String",
698
+ "type": "string",
699
+ "definitions": {
700
+ "Promise": true,
701
+ "Quote": {
702
+ "type": "object",
703
+ "required": [
704
+ "gross_amount",
705
+ "merchant",
706
+ "nonce",
707
+ "order_id_hash",
708
+ "payer",
709
+ "payment_id",
710
+ "route_id",
711
+ "token",
712
+ "valid_until_ms"
713
+ ],
714
+ "properties": {
715
+ "gross_amount": {
716
+ "type": "string"
717
+ },
718
+ "ip_creator": {
719
+ "description": "NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::<AccountId>().is_err()); // (ƒ is not f) ```",
720
+ "type": [
721
+ "string",
722
+ "null"
723
+ ]
724
+ },
725
+ "merchant": {
726
+ "description": "NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::<AccountId>().is_err()); // (ƒ is not f) ```",
727
+ "type": "string"
728
+ },
729
+ "nonce": {
730
+ "type": "integer",
731
+ "format": "uint64",
732
+ "minimum": 0.0
733
+ },
734
+ "order_id_hash": {
735
+ "type": "array",
736
+ "items": {
737
+ "type": "integer",
738
+ "format": "uint8",
739
+ "minimum": 0.0
740
+ },
741
+ "maxItems": 32,
742
+ "minItems": 32
743
+ },
744
+ "payer": {
745
+ "description": "NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::<AccountId>().is_err()); // (ƒ is not f) ```",
746
+ "type": "string"
747
+ },
748
+ "payment_id": {
749
+ "type": "string"
750
+ },
751
+ "route_id": {
752
+ "type": "string"
753
+ },
754
+ "token": {
755
+ "type": "string"
756
+ },
757
+ "valid_until_ms": {
758
+ "type": "integer",
759
+ "format": "uint64",
760
+ "minimum": 0.0
761
+ }
762
+ }
763
+ },
764
+ "RecoveryObligationView": {
765
+ "type": "object",
766
+ "required": [
767
+ "ip_creator_amount",
768
+ "ip_creator_paid",
769
+ "merchant",
770
+ "merchant_amount",
771
+ "merchant_paid",
772
+ "payer",
773
+ "results_complete",
774
+ "treasury",
775
+ "treasury_amount",
776
+ "treasury_paid"
777
+ ],
778
+ "properties": {
779
+ "ip_creator": {
780
+ "type": [
781
+ "string",
782
+ "null"
783
+ ]
784
+ },
785
+ "ip_creator_amount": {
786
+ "type": "string"
787
+ },
788
+ "ip_creator_paid": {
789
+ "type": "boolean"
790
+ },
791
+ "merchant": {
792
+ "type": "string"
793
+ },
794
+ "merchant_amount": {
795
+ "type": "string"
796
+ },
797
+ "merchant_paid": {
798
+ "type": "boolean"
799
+ },
800
+ "payer": {
801
+ "type": "string"
802
+ },
803
+ "results_complete": {
804
+ "type": "boolean"
805
+ },
806
+ "treasury": {
807
+ "type": "string"
808
+ },
809
+ "treasury_amount": {
810
+ "type": "string"
811
+ },
812
+ "treasury_paid": {
813
+ "type": "boolean"
814
+ }
815
+ }
816
+ },
817
+ "RouteProfileEntry": {
818
+ "type": "object",
819
+ "required": [
820
+ "configured_at_ms",
821
+ "enabled",
822
+ "ip_creator_bps",
823
+ "route_id",
824
+ "treasury_bps"
825
+ ],
826
+ "properties": {
827
+ "configured_at_ms": {
828
+ "type": "integer",
829
+ "format": "uint64",
830
+ "minimum": 0.0
831
+ },
832
+ "enabled": {
833
+ "type": "boolean"
834
+ },
835
+ "ip_creator_bps": {
836
+ "type": "integer",
837
+ "format": "uint16",
838
+ "minimum": 0.0
839
+ },
840
+ "route_id": {
841
+ "type": "string"
842
+ },
843
+ "route_treasury": {
844
+ "description": "NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::<AccountId>().is_err()); // (ƒ is not f) ```",
845
+ "type": [
846
+ "string",
847
+ "null"
848
+ ]
849
+ },
850
+ "treasury_bps": {
851
+ "type": "integer",
852
+ "format": "uint16",
853
+ "minimum": 0.0
854
+ }
855
+ }
856
+ }
857
+ }
858
+ }
859
+ }
860
+ }
@@ -14,6 +14,7 @@ inputs to verification, not evidence of current runtime or backend availability.
14
14
  | Solana | [deployments.json](solana/deployments.json) | [Program and IDL](solana/README.md) |
15
15
  | Casper | [deployments.json](casper/deployments.json) | [Contract schema](casper/README.md) |
16
16
  | Aptos | [deployments.json](aptos/deployments.json) · [multisig-deployments.json](aptos/multisig-deployments.json) | [Payment and multisig snapshots](aptos/README.md) |
17
+ | NEAR | [deployments.json](near/deployments.json) | [Account/WASM and council snapshots](near/README.md) |
17
18
 
18
19
  Read the selected record for chain/network identity, addresses or program IDs,
19
20
  runtime hashes, governance, assets, policy fields and settlement flags. Read
@@ -0,0 +1,31 @@
1
+ # NEAR deployment snapshots
2
+
3
+ [deployments.json](deployments.json) packages mainnet and testnet splitter
4
+ records using the shared
5
+ [payment deployment schema](../../../src/reference/payment-deployments.schema.json).
6
+ It also preserves the upstream council membership input with a separate
7
+ provenance link; membership does not establish DAO policy or approval thresholds.
8
+
9
+ The curated-snapshot approach follows the Aptos registry: no new fetcher,
10
+ programmatic lookup API, or SDK payment route is introduced. These records are
11
+ not regenerated by `npm run registry:build`.
12
+
13
+ Each record links a timestamped upstream artifact at the commit in `source`.
14
+ `wasmCodeHash` maps the upstream `runtimeCodeHash`, environments use `prod`/`dev`,
15
+ and upstream `status` labels are omitted. Settlement flags, transaction evidence,
16
+ roles, route economics, and captured splitter state are otherwise preserved.
17
+ No WASM binary or ABI is bundled; `sourceArtifact` links the deployment JSON,
18
+ not a downloadable executable.
19
+
20
+ To refresh, compare upstream `deployments/*-latest.json` with the corresponding
21
+ timestamped files, pin the commit containing those files, and preserve per-network
22
+ capture times. Compare council membership against its own source artifact rather
23
+ than inferring policy from member count. Validate the records against the shared
24
+ schema and update the package version and root changelog.
25
+
26
+ These are historical inputs, not live verification or payment authorization.
27
+ Before relying on a route, verify deployed code, contract access keys, DAO policy,
28
+ roles and pause state, backend capabilities, the merchant quote, and executor
29
+ runtime checks. DAO role assignments alone do not prove exclusive upgrade
30
+ control. Consult the upstream deployment guide at the recorded source commit for
31
+ its access-key and DAO-policy caveats.
@@ -0,0 +1,112 @@
1
+ {
2
+ "$schema": "../../../src/reference/payment-deployments.schema.json",
3
+ "version": "1.4",
4
+ "description": "AiFinPay NEAR splitter deployment snapshots.",
5
+ "schemaVersion": 1,
6
+ "generatedAt": "2026-10-31T20:31:32.209Z",
7
+ "ecosystem": "near",
8
+ "protocolVersion": "v1.4",
9
+ "source": {
10
+ "repo": "AiFinPay/near-contract",
11
+ "commit": "479a8bfa28fff0f1971a5f082f3b3b48713487b6",
12
+ "path": "deployments/",
13
+ "url": "https://github.com/AiFinPay/near-contract/tree/479a8bfa28fff0f1971a5f082f3b3b48713487b6/deployments"
14
+ },
15
+ "deployments": [
16
+ {
17
+ "network": "mainnet",
18
+ "environment": "prod",
19
+ "testnet": false,
20
+ "version": "1.4.0",
21
+ "contractAccountId": "aifp-splitter.near",
22
+ "settlementEnabled": true,
23
+ "wasmCodeHash": "691777e085c7f3d27ede99cb3a27de4196e00e0f2018a4cd76bcfaf271fdc92c",
24
+ "runtimeCodeHash": "691777e085c7f3d27ede99cb3a27de4196e00e0f2018a4cd76bcfaf271fdc92c",
25
+ "treasuryAccountId": "aifinpay.sputnik-dao.near",
26
+ "timestamp": "2026-10-31T20:31:32.209Z",
27
+ "sourceArtifact": "https://github.com/AiFinPay/near-contract/blob/479a8bfa28fff0f1971a5f082f3b3b48713487b6/deployments/mainnet-2026-10-31T20-31-32-209Z.json",
28
+ "splitter": {
29
+ "admin": "aifinpay.sputnik-dao.near",
30
+ "signer": "0x06b551ebd05d427840330bc30d272f9f752af73fb1d9a8b07aab0970558c37a7656af5cd5684808e4593b89f3a885d96fcbf3ec60f4fb593469d48ef8f6ce467",
31
+ "pauser": "aifinpay.sputnik-dao.near",
32
+ "treasury": "aifinpay.sputnik-dao.near",
33
+ "paused": false,
34
+ "routes": [
35
+ {
36
+ "route_id": "ROUTE_AGENT_X402",
37
+ "treasury_bps": 0,
38
+ "ip_creator_bps": 0
39
+ },
40
+ {
41
+ "route_id": "ROUTE_MERCHANT_AIFP1",
42
+ "treasury_bps": 100,
43
+ "ip_creator_bps": 0
44
+ }
45
+ ],
46
+ "paymentCount": "0",
47
+ "totalSettled": "0"
48
+ },
49
+ "transactions": {
50
+ "deploy": {
51
+ "txHash": "2wbdGjhctnbE1mCTuPqu3mL1z3pKM2MRYqX96D4faoqB",
52
+ "explorerUrl": "https://nearblocks.io/txns/2wbdGjhctnbE1mCTuPqu3mL1z3pKM2MRYqX96D4faoqB"
53
+ },
54
+ "unpause": {
55
+ "txHash": "CiNu9n85QDgb1QWewowC1xpGm6NV33CDmAgS5S72zAjb",
56
+ "explorerUrl": "https://nearblocks.io/txns/CiNu9n85QDgb1QWewowC1xpGm6NV33CDmAgS5S72zAjb"
57
+ }
58
+ }
59
+ },
60
+ {
61
+ "network": "testnet",
62
+ "environment": "dev",
63
+ "testnet": true,
64
+ "version": "1.4.0",
65
+ "contractAccountId": "aifp-splitter.testnet",
66
+ "settlementEnabled": false,
67
+ "wasmCodeHash": "d18b181f17cd597e96c1703af3e1d6b38576492d19e035ee06bc3aab56531b46",
68
+ "runtimeCodeHash": "d18b181f17cd597e96c1703af3e1d6b38576492d19e035ee06bc3aab56531b46",
69
+ "treasuryAccountId": "aifp-treasury-e7abd866cd527146.testnet",
70
+ "timestamp": "2026-10-20T23:30:27.866Z",
71
+ "sourceArtifact": "https://github.com/AiFinPay/near-contract/blob/479a8bfa28fff0f1971a5f082f3b3b48713487b6/deployments/testnet-2026-10-20T23-30-27-866Z.json",
72
+ "splitter": {
73
+ "admin": "aifp-admin-28250297dc920295.testnet",
74
+ "signer": "0x06b551ebd05d427840330bc30d272f9f752af73fb1d9a8b07aab0970558c37a7656af5cd5684808e4593b89f3a885d96fcbf3ec60f4fb593469d48ef8f6ce467",
75
+ "pauser": "aifp-pauser-8c2e441982c1834c.testnet",
76
+ "treasury": "aifp-treasury-e7abd866cd527146.testnet",
77
+ "paused": true,
78
+ "routes": [
79
+ {
80
+ "route_id": "ROUTE_AGENT_X402",
81
+ "treasury_bps": 0,
82
+ "ip_creator_bps": 0
83
+ },
84
+ {
85
+ "route_id": "ROUTE_MERCHANT_AIFP1",
86
+ "treasury_bps": 100,
87
+ "ip_creator_bps": 0
88
+ }
89
+ ],
90
+ "paymentCount": "0",
91
+ "totalSettled": "0"
92
+ },
93
+ "transactions": {}
94
+ }
95
+ ],
96
+ "sourceArtifact": {
97
+ "path": null,
98
+ "retrievedAt": "2026-10-31",
99
+ "note": "Each deployment links its immutable upstream JSON snapshot. wasmCodeHash is mapped from runtimeCodeHash; environment is normalized to prod/dev. Settlement flags and splitter state are preserved from upstream, not independently verified."
100
+ },
101
+ "governanceMembership": {
102
+ "network": "mainnet",
103
+ "sourceArtifact": "https://github.com/AiFinPay/near-contract/blob/479a8bfa28fff0f1971a5f082f3b3b48713487b6/deployments/multisig-members.mainnet.json",
104
+ "members": [
105
+ "965b61a914dccbf357eebce29d14f138fdf0e0fd2f518352a93d0075083e11b5",
106
+ "29998d26617f5ed678903790f423a1bd438e71111cc3dbdd9c00112a0c6ee716",
107
+ "iryna0707.near",
108
+ "09642e6c9901a28258ae1765abc46d6a124eb0ce70d88c145b1a756c92528b37"
109
+ ],
110
+ "note": "Council membership input only; this does not establish on-chain DAO policy, approval thresholds, or contract upgrade authority."
111
+ }
112
+ }