@cds.id/podoru-sdk 1.1.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 (154) hide show
  1. package/README.md +155 -0
  2. package/dist/cjs/client/PodoruClient.js +153 -0
  3. package/dist/cjs/client/PodoruClient.js.map +1 -0
  4. package/dist/cjs/client/WebSocketClient.js +193 -0
  5. package/dist/cjs/client/WebSocketClient.js.map +1 -0
  6. package/dist/cjs/client/index.js +8 -0
  7. package/dist/cjs/client/index.js.map +1 -0
  8. package/dist/cjs/errors/index.js +78 -0
  9. package/dist/cjs/errors/index.js.map +1 -0
  10. package/dist/cjs/index.js +33 -0
  11. package/dist/cjs/index.js.map +1 -0
  12. package/dist/cjs/transaction/Signer.js +82 -0
  13. package/dist/cjs/transaction/Signer.js.map +1 -0
  14. package/dist/cjs/transaction/TransactionBuilder.js +127 -0
  15. package/dist/cjs/transaction/TransactionBuilder.js.map +1 -0
  16. package/dist/cjs/transaction/index.js +9 -0
  17. package/dist/cjs/transaction/index.js.map +1 -0
  18. package/dist/cjs/types/api.js +3 -0
  19. package/dist/cjs/types/api.js.map +1 -0
  20. package/dist/cjs/types/chain.js +3 -0
  21. package/dist/cjs/types/chain.js.map +1 -0
  22. package/dist/cjs/types/events.js +3 -0
  23. package/dist/cjs/types/events.js.map +1 -0
  24. package/dist/cjs/types/index.js +3 -0
  25. package/dist/cjs/types/index.js.map +1 -0
  26. package/dist/cjs/types/node.js +3 -0
  27. package/dist/cjs/types/node.js.map +1 -0
  28. package/dist/cjs/types/state.js +3 -0
  29. package/dist/cjs/types/state.js.map +1 -0
  30. package/dist/cjs/types/transaction.js +3 -0
  31. package/dist/cjs/types/transaction.js.map +1 -0
  32. package/dist/cjs/utils/address.js +36 -0
  33. package/dist/cjs/utils/address.js.map +1 -0
  34. package/dist/cjs/utils/encoding.js +49 -0
  35. package/dist/cjs/utils/encoding.js.map +1 -0
  36. package/dist/cjs/utils/hash.js +28 -0
  37. package/dist/cjs/utils/hash.js.map +1 -0
  38. package/dist/cjs/utils/index.js +17 -0
  39. package/dist/cjs/utils/index.js.map +1 -0
  40. package/dist/esm/client/PodoruClient.d.ts +79 -0
  41. package/dist/esm/client/PodoruClient.d.ts.map +1 -0
  42. package/dist/esm/client/PodoruClient.js +149 -0
  43. package/dist/esm/client/PodoruClient.js.map +1 -0
  44. package/dist/esm/client/WebSocketClient.d.ts +89 -0
  45. package/dist/esm/client/WebSocketClient.d.ts.map +1 -0
  46. package/dist/esm/client/WebSocketClient.js +189 -0
  47. package/dist/esm/client/WebSocketClient.js.map +1 -0
  48. package/dist/esm/client/index.d.ts +5 -0
  49. package/dist/esm/client/index.d.ts.map +1 -0
  50. package/dist/esm/client/index.js +3 -0
  51. package/dist/esm/client/index.js.map +1 -0
  52. package/dist/esm/errors/index.d.ts +41 -0
  53. package/dist/esm/errors/index.d.ts.map +1 -0
  54. package/dist/esm/errors/index.js +69 -0
  55. package/dist/esm/errors/index.js.map +1 -0
  56. package/dist/esm/index.d.ts +8 -0
  57. package/dist/esm/index.d.ts.map +1 -0
  58. package/dist/esm/index.js +9 -0
  59. package/dist/esm/index.js.map +1 -0
  60. package/dist/esm/transaction/Signer.d.ts +48 -0
  61. package/dist/esm/transaction/Signer.d.ts.map +1 -0
  62. package/dist/esm/transaction/Signer.js +77 -0
  63. package/dist/esm/transaction/Signer.js.map +1 -0
  64. package/dist/esm/transaction/TransactionBuilder.d.ts +44 -0
  65. package/dist/esm/transaction/TransactionBuilder.d.ts.map +1 -0
  66. package/dist/esm/transaction/TransactionBuilder.js +123 -0
  67. package/dist/esm/transaction/TransactionBuilder.js.map +1 -0
  68. package/dist/esm/transaction/index.d.ts +4 -0
  69. package/dist/esm/transaction/index.d.ts.map +1 -0
  70. package/dist/esm/transaction/index.js +3 -0
  71. package/dist/esm/transaction/index.js.map +1 -0
  72. package/dist/esm/types/api.d.ts +16 -0
  73. package/dist/esm/types/api.d.ts.map +1 -0
  74. package/dist/esm/types/api.js +2 -0
  75. package/dist/esm/types/api.js.map +1 -0
  76. package/dist/esm/types/chain.d.ts +32 -0
  77. package/dist/esm/types/chain.d.ts.map +1 -0
  78. package/dist/esm/types/chain.js +2 -0
  79. package/dist/esm/types/chain.js.map +1 -0
  80. package/dist/esm/types/events.d.ts +58 -0
  81. package/dist/esm/types/events.d.ts.map +1 -0
  82. package/dist/esm/types/events.js +2 -0
  83. package/dist/esm/types/events.js.map +1 -0
  84. package/dist/esm/types/index.d.ts +7 -0
  85. package/dist/esm/types/index.d.ts.map +1 -0
  86. package/dist/esm/types/index.js +2 -0
  87. package/dist/esm/types/index.js.map +1 -0
  88. package/dist/esm/types/node.d.ts +32 -0
  89. package/dist/esm/types/node.d.ts.map +1 -0
  90. package/dist/esm/types/node.js +2 -0
  91. package/dist/esm/types/node.js.map +1 -0
  92. package/dist/esm/types/state.d.ts +23 -0
  93. package/dist/esm/types/state.d.ts.map +1 -0
  94. package/dist/esm/types/state.js +2 -0
  95. package/dist/esm/types/state.js.map +1 -0
  96. package/dist/esm/types/transaction.d.ts +39 -0
  97. package/dist/esm/types/transaction.d.ts.map +1 -0
  98. package/dist/esm/types/transaction.js +2 -0
  99. package/dist/esm/types/transaction.js.map +1 -0
  100. package/dist/esm/utils/address.d.ts +14 -0
  101. package/dist/esm/utils/address.d.ts.map +1 -0
  102. package/dist/esm/utils/address.js +31 -0
  103. package/dist/esm/utils/address.js.map +1 -0
  104. package/dist/esm/utils/encoding.d.ts +21 -0
  105. package/dist/esm/utils/encoding.d.ts.map +1 -0
  106. package/dist/esm/utils/encoding.js +42 -0
  107. package/dist/esm/utils/encoding.js.map +1 -0
  108. package/dist/esm/utils/hash.d.ts +9 -0
  109. package/dist/esm/utils/hash.d.ts.map +1 -0
  110. package/dist/esm/utils/hash.js +24 -0
  111. package/dist/esm/utils/hash.js.map +1 -0
  112. package/dist/esm/utils/index.d.ts +4 -0
  113. package/dist/esm/utils/index.d.ts.map +1 -0
  114. package/dist/esm/utils/index.js +4 -0
  115. package/dist/esm/utils/index.js.map +1 -0
  116. package/dist/types/client/PodoruClient.d.ts +79 -0
  117. package/dist/types/client/PodoruClient.d.ts.map +1 -0
  118. package/dist/types/client/WebSocketClient.d.ts +89 -0
  119. package/dist/types/client/WebSocketClient.d.ts.map +1 -0
  120. package/dist/types/client/index.d.ts +5 -0
  121. package/dist/types/client/index.d.ts.map +1 -0
  122. package/dist/types/errors/index.d.ts +41 -0
  123. package/dist/types/errors/index.d.ts.map +1 -0
  124. package/dist/types/index.d.ts +8 -0
  125. package/dist/types/index.d.ts.map +1 -0
  126. package/dist/types/transaction/Signer.d.ts +48 -0
  127. package/dist/types/transaction/Signer.d.ts.map +1 -0
  128. package/dist/types/transaction/TransactionBuilder.d.ts +44 -0
  129. package/dist/types/transaction/TransactionBuilder.d.ts.map +1 -0
  130. package/dist/types/transaction/index.d.ts +4 -0
  131. package/dist/types/transaction/index.d.ts.map +1 -0
  132. package/dist/types/types/api.d.ts +16 -0
  133. package/dist/types/types/api.d.ts.map +1 -0
  134. package/dist/types/types/chain.d.ts +32 -0
  135. package/dist/types/types/chain.d.ts.map +1 -0
  136. package/dist/types/types/events.d.ts +58 -0
  137. package/dist/types/types/events.d.ts.map +1 -0
  138. package/dist/types/types/index.d.ts +7 -0
  139. package/dist/types/types/index.d.ts.map +1 -0
  140. package/dist/types/types/node.d.ts +32 -0
  141. package/dist/types/types/node.d.ts.map +1 -0
  142. package/dist/types/types/state.d.ts +23 -0
  143. package/dist/types/types/state.d.ts.map +1 -0
  144. package/dist/types/types/transaction.d.ts +39 -0
  145. package/dist/types/types/transaction.d.ts.map +1 -0
  146. package/dist/types/utils/address.d.ts +14 -0
  147. package/dist/types/utils/address.d.ts.map +1 -0
  148. package/dist/types/utils/encoding.d.ts +21 -0
  149. package/dist/types/utils/encoding.d.ts.map +1 -0
  150. package/dist/types/utils/hash.d.ts +9 -0
  151. package/dist/types/utils/hash.d.ts.map +1 -0
  152. package/dist/types/utils/index.d.ts +4 -0
  153. package/dist/types/utils/index.d.ts.map +1 -0
  154. package/package.json +69 -0
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WalletSigner = void 0;
4
+ exports.serializeSignature = serializeSignature;
5
+ const ethers_1 = require("ethers");
6
+ const index_js_1 = require("../errors/index.js");
7
+ const encoding_js_1 = require("../utils/encoding.js");
8
+ /**
9
+ * Wallet-based signer using ethers.js
10
+ */
11
+ class WalletSigner {
12
+ wallet;
13
+ constructor(privateKey) {
14
+ try {
15
+ this.wallet = new ethers_1.Wallet(privateKey);
16
+ }
17
+ catch (error) {
18
+ throw new index_js_1.SigningError(`Invalid private key: ${error instanceof Error ? error.message : 'unknown error'}`);
19
+ }
20
+ }
21
+ /**
22
+ * Create a signer from a mnemonic phrase
23
+ */
24
+ static fromMnemonic(mnemonic, path) {
25
+ try {
26
+ const wallet = ethers_1.HDNodeWallet.fromPhrase(mnemonic, undefined, path);
27
+ const signer = new WalletSigner(wallet.privateKey);
28
+ return signer;
29
+ }
30
+ catch (error) {
31
+ throw new index_js_1.SigningError(`Invalid mnemonic: ${error instanceof Error ? error.message : 'unknown error'}`);
32
+ }
33
+ }
34
+ /**
35
+ * Create a random signer (for testing)
36
+ */
37
+ static createRandom() {
38
+ const wallet = ethers_1.Wallet.createRandom();
39
+ return new WalletSigner(wallet.privateKey);
40
+ }
41
+ /**
42
+ * Get the signer's address
43
+ */
44
+ get address() {
45
+ return this.wallet.address;
46
+ }
47
+ /**
48
+ * Get the private key (use with caution)
49
+ */
50
+ get privateKey() {
51
+ return this.wallet.privateKey;
52
+ }
53
+ /**
54
+ * Sign a hash and return the signature components
55
+ */
56
+ async sign(hash) {
57
+ try {
58
+ const hashHex = '0x' + Array.from(hash).map(b => b.toString(16).padStart(2, '0')).join('');
59
+ const signature = this.wallet.signingKey.sign(hashHex);
60
+ return {
61
+ r: signature.r,
62
+ s: signature.s,
63
+ v: signature.v,
64
+ };
65
+ }
66
+ catch (error) {
67
+ throw new index_js_1.SigningError(`Failed to sign: ${error instanceof Error ? error.message : 'unknown error'}`);
68
+ }
69
+ }
70
+ }
71
+ exports.WalletSigner = WalletSigner;
72
+ /**
73
+ * Serialize signature to 65-byte array (r + s + v)
74
+ * v is normalized to 0 or 1 (not 27/28)
75
+ */
76
+ function serializeSignature(sig) {
77
+ const r = (0, encoding_js_1.hexToBytes)(sig.r); // 32 bytes
78
+ const s = (0, encoding_js_1.hexToBytes)(sig.s); // 32 bytes
79
+ const v = sig.v - 27; // Normalize to 0 or 1
80
+ return [...Array.from(r), ...Array.from(s), v];
81
+ }
82
+ //# sourceMappingURL=Signer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Signer.js","sourceRoot":"","sources":["../../../src/transaction/Signer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TransactionBuilder = void 0;
4
+ const index_js_1 = require("../errors/index.js");
5
+ const encoding_js_1 = require("../utils/encoding.js");
6
+ const hash_js_1 = require("../utils/hash.js");
7
+ const address_js_1 = require("../utils/address.js");
8
+ const Signer_js_1 = require("./Signer.js");
9
+ /**
10
+ * Builder for creating and signing transactions
11
+ */
12
+ class TransactionBuilder {
13
+ from;
14
+ operations = [];
15
+ _nonce;
16
+ _timestamp;
17
+ constructor(from) {
18
+ if (!(0, address_js_1.isValidAddress)(from)) {
19
+ throw new index_js_1.ValidationError(`Invalid address: ${from}`);
20
+ }
21
+ this.from = from;
22
+ }
23
+ /**
24
+ * Add a SET operation
25
+ * @param key - The key to set
26
+ * @param value - The value (string or Buffer)
27
+ */
28
+ set(key, value) {
29
+ if (!key) {
30
+ throw new index_js_1.ValidationError('Key cannot be empty');
31
+ }
32
+ const encodedValue = (0, encoding_js_1.base64Encode)(value);
33
+ this.operations.push({
34
+ type: 'SET',
35
+ key,
36
+ value: encodedValue,
37
+ });
38
+ return this;
39
+ }
40
+ /**
41
+ * Add a DELETE operation
42
+ * @param key - The key to delete
43
+ */
44
+ delete(key) {
45
+ if (!key) {
46
+ throw new index_js_1.ValidationError('Key cannot be empty');
47
+ }
48
+ this.operations.push({
49
+ type: 'DELETE',
50
+ key,
51
+ });
52
+ return this;
53
+ }
54
+ /**
55
+ * Add a raw operation
56
+ */
57
+ addOperation(op) {
58
+ this.operations.push(op);
59
+ return this;
60
+ }
61
+ /**
62
+ * Set a custom nonce (defaults to Date.now())
63
+ */
64
+ withNonce(nonce) {
65
+ this._nonce = nonce;
66
+ return this;
67
+ }
68
+ /**
69
+ * Set a custom timestamp (defaults to current Unix timestamp)
70
+ */
71
+ withTimestamp(timestamp) {
72
+ this._timestamp = timestamp;
73
+ return this;
74
+ }
75
+ /**
76
+ * Build an unsigned transaction
77
+ */
78
+ build() {
79
+ if (this.operations.length === 0) {
80
+ throw new index_js_1.ValidationError('Transaction must have at least one operation');
81
+ }
82
+ const timestamp = this._timestamp ?? Math.floor(Date.now() / 1000);
83
+ const nonce = this._nonce ?? Date.now();
84
+ const data = {
85
+ operations: this.operations,
86
+ };
87
+ return {
88
+ from: this.from,
89
+ timestamp,
90
+ data,
91
+ nonce,
92
+ };
93
+ }
94
+ /**
95
+ * Build and sign the transaction
96
+ */
97
+ async buildAndSign(signer) {
98
+ // Verify signer address matches
99
+ if (signer.address.toLowerCase() !== this.from.toLowerCase()) {
100
+ throw new index_js_1.ValidationError(`Signer address ${signer.address} does not match transaction from address ${this.from}`);
101
+ }
102
+ const unsigned = this.build();
103
+ // Compute hash: SHA256 of JSON stringified transaction
104
+ // Order must be: from, timestamp, data, nonce (to match Go implementation)
105
+ const hashData = {
106
+ from: unsigned.from,
107
+ timestamp: unsigned.timestamp,
108
+ data: unsigned.data,
109
+ nonce: unsigned.nonce,
110
+ };
111
+ const hashString = JSON.stringify(hashData);
112
+ const hash = (0, hash_js_1.sha256)(hashString);
113
+ // Sign the hash
114
+ const signatureResult = await signer.sign(hash);
115
+ const signature = (0, Signer_js_1.serializeSignature)(signatureResult);
116
+ return {
117
+ id: Array.from(hash),
118
+ from: unsigned.from,
119
+ timestamp: unsigned.timestamp,
120
+ data: unsigned.data,
121
+ nonce: unsigned.nonce,
122
+ signature,
123
+ };
124
+ }
125
+ }
126
+ exports.TransactionBuilder = TransactionBuilder;
127
+ //# sourceMappingURL=TransactionBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransactionBuilder.js","sourceRoot":"","sources":["../../../src/transaction/TransactionBuilder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TransactionBuilder = exports.serializeSignature = exports.WalletSigner = void 0;
4
+ var Signer_js_1 = require("./Signer.js");
5
+ Object.defineProperty(exports, "WalletSigner", { enumerable: true, get: function () { return Signer_js_1.WalletSigner; } });
6
+ Object.defineProperty(exports, "serializeSignature", { enumerable: true, get: function () { return Signer_js_1.serializeSignature; } });
7
+ var TransactionBuilder_js_1 = require("./TransactionBuilder.js");
8
+ Object.defineProperty(exports, "TransactionBuilder", { enumerable: true, get: function () { return TransactionBuilder_js_1.TransactionBuilder; } });
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/transaction/index.ts"],"names":[],"mappings":";;;AAAA,yCAA+D;AAAtD,yGAAA,YAAY,OAAA;AAAE,+GAAA,kBAAkB,OAAA;AAGzC,iEAA6D;AAApD,2HAAA,kBAAkB,OAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/types/api.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=chain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain.js","sourceRoot":"","sources":["../../../src/types/chain.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/types/events.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../../src/types/node.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/types/state.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=transaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../src/types/transaction.ts"],"names":[],"mappings":""}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isValidAddress = isValidAddress;
4
+ exports.normalizeAddress = normalizeAddress;
5
+ exports.addressEquals = addressEquals;
6
+ /**
7
+ * Check if a string is a valid Ethereum-style address
8
+ */
9
+ function isValidAddress(address) {
10
+ if (!address.startsWith('0x')) {
11
+ return false;
12
+ }
13
+ if (address.length !== 42) {
14
+ return false;
15
+ }
16
+ // Check if it's valid hex
17
+ const hexPart = address.slice(2);
18
+ return /^[0-9a-fA-F]+$/.test(hexPart);
19
+ }
20
+ /**
21
+ * Normalize an address to checksum format
22
+ * For now, just lowercases the hex part
23
+ */
24
+ function normalizeAddress(address) {
25
+ if (!isValidAddress(address)) {
26
+ throw new Error(`Invalid address: ${address}`);
27
+ }
28
+ return address.toLowerCase();
29
+ }
30
+ /**
31
+ * Compare two addresses for equality (case-insensitive)
32
+ */
33
+ function addressEquals(a, b) {
34
+ return normalizeAddress(a) === normalizeAddress(b);
35
+ }
36
+ //# sourceMappingURL=address.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address.js","sourceRoot":"","sources":["../../../src/utils/address.ts"],"names":[],"mappings":";;AAGA,wCAUC;AAMD,4CAKC;AAKD,sCAEC;AA/BD;;GAEG;AACH,SAAgB,cAAc,CAAC,OAAe;IAC5C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,0BAA0B;IAC1B,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjC,OAAO,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACxC,CAAC;AAED;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,OAAe;IAC9C,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,CAAS,EAAE,CAAS;IAChD,OAAO,gBAAgB,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.base64Encode = base64Encode;
4
+ exports.base64Decode = base64Decode;
5
+ exports.base64DecodeBytes = base64DecodeBytes;
6
+ exports.hexToBytes = hexToBytes;
7
+ exports.bytesToHex = bytesToHex;
8
+ /**
9
+ * Encode a string or Buffer to Base64
10
+ */
11
+ function base64Encode(data) {
12
+ if (typeof data === 'string') {
13
+ return Buffer.from(data, 'utf-8').toString('base64');
14
+ }
15
+ return Buffer.from(data).toString('base64');
16
+ }
17
+ /**
18
+ * Decode a Base64 string to UTF-8 string
19
+ */
20
+ function base64Decode(data) {
21
+ return Buffer.from(data, 'base64').toString('utf-8');
22
+ }
23
+ /**
24
+ * Decode a Base64 string to Uint8Array
25
+ */
26
+ function base64DecodeBytes(data) {
27
+ return new Uint8Array(Buffer.from(data, 'base64'));
28
+ }
29
+ /**
30
+ * Convert a hex string to Uint8Array
31
+ */
32
+ function hexToBytes(hex) {
33
+ const cleanHex = hex.startsWith('0x') ? hex.slice(2) : hex;
34
+ const bytes = new Uint8Array(cleanHex.length / 2);
35
+ for (let i = 0; i < bytes.length; i++) {
36
+ bytes[i] = parseInt(cleanHex.slice(i * 2, i * 2 + 2), 16);
37
+ }
38
+ return bytes;
39
+ }
40
+ /**
41
+ * Convert Uint8Array to hex string
42
+ */
43
+ function bytesToHex(bytes, prefix = true) {
44
+ const hex = Array.from(bytes)
45
+ .map((b) => b.toString(16).padStart(2, '0'))
46
+ .join('');
47
+ return prefix ? `0x${hex}` : hex;
48
+ }
49
+ //# sourceMappingURL=encoding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encoding.js","sourceRoot":"","sources":["../../../src/utils/encoding.ts"],"names":[],"mappings":";;AAGA,oCAKC;AAKD,oCAEC;AAKD,8CAEC;AAKD,gCAOC;AAKD,gCAKC;AA5CD;;GAEG;AACH,SAAgB,YAAY,CAAC,IAAyB;IACpD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY,CAAC,IAAY;IACvC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACvD,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAAC,IAAY;IAC5C,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,SAAgB,UAAU,CAAC,GAAW;IACpC,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC3D,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAgB,UAAU,CAAC,KAAiB,EAAE,MAAM,GAAG,IAAI;IACzD,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;SAC1B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SAC3C,IAAI,CAAC,EAAE,CAAC,CAAC;IACZ,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;AACnC,CAAC"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sha256 = sha256;
4
+ exports.sha256Hex = sha256Hex;
5
+ const crypto_1 = require("crypto");
6
+ /**
7
+ * Compute SHA256 hash of data
8
+ */
9
+ function sha256(data) {
10
+ const hash = (0, crypto_1.createHash)('sha256');
11
+ if (typeof data === 'string') {
12
+ hash.update(data, 'utf-8');
13
+ }
14
+ else {
15
+ hash.update(data);
16
+ }
17
+ return new Uint8Array(hash.digest());
18
+ }
19
+ /**
20
+ * Compute SHA256 hash and return as hex string
21
+ */
22
+ function sha256Hex(data) {
23
+ const hash = sha256(data);
24
+ return Array.from(hash)
25
+ .map((b) => b.toString(16).padStart(2, '0'))
26
+ .join('');
27
+ }
28
+ //# sourceMappingURL=hash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hash.js","sourceRoot":"","sources":["../../../src/utils/hash.ts"],"names":[],"mappings":";;AAKA,wBAQC;AAKD,8BAKC;AAvBD,mCAAoC;AAEpC;;GAEG;AACH,SAAgB,MAAM,CAAC,IAAyB;IAC9C,MAAM,IAAI,GAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC;IAClC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,SAAgB,SAAS,CAAC,IAAyB;IACjD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;SACpB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SAC3C,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addressEquals = exports.normalizeAddress = exports.isValidAddress = exports.sha256Hex = exports.sha256 = exports.bytesToHex = exports.hexToBytes = exports.base64DecodeBytes = exports.base64Decode = exports.base64Encode = void 0;
4
+ var encoding_js_1 = require("./encoding.js");
5
+ Object.defineProperty(exports, "base64Encode", { enumerable: true, get: function () { return encoding_js_1.base64Encode; } });
6
+ Object.defineProperty(exports, "base64Decode", { enumerable: true, get: function () { return encoding_js_1.base64Decode; } });
7
+ Object.defineProperty(exports, "base64DecodeBytes", { enumerable: true, get: function () { return encoding_js_1.base64DecodeBytes; } });
8
+ Object.defineProperty(exports, "hexToBytes", { enumerable: true, get: function () { return encoding_js_1.hexToBytes; } });
9
+ Object.defineProperty(exports, "bytesToHex", { enumerable: true, get: function () { return encoding_js_1.bytesToHex; } });
10
+ var hash_js_1 = require("./hash.js");
11
+ Object.defineProperty(exports, "sha256", { enumerable: true, get: function () { return hash_js_1.sha256; } });
12
+ Object.defineProperty(exports, "sha256Hex", { enumerable: true, get: function () { return hash_js_1.sha256Hex; } });
13
+ var address_js_1 = require("./address.js");
14
+ Object.defineProperty(exports, "isValidAddress", { enumerable: true, get: function () { return address_js_1.isValidAddress; } });
15
+ Object.defineProperty(exports, "normalizeAddress", { enumerable: true, get: function () { return address_js_1.normalizeAddress; } });
16
+ Object.defineProperty(exports, "addressEquals", { enumerable: true, get: function () { return address_js_1.addressEquals; } });
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;AAAA,6CAMuB;AALrB,2GAAA,YAAY,OAAA;AACZ,2GAAA,YAAY,OAAA;AACZ,gHAAA,iBAAiB,OAAA;AACjB,yGAAA,UAAU,OAAA;AACV,yGAAA,UAAU,OAAA;AAGZ,qCAA8C;AAArC,iGAAA,MAAM,OAAA;AAAE,oGAAA,SAAS,OAAA;AAE1B,2CAA+E;AAAtE,4GAAA,cAAc,OAAA;AAAE,8GAAA,gBAAgB,OAAA;AAAE,2GAAA,aAAa,OAAA"}
@@ -0,0 +1,79 @@
1
+ import type { ChainInfo, Block } from '../types/chain.js';
2
+ import type { Transaction } from '../types/transaction.js';
3
+ import type { SubmitTransactionResponse } from '../types/api.js';
4
+ import type { StateValueResponse, PrefixQueryResult } from '../types/state.js';
5
+ import type { NodeInfo, Peer, MempoolInfo, HealthResponse } from '../types/node.js';
6
+ /**
7
+ * Configuration for PodoruClient
8
+ */
9
+ export interface PodoruClientConfig {
10
+ baseUrl: string;
11
+ timeout?: number;
12
+ headers?: Record<string, string>;
13
+ }
14
+ /**
15
+ * REST API client for Podoru Chain
16
+ */
17
+ export declare class PodoruClient {
18
+ private baseUrl;
19
+ private timeout;
20
+ private headers;
21
+ constructor(config: PodoruClientConfig);
22
+ /**
23
+ * Internal fetch helper with error handling
24
+ */
25
+ private fetch;
26
+ /**
27
+ * Get blockchain information
28
+ */
29
+ getChainInfo(): Promise<ChainInfo>;
30
+ /**
31
+ * Get block by hash
32
+ */
33
+ getBlockByHash(hash: string): Promise<Block>;
34
+ /**
35
+ * Get block by height
36
+ */
37
+ getBlockByHeight(height: number): Promise<Block>;
38
+ /**
39
+ * Get the latest block
40
+ */
41
+ getLatestBlock(): Promise<Block>;
42
+ /**
43
+ * Get transaction by hash
44
+ */
45
+ getTransaction(hash: string): Promise<Transaction>;
46
+ /**
47
+ * Submit a signed transaction
48
+ */
49
+ submitTransaction(tx: Transaction): Promise<SubmitTransactionResponse>;
50
+ /**
51
+ * Get a single state value
52
+ */
53
+ getState(key: string): Promise<StateValueResponse>;
54
+ /**
55
+ * Get multiple state values in a batch
56
+ */
57
+ batchGetState(keys: string[]): Promise<Record<string, string | null>>;
58
+ /**
59
+ * Query state by key prefix
60
+ */
61
+ queryByPrefix(prefix: string, limit?: number): Promise<PrefixQueryResult>;
62
+ /**
63
+ * Get node information
64
+ */
65
+ getNodeInfo(): Promise<NodeInfo>;
66
+ /**
67
+ * Get connected peers
68
+ */
69
+ getPeers(): Promise<Peer[]>;
70
+ /**
71
+ * Health check
72
+ */
73
+ getHealth(): Promise<HealthResponse>;
74
+ /**
75
+ * Get mempool information and pending transactions
76
+ */
77
+ getMempool(): Promise<MempoolInfo>;
78
+ }
79
+ //# sourceMappingURL=PodoruClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PodoruClient.d.ts","sourceRoot":"","sources":["../../../src/client/PodoruClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGpF;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAyB;gBAE5B,MAAM,EAAE,kBAAkB;IAMtC;;OAEG;YACW,KAAK;IAgDnB;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;IAIxC;;OAEG;IACG,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAIlD;;OAEG;IACG,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAItD;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC;IAMtC;;OAEG;IACG,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAIxD;;OAEG;IACG,iBAAiB,CAAC,EAAE,EAAE,WAAW,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAS5E;;OAEG;IACG,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAIxD;;OAEG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IAO3E;;OAEG;IACG,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAS/E;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC;IAItC;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAIjC;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,cAAc,CAAC;IAM1C;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,WAAW,CAAC;CAGzC"}