@toon-protocol/connector 2.5.0 → 2.6.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.
Files changed (92) hide show
  1. package/dist/core/connector-node.d.ts +1 -0
  2. package/dist/core/connector-node.d.ts.map +1 -1
  3. package/dist/core/connector-node.js +13 -1
  4. package/dist/core/connector-node.js.map +1 -1
  5. package/dist/core/packet-handler.d.ts +3 -0
  6. package/dist/core/packet-handler.d.ts.map +1 -1
  7. package/dist/core/packet-handler.js +33 -10
  8. package/dist/core/packet-handler.js.map +1 -1
  9. package/dist/http/admin-api-inventory.d.ts +29 -0
  10. package/dist/http/admin-api-inventory.d.ts.map +1 -0
  11. package/dist/http/admin-api-inventory.js +462 -0
  12. package/dist/http/admin-api-inventory.js.map +1 -0
  13. package/dist/http/admin-api.d.ts +20 -0
  14. package/dist/http/admin-api.d.ts.map +1 -1
  15. package/dist/http/admin-api.js +61 -1
  16. package/dist/http/admin-api.js.map +1 -1
  17. package/dist/http/admin-server.d.ts +2 -0
  18. package/dist/http/admin-server.d.ts.map +1 -1
  19. package/dist/http/admin-server.js +2 -1
  20. package/dist/http/admin-server.js.map +1 -1
  21. package/dist/observability/metrics-registry.d.ts +39 -0
  22. package/dist/observability/metrics-registry.d.ts.map +1 -0
  23. package/dist/observability/metrics-registry.js +151 -0
  24. package/dist/observability/metrics-registry.js.map +1 -0
  25. package/package.json +8 -3
  26. package/dist/config/aptos-env-validator.d.ts +0 -8
  27. package/dist/config/aptos-env-validator.d.ts.map +0 -1
  28. package/dist/config/aptos-env-validator.js +0 -25
  29. package/dist/config/aptos-env-validator.js.map +0 -1
  30. package/dist/explorer-ui/assets/EventDetailPanel-CnSaMk3V.js +0 -6
  31. package/dist/explorer-ui/assets/FilterBar-BEmAzBku.js +0 -26
  32. package/dist/explorer-ui/assets/chevron-right-BUT9VhYe.js +0 -11
  33. package/dist/explorer-ui/assets/index-BZ2INVgy.js +0 -360
  34. package/dist/explorer-ui/assets/index-Cemh6svI.css +0 -1
  35. package/dist/explorer-ui/index.html +0 -14
  36. package/dist/explorer-ui/vite.svg +0 -1
  37. package/dist/security/backends/aws-kms-backend.d.ts +0 -18
  38. package/dist/security/backends/aws-kms-backend.d.ts.map +0 -1
  39. package/dist/security/backends/aws-kms-backend.js +0 -130
  40. package/dist/security/backends/aws-kms-backend.js.map +0 -1
  41. package/dist/security/backends/azure-kv-backend.d.ts +0 -17
  42. package/dist/security/backends/azure-kv-backend.d.ts.map +0 -1
  43. package/dist/security/backends/azure-kv-backend.js +0 -121
  44. package/dist/security/backends/azure-kv-backend.js.map +0 -1
  45. package/dist/security/backends/gcp-kms-backend.d.ts +0 -17
  46. package/dist/security/backends/gcp-kms-backend.d.ts.map +0 -1
  47. package/dist/security/backends/gcp-kms-backend.js +0 -110
  48. package/dist/security/backends/gcp-kms-backend.js.map +0 -1
  49. package/dist/security/backends/hsm-backend.d.ts +0 -18
  50. package/dist/security/backends/hsm-backend.d.ts.map +0 -1
  51. package/dist/security/backends/hsm-backend.js +0 -187
  52. package/dist/security/backends/hsm-backend.js.map +0 -1
  53. package/dist/settlement/aptos-channel-sdk.d.ts +0 -66
  54. package/dist/settlement/aptos-channel-sdk.d.ts.map +0 -1
  55. package/dist/settlement/aptos-channel-sdk.js +0 -274
  56. package/dist/settlement/aptos-channel-sdk.js.map +0 -1
  57. package/dist/settlement/aptos-claim-signer.d.ts +0 -57
  58. package/dist/settlement/aptos-claim-signer.d.ts.map +0 -1
  59. package/dist/settlement/aptos-claim-signer.js +0 -200
  60. package/dist/settlement/aptos-claim-signer.js.map +0 -1
  61. package/dist/settlement/aptos-client.d.ts +0 -99
  62. package/dist/settlement/aptos-client.d.ts.map +0 -1
  63. package/dist/settlement/aptos-client.js +0 -474
  64. package/dist/settlement/aptos-client.js.map +0 -1
  65. package/dist/settlement/xrp-channel-lifecycle.d.ts +0 -41
  66. package/dist/settlement/xrp-channel-lifecycle.d.ts.map +0 -1
  67. package/dist/settlement/xrp-channel-lifecycle.js +0 -142
  68. package/dist/settlement/xrp-channel-lifecycle.js.map +0 -1
  69. package/dist/settlement/xrp-channel-manager.d.ts +0 -59
  70. package/dist/settlement/xrp-channel-manager.d.ts.map +0 -1
  71. package/dist/settlement/xrp-channel-manager.js +0 -160
  72. package/dist/settlement/xrp-channel-manager.js.map +0 -1
  73. package/dist/settlement/xrp-channel-sdk.d.ts +0 -30
  74. package/dist/settlement/xrp-channel-sdk.d.ts.map +0 -1
  75. package/dist/settlement/xrp-channel-sdk.js +0 -164
  76. package/dist/settlement/xrp-channel-sdk.js.map +0 -1
  77. package/dist/settlement/xrp-claim-signer.d.ts +0 -22
  78. package/dist/settlement/xrp-claim-signer.d.ts.map +0 -1
  79. package/dist/settlement/xrp-claim-signer.js +0 -122
  80. package/dist/settlement/xrp-claim-signer.js.map +0 -1
  81. package/dist/settlement/xrpl-client.d.ts +0 -104
  82. package/dist/settlement/xrpl-client.d.ts.map +0 -1
  83. package/dist/settlement/xrpl-client.js +0 -304
  84. package/dist/settlement/xrpl-client.js.map +0 -1
  85. package/dist/test/testnet-config.d.ts +0 -58
  86. package/dist/test/testnet-config.d.ts.map +0 -1
  87. package/dist/test/testnet-config.js +0 -89
  88. package/dist/test/testnet-config.js.map +0 -1
  89. package/dist/utils/xrp-wss-connection-pool.d.ts +0 -8
  90. package/dist/utils/xrp-wss-connection-pool.d.ts.map +0 -1
  91. package/dist/utils/xrp-wss-connection-pool.js +0 -42
  92. package/dist/utils/xrp-wss-connection-pool.js.map +0 -1
@@ -1,18 +0,0 @@
1
- import { Logger } from 'pino';
2
- import { KeyManagerBackend, HSMConfig } from '../key-manager';
3
- export declare class HSMBackend implements KeyManagerBackend {
4
- private pkcs11;
5
- private session;
6
- private logger;
7
- constructor(config: HSMConfig, logger: Logger);
8
- private _mapPKCS11Error;
9
- private _detectKeyType;
10
- private _findPrivateKey;
11
- private _findPublicKey;
12
- private _getSignMechanism;
13
- sign(message: Buffer, keyLabel: string): Promise<Buffer>;
14
- getPublicKey(keyLabel: string): Promise<Buffer>;
15
- rotateKey(keyLabel: string): Promise<string>;
16
- destroy(): void;
17
- }
18
- //# sourceMappingURL=hsm-backend.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hsm-backend.d.ts","sourceRoot":"","sources":["../../../src/security/backends/hsm-backend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAO9D,qBAAa,UAAW,YAAW,iBAAiB;IAElD,OAAO,CAAC,MAAM,CAAM;IAEpB,OAAO,CAAC,OAAO,CAAM;IACrB,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM;IA8C7C,OAAO,CAAC,eAAe;IAwBvB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,eAAe;IA0BvB,OAAO,CAAC,cAAc;IA0BtB,OAAO,CAAC,iBAAiB;IAanB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA6BxD,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAiC/C,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAuFlD,OAAO,IAAI,IAAI;CAchB"}
@@ -1,187 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HSMBackend = void 0;
4
- class HSMBackend {
5
- pkcs11;
6
- session;
7
- logger;
8
- constructor(config, logger) {
9
- this.logger = logger.child({ component: 'HSMBackend' });
10
- try {
11
- const pkcs11js = require('pkcs11js');
12
- this.pkcs11 = new pkcs11js.PKCS11();
13
- this.pkcs11.load(config.pkcs11LibraryPath);
14
- this.pkcs11.C_Initialize();
15
- this.session = this.pkcs11.C_OpenSession(config.slotId, pkcs11js.CKF_SERIAL_SESSION | pkcs11js.CKF_RW_SESSION);
16
- const pin = config.pin || process.env.HSM_PIN;
17
- if (!pin) {
18
- throw new Error('HSM PIN not provided');
19
- }
20
- this.pkcs11.C_Login(this.session, pkcs11js.CKU_USER, pin);
21
- this.logger.info({ slotId: config.slotId, libraryPath: config.pkcs11LibraryPath }, 'HSMBackend initialized and logged in');
22
- }
23
- catch (error) {
24
- this.logger.error({ error }, 'HSMBackend initialization failed');
25
- const mappedError = this._mapPKCS11Error(error);
26
- throw new Error(`HSMBackend initialization failed: ${mappedError.message}`);
27
- }
28
- }
29
- _mapPKCS11Error(error) {
30
- const CKR_PIN_INCORRECT = 0x000000a0;
31
- const CKR_KEY_HANDLE_INVALID = 0x00000060;
32
- const CKR_FUNCTION_FAILED = 0x00000006;
33
- if (typeof error === 'object' && error !== null && 'code' in error) {
34
- const code = error.code;
35
- if (code === CKR_PIN_INCORRECT) {
36
- return new Error('Invalid HSM PIN');
37
- }
38
- else if (code === CKR_KEY_HANDLE_INVALID) {
39
- return new Error('Key not found');
40
- }
41
- else if (code === CKR_FUNCTION_FAILED) {
42
- return new Error('HSM operation failed');
43
- }
44
- }
45
- return error instanceof Error ? error : new Error(String(error));
46
- }
47
- _detectKeyType(_keyLabel) {
48
- return 'evm';
49
- }
50
- _findPrivateKey(keyLabel) {
51
- const pkcs11js = require('pkcs11js');
52
- const template = [
53
- { type: pkcs11js.CKA_CLASS, value: pkcs11js.CKO_PRIVATE_KEY },
54
- { type: pkcs11js.CKA_LABEL, value: keyLabel },
55
- ];
56
- this.pkcs11.C_FindObjectsInit(this.session, template);
57
- const handles = this.pkcs11.C_FindObjects(this.session, 1);
58
- this.pkcs11.C_FindObjectsFinal(this.session);
59
- if (handles.length === 0) {
60
- throw new Error(`Private key with label "${keyLabel}" not found in HSM`);
61
- }
62
- return handles[0];
63
- }
64
- _findPublicKey(keyLabel) {
65
- const pkcs11js = require('pkcs11js');
66
- const template = [
67
- { type: pkcs11js.CKA_CLASS, value: pkcs11js.CKO_PUBLIC_KEY },
68
- { type: pkcs11js.CKA_LABEL, value: keyLabel },
69
- ];
70
- this.pkcs11.C_FindObjectsInit(this.session, template);
71
- const handles = this.pkcs11.C_FindObjects(this.session, 1);
72
- this.pkcs11.C_FindObjectsFinal(this.session);
73
- if (handles.length === 0) {
74
- throw new Error(`Public key with label "${keyLabel}" not found in HSM`);
75
- }
76
- return handles[0];
77
- }
78
- _getSignMechanism(_keyType) {
79
- const pkcs11js = require('pkcs11js');
80
- return { mechanism: pkcs11js.CKM_ECDSA };
81
- }
82
- async sign(message, keyLabel) {
83
- const keyType = this._detectKeyType(keyLabel);
84
- const mechanism = this._getSignMechanism(keyType);
85
- this.logger.debug({ keyLabel, keyType, mechanism }, 'Signing with HSM');
86
- try {
87
- const privateKeyHandle = this._findPrivateKey(keyLabel);
88
- this.pkcs11.C_SignInit(this.session, mechanism, privateKeyHandle);
89
- const signature = this.pkcs11.C_Sign(this.session, message, Buffer.alloc(256));
90
- this.logger.info({ keyLabel, signatureLength: signature.length }, 'HSM signature generated');
91
- return signature;
92
- }
93
- catch (error) {
94
- this.logger.error({ keyLabel, error }, 'HSM signing failed');
95
- throw this._mapPKCS11Error(error);
96
- }
97
- }
98
- async getPublicKey(keyLabel) {
99
- this.logger.debug({ keyLabel }, 'Retrieving public key from HSM');
100
- try {
101
- const pkcs11js = require('pkcs11js');
102
- const publicKeyHandle = this._findPublicKey(keyLabel);
103
- const template = [{ type: pkcs11js.CKA_VALUE }];
104
- const attributes = this.pkcs11.C_GetAttributeValue(this.session, publicKeyHandle, template);
105
- if (!attributes[0].value) {
106
- throw new Error('HSM returned no public key value');
107
- }
108
- const publicKey = attributes[0].value;
109
- this.logger.info({ keyLabel, publicKeyLength: publicKey.length }, 'HSM public key retrieved');
110
- return publicKey;
111
- }
112
- catch (error) {
113
- this.logger.error({ keyLabel, error }, 'HSM public key retrieval failed');
114
- throw this._mapPKCS11Error(error);
115
- }
116
- }
117
- async rotateKey(keyLabel) {
118
- const keyType = this._detectKeyType(keyLabel);
119
- this.logger.info({ oldKeyLabel: keyLabel, keyType }, 'Generating new HSM key pair for rotation');
120
- try {
121
- const pkcs11js = require('pkcs11js');
122
- const newKeyLabel = `${keyLabel}-rotated-${Date.now()}`;
123
- let mechanism;
124
- let publicKeyTemplate;
125
- let privateKeyTemplate;
126
- if (keyType === 'evm') {
127
- mechanism = { mechanism: pkcs11js.CKM_EC_KEY_PAIR_GEN };
128
- const secp256k1Oid = Buffer.from([0x06, 0x05, 0x2b, 0x81, 0x04, 0x00, 0x0a]);
129
- publicKeyTemplate = [
130
- { type: pkcs11js.CKA_LABEL, value: newKeyLabel },
131
- { type: pkcs11js.CKA_EC_PARAMS, value: secp256k1Oid },
132
- { type: pkcs11js.CKA_VERIFY, value: true },
133
- ];
134
- privateKeyTemplate = [
135
- { type: pkcs11js.CKA_LABEL, value: newKeyLabel },
136
- { type: pkcs11js.CKA_SIGN, value: true },
137
- { type: pkcs11js.CKA_SENSITIVE, value: true },
138
- { type: pkcs11js.CKA_EXTRACTABLE, value: false },
139
- ];
140
- }
141
- else {
142
- mechanism = { mechanism: pkcs11js.CKM_EC_EDWARDS_KEY_PAIR_GEN };
143
- const ed25519Oid = Buffer.from([0x06, 0x03, 0x2b, 0x65, 0x70]);
144
- publicKeyTemplate = [
145
- { type: pkcs11js.CKA_LABEL, value: newKeyLabel },
146
- { type: pkcs11js.CKA_EC_PARAMS, value: ed25519Oid },
147
- { type: pkcs11js.CKA_VERIFY, value: true },
148
- ];
149
- privateKeyTemplate = [
150
- { type: pkcs11js.CKA_LABEL, value: newKeyLabel },
151
- { type: pkcs11js.CKA_SIGN, value: true },
152
- { type: pkcs11js.CKA_SENSITIVE, value: true },
153
- { type: pkcs11js.CKA_EXTRACTABLE, value: false },
154
- ];
155
- }
156
- const keyPair = this.pkcs11.C_GenerateKeyPair(this.session, mechanism, publicKeyTemplate, privateKeyTemplate);
157
- this.logger.info({
158
- oldKeyLabel: keyLabel,
159
- newKeyLabel,
160
- publicKey: keyPair.publicKey,
161
- privateKey: keyPair.privateKey,
162
- }, 'HSM key rotation completed');
163
- return newKeyLabel;
164
- }
165
- catch (error) {
166
- this.logger.error({ keyLabel, error }, 'HSM key rotation failed');
167
- throw this._mapPKCS11Error(error);
168
- }
169
- }
170
- destroy() {
171
- try {
172
- if (this.session) {
173
- this.pkcs11.C_Logout(this.session);
174
- this.pkcs11.C_CloseSession(this.session);
175
- }
176
- if (this.pkcs11) {
177
- this.pkcs11.C_Finalize();
178
- }
179
- this.logger.info('HSMBackend destroyed');
180
- }
181
- catch (error) {
182
- this.logger.error({ error }, 'HSMBackend cleanup failed');
183
- }
184
- }
185
- }
186
- exports.HSMBackend = HSMBackend;
187
- //# sourceMappingURL=hsm-backend.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hsm-backend.js","sourceRoot":"","sources":["../../../src/security/backends/hsm-backend.ts"],"names":[],"mappings":"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"}
@@ -1,66 +0,0 @@
1
- import type { Logger } from 'pino';
2
- import type { IAptosClient } from './aptos-client';
3
- import type { IAptosClaimSigner, AptosClaim } from './aptos-claim-signer';
4
- export interface AptosChannelState {
5
- channelOwner: string;
6
- destination: string;
7
- destinationPubkey: string;
8
- deposited: bigint;
9
- claimed: bigint;
10
- nonce: number;
11
- settleDelay: number;
12
- closeRequestedAt: number;
13
- status: 'open' | 'closing' | 'closed';
14
- }
15
- export interface AptosChannelSDKConfig {
16
- moduleAddress: string;
17
- coinType?: string;
18
- refreshIntervalMs?: number;
19
- defaultSettleDelay?: number;
20
- }
21
- export interface IAptosChannelSDK {
22
- openChannel(destination: string, destinationPubkey: string, amount: bigint, settleDelay?: number): Promise<string>;
23
- deposit(amount: bigint): Promise<void>;
24
- signClaim(channelOwner: string, amount: bigint): Promise<AptosClaim>;
25
- verifyClaim(claim: AptosClaim): Promise<boolean>;
26
- submitClaim(claim: AptosClaim): Promise<void>;
27
- requestClose(channelOwner: string): Promise<void>;
28
- finalizeClose(channelOwner: string): Promise<void>;
29
- getChannelState(channelOwner: string): Promise<AptosChannelState | null>;
30
- getMyChannels(): string[];
31
- startAutoRefresh(): void;
32
- stopAutoRefresh(): void;
33
- }
34
- export declare class AptosChannelSDK implements IAptosChannelSDK {
35
- private readonly _aptosClient;
36
- private readonly _claimSigner;
37
- private readonly _config;
38
- private readonly _logger;
39
- private readonly _channelStateCache;
40
- private _refreshIntervalId?;
41
- constructor(aptosClient: IAptosClient, claimSigner: IAptosClaimSigner, config: AptosChannelSDKConfig, logger: Logger);
42
- private normalizeAddress;
43
- private parseModulePath;
44
- private hexToBytes;
45
- openChannel(destination: string, destinationPubkey: string, amount: bigint, settleDelay?: number): Promise<string>;
46
- deposit(amount: bigint): Promise<void>;
47
- requestClose(channelOwner: string): Promise<void>;
48
- finalizeClose(channelOwner: string): Promise<void>;
49
- signClaim(channelOwner: string, amount: bigint): Promise<AptosClaim>;
50
- verifyClaim(claim: AptosClaim): Promise<boolean>;
51
- submitClaim(claim: AptosClaim): Promise<void>;
52
- getChannelState(channelOwner: string): Promise<AptosChannelState | null>;
53
- getMyChannels(): string[];
54
- private refreshChannelState;
55
- private refreshAllChannels;
56
- startAutoRefresh(): void;
57
- stopAutoRefresh(): void;
58
- private buildOpenChannelTransaction;
59
- private buildDepositTransaction;
60
- private buildClaimTransaction;
61
- private buildRequestCloseTransaction;
62
- private buildFinalizeCloseTransaction;
63
- }
64
- export declare function createAptosChannelSDKFromEnv(logger: Logger): Promise<AptosChannelSDK>;
65
- export type { AptosClaim } from './aptos-claim-signer';
66
- //# sourceMappingURL=aptos-channel-sdk.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"aptos-channel-sdk.d.ts","sourceRoot":"","sources":["../../src/settlement/aptos-channel-sdk.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAa1E,MAAM,WAAW,iBAAiB;IAKhC,YAAY,EAAE,MAAM,CAAC;IAMrB,WAAW,EAAE,MAAM,CAAC;IAMpB,iBAAiB,EAAE,MAAM,CAAC;IAK1B,SAAS,EAAE,MAAM,CAAC;IAMlB,OAAO,EAAE,MAAM,CAAC;IAMhB,KAAK,EAAE,MAAM,CAAC;IAMd,WAAW,EAAE,MAAM,CAAC;IAMpB,gBAAgB,EAAE,MAAM,CAAC;IAQzB,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;CACvC;AAKD,MAAM,WAAW,qBAAqB;IAMpC,aAAa,EAAE,MAAM,CAAC;IAOtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAMlB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAO3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAYD,MAAM,WAAW,gBAAgB;IAa/B,WAAW,CACT,WAAW,EAAE,MAAM,EACnB,iBAAiB,EAAE,MAAM,EACzB,MAAM,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CAAC;IASnB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAYvC,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAUrE,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAUjD,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAU9C,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAUlD,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAWnD,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IASzE,aAAa,IAAI,MAAM,EAAE,CAAC;IAQ1B,gBAAgB,IAAI,IAAI,CAAC;IAQzB,eAAe,IAAI,IAAI,CAAC;CACzB;AAgCD,qBAAa,eAAgB,YAAW,gBAAgB;IACtD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IACjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAiC;IACpE,OAAO,CAAC,kBAAkB,CAAC,CAAiB;gBAW1C,WAAW,EAAE,YAAY,EACzB,WAAW,EAAE,iBAAiB,EAC9B,MAAM,EAAE,qBAAqB,EAC7B,MAAM,EAAE,MAAM;IAiBhB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,eAAe;IAmBvB,OAAO,CAAC,UAAU;IAaZ,WAAW,CACf,WAAW,EAAE,MAAM,EACnB,iBAAiB,EAAE,MAAM,EACzB,MAAM,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC;IAgDZ,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BtC,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA+BjD,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA+BlD,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAgBpE,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAwBhD,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA2C7C,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IA+D9E,aAAa,IAAI,MAAM,EAAE;YAOX,mBAAmB;YAiBnB,kBAAkB;IAWhC,gBAAgB,IAAI,IAAI;IAoBxB,eAAe,IAAI,IAAI;IAevB,OAAO,CAAC,2BAA2B;IAmBnC,OAAO,CAAC,uBAAuB;IAW/B,OAAO,CAAC,qBAAqB;IAgB7B,OAAO,CAAC,4BAA4B;IAWpC,OAAO,CAAC,6BAA6B;CAOtC;AA2BD,wBAAsB,4BAA4B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAuB3F;AAGD,YAAY,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1,274 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AptosChannelSDK = void 0;
4
- exports.createAptosChannelSDKFromEnv = createAptosChannelSDKFromEnv;
5
- const aptos_client_1 = require("./aptos-client");
6
- const aptos_claim_signer_1 = require("./aptos-claim-signer");
7
- class AptosChannelSDK {
8
- _aptosClient;
9
- _claimSigner;
10
- _config;
11
- _logger;
12
- _channelStateCache;
13
- _refreshIntervalId;
14
- constructor(aptosClient, claimSigner, config, logger) {
15
- this._aptosClient = aptosClient;
16
- this._claimSigner = claimSigner;
17
- this._config = {
18
- ...config,
19
- coinType: config.coinType ?? '0x1::aptos_coin::AptosCoin',
20
- refreshIntervalMs: config.refreshIntervalMs ?? 30000,
21
- defaultSettleDelay: config.defaultSettleDelay ?? 86400,
22
- };
23
- this._logger = logger.child({ component: 'AptosChannelSDK' });
24
- this._channelStateCache = new Map();
25
- }
26
- normalizeAddress(address) {
27
- const cleaned = address.replace(/^0x/i, '').toLowerCase();
28
- return `0x${cleaned.padStart(64, '0')}`;
29
- }
30
- parseModulePath() {
31
- const parts = this._config.moduleAddress.split('::');
32
- if (parts.length !== 2 || !parts[0] || !parts[1]) {
33
- throw new aptos_client_1.AptosError(aptos_client_1.AptosErrorCode.INVALID_TRANSACTION, `Invalid module address format: ${this._config.moduleAddress}. Expected format: {account_address}::{module_name}`);
34
- }
35
- return {
36
- accountAddress: parts[0],
37
- moduleName: parts[1],
38
- };
39
- }
40
- hexToBytes(hex) {
41
- const cleanHex = hex.replace(/^0x/i, '');
42
- const bytes = [];
43
- for (let i = 0; i < cleanHex.length; i += 2) {
44
- bytes.push(parseInt(cleanHex.substring(i, i + 2), 16));
45
- }
46
- return bytes;
47
- }
48
- async openChannel(destination, destinationPubkey, amount, settleDelay) {
49
- const normalizedDestination = this.normalizeAddress(destination);
50
- const effectiveSettleDelay = settleDelay ?? this._config.defaultSettleDelay;
51
- this._logger.info({
52
- destination: normalizedDestination,
53
- amount: amount.toString(),
54
- settleDelay: effectiveSettleDelay,
55
- }, 'Opening Aptos payment channel...');
56
- const transaction = await this.buildOpenChannelTransaction(normalizedDestination, destinationPubkey, amount, effectiveSettleDelay);
57
- const result = await this._aptosClient.submitTransaction(transaction);
58
- if (!result.success) {
59
- throw new aptos_client_1.AptosError(aptos_client_1.AptosErrorCode.TRANSACTION_FAILED, `Failed to open channel: ${result.vmStatus}`);
60
- }
61
- const channelOwner = this.normalizeAddress(this._aptosClient.getAddress());
62
- const channelState = await this.getChannelState(channelOwner);
63
- if (channelState) {
64
- this._channelStateCache.set(channelOwner, channelState);
65
- }
66
- this._logger.info({ channelOwner, txHash: result.hash }, 'Aptos payment channel opened successfully');
67
- return channelOwner;
68
- }
69
- async deposit(amount) {
70
- const channelOwner = this.normalizeAddress(this._aptosClient.getAddress());
71
- this._logger.info({ channelOwner, amount: amount.toString() }, 'Depositing to Aptos payment channel...');
72
- const transaction = await this.buildDepositTransaction(amount);
73
- const result = await this._aptosClient.submitTransaction(transaction);
74
- if (!result.success) {
75
- throw new aptos_client_1.AptosError(aptos_client_1.AptosErrorCode.TRANSACTION_FAILED, `Failed to deposit to channel: ${result.vmStatus}`);
76
- }
77
- await this.refreshChannelState(channelOwner);
78
- this._logger.info({ channelOwner, amount: amount.toString(), txHash: result.hash }, 'Deposit to Aptos payment channel successful');
79
- }
80
- async requestClose(channelOwner) {
81
- const normalizedOwner = this.normalizeAddress(channelOwner);
82
- this._logger.info({ channelOwner: normalizedOwner }, 'Requesting Aptos channel closure...');
83
- const transaction = await this.buildRequestCloseTransaction(normalizedOwner);
84
- const result = await this._aptosClient.submitTransaction(transaction);
85
- if (!result.success) {
86
- throw new aptos_client_1.AptosError(aptos_client_1.AptosErrorCode.TRANSACTION_FAILED, `Failed to request channel close: ${result.vmStatus}`);
87
- }
88
- const cachedState = this._channelStateCache.get(normalizedOwner);
89
- if (cachedState) {
90
- cachedState.status = 'closing';
91
- cachedState.closeRequestedAt = Math.floor(Date.now() / 1000);
92
- }
93
- this._logger.info({ channelOwner: normalizedOwner, txHash: result.hash }, 'Aptos channel close requested (settle delay started)');
94
- }
95
- async finalizeClose(channelOwner) {
96
- const normalizedOwner = this.normalizeAddress(channelOwner);
97
- this._logger.info({ channelOwner: normalizedOwner }, 'Finalizing Aptos channel closure...');
98
- const transaction = await this.buildFinalizeCloseTransaction(normalizedOwner);
99
- const result = await this._aptosClient.submitTransaction(transaction);
100
- if (!result.success) {
101
- throw new aptos_client_1.AptosError(aptos_client_1.AptosErrorCode.TRANSACTION_FAILED, `Failed to finalize channel close: ${result.vmStatus}`);
102
- }
103
- this._channelStateCache.delete(normalizedOwner);
104
- this._logger.info({ channelOwner: normalizedOwner, txHash: result.hash }, 'Aptos channel finalized and closed');
105
- }
106
- async signClaim(channelOwner, amount) {
107
- const normalizedOwner = this.normalizeAddress(channelOwner);
108
- const highestNonce = this._claimSigner.getHighestNonce(normalizedOwner);
109
- const newNonce = highestNonce + 1;
110
- this._logger.debug({ channelOwner: normalizedOwner, amount: amount.toString(), nonce: newNonce }, 'Signing Aptos claim');
111
- return this._claimSigner.signClaim(normalizedOwner, amount, newNonce);
112
- }
113
- async verifyClaim(claim) {
114
- this._logger.debug({
115
- channelOwner: claim.channelOwner,
116
- amount: claim.amount.toString(),
117
- nonce: claim.nonce,
118
- }, 'Verifying Aptos claim');
119
- const result = await this._claimSigner.verifyClaim(claim.channelOwner, claim.amount, claim.nonce, claim.signature, claim.publicKey);
120
- this._logger.debug({ result }, 'Claim verification result');
121
- return result;
122
- }
123
- async submitClaim(claim) {
124
- const normalizedOwner = this.normalizeAddress(claim.channelOwner);
125
- this._logger.info({
126
- channelOwner: normalizedOwner,
127
- amount: claim.amount.toString(),
128
- nonce: claim.nonce,
129
- }, 'Submitting Aptos claim to chain...');
130
- const transaction = await this.buildClaimTransaction(normalizedOwner, claim.amount, claim.nonce, claim.signature);
131
- const result = await this._aptosClient.submitTransaction(transaction);
132
- if (!result.success) {
133
- throw new aptos_client_1.AptosError(aptos_client_1.AptosErrorCode.TRANSACTION_FAILED, `Failed to submit claim: ${result.vmStatus}`);
134
- }
135
- await this.refreshChannelState(normalizedOwner);
136
- this._logger.info({ channelOwner: normalizedOwner, txHash: result.hash }, 'Aptos claim submitted successfully');
137
- }
138
- async getChannelState(channelOwner) {
139
- const normalizedOwner = this.normalizeAddress(channelOwner);
140
- this._logger.debug({ channelOwner: normalizedOwner }, 'Querying Aptos channel state...');
141
- try {
142
- const { accountAddress, moduleName } = this.parseModulePath();
143
- const result = await this._aptosClient.view(accountAddress, moduleName, 'get_channel', [this._config.coinType], [normalizedOwner]);
144
- const [destination, destinationPubkey, deposited, claimed, nonce, settleDelay, closeRequestedAt,] = result;
145
- const closeRequestedAtNum = parseInt(closeRequestedAt, 10);
146
- const channelState = {
147
- channelOwner: normalizedOwner,
148
- destination: this.normalizeAddress(destination),
149
- destinationPubkey,
150
- deposited: BigInt(deposited),
151
- claimed: BigInt(claimed),
152
- nonce: parseInt(nonce, 10),
153
- settleDelay: parseInt(settleDelay, 10),
154
- closeRequestedAt: closeRequestedAtNum,
155
- status: closeRequestedAtNum > 0 ? 'closing' : 'open',
156
- };
157
- this._channelStateCache.set(normalizedOwner, channelState);
158
- this._logger.debug({
159
- channelOwner: normalizedOwner,
160
- deposited: channelState.deposited.toString(),
161
- claimed: channelState.claimed.toString(),
162
- status: channelState.status,
163
- }, 'Aptos channel state retrieved');
164
- return channelState;
165
- }
166
- catch (error) {
167
- if (error instanceof aptos_client_1.AptosError && error.code === aptos_client_1.AptosErrorCode.RESOURCE_NOT_FOUND) {
168
- this._logger.debug({ channelOwner: normalizedOwner }, 'Channel not found');
169
- return null;
170
- }
171
- throw error;
172
- }
173
- }
174
- getMyChannels() {
175
- return Array.from(this._channelStateCache.keys());
176
- }
177
- async refreshChannelState(channelOwner) {
178
- try {
179
- const channelState = await this.getChannelState(channelOwner);
180
- if (channelState) {
181
- this._channelStateCache.set(channelOwner, channelState);
182
- }
183
- else {
184
- this._channelStateCache.delete(channelOwner);
185
- }
186
- }
187
- catch (error) {
188
- this._logger.error({ error, channelOwner }, 'Failed to refresh channel state');
189
- }
190
- }
191
- async refreshAllChannels() {
192
- const channelOwners = Array.from(this._channelStateCache.keys());
193
- this._logger.debug({ count: channelOwners.length }, 'Refreshing all Aptos channels...');
194
- await Promise.all(channelOwners.map((owner) => this.refreshChannelState(owner)));
195
- }
196
- startAutoRefresh() {
197
- if (this._refreshIntervalId) {
198
- this._logger.warn('Auto-refresh already started');
199
- return;
200
- }
201
- this._logger.info({ intervalMs: this._config.refreshIntervalMs }, 'Starting Aptos channel auto-refresh');
202
- this._refreshIntervalId = setInterval(async () => {
203
- try {
204
- await this.refreshAllChannels();
205
- }
206
- catch (error) {
207
- this._logger.error({ error }, 'Error during channel auto-refresh');
208
- }
209
- }, this._config.refreshIntervalMs);
210
- }
211
- stopAutoRefresh() {
212
- if (this._refreshIntervalId) {
213
- clearInterval(this._refreshIntervalId);
214
- this._refreshIntervalId = undefined;
215
- this._logger.info('Aptos channel auto-refresh stopped');
216
- }
217
- }
218
- buildOpenChannelTransaction(destination, destinationPubkey, amount, settleDelay) {
219
- const pubkeyBytes = this.hexToBytes(destinationPubkey);
220
- return {
221
- function: `${this._config.moduleAddress}::open_channel`,
222
- typeArguments: [this._config.coinType],
223
- functionArguments: [destination, pubkeyBytes, amount.toString(), settleDelay.toString()],
224
- };
225
- }
226
- buildDepositTransaction(amount) {
227
- return {
228
- function: `${this._config.moduleAddress}::deposit`,
229
- typeArguments: [this._config.coinType],
230
- functionArguments: [amount.toString()],
231
- };
232
- }
233
- buildClaimTransaction(channelOwner, amount, nonce, signature) {
234
- return {
235
- function: `${this._config.moduleAddress}::claim`,
236
- typeArguments: [this._config.coinType],
237
- functionArguments: [channelOwner, amount.toString(), nonce.toString(), signature],
238
- };
239
- }
240
- buildRequestCloseTransaction(channelOwner) {
241
- return {
242
- function: `${this._config.moduleAddress}::request_close`,
243
- typeArguments: [this._config.coinType],
244
- functionArguments: [channelOwner],
245
- };
246
- }
247
- buildFinalizeCloseTransaction(channelOwner) {
248
- return {
249
- function: `${this._config.moduleAddress}::finalize_close`,
250
- typeArguments: [this._config.coinType],
251
- functionArguments: [channelOwner],
252
- };
253
- }
254
- }
255
- exports.AptosChannelSDK = AptosChannelSDK;
256
- async function createAptosChannelSDKFromEnv(logger) {
257
- const moduleAddress = process.env.APTOS_MODULE_ADDRESS;
258
- if (!moduleAddress) {
259
- throw new Error('APTOS_MODULE_ADDRESS environment variable is required');
260
- }
261
- const aptosClient = await (0, aptos_client_1.createAptosClientFromEnv)(logger);
262
- const claimSigner = await (0, aptos_claim_signer_1.createAptosClaimSignerFromEnv)(logger);
263
- const config = {
264
- moduleAddress,
265
- refreshIntervalMs: process.env.APTOS_CHANNEL_REFRESH_INTERVAL_MS
266
- ? parseInt(process.env.APTOS_CHANNEL_REFRESH_INTERVAL_MS, 10)
267
- : undefined,
268
- defaultSettleDelay: process.env.APTOS_DEFAULT_SETTLE_DELAY
269
- ? parseInt(process.env.APTOS_DEFAULT_SETTLE_DELAY, 10)
270
- : undefined,
271
- };
272
- return new AptosChannelSDK(aptosClient, claimSigner, config, logger);
273
- }
274
- //# sourceMappingURL=aptos-channel-sdk.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"aptos-channel-sdk.js","sourceRoot":"","sources":["../../src/settlement/aptos-channel-sdk.ts"],"names":[],"mappings":"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"}
@@ -1,57 +0,0 @@
1
- import { Logger } from 'pino';
2
- export declare enum AptosClaimErrorCode {
3
- INVALID_NONCE = "APTOS_CLAIM_INVALID_NONCE",
4
- STALE_NONCE = "APTOS_CLAIM_STALE_NONCE",
5
- INVALID_SIGNATURE = "APTOS_CLAIM_INVALID_SIGNATURE",
6
- MALFORMED_SIGNATURE = "APTOS_CLAIM_MALFORMED_SIGNATURE",
7
- MALFORMED_PUBLIC_KEY = "APTOS_CLAIM_MALFORMED_PUBLIC_KEY",
8
- ENCODING_ERROR = "APTOS_CLAIM_ENCODING_ERROR"
9
- }
10
- export declare class AptosClaimError extends Error {
11
- readonly code: AptosClaimErrorCode;
12
- readonly originalError?: (Error | unknown) | undefined;
13
- constructor(code: AptosClaimErrorCode, message: string, originalError?: (Error | unknown) | undefined);
14
- }
15
- export interface AptosClaim {
16
- channelOwner: string;
17
- amount: bigint;
18
- nonce: number;
19
- signature: string;
20
- publicKey: string;
21
- createdAt: number;
22
- }
23
- export interface AptosClaimSignerConfig {
24
- privateKey: string;
25
- initialNonceState?: Map<string, number>;
26
- }
27
- export interface IAptosClaimSigner {
28
- signClaim(channelOwner: string, amount: bigint, nonce: number): Promise<AptosClaim>;
29
- verifyClaim(channelOwner: string, amount: bigint, nonce: number, signature: string, publicKey: string): Promise<boolean>;
30
- getHighestReceivedNonce(channelOwner: string, publicKey: string): number;
31
- getPublicKey(): string;
32
- getHighestNonce(channelOwner: string): number;
33
- getLatestClaim(channelOwner: string): AptosClaim | null;
34
- getChannelOwners(): string[];
35
- }
36
- declare function constructClaimMessage(channelOwner: string, amount: bigint, nonce: number): Promise<Uint8Array>;
37
- export declare class AptosClaimSigner implements IAptosClaimSigner {
38
- private readonly _privateKey;
39
- private readonly _publicKey;
40
- private readonly _channelStates;
41
- private readonly _receivedClaimStates;
42
- private readonly _logger;
43
- private constructor();
44
- static create(config: AptosClaimSignerConfig, logger: Logger): Promise<AptosClaimSigner>;
45
- private normalizeAddress;
46
- private getReceivedClaimKey;
47
- getPublicKey(): string;
48
- getHighestNonce(channelOwner: string): number;
49
- getHighestReceivedNonce(channelOwner: string, publicKey: string): number;
50
- getLatestClaim(channelOwner: string): AptosClaim | null;
51
- getChannelOwners(): string[];
52
- signClaim(channelOwner: string, amount: bigint, nonce: number): Promise<AptosClaim>;
53
- verifyClaim(channelOwner: string, amount: bigint, nonce: number, signature: string, publicKey: string): Promise<boolean>;
54
- }
55
- export declare function createAptosClaimSignerFromEnv(logger: Logger): Promise<AptosClaimSigner>;
56
- export { constructClaimMessage };
57
- //# sourceMappingURL=aptos-claim-signer.d.ts.map