@agirails/sdk 2.0.4 → 2.2.0
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 +536 -87
- package/dist/adapters/BasicAdapter.d.ts.map +1 -1
- package/dist/adapters/BasicAdapter.js +8 -0
- package/dist/adapters/BasicAdapter.js.map +1 -1
- package/dist/adapters/StandardAdapter.d.ts +10 -5
- package/dist/adapters/StandardAdapter.d.ts.map +1 -1
- package/dist/adapters/StandardAdapter.js +19 -6
- package/dist/adapters/StandardAdapter.js.map +1 -1
- package/dist/config/networks.d.ts +9 -0
- package/dist/config/networks.d.ts.map +1 -1
- package/dist/config/networks.js +25 -10
- package/dist/config/networks.js.map +1 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +31 -1
- package/dist/index.js.map +1 -1
- package/dist/level0/provide.d.ts.map +1 -1
- package/dist/level0/provide.js +2 -1
- package/dist/level0/provide.js.map +1 -1
- package/dist/level1/Agent.d.ts.map +1 -1
- package/dist/level1/Agent.js +11 -3
- package/dist/level1/Agent.js.map +1 -1
- package/dist/protocol/ACTPKernel.d.ts.map +1 -1
- package/dist/protocol/ACTPKernel.js +7 -5
- package/dist/protocol/ACTPKernel.js.map +1 -1
- package/dist/protocol/DIDResolver.js +1 -1
- package/dist/protocol/DIDResolver.js.map +1 -1
- package/dist/protocol/EASHelper.d.ts.map +1 -1
- package/dist/protocol/EASHelper.js +2 -3
- package/dist/protocol/EASHelper.js.map +1 -1
- package/dist/protocol/MessageSigner.d.ts.map +1 -1
- package/dist/protocol/MessageSigner.js +8 -8
- package/dist/protocol/MessageSigner.js.map +1 -1
- package/dist/runtime/BlockchainRuntime.d.ts +7 -0
- package/dist/runtime/BlockchainRuntime.d.ts.map +1 -1
- package/dist/runtime/BlockchainRuntime.js +38 -22
- package/dist/runtime/BlockchainRuntime.js.map +1 -1
- package/dist/runtime/IACTPRuntime.d.ts +15 -0
- package/dist/runtime/IACTPRuntime.d.ts.map +1 -1
- package/dist/runtime/MockRuntime.d.ts +7 -0
- package/dist/runtime/MockRuntime.d.ts.map +1 -1
- package/dist/runtime/MockRuntime.js +15 -4
- package/dist/runtime/MockRuntime.js.map +1 -1
- package/dist/runtime/types/MockState.d.ts +5 -2
- package/dist/runtime/types/MockState.d.ts.map +1 -1
- package/dist/runtime/types/MockState.js.map +1 -1
- package/dist/storage/ArchiveBundleBuilder.d.ts +150 -0
- package/dist/storage/ArchiveBundleBuilder.d.ts.map +1 -0
- package/dist/storage/ArchiveBundleBuilder.js +468 -0
- package/dist/storage/ArchiveBundleBuilder.js.map +1 -0
- package/dist/storage/ArweaveClient.d.ts +271 -0
- package/dist/storage/ArweaveClient.d.ts.map +1 -0
- package/dist/storage/ArweaveClient.js +761 -0
- package/dist/storage/ArweaveClient.js.map +1 -0
- package/dist/storage/FilebaseClient.d.ts +193 -0
- package/dist/storage/FilebaseClient.d.ts.map +1 -0
- package/dist/storage/FilebaseClient.js +643 -0
- package/dist/storage/FilebaseClient.js.map +1 -0
- package/dist/storage/index.d.ts +47 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +64 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/storage/types.d.ts +291 -0
- package/dist/storage/types.d.ts.map +1 -0
- package/dist/storage/types.js +18 -0
- package/dist/storage/types.js.map +1 -0
- package/dist/types/state.d.ts +5 -4
- package/dist/types/state.d.ts.map +1 -1
- package/dist/types/state.js +10 -9
- package/dist/types/state.js.map +1 -1
- package/dist/utils/IPFSClient.d.ts.map +1 -1
- package/dist/utils/IPFSClient.js +5 -2
- package/dist/utils/IPFSClient.js.map +1 -1
- package/dist/utils/NonceManager.d.ts.map +1 -1
- package/dist/utils/NonceManager.js +3 -2
- package/dist/utils/NonceManager.js.map +1 -1
- package/dist/utils/UsedAttestationTracker.d.ts.map +1 -1
- package/dist/utils/UsedAttestationTracker.js +3 -3
- package/dist/utils/UsedAttestationTracker.js.map +1 -1
- package/dist/utils/circuitBreaker.d.ts +136 -0
- package/dist/utils/circuitBreaker.d.ts.map +1 -0
- package/dist/utils/circuitBreaker.js +253 -0
- package/dist/utils/circuitBreaker.js.map +1 -0
- package/dist/utils/retry.d.ts +120 -0
- package/dist/utils/retry.d.ts.map +1 -0
- package/dist/utils/retry.js +260 -0
- package/dist/utils/retry.js.map +1 -0
- package/dist/utils/validation.d.ts +100 -0
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js +248 -1
- package/dist/utils/validation.js.map +1 -1
- package/package.json +14 -2
- package/src/adapters/BasicAdapter.ts +11 -0
- package/src/adapters/StandardAdapter.ts +26 -6
- package/src/config/networks.ts +34 -10
- package/src/index.ts +54 -0
- package/src/level0/provide.ts +2 -1
- package/src/level1/Agent.ts +13 -3
- package/src/protocol/ACTPKernel.ts +7 -5
- package/src/protocol/DIDResolver.ts +1 -1
- package/src/protocol/EASHelper.ts +2 -5
- package/src/protocol/MessageSigner.ts +8 -14
- package/src/runtime/BlockchainRuntime.ts +39 -45
- package/src/runtime/IACTPRuntime.ts +16 -0
- package/src/runtime/MockRuntime.ts +16 -4
- package/src/runtime/types/MockState.ts +5 -2
- package/src/storage/ArchiveBundleBuilder.ts +563 -0
- package/src/storage/ArweaveClient.ts +945 -0
- package/src/storage/FilebaseClient.ts +790 -0
- package/src/storage/index.ts +96 -0
- package/src/storage/types.ts +348 -0
- package/src/types/state.ts +10 -9
- package/src/utils/IPFSClient.ts +5 -4
- package/src/utils/NonceManager.ts +3 -2
- package/src/utils/UsedAttestationTracker.ts +3 -5
- package/src/utils/circuitBreaker.ts +324 -0
- package/src/utils/fsSafe.ts +5 -0
- package/src/utils/retry.ts +365 -0
- package/src/utils/validation.ts +295 -1
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Storage Module - Hybrid Storage Architecture (AIP-7 §4)
|
|
3
|
+
*
|
|
4
|
+
* Two-tier storage model:
|
|
5
|
+
* - Tier 1: IPFS (Filebase) for hot storage
|
|
6
|
+
* - Tier 2: Arweave (Irys) for permanent archive
|
|
7
|
+
*
|
|
8
|
+
* @module storage
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* import {
|
|
13
|
+
* FilebaseClient,
|
|
14
|
+
* ArweaveClient,
|
|
15
|
+
* ArchiveBundleBuilder
|
|
16
|
+
* } from '@agirails/sdk/storage';
|
|
17
|
+
*
|
|
18
|
+
* // IPFS hot storage
|
|
19
|
+
* const ipfs = new FilebaseClient({
|
|
20
|
+
* accessKey: process.env.FILEBASE_ACCESS_KEY!,
|
|
21
|
+
* secretKey: process.env.FILEBASE_SECRET_KEY!
|
|
22
|
+
* });
|
|
23
|
+
*
|
|
24
|
+
* // Arweave permanent storage
|
|
25
|
+
* const arweave = await ArweaveClient.create({
|
|
26
|
+
* privateKey: process.env.ARCHIVE_KEY!,
|
|
27
|
+
* rpcUrl: process.env.BASE_RPC!
|
|
28
|
+
* });
|
|
29
|
+
*
|
|
30
|
+
* // Build archive bundle
|
|
31
|
+
* const bundle = new ArchiveBundleBuilder()
|
|
32
|
+
* .setTransactionId(txId)
|
|
33
|
+
* .setChainId(8453)
|
|
34
|
+
* // ... other fields
|
|
35
|
+
* .build();
|
|
36
|
+
*
|
|
37
|
+
* // Upload to Arweave
|
|
38
|
+
* const result = await arweave.uploadBundle(bundle);
|
|
39
|
+
* console.log('Archived at:', result.txId);
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
export { FilebaseClient } from './FilebaseClient';
|
|
43
|
+
export { ArweaveClient } from './ArweaveClient';
|
|
44
|
+
export { ArchiveBundleBuilder, computeContentHash, validateArchiveBundle } from './ArchiveBundleBuilder';
|
|
45
|
+
export type { FilebaseConfig, ArweaveConfig, IrysCurrency, IrysNetwork, ArchiveBundle, ArchiveChainId, ArchiveFinalState, ArchiveParticipants, ArchiveReferences, ArchiveHashes, ArchiveSignatures, ArchiveAttestation, ArchiveSettlement, EscrowRelease, ArchiveTags, IPFSUploadResult, ArweaveUploadResult, DownloadResult } from './types';
|
|
46
|
+
export { ARCHIVE_BUNDLE_TYPE } from './types';
|
|
47
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAMH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAMhD,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,wBAAwB,CAAC;AAMhC,YAAY,EAEV,cAAc,EAGd,aAAa,EACb,YAAY,EACZ,WAAW,EAGX,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,WAAW,EAGX,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACf,MAAM,SAAS,CAAC;AAMjB,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Storage Module - Hybrid Storage Architecture (AIP-7 §4)
|
|
4
|
+
*
|
|
5
|
+
* Two-tier storage model:
|
|
6
|
+
* - Tier 1: IPFS (Filebase) for hot storage
|
|
7
|
+
* - Tier 2: Arweave (Irys) for permanent archive
|
|
8
|
+
*
|
|
9
|
+
* @module storage
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* import {
|
|
14
|
+
* FilebaseClient,
|
|
15
|
+
* ArweaveClient,
|
|
16
|
+
* ArchiveBundleBuilder
|
|
17
|
+
* } from '@agirails/sdk/storage';
|
|
18
|
+
*
|
|
19
|
+
* // IPFS hot storage
|
|
20
|
+
* const ipfs = new FilebaseClient({
|
|
21
|
+
* accessKey: process.env.FILEBASE_ACCESS_KEY!,
|
|
22
|
+
* secretKey: process.env.FILEBASE_SECRET_KEY!
|
|
23
|
+
* });
|
|
24
|
+
*
|
|
25
|
+
* // Arweave permanent storage
|
|
26
|
+
* const arweave = await ArweaveClient.create({
|
|
27
|
+
* privateKey: process.env.ARCHIVE_KEY!,
|
|
28
|
+
* rpcUrl: process.env.BASE_RPC!
|
|
29
|
+
* });
|
|
30
|
+
*
|
|
31
|
+
* // Build archive bundle
|
|
32
|
+
* const bundle = new ArchiveBundleBuilder()
|
|
33
|
+
* .setTransactionId(txId)
|
|
34
|
+
* .setChainId(8453)
|
|
35
|
+
* // ... other fields
|
|
36
|
+
* .build();
|
|
37
|
+
*
|
|
38
|
+
* // Upload to Arweave
|
|
39
|
+
* const result = await arweave.uploadBundle(bundle);
|
|
40
|
+
* console.log('Archived at:', result.txId);
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
44
|
+
exports.ARCHIVE_BUNDLE_TYPE = exports.validateArchiveBundle = exports.computeContentHash = exports.ArchiveBundleBuilder = exports.ArweaveClient = exports.FilebaseClient = void 0;
|
|
45
|
+
// ============================================================================
|
|
46
|
+
// Clients
|
|
47
|
+
// ============================================================================
|
|
48
|
+
var FilebaseClient_1 = require("./FilebaseClient");
|
|
49
|
+
Object.defineProperty(exports, "FilebaseClient", { enumerable: true, get: function () { return FilebaseClient_1.FilebaseClient; } });
|
|
50
|
+
var ArweaveClient_1 = require("./ArweaveClient");
|
|
51
|
+
Object.defineProperty(exports, "ArweaveClient", { enumerable: true, get: function () { return ArweaveClient_1.ArweaveClient; } });
|
|
52
|
+
// ============================================================================
|
|
53
|
+
// Builders
|
|
54
|
+
// ============================================================================
|
|
55
|
+
var ArchiveBundleBuilder_1 = require("./ArchiveBundleBuilder");
|
|
56
|
+
Object.defineProperty(exports, "ArchiveBundleBuilder", { enumerable: true, get: function () { return ArchiveBundleBuilder_1.ArchiveBundleBuilder; } });
|
|
57
|
+
Object.defineProperty(exports, "computeContentHash", { enumerable: true, get: function () { return ArchiveBundleBuilder_1.computeContentHash; } });
|
|
58
|
+
Object.defineProperty(exports, "validateArchiveBundle", { enumerable: true, get: function () { return ArchiveBundleBuilder_1.validateArchiveBundle; } });
|
|
59
|
+
// ============================================================================
|
|
60
|
+
// Constants
|
|
61
|
+
// ============================================================================
|
|
62
|
+
var types_1 = require("./types");
|
|
63
|
+
Object.defineProperty(exports, "ARCHIVE_BUNDLE_TYPE", { enumerable: true, get: function () { return types_1.ARCHIVE_BUNDLE_TYPE; } });
|
|
64
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;;;AAEH,+EAA+E;AAC/E,UAAU;AACV,+EAA+E;AAE/E,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AAEtB,+EAA+E;AAC/E,WAAW;AACX,+EAA+E;AAE/E,+DAIgC;AAH9B,4HAAA,oBAAoB,OAAA;AACpB,0HAAA,kBAAkB,OAAA;AAClB,6HAAA,qBAAqB,OAAA;AAmCvB,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E,iCAA8C;AAArC,4GAAA,mBAAmB,OAAA"}
|
|
@@ -0,0 +1,291 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Storage Types (AIP-7 §4)
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for the AGIRAILS hybrid storage architecture:
|
|
5
|
+
* - Tier 1: IPFS (Filebase) for hot storage
|
|
6
|
+
* - Tier 2: Arweave (Irys) for permanent archive
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Configuration for Filebase S3-compatible IPFS client
|
|
10
|
+
*/
|
|
11
|
+
export interface FilebaseConfig {
|
|
12
|
+
/**
|
|
13
|
+
* Filebase access key ID
|
|
14
|
+
* Get from: https://console.filebase.com/keys
|
|
15
|
+
*/
|
|
16
|
+
accessKey: string;
|
|
17
|
+
/**
|
|
18
|
+
* Filebase secret access key
|
|
19
|
+
* SECURITY: Store in environment variable, never in code
|
|
20
|
+
*/
|
|
21
|
+
secretKey: string;
|
|
22
|
+
/**
|
|
23
|
+
* Filebase bucket name
|
|
24
|
+
* @default 'agirails-storage'
|
|
25
|
+
*/
|
|
26
|
+
bucket?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Filebase S3 endpoint
|
|
29
|
+
* @default 'https://s3.filebase.com'
|
|
30
|
+
*/
|
|
31
|
+
endpoint?: string;
|
|
32
|
+
/**
|
|
33
|
+
* IPFS gateway URL for retrieval
|
|
34
|
+
* @default 'https://ipfs.filebase.io/ipfs/'
|
|
35
|
+
*/
|
|
36
|
+
gatewayUrl?: string;
|
|
37
|
+
/**
|
|
38
|
+
* Request timeout in milliseconds
|
|
39
|
+
* @default 30000 (30 seconds)
|
|
40
|
+
*/
|
|
41
|
+
timeout?: number;
|
|
42
|
+
/**
|
|
43
|
+
* Maximum file size in bytes for uploads
|
|
44
|
+
* @default 104857600 (100MB)
|
|
45
|
+
*/
|
|
46
|
+
maxFileSize?: number;
|
|
47
|
+
/**
|
|
48
|
+
* Maximum download size in bytes (P1-1: DoS protection)
|
|
49
|
+
* Downloads exceeding this limit will be rejected
|
|
50
|
+
* @default 52428800 (50MB)
|
|
51
|
+
*/
|
|
52
|
+
maxDownloadSize?: number;
|
|
53
|
+
/**
|
|
54
|
+
* Circuit breaker configuration for gateway health tracking
|
|
55
|
+
* When enabled, tracks gateway failures and temporarily blocks
|
|
56
|
+
* requests to unhealthy gateways (retry amplification protection)
|
|
57
|
+
*/
|
|
58
|
+
circuitBreaker?: {
|
|
59
|
+
/** Enable circuit breaker (default: true) */
|
|
60
|
+
enabled?: boolean;
|
|
61
|
+
/** Number of failures before opening circuit (default: 5) */
|
|
62
|
+
failureThreshold?: number;
|
|
63
|
+
/** Cooldown period in ms before attempting reset (default: 60000) */
|
|
64
|
+
resetTimeoutMs?: number;
|
|
65
|
+
/** Time window in ms for counting failures (default: 300000) */
|
|
66
|
+
failureWindowMs?: number;
|
|
67
|
+
/** Number of successes in half-open to close circuit (default: 2) */
|
|
68
|
+
successThreshold?: number;
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Supported Irys payment tokens
|
|
73
|
+
* @see https://docs.irys.xyz/build/d/features/supported-tokens
|
|
74
|
+
*/
|
|
75
|
+
export type IrysCurrency = 'base-eth' | 'ethereum' | 'matic' | 'arbitrum' | 'usdc-eth' | 'usdc-polygon';
|
|
76
|
+
/**
|
|
77
|
+
* Irys network
|
|
78
|
+
*/
|
|
79
|
+
export type IrysNetwork = 'mainnet' | 'devnet';
|
|
80
|
+
/**
|
|
81
|
+
* Configuration for Arweave client via Irys
|
|
82
|
+
*/
|
|
83
|
+
export interface ArweaveConfig {
|
|
84
|
+
/**
|
|
85
|
+
* Private key for signing transactions
|
|
86
|
+
* SECURITY: Store in environment variable, never in code
|
|
87
|
+
*/
|
|
88
|
+
privateKey: string;
|
|
89
|
+
/**
|
|
90
|
+
* RPC URL for the payment chain
|
|
91
|
+
* Required for blockchain operations
|
|
92
|
+
*/
|
|
93
|
+
rpcUrl: string;
|
|
94
|
+
/**
|
|
95
|
+
* Payment currency/token
|
|
96
|
+
* @default 'base-eth'
|
|
97
|
+
*/
|
|
98
|
+
currency?: IrysCurrency;
|
|
99
|
+
/**
|
|
100
|
+
* Irys network (mainnet or devnet)
|
|
101
|
+
* @default 'mainnet'
|
|
102
|
+
*/
|
|
103
|
+
network?: IrysNetwork;
|
|
104
|
+
/**
|
|
105
|
+
* Request timeout in milliseconds
|
|
106
|
+
* @default 60000 (60 seconds)
|
|
107
|
+
*/
|
|
108
|
+
timeout?: number;
|
|
109
|
+
/**
|
|
110
|
+
* Circuit breaker configuration for gateway health tracking
|
|
111
|
+
* When enabled, tracks gateway failures and temporarily blocks
|
|
112
|
+
* requests to unhealthy gateways (retry amplification protection)
|
|
113
|
+
*/
|
|
114
|
+
circuitBreaker?: {
|
|
115
|
+
/** Enable circuit breaker (default: true) */
|
|
116
|
+
enabled?: boolean;
|
|
117
|
+
/** Number of failures before opening circuit (default: 5) */
|
|
118
|
+
failureThreshold?: number;
|
|
119
|
+
/** Cooldown period in ms before attempting reset (default: 60000) */
|
|
120
|
+
resetTimeoutMs?: number;
|
|
121
|
+
/** Time window in ms for counting failures (default: 300000) */
|
|
122
|
+
failureWindowMs?: number;
|
|
123
|
+
/** Number of successes in half-open to close circuit (default: 2) */
|
|
124
|
+
successThreshold?: number;
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Archive bundle type identifier
|
|
129
|
+
*/
|
|
130
|
+
export declare const ARCHIVE_BUNDLE_TYPE: "actp.archive.v1.minimal";
|
|
131
|
+
/**
|
|
132
|
+
* Supported chain IDs for archive bundles
|
|
133
|
+
*/
|
|
134
|
+
export type ArchiveChainId = 8453 | 84532;
|
|
135
|
+
/**
|
|
136
|
+
* Final transaction states that can be archived
|
|
137
|
+
*/
|
|
138
|
+
export type ArchiveFinalState = 'SETTLED' | 'CANCELLED';
|
|
139
|
+
/**
|
|
140
|
+
* Transaction participants (addresses only, not full profiles)
|
|
141
|
+
*/
|
|
142
|
+
export interface ArchiveParticipants {
|
|
143
|
+
/** Requester Ethereum address */
|
|
144
|
+
requester: string;
|
|
145
|
+
/** Provider Ethereum address */
|
|
146
|
+
provider: string;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* IPFS CID references to full content
|
|
150
|
+
*/
|
|
151
|
+
export interface ArchiveReferences {
|
|
152
|
+
/** IPFS CID of AIP-1 request metadata */
|
|
153
|
+
requestCID: string;
|
|
154
|
+
/** IPFS CID of AIP-4 delivery proof */
|
|
155
|
+
deliveryCID: string;
|
|
156
|
+
/** IPFS CID of actual result/output (optional) */
|
|
157
|
+
resultCID?: string;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Cryptographic hashes for verification
|
|
161
|
+
*/
|
|
162
|
+
export interface ArchiveHashes {
|
|
163
|
+
/** keccak256 of canonical request metadata JSON */
|
|
164
|
+
requestHash: string;
|
|
165
|
+
/** keccak256 of canonical delivery proof JSON */
|
|
166
|
+
deliveryHash: string;
|
|
167
|
+
/** serviceHash from ACTPKernel transaction */
|
|
168
|
+
serviceHash: string;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Cryptographic signatures for self-verification
|
|
172
|
+
*/
|
|
173
|
+
export interface ArchiveSignatures {
|
|
174
|
+
/** EIP-712 signature by provider over deliveryHash */
|
|
175
|
+
providerDeliverySignature: string;
|
|
176
|
+
/** Optional: requester signature authorizing settlement */
|
|
177
|
+
requesterSettlementSignature?: string;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* EAS attestation reference
|
|
181
|
+
*/
|
|
182
|
+
export interface ArchiveAttestation {
|
|
183
|
+
/** Ethereum Attestation Service UID */
|
|
184
|
+
easUID: string;
|
|
185
|
+
/** EAS schema UID used for attestation (optional) */
|
|
186
|
+
schemaUID?: string;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Escrow release details
|
|
190
|
+
*/
|
|
191
|
+
export interface EscrowRelease {
|
|
192
|
+
/** Recipient address (provider or requester) */
|
|
193
|
+
to: string;
|
|
194
|
+
/** Released amount (USDC base units, string for BigInt safety) */
|
|
195
|
+
amount: string;
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Settlement information
|
|
199
|
+
*/
|
|
200
|
+
export interface ArchiveSettlement {
|
|
201
|
+
/** Settlement timestamp (Unix seconds) */
|
|
202
|
+
settledAt: number;
|
|
203
|
+
/** Final transaction state */
|
|
204
|
+
finalState: ArchiveFinalState;
|
|
205
|
+
/** Escrow release details */
|
|
206
|
+
escrowReleased: EscrowRelease;
|
|
207
|
+
/** Platform fee collected (USDC base units) */
|
|
208
|
+
platformFee: string;
|
|
209
|
+
/** Whether transaction went through dispute */
|
|
210
|
+
wasDisputed: boolean;
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Archive Bundle (AIP-7 §4.4 - Minimal Hash-First)
|
|
214
|
+
*
|
|
215
|
+
* Contains minimal metadata with cryptographic hashes and references.
|
|
216
|
+
* Full content (request metadata, delivery proof) remains on IPFS.
|
|
217
|
+
*/
|
|
218
|
+
export interface ArchiveBundle {
|
|
219
|
+
/** AGIRAILS protocol version (e.g., "1.0.0") */
|
|
220
|
+
protocolVersion: string;
|
|
221
|
+
/** Archive bundle schema version (e.g., "1.0.0") */
|
|
222
|
+
archiveSchemaVersion: string;
|
|
223
|
+
/** Archive bundle type identifier */
|
|
224
|
+
type: typeof ARCHIVE_BUNDLE_TYPE;
|
|
225
|
+
/** ACTP transaction ID (bytes32) */
|
|
226
|
+
txId: string;
|
|
227
|
+
/** Blockchain network chain ID */
|
|
228
|
+
chainId: ArchiveChainId;
|
|
229
|
+
/** Archive timestamp (Unix seconds) */
|
|
230
|
+
archivedAt: number;
|
|
231
|
+
/** Transaction participants (addresses only) */
|
|
232
|
+
participants: ArchiveParticipants;
|
|
233
|
+
/** IPFS CID references to full content */
|
|
234
|
+
references: ArchiveReferences;
|
|
235
|
+
/** Cryptographic hashes for verification */
|
|
236
|
+
hashes: ArchiveHashes;
|
|
237
|
+
/** Cryptographic signatures */
|
|
238
|
+
signatures: ArchiveSignatures;
|
|
239
|
+
/** EAS attestation reference (optional for cancelled transactions) */
|
|
240
|
+
attestation?: ArchiveAttestation;
|
|
241
|
+
/** Settlement information */
|
|
242
|
+
settlement: ArchiveSettlement;
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Result of uploading to IPFS
|
|
246
|
+
*/
|
|
247
|
+
export interface IPFSUploadResult {
|
|
248
|
+
/** IPFS CID (CIDv1, base32) */
|
|
249
|
+
cid: string;
|
|
250
|
+
/** Size of uploaded content in bytes */
|
|
251
|
+
size: number;
|
|
252
|
+
/** Upload timestamp */
|
|
253
|
+
uploadedAt: Date;
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Result of uploading to Arweave
|
|
257
|
+
*/
|
|
258
|
+
export interface ArweaveUploadResult {
|
|
259
|
+
/** Arweave transaction ID */
|
|
260
|
+
txId: string;
|
|
261
|
+
/** Size of uploaded content in bytes */
|
|
262
|
+
size: number;
|
|
263
|
+
/** Upload timestamp */
|
|
264
|
+
uploadedAt: Date;
|
|
265
|
+
/** Cost in the payment currency (wei for ETH) */
|
|
266
|
+
cost: string;
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Result of downloading content
|
|
270
|
+
*/
|
|
271
|
+
export interface DownloadResult<T = unknown> {
|
|
272
|
+
/** Downloaded and parsed content */
|
|
273
|
+
data: T;
|
|
274
|
+
/** Size of downloaded content in bytes */
|
|
275
|
+
size: number;
|
|
276
|
+
/** Download timestamp */
|
|
277
|
+
downloadedAt: Date;
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Arweave/Irys tags for archive bundles
|
|
281
|
+
*/
|
|
282
|
+
export interface ArchiveTags {
|
|
283
|
+
'Content-Type': 'application/json';
|
|
284
|
+
Protocol: 'AGIRAILS';
|
|
285
|
+
Version: string;
|
|
286
|
+
Schema: string;
|
|
287
|
+
Type: typeof ARCHIVE_BUNDLE_TYPE;
|
|
288
|
+
ChainId: string;
|
|
289
|
+
TxId: string;
|
|
290
|
+
}
|
|
291
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/storage/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Storage Types (AIP-7 §4)
|
|
4
|
+
*
|
|
5
|
+
* Type definitions for the AGIRAILS hybrid storage architecture:
|
|
6
|
+
* - Tier 1: IPFS (Filebase) for hot storage
|
|
7
|
+
* - Tier 2: Arweave (Irys) for permanent archive
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.ARCHIVE_BUNDLE_TYPE = void 0;
|
|
11
|
+
// ============================================================================
|
|
12
|
+
// Archive Bundle Types (AIP-7 §4.4)
|
|
13
|
+
// ============================================================================
|
|
14
|
+
/**
|
|
15
|
+
* Archive bundle type identifier
|
|
16
|
+
*/
|
|
17
|
+
exports.ARCHIVE_BUNDLE_TYPE = 'actp.archive.v1.minimal';
|
|
18
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/storage/types.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAwJH,+EAA+E;AAC/E,oCAAoC;AACpC,+EAA+E;AAE/E;;GAEG;AACU,QAAA,mBAAmB,GAAG,yBAAkC,CAAC"}
|
package/dist/types/state.d.ts
CHANGED
|
@@ -16,11 +16,12 @@ export declare class StateMachine {
|
|
|
16
16
|
/**
|
|
17
17
|
* Valid state transitions per Yellow Paper §3.2.2
|
|
18
18
|
*
|
|
19
|
-
* SECURITY FIX (
|
|
20
|
-
*
|
|
21
|
-
* -
|
|
19
|
+
* SECURITY FIX (AUDIT-2026-02): State machine must match ACTPKernel contract exactly
|
|
20
|
+
*
|
|
21
|
+
* Per on-chain ACTPKernel contract:
|
|
22
|
+
* - COMMITTED must go through IN_PROGRESS before DELIVERED (cannot skip)
|
|
23
|
+
* - DISPUTED can transition to SETTLED or CANCELLED (admin/pauser can cancel disputes)
|
|
22
24
|
* - IN_PROGRESS can transition to DELIVERED or CANCELLED (not DISPUTED)
|
|
23
|
-
* - DISPUTED can only transition to SETTLED (not CANCELLED)
|
|
24
25
|
*/
|
|
25
26
|
private static readonly TRANSITIONS;
|
|
26
27
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/types/state.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,oBAAY,KAAK;IACf,SAAS,IAAI;IACb,MAAM,IAAI;IACV,SAAS,IAAI;IACb,WAAW,IAAI;IACf,SAAS,IAAI;IACb,OAAO,IAAI;IACX,QAAQ,IAAI;IACZ,SAAS,IAAI;CACd;AAED,qBAAa,YAAY;IACvB
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/types/state.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,oBAAY,KAAK;IACf,SAAS,IAAI;IACb,MAAM,IAAI;IACV,SAAS,IAAI;IACb,WAAW,IAAI;IACf,SAAS,IAAI;IACb,OAAO,IAAI;IACX,QAAQ,IAAI;IACZ,SAAS,IAAI;CACd;AAED,qBAAa,YAAY;IACvB;;;;;;;;;OASG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAYjC;IAEF;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,GAAG,OAAO;IAIzD;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAI7C;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM;IAIzC;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,YAAY,EAAE,KAAK,GAAG,KAAK,EAAE;IAIvD;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,GAAG,IAAI;CAYxD"}
|
package/dist/types/state.js
CHANGED
|
@@ -58,22 +58,23 @@ exports.StateMachine = StateMachine;
|
|
|
58
58
|
/**
|
|
59
59
|
* Valid state transitions per Yellow Paper §3.2.2
|
|
60
60
|
*
|
|
61
|
-
* SECURITY FIX (
|
|
62
|
-
*
|
|
63
|
-
* -
|
|
61
|
+
* SECURITY FIX (AUDIT-2026-02): State machine must match ACTPKernel contract exactly
|
|
62
|
+
*
|
|
63
|
+
* Per on-chain ACTPKernel contract:
|
|
64
|
+
* - COMMITTED must go through IN_PROGRESS before DELIVERED (cannot skip)
|
|
65
|
+
* - DISPUTED can transition to SETTLED or CANCELLED (admin/pauser can cancel disputes)
|
|
64
66
|
* - IN_PROGRESS can transition to DELIVERED or CANCELLED (not DISPUTED)
|
|
65
|
-
* - DISPUTED can only transition to SETTLED (not CANCELLED)
|
|
66
67
|
*/
|
|
67
68
|
StateMachine.TRANSITIONS = {
|
|
68
69
|
[State.INITIATED]: [State.QUOTED, State.COMMITTED, State.CANCELLED], // Allow direct INITIATED → COMMITTED (AIP-3)
|
|
69
70
|
[State.QUOTED]: [State.COMMITTED, State.CANCELLED],
|
|
70
|
-
//
|
|
71
|
-
[State.COMMITTED]: [State.IN_PROGRESS, State.
|
|
72
|
-
//
|
|
71
|
+
// AUDIT FIX: COMMITTED cannot skip to DELIVERED - must go through IN_PROGRESS first
|
|
72
|
+
[State.COMMITTED]: [State.IN_PROGRESS, State.CANCELLED],
|
|
73
|
+
// IN_PROGRESS can transition to DELIVERED or CANCELLED
|
|
73
74
|
[State.IN_PROGRESS]: [State.DELIVERED, State.CANCELLED],
|
|
74
75
|
[State.DELIVERED]: [State.SETTLED, State.DISPUTED],
|
|
75
|
-
//
|
|
76
|
-
[State.DISPUTED]: [State.SETTLED],
|
|
76
|
+
// AUDIT FIX: DISPUTED can also transition to CANCELLED (admin/pauser emergency cancellation)
|
|
77
|
+
[State.DISPUTED]: [State.SETTLED, State.CANCELLED],
|
|
77
78
|
[State.SETTLED]: [], // Terminal state
|
|
78
79
|
[State.CANCELLED]: [] // Terminal state
|
|
79
80
|
};
|
package/dist/types/state.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/types/state.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,IAAY,KASX;AATD,WAAY,KAAK;IACf,2CAAa,CAAA;IACb,qCAAU,CAAA;IACV,2CAAa,CAAA;IACb,+CAAe,CAAA;IACf,2CAAa,CAAA;IACb,uCAAW,CAAA;IACX,yCAAY,CAAA;IACZ,2CAAa,CAAA;AACf,CAAC,EATW,KAAK,qBAAL,KAAK,QAShB;AAED,MAAa,YAAY;
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/types/state.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,IAAY,KASX;AATD,WAAY,KAAK;IACf,2CAAa,CAAA;IACb,qCAAU,CAAA;IACV,2CAAa,CAAA;IACb,+CAAe,CAAA;IACf,2CAAa,CAAA;IACb,uCAAW,CAAA;IACX,yCAAY,CAAA;IACZ,2CAAa,CAAA;AACf,CAAC,EATW,KAAK,qBAAL,KAAK,QAShB;AAED,MAAa,YAAY;IAyBvB;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,IAAW,EAAE,EAAS;QAC7C,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,KAAY;QACjC,OAAO,KAAK,KAAK,KAAK,CAAC,OAAO,IAAI,KAAK,KAAK,KAAK,CAAC,SAAS,CAAC;IAC9D,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,KAAY;QAC9B,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,YAAmB;QAC3C,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,IAAW,EAAE,EAAS;QAC9C,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;YACtC,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;iBAC9C,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBAClB,IAAI,CAAC,IAAI,CAAC,CAAC;YAEd,MAAM,IAAI,KAAK,CACb,6BAA6B,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,IAAI;gBAC3D,0BAA0B,KAAK,CAAC,IAAI,CAAC,KAAK,WAAW,IAAI,uBAAuB,EAAE,CACnF,CAAC;QACJ,CAAC;IACH,CAAC;;AAnEH,oCAoEC;AAnEC;;;;;;;;;GASG;AACqB,wBAAW,GAA2B;IAC5D,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,6CAA6C;IAClH,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC;IAClD,oFAAoF;IACpF,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC;IACvD,uDAAuD;IACvD,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC;IACvD,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC;IAClD,6FAA6F;IAC7F,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IAClD,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,iBAAiB;IACtC,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,iBAAiB;CACxC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IPFSClient.d.ts","sourceRoot":"","sources":["../../src/utils/IPFSClient.ts"],"names":[],"mappings":"AAAA;;;GAGG;;
|
|
1
|
+
{"version":3,"file":"IPFSClient.d.ts","sourceRoot":"","sources":["../../src/utils/IPFSClient.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAKH;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;;;OAIG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE5C;;;OAGG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhC;;;;OAIG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,CAAC,EAAE;QACL,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IAEF;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE5B;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;CAYxB,CAAC;AAEF;;;;;GAKG;AACH,qBAAa,kBAAmB,YAAW,UAAU;IACnD,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,MAAM,CAA6B;IAG3C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAoB;IAC5D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAuB;IACxE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAInC;IAEF;;;;;;;OAOG;gBACS,MAAM,GAAE,gBAAqB;IAoCzC;;OAEG;IACH,OAAO,CAAC,WAAW;IA+CnB;;;;;;;;OAQG;IACG,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAwBjD;;;OAGG;IACG,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQrC;;;;;;;;OAQG;IACG,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAkCvC;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IASlC;;;OAGG;IACG,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;CAQnC;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,UAAU,CAkC7C"}
|
package/dist/utils/IPFSClient.js
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.createIPFSClient = exports.IPFSHTTPClientImpl = exports.IPFS_CONFIGS = void 0;
|
|
8
8
|
const kubo_rpc_client_1 = require("kubo-rpc-client");
|
|
9
|
+
const Logger_1 = require("./Logger");
|
|
9
10
|
/**
|
|
10
11
|
* Default IPFS configurations
|
|
11
12
|
*/
|
|
@@ -94,8 +95,10 @@ class IPFSHTTPClientImpl {
|
|
|
94
95
|
}
|
|
95
96
|
// For remote hosts, require HTTPS
|
|
96
97
|
if (!isLocalhost && parsed.protocol !== 'https:') {
|
|
97
|
-
|
|
98
|
-
|
|
98
|
+
Logger_1.sdkLogger.warn('Using non-HTTPS protocol for remote IPFS endpoint - data may be exposed in transit', {
|
|
99
|
+
protocol: parsed.protocol,
|
|
100
|
+
hostname,
|
|
101
|
+
});
|
|
99
102
|
}
|
|
100
103
|
}
|
|
101
104
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IPFSClient.js","sourceRoot":"","sources":["../../src/utils/IPFSClient.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,qDAAkE;
|
|
1
|
+
{"version":3,"file":"IPFSClient.js","sourceRoot":"","sources":["../../src/utils/IPFSClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NonceManager.d.ts","sourceRoot":"","sources":["../../src/utils/NonceManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"NonceManager.d.ts","sourceRoot":"","sources":["../../src/utils/NonceManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
exports.createNonceManager = exports.FileBasedNonceManager = exports.DIDScopedNonceManager = exports.InMemoryNonceManager = exports.MAX_NONCE_VALUE = void 0;
|
|
14
14
|
const fsSafe_1 = require("./fsSafe");
|
|
15
|
+
const Logger_1 = require("./Logger");
|
|
15
16
|
/**
|
|
16
17
|
* Maximum allowed nonce value.
|
|
17
18
|
* SECURITY FIX (H-5): Prevents nonce overflow attacks.
|
|
@@ -424,7 +425,7 @@ class FileBasedNonceManager {
|
|
|
424
425
|
this.inMemory.recordNonce(messageType, nonce);
|
|
425
426
|
// Fire-and-forget to maintain sync interface
|
|
426
427
|
this.saveToFile().catch((err) => {
|
|
427
|
-
|
|
428
|
+
Logger_1.sdkLogger.error('Failed to save nonce manager state', { error: err instanceof Error ? err.message : String(err) });
|
|
428
429
|
});
|
|
429
430
|
}
|
|
430
431
|
getCurrentNonce(messageType) {
|
|
@@ -434,7 +435,7 @@ class FileBasedNonceManager {
|
|
|
434
435
|
this.inMemory.resetNonce(messageType);
|
|
435
436
|
// Fire-and-forget to maintain sync interface
|
|
436
437
|
this.saveToFile().catch((err) => {
|
|
437
|
-
|
|
438
|
+
Logger_1.sdkLogger.error('Failed to save nonce manager state', { error: err instanceof Error ? err.message : String(err) });
|
|
438
439
|
});
|
|
439
440
|
}
|
|
440
441
|
getAllNonces() {
|