@nevermined-io/core-kit 0.1.0 → 0.1.3

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 (136) hide show
  1. package/package.json +3 -3
  2. package/dist/Instantiable.abstract.d.ts +0 -33
  3. package/dist/Instantiable.abstract.d.ts.map +0 -1
  4. package/dist/Instantiable.abstract.js +0 -98
  5. package/dist/artifacts/generated.d.ts +0 -39505
  6. package/dist/artifacts/generated.d.ts.map +0 -1
  7. package/dist/artifacts/generated.js +0 -21556
  8. package/dist/contracts/AccessManager.d.ts +0 -17
  9. package/dist/contracts/AccessManager.d.ts.map +0 -1
  10. package/dist/contracts/AccessManager.js +0 -15
  11. package/dist/contracts/AssetRegistry.d.ts +0 -105
  12. package/dist/contracts/AssetRegistry.d.ts.map +0 -1
  13. package/dist/contracts/AssetRegistry.js +0 -155
  14. package/dist/contracts/ContractBase.d.ts +0 -33
  15. package/dist/contracts/ContractBase.d.ts.map +0 -1
  16. package/dist/contracts/ContractBase.js +0 -413
  17. package/dist/contracts/ContractsApi.d.ts +0 -69
  18. package/dist/contracts/ContractsApi.d.ts.map +0 -1
  19. package/dist/contracts/ContractsApi.js +0 -73
  20. package/dist/contracts/FiatPaymentTemplate.d.ts +0 -10
  21. package/dist/contracts/FiatPaymentTemplate.d.ts.map +0 -1
  22. package/dist/contracts/FiatPaymentTemplate.js +0 -14
  23. package/dist/contracts/FiatSettlementCondition.d.ts +0 -11
  24. package/dist/contracts/FiatSettlementCondition.d.ts.map +0 -1
  25. package/dist/contracts/FiatSettlementCondition.js +0 -18
  26. package/dist/contracts/FixedPaymentTemplate.d.ts +0 -13
  27. package/dist/contracts/FixedPaymentTemplate.d.ts.map +0 -1
  28. package/dist/contracts/FixedPaymentTemplate.js +0 -59
  29. package/dist/contracts/NFT1155Base.d.ts +0 -50
  30. package/dist/contracts/NFT1155Base.d.ts.map +0 -1
  31. package/dist/contracts/NFT1155Base.js +0 -24
  32. package/dist/contracts/NFT1155Credits.d.ts +0 -6
  33. package/dist/contracts/NFT1155Credits.d.ts.map +0 -1
  34. package/dist/contracts/NFT1155Credits.js +0 -9
  35. package/dist/contracts/NFT1155ExpirableCredits.d.ts +0 -34
  36. package/dist/contracts/NFT1155ExpirableCredits.d.ts.map +0 -1
  37. package/dist/contracts/NFT1155ExpirableCredits.js +0 -18
  38. package/dist/contracts/NVMConfig.d.ts +0 -10
  39. package/dist/contracts/NVMConfig.d.ts.map +0 -1
  40. package/dist/contracts/NVMConfig.js +0 -18
  41. package/dist/contracts/PayAsYouGoTemplate.d.ts +0 -13
  42. package/dist/contracts/PayAsYouGoTemplate.d.ts.map +0 -1
  43. package/dist/contracts/PayAsYouGoTemplate.js +0 -59
  44. package/dist/contracts/ProtocolStandardFees.d.ts +0 -9
  45. package/dist/contracts/ProtocolStandardFees.d.ts.map +0 -1
  46. package/dist/contracts/ProtocolStandardFees.js +0 -15
  47. package/dist/contracts/Roles.d.ts +0 -13
  48. package/dist/contracts/Roles.d.ts.map +0 -1
  49. package/dist/contracts/Roles.js +0 -12
  50. package/dist/contracts/index.d.ts +0 -3
  51. package/dist/contracts/index.d.ts.map +0 -1
  52. package/dist/contracts/index.js +0 -2
  53. package/dist/errors/NeverminedErrors.d.ts +0 -74
  54. package/dist/errors/NeverminedErrors.d.ts.map +0 -1
  55. package/dist/errors/NeverminedErrors.js +0 -128
  56. package/dist/errors/index.d.ts +0 -2
  57. package/dist/errors/index.d.ts.map +0 -1
  58. package/dist/errors/index.js +0 -1
  59. package/dist/index.d.ts +0 -8
  60. package/dist/index.d.ts.map +0 -1
  61. package/dist/index.js +0 -8
  62. package/dist/models/AgentAccessToken.d.ts +0 -123
  63. package/dist/models/AgentAccessToken.d.ts.map +0 -1
  64. package/dist/models/AgentAccessToken.js +0 -164
  65. package/dist/models/Logger.d.ts +0 -9
  66. package/dist/models/Logger.d.ts.map +0 -1
  67. package/dist/models/Logger.js +0 -27
  68. package/dist/models/NeverminedOptions.d.ts +0 -30
  69. package/dist/models/NeverminedOptions.d.ts.map +0 -1
  70. package/dist/models/NeverminedOptions.js +0 -28
  71. package/dist/models/NvmApiKey.d.ts +0 -137
  72. package/dist/models/NvmApiKey.d.ts.map +0 -1
  73. package/dist/models/NvmApiKey.js +0 -235
  74. package/dist/models/Transactions.d.ts +0 -11
  75. package/dist/models/Transactions.d.ts.map +0 -1
  76. package/dist/models/Transactions.js +0 -1
  77. package/dist/models/index.d.ts +0 -6
  78. package/dist/models/index.d.ts.map +0 -1
  79. package/dist/models/index.js +0 -5
  80. package/dist/nevermined/Nevermined.d.ts +0 -48
  81. package/dist/nevermined/Nevermined.d.ts.map +0 -1
  82. package/dist/nevermined/Nevermined.js +0 -72
  83. package/dist/nevermined/api/PaymentsApi.d.ts +0 -25
  84. package/dist/nevermined/api/PaymentsApi.d.ts.map +0 -1
  85. package/dist/nevermined/api/PaymentsApi.js +0 -179
  86. package/dist/nevermined/api/ServicesApi.d.ts +0 -23
  87. package/dist/nevermined/api/ServicesApi.d.ts.map +0 -1
  88. package/dist/nevermined/api/ServicesApi.js +0 -27
  89. package/dist/nevermined/api/UtilsApi.d.ts +0 -28
  90. package/dist/nevermined/api/UtilsApi.d.ts.map +0 -1
  91. package/dist/nevermined/api/UtilsApi.js +0 -33
  92. package/dist/nevermined/index.d.ts +0 -3
  93. package/dist/nevermined/index.d.ts.map +0 -1
  94. package/dist/nevermined/index.js +0 -2
  95. package/dist/nevermined/utils/AgentUtils.d.ts +0 -8
  96. package/dist/nevermined/utils/AgentUtils.d.ts.map +0 -1
  97. package/dist/nevermined/utils/AgentUtils.js +0 -56
  98. package/dist/nevermined/utils/BlockchainViemUtils.d.ts +0 -280
  99. package/dist/nevermined/utils/BlockchainViemUtils.d.ts.map +0 -1
  100. package/dist/nevermined/utils/BlockchainViemUtils.js +0 -408
  101. package/dist/nevermined/utils/JwtUtils.d.ts +0 -27
  102. package/dist/nevermined/utils/JwtUtils.d.ts.map +0 -1
  103. package/dist/nevermined/utils/JwtUtils.js +0 -161
  104. package/dist/nevermined/utils/SignatureUtils.d.ts +0 -14
  105. package/dist/nevermined/utils/SignatureUtils.d.ts.map +0 -1
  106. package/dist/nevermined/utils/SignatureUtils.js +0 -99
  107. package/dist/nevermined/utils/WebServiceConnector.d.ts +0 -30
  108. package/dist/nevermined/utils/WebServiceConnector.d.ts.map +0 -1
  109. package/dist/nevermined/utils/WebServiceConnector.js +0 -170
  110. package/dist/nevermined/utils/ZeroDevPolicies.d.ts +0 -36
  111. package/dist/nevermined/utils/ZeroDevPolicies.d.ts.map +0 -1
  112. package/dist/nevermined/utils/ZeroDevPolicies.js +0 -152
  113. package/dist/nevermined/utils/index.d.ts +0 -7
  114. package/dist/nevermined/utils/index.d.ts.map +0 -1
  115. package/dist/nevermined/utils/index.js +0 -6
  116. package/dist/services/Api.d.ts +0 -7
  117. package/dist/services/Api.d.ts.map +0 -1
  118. package/dist/services/Api.js +0 -25
  119. package/dist/services/Profiles.d.ts +0 -16
  120. package/dist/services/Profiles.d.ts.map +0 -1
  121. package/dist/services/Profiles.js +0 -84
  122. package/dist/services/index.d.ts +0 -3
  123. package/dist/services/index.d.ts.map +0 -1
  124. package/dist/services/index.js +0 -2
  125. package/dist/utils/ConversionTypeHelpers.d.ts +0 -5
  126. package/dist/utils/ConversionTypeHelpers.d.ts.map +0 -1
  127. package/dist/utils/ConversionTypeHelpers.js +0 -30
  128. package/dist/utils/Network.d.ts +0 -5
  129. package/dist/utils/Network.d.ts.map +0 -1
  130. package/dist/utils/Network.js +0 -224
  131. package/dist/utils/helpers.d.ts +0 -23
  132. package/dist/utils/helpers.d.ts.map +0 -1
  133. package/dist/utils/helpers.js +0 -161
  134. package/dist/utils/index.d.ts +0 -4
  135. package/dist/utils/index.d.ts.map +0 -1
  136. package/dist/utils/index.js +0 -3
@@ -1,2 +0,0 @@
1
- export * from './Api.js';
2
- export * from './Profiles.js';
@@ -1,5 +0,0 @@
1
- export declare const zeroX: (input: string) => `0x${string}`;
2
- export declare const noZeroX: (input: string) => string;
3
- export declare function zeroXTransformer(input: string | undefined, zeroOutput: boolean): string;
4
- export declare function toAgentId(input: string | bigint): bigint;
5
- //# sourceMappingURL=ConversionTypeHelpers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ConversionTypeHelpers.d.ts","sourceRoot":"","sources":["../../src/utils/ConversionTypeHelpers.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,KAAK,GAAI,OAAO,MAAM,KAAsC,KAAK,MAAM,EAAE,CAAA;AACtF,eAAO,MAAM,OAAO,GAAI,OAAO,MAAM,WAAmC,CAAA;AAExE,wBAAgB,gBAAgB,CAAC,KAAK,oBAAK,EAAE,UAAU,EAAE,OAAO,UAG/D;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAMxD"}
@@ -1,30 +0,0 @@
1
- import { LoggerInstance } from '../models/Logger.js';
2
- // Ox transformer
3
- export const zeroX = (input) => zeroXTransformer(input, true);
4
- export const noZeroX = (input) => zeroXTransformer(input, false);
5
- export function zeroXTransformer(input = '', zeroOutput) {
6
- const { valid, output } = inputMatch(input, /^(?:0x)*([a-f0-9]+)$/i, 'zeroXTransformer');
7
- return (zeroOutput && valid ? '0x' : '') + output;
8
- }
9
- export function toAgentId(input) {
10
- if (typeof input === 'bigint') {
11
- return input;
12
- }
13
- else {
14
- return BigInt(input);
15
- }
16
- }
17
- // Shared functions
18
- function inputMatch(input, regexp, conversorName) {
19
- if (typeof input !== 'string') {
20
- LoggerInstance().debug('Not input string:');
21
- LoggerInstance().debug(input);
22
- throw new Error(`[${conversorName}] Expected string, input type: ${typeof input}`);
23
- }
24
- const match = input.match(regexp);
25
- if (!match) {
26
- LoggerInstance().debug(`[${conversorName}] Input transformation failed for input ${input}.`);
27
- return { valid: false, output: input };
28
- }
29
- return { valid: true, output: match[1] };
30
- }
@@ -1,5 +0,0 @@
1
- import { type Chain } from 'viem/chains';
2
- export declare function getNetworkName(networkId: number): Promise<string>;
3
- export declare function isTestnet(networkId: number): boolean;
4
- export declare function getChain(networkId: number | undefined): Chain;
5
- //# sourceMappingURL=Network.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Network.d.ts","sourceRoot":"","sources":["../../src/utils/Network.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,KAAK,EAeX,MAAM,aAAa,CAAA;AAGpB,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAmEvE;AACD,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAmEpD;AACD,wBAAgB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,CAoF7D"}
@@ -1,224 +0,0 @@
1
- import { defineChain } from 'viem';
2
- import { arbitrum, arbitrumSepolia, aurora, auroraTestnet, base, baseSepolia, celo, celoAlfajores, gnosis, hardhat, mainnet, optimism, polygon, polygonMumbai, } from 'viem/chains';
3
- import { ContractsError } from '../errors/NeverminedErrors.js';
4
- export async function getNetworkName(networkId) {
5
- switch (networkId) {
6
- case 1:
7
- return 'mainnet';
8
- case 2:
9
- return 'morden';
10
- case 3:
11
- return 'ropsten';
12
- case 4:
13
- return 'rinkeby';
14
- case 5:
15
- return 'goerli';
16
- case 10:
17
- return 'optimism';
18
- case 77:
19
- return 'poa_sokol';
20
- case 99:
21
- return 'poa_core';
22
- case 42:
23
- return 'kovan';
24
- case 100:
25
- return 'gnosis';
26
- case 137:
27
- return 'matic';
28
- case 1337:
29
- return 'geth-localnet';
30
- case 3141:
31
- return 'hyperspace';
32
- case 3338:
33
- return 'peaq-mainnet';
34
- case 8453:
35
- return 'base';
36
- case 84532:
37
- return 'base-sepolia';
38
- case 10200:
39
- return 'chiado'; // Gnosis testnet
40
- case 31337:
41
- return 'geth-localnet';
42
- case 8996:
43
- return 'spree';
44
- case 8997:
45
- return 'polygon-localnet';
46
- case 8998:
47
- return 'hardhat';
48
- case 42220:
49
- return 'celo';
50
- case 44787:
51
- return 'celo-alfajores';
52
- case 62320:
53
- return 'celo-baklava';
54
- case 80001:
55
- return 'mumbai';
56
- case 42161:
57
- return 'arbitrum-one';
58
- case 421613:
59
- return 'arbitrum-goerli';
60
- case 421614:
61
- return 'arbitrum-sepolia';
62
- case 1313161554:
63
- return 'aurora';
64
- case 1313161555:
65
- return 'aurora-testnet';
66
- case 1313161556:
67
- return 'aurora-betanet';
68
- default:
69
- throw new ContractsError(`Network with id ${networkId} not supported.`);
70
- }
71
- }
72
- export function isTestnet(networkId) {
73
- switch (networkId) {
74
- case 1:
75
- return false;
76
- case 2:
77
- return true;
78
- case 3:
79
- return true;
80
- case 4:
81
- return true;
82
- case 5:
83
- return true;
84
- case 10:
85
- return false;
86
- case 77:
87
- return false;
88
- case 99:
89
- return false;
90
- case 42:
91
- return true;
92
- case 100:
93
- return false;
94
- case 137:
95
- return false;
96
- case 1337:
97
- return true;
98
- case 3141:
99
- return true;
100
- case 3338:
101
- return false;
102
- case 8453:
103
- return false;
104
- case 84532:
105
- return true;
106
- case 10200:
107
- return true;
108
- case 31337:
109
- return true;
110
- case 8996:
111
- return true;
112
- case 8997:
113
- return true;
114
- case 8998:
115
- return true;
116
- case 42220:
117
- return false;
118
- case 44787:
119
- return true;
120
- case 62320:
121
- return true;
122
- case 80001:
123
- return true;
124
- case 42161:
125
- return false;
126
- case 421613:
127
- return true;
128
- case 421614:
129
- return true;
130
- case 1313161554:
131
- return false;
132
- case 1313161555:
133
- return true;
134
- case 1313161556:
135
- return true;
136
- default:
137
- throw new ContractsError(`Network with id ${networkId} not supported.`);
138
- }
139
- }
140
- export function getChain(networkId) {
141
- switch (networkId) {
142
- case 1:
143
- return mainnet;
144
- case 10:
145
- return optimism;
146
- case 100:
147
- return gnosis;
148
- case 137:
149
- return polygon;
150
- case 3338:
151
- return defineChain({
152
- id: networkId,
153
- name: 'peaq-network',
154
- nativeCurrency: {
155
- name: 'Peaq',
156
- symbol: 'PEAQ',
157
- decimals: 18,
158
- },
159
- rpcUrls: {
160
- default: {
161
- http: ['https://evm.peaq.network'],
162
- },
163
- },
164
- });
165
- case 8453:
166
- return base;
167
- case 84532:
168
- return baseSepolia;
169
- case 42161:
170
- return arbitrum;
171
- case 42220:
172
- return celo;
173
- case 44787:
174
- return celoAlfajores;
175
- case 80001:
176
- return polygonMumbai;
177
- case 421614:
178
- return arbitrumSepolia;
179
- case 1313161554:
180
- return aurora;
181
- case 1313161555:
182
- return auroraTestnet;
183
- case 8996:
184
- case 8997:
185
- case 8998:
186
- return defineChain({
187
- id: networkId,
188
- name: 'Localhost',
189
- fees: {
190
- baseFeeMultiplier: 1.2,
191
- //defaultPriorityFee: parseGwei('0.01'),
192
- },
193
- nativeCurrency: {
194
- name: 'Ether',
195
- symbol: 'ETH',
196
- decimals: 18,
197
- },
198
- rpcUrls: {
199
- default: {
200
- http: [`http://127.0.0.1:${process.env.ETH_PORT || 18545}`],
201
- },
202
- },
203
- });
204
- case 1337:
205
- return defineChain({
206
- id: networkId,
207
- name: 'geth-localnet',
208
- nativeCurrency: {
209
- name: 'Ether',
210
- symbol: 'ETH',
211
- decimals: 18,
212
- },
213
- rpcUrls: {
214
- default: {
215
- http: ['http://contracts.nevermined.localnet'],
216
- },
217
- },
218
- });
219
- case 31337:
220
- return hardhat;
221
- default:
222
- throw new ContractsError(`Network with id ${networkId} not supported.`);
223
- }
224
- }
@@ -1,23 +0,0 @@
1
- import { SearchQuery } from '@nvm-monorepo/commons';
2
- import { URL } from 'whatwg-url';
3
- interface ECIES {
4
- iv: Buffer;
5
- ephemPublicKey: Buffer;
6
- ciphertext: Buffer;
7
- mac: Buffer;
8
- }
9
- export declare const buildQuery: (url: string, query?: SearchQuery) => URL;
10
- export declare const getCircularReplacer: () => (_key: string, value: unknown) => unknown;
11
- export declare const jsonReplacer: (_key: string, value: unknown) => unknown;
12
- export declare function getRandomBigInt(bits?: number): bigint;
13
- export declare function generateId(length?: number): string;
14
- export declare function generateZeroXId(): `0x${string}`;
15
- export declare function _sleep(ms: number): Promise<unknown>;
16
- export declare function urlSafeBase64Encode(input: Uint8Array): string;
17
- export declare function urlSafeBase64Decode(input: string): Uint8Array;
18
- export declare function encryptMessage(message: string, receiverPublicKey: string): Promise<string>;
19
- export declare function serializeECIES(ecies: ECIES): string;
20
- export declare function deserializeECIES(serialized: string): ECIES;
21
- export declare function decryptMessage(encryptedMessage: string, privateKey: string | any): Promise<string>;
22
- export {};
23
- //# sourceMappingURL=helpers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAInD,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAIhC,UAAU,KAAK;IACb,EAAE,EAAE,MAAM,CAAA;IACV,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,EAAE,QAAQ,WAAW,QAY1D,CAAA;AAED,eAAO,MAAM,mBAAmB,SAEtB,MAAM,MAAM,EAAE,OAAO,OAAO,YASrC,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,EAAE,OAAO,OAAO,YAGxD,CAAA;AAED,wBAAgB,eAAe,CAAC,IAAI,SAAM,GAAG,MAAM,CAWlD;AAED,wBAAgB,UAAU,CAAC,MAAM,SAAK,UAMrC;AAED,wBAAgB,eAAe,IAAI,KAAK,MAAM,EAAE,CAE/C;AAED,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,oBAEhC;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAO7D;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAY7D;AAED,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,mBAmB9E;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,UAoB1C;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,KAAK,CAyB1D;AAED,wBAAsB,cAAc,CAAC,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,GAAG,mBAqBtF"}
@@ -1,161 +0,0 @@
1
- import { decrypt, encrypt } from 'eciesjs';
2
- import { v4 } from 'uuid';
3
- import { keccak256, toBytes } from 'viem';
4
- import { URL } from 'whatwg-url';
5
- import { noZeroX } from './ConversionTypeHelpers.js';
6
- export const buildQuery = (url, query) => {
7
- const fullUrl = new URL(url);
8
- if (!query) {
9
- return fullUrl;
10
- }
11
- fullUrl.searchParams.append('sort', decodeURIComponent(JSON.stringify(query.sort)));
12
- fullUrl.searchParams.append('offset', query.offset?.toString());
13
- fullUrl.searchParams.append('page', query.page?.toString());
14
- return fullUrl;
15
- };
16
- export const getCircularReplacer = () => {
17
- const seen = new WeakSet();
18
- return (_key, value) => {
19
- if (typeof value === 'object' && value !== null) {
20
- if (seen.has(value)) {
21
- return;
22
- }
23
- seen.add(value);
24
- }
25
- return value;
26
- };
27
- };
28
- export const jsonReplacer = (_key, value) => {
29
- // Modify the value or return undefined to exclude the property
30
- return typeof value === 'bigint' ? value.toString() : value;
31
- };
32
- export function getRandomBigInt(bits = 128) {
33
- const bytes = Math.ceil(bits / 8);
34
- const array = new Uint8Array(bytes);
35
- crypto.getRandomValues(array);
36
- let result = 0n;
37
- for (const byte of array) {
38
- result = (result << 8n) | BigInt(byte);
39
- }
40
- return result;
41
- }
42
- export function generateId(length = 64) {
43
- let id = '';
44
- while (id.length < length) {
45
- id += v4().replace(/-/g, '');
46
- }
47
- return id.slice(0, length);
48
- }
49
- export function generateZeroXId() {
50
- return keccak256(toBytes(Math.random().toString()));
51
- }
52
- export function _sleep(ms) {
53
- return new Promise((resolve) => setTimeout(resolve, ms));
54
- }
55
- export function urlSafeBase64Encode(input) {
56
- let binary = '';
57
- const len = input.byteLength;
58
- for (let i = 0; i < len; i++) {
59
- binary += String.fromCharCode(input[i]);
60
- }
61
- return btoa(binary).replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
62
- }
63
- export function urlSafeBase64Decode(input) {
64
- input = input.replace(/-/g, '+').replace(/_/g, '/');
65
- while (input.length % 4) {
66
- input += '=';
67
- }
68
- const binary = atob(input);
69
- const len = binary.length;
70
- const bytes = new Uint8Array(len);
71
- for (let i = 0; i < len; i++) {
72
- bytes[i] = binary.charCodeAt(i);
73
- }
74
- return bytes;
75
- }
76
- export async function encryptMessage(message, receiverPublicKey) {
77
- const publicKeyBuffer = Buffer.from(noZeroX(receiverPublicKey), 'hex');
78
- const messageBuffer = Buffer.from(message);
79
- try {
80
- const ecies = await encrypt(publicKeyBuffer, messageBuffer);
81
- // Handle both cases: when encrypt returns a Buffer or an ECIES object
82
- if (Buffer.isBuffer(ecies)) {
83
- // If it returns a Buffer, we need to handle it differently
84
- // This might be the case with some versions of eciesjs
85
- return ecies.toString('base64');
86
- }
87
- else {
88
- // If it returns an ECIES object, serialize it
89
- return serializeECIES(ecies);
90
- }
91
- }
92
- catch (error) {
93
- throw new Error(`Encryption failed: ${error}`);
94
- }
95
- }
96
- export function serializeECIES(ecies) {
97
- // Validate that all required properties exist
98
- if (!ecies || typeof ecies !== 'object') {
99
- throw new Error('Invalid ECIES object: must be a valid object');
100
- }
101
- const requiredProps = ['iv', 'ephemPublicKey', 'ciphertext', 'mac'];
102
- for (const prop of requiredProps) {
103
- if (!ecies[prop]) {
104
- throw new Error(`Invalid ECIES object: missing required property '${prop}'`);
105
- }
106
- }
107
- const serialized = JSON.stringify({
108
- iv: Buffer.from(ecies.iv).toString('base64'),
109
- ephemPublicKey: Buffer.from(ecies.ephemPublicKey).toString('base64'),
110
- ciphertext: Buffer.from(ecies.ciphertext).toString('base64'),
111
- mac: Buffer.from(ecies.mac).toString('base64'),
112
- });
113
- return serialized;
114
- }
115
- export function deserializeECIES(serialized) {
116
- if (!serialized || typeof serialized !== 'string') {
117
- throw new Error('Invalid serialized ECIES: must be a valid string');
118
- }
119
- let _obj;
120
- try {
121
- _obj = JSON.parse(serialized);
122
- }
123
- catch (error) {
124
- throw new Error('Invalid serialized ECIES: not a valid JSON string');
125
- }
126
- const requiredProps = ['iv', 'ephemPublicKey', 'ciphertext', 'mac'];
127
- for (const prop of requiredProps) {
128
- if (!_obj[prop]) {
129
- throw new Error(`Invalid serialized ECIES: missing required property '${prop}'`);
130
- }
131
- }
132
- return {
133
- iv: Buffer.from(_obj.iv, 'base64'),
134
- ephemPublicKey: Buffer.from(_obj.ephemPublicKey, 'base64'),
135
- ciphertext: Buffer.from(_obj.ciphertext, 'base64'),
136
- mac: Buffer.from(_obj.mac, 'base64'),
137
- };
138
- }
139
- export async function decryptMessage(encryptedMessage, privateKey) {
140
- const pk = typeof privateKey === 'string' ? noZeroX(privateKey) : privateKey;
141
- const privateKeyBuffer = Buffer.from(pk, 'hex');
142
- // Try to parse as JSON first (ECIES object)
143
- try {
144
- const ecies = deserializeECIES(encryptedMessage);
145
- // For eciesjs, we need to serialize the ECIES object back to a buffer
146
- const eciesBuffer = Buffer.concat([ecies.iv, ecies.ephemPublicKey, ecies.ciphertext, ecies.mac]);
147
- const decrypted = await decrypt(privateKeyBuffer, eciesBuffer);
148
- return decrypted.toString();
149
- }
150
- catch (error) {
151
- // If JSON parsing fails, try as base64 Buffer
152
- try {
153
- const encryptedBuffer = Buffer.from(encryptedMessage, 'base64');
154
- const decrypted = await decrypt(privateKeyBuffer, encryptedBuffer);
155
- return decrypted.toString();
156
- }
157
- catch (secondError) {
158
- throw new Error(`Failed to decrypt message: ${secondError}`);
159
- }
160
- }
161
- }
@@ -1,4 +0,0 @@
1
- export * from './ConversionTypeHelpers.js';
2
- export * from './helpers.js';
3
- export * from './Network.js';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAA;AAC1C,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA"}
@@ -1,3 +0,0 @@
1
- export * from './ConversionTypeHelpers.js';
2
- export * from './helpers.js';
3
- export * from './Network.js';