@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 +10 -1
- package/USAGE.md +25 -0
- package/dist/artifacts.d.ts +9 -0
- package/dist/artifacts.d.ts.map +1 -1
- package/dist/artifacts.js +35 -0
- package/dist/artifacts.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/package.json +7 -8
- package/registry/abi/near/aifinpay_near_contract_abi.json +860 -0
- package/registry/splitter/INDEX.md +1 -0
- package/registry/splitter/near/README.md +31 -0
- package/registry/splitter/near/deployments.json +112 -0
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/
|
package/dist/artifacts.d.ts
CHANGED
|
@@ -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;
|
package/dist/artifacts.d.ts.map
CHANGED
|
@@ -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,
|
|
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 [];
|
package/dist/artifacts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../src/artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;AACrD,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;
|
|
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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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
|
+
"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
|
+
}
|