@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,32 @@
1
+ import type { Transaction } from './transaction.js';
2
+ /**
3
+ * Node information
4
+ */
5
+ export interface NodeInfo {
6
+ version: string;
7
+ node_type: string;
8
+ address: string;
9
+ p2p_address: string;
10
+ }
11
+ /**
12
+ * Connected peer information
13
+ */
14
+ export interface Peer {
15
+ id: string;
16
+ address: string;
17
+ connected_at: number;
18
+ }
19
+ /**
20
+ * Mempool information with pending transactions
21
+ */
22
+ export interface MempoolInfo {
23
+ count: number;
24
+ transactions: Transaction[];
25
+ }
26
+ /**
27
+ * Health check response
28
+ */
29
+ export interface HealthResponse {
30
+ status: string;
31
+ }
32
+ //# sourceMappingURL=node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/types/node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,WAAW,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Single state entry
3
+ */
4
+ export interface StateEntry {
5
+ key: string;
6
+ value: string;
7
+ }
8
+ /**
9
+ * Result of a prefix query
10
+ */
11
+ export interface PrefixQueryResult {
12
+ prefix: string;
13
+ count: number;
14
+ results: Record<string, string>;
15
+ }
16
+ /**
17
+ * State value response
18
+ */
19
+ export interface StateValueResponse {
20
+ key: string;
21
+ value: string;
22
+ }
23
+ //# sourceMappingURL=state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/types/state.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Operation type for key-value store
3
+ */
4
+ export type OperationType = 'SET' | 'DELETE';
5
+ /**
6
+ * Single operation on the key-value store
7
+ */
8
+ export interface Operation {
9
+ type: OperationType;
10
+ key: string;
11
+ value?: string;
12
+ }
13
+ /**
14
+ * Transaction data containing operations
15
+ */
16
+ export interface TransactionData {
17
+ operations: Operation[];
18
+ }
19
+ /**
20
+ * Complete signed transaction
21
+ */
22
+ export interface Transaction {
23
+ id: number[];
24
+ from: string;
25
+ timestamp: number;
26
+ data: TransactionData;
27
+ signature: number[];
28
+ nonce: number;
29
+ }
30
+ /**
31
+ * Unsigned transaction (before signing)
32
+ */
33
+ export interface UnsignedTransaction {
34
+ from: string;
35
+ timestamp: number;
36
+ data: TransactionData;
37
+ nonce: number;
38
+ }
39
+ //# sourceMappingURL=transaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/types/transaction.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,QAAQ,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,aAAa,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,SAAS,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,EAAE,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,eAAe,CAAC;IACtB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Check if a string is a valid Ethereum-style address
3
+ */
4
+ export declare function isValidAddress(address: string): boolean;
5
+ /**
6
+ * Normalize an address to checksum format
7
+ * For now, just lowercases the hex part
8
+ */
9
+ export declare function normalizeAddress(address: string): string;
10
+ /**
11
+ * Compare two addresses for equality (case-insensitive)
12
+ */
13
+ export declare function addressEquals(a: string, b: string): boolean;
14
+ //# sourceMappingURL=address.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../../src/utils/address.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAUvD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAKxD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAE3D"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Encode a string or Buffer to Base64
3
+ */
4
+ export declare function base64Encode(data: string | Uint8Array): string;
5
+ /**
6
+ * Decode a Base64 string to UTF-8 string
7
+ */
8
+ export declare function base64Decode(data: string): string;
9
+ /**
10
+ * Decode a Base64 string to Uint8Array
11
+ */
12
+ export declare function base64DecodeBytes(data: string): Uint8Array;
13
+ /**
14
+ * Convert a hex string to Uint8Array
15
+ */
16
+ export declare function hexToBytes(hex: string): Uint8Array;
17
+ /**
18
+ * Convert Uint8Array to hex string
19
+ */
20
+ export declare function bytesToHex(bytes: Uint8Array, prefix?: boolean): string;
21
+ //# sourceMappingURL=encoding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encoding.d.ts","sourceRoot":"","sources":["../../../src/utils/encoding.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAK9D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAE1D;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAOlD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,UAAO,GAAG,MAAM,CAKnE"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Compute SHA256 hash of data
3
+ */
4
+ export declare function sha256(data: string | Uint8Array): Uint8Array;
5
+ /**
6
+ * Compute SHA256 hash and return as hex string
7
+ */
8
+ export declare function sha256Hex(data: string | Uint8Array): string;
9
+ //# sourceMappingURL=hash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../../../src/utils/hash.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,UAAU,CAQ5D;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAK3D"}
@@ -0,0 +1,4 @@
1
+ export { base64Encode, base64Decode, base64DecodeBytes, hexToBytes, bytesToHex, } from './encoding.js';
2
+ export { sha256, sha256Hex } from './hash.js';
3
+ export { isValidAddress, normalizeAddress, addressEquals } from './address.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,UAAU,EACV,UAAU,GACX,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
package/package.json ADDED
@@ -0,0 +1,69 @@
1
+ {
2
+ "name": "@cds.id/podoru-sdk",
3
+ "version": "1.1.0",
4
+ "private": false,
5
+ "description": "TypeScript SDK for Podoru Chain",
6
+ "type": "module",
7
+ "main": "./dist/cjs/index.js",
8
+ "module": "./dist/esm/index.js",
9
+ "types": "./dist/types/index.d.ts",
10
+ "exports": {
11
+ ".": {
12
+ "types": "./dist/types/index.d.ts",
13
+ "import": "./dist/esm/index.js",
14
+ "require": "./dist/cjs/index.js"
15
+ }
16
+ },
17
+ "files": [
18
+ "dist",
19
+ "README.md",
20
+ "LICENSE"
21
+ ],
22
+ "scripts": {
23
+ "build": "npm run build:esm && npm run build:cjs && npm run build:types",
24
+ "build:esm": "tsc -p tsconfig.json",
25
+ "build:cjs": "tsc -p tsconfig.cjs.json",
26
+ "build:types": "tsc -p tsconfig.json --declaration --emitDeclarationOnly --outDir dist/types",
27
+ "clean": "rm -rf dist",
28
+ "prepublishOnly": "npm run clean && npm run build",
29
+ "lint": "eslint src/",
30
+ "lint:fix": "eslint src/ --fix",
31
+ "typecheck": "tsc --noEmit",
32
+ "test": "vitest",
33
+ "test:run": "vitest run",
34
+ "test:coverage": "vitest run --coverage",
35
+ "release": "release-it"
36
+ },
37
+ "dependencies": {
38
+ "ethers": "^6.9.0"
39
+ },
40
+ "devDependencies": {
41
+ "@eslint/js": "^9.39.2",
42
+ "@release-it/conventional-changelog": "^10.0.4",
43
+ "@types/node": "^20.10.0",
44
+ "@vitest/coverage-v8": "^4.0.16",
45
+ "eslint": "^9.39.2",
46
+ "release-it": "^19.2.3",
47
+ "typescript": "^5.7.2",
48
+ "typescript-eslint": "^8.52.0",
49
+ "vitest": "^4.0.16"
50
+ },
51
+ "engines": {
52
+ "node": ">=18.0.0"
53
+ },
54
+ "keywords": [
55
+ "podoru",
56
+ "blockchain",
57
+ "sdk",
58
+ "web3",
59
+ "typescript"
60
+ ],
61
+ "license": "MIT",
62
+ "publishConfig": {
63
+ "access": "public"
64
+ },
65
+ "repository": {
66
+ "type": "git",
67
+ "url": "https://github.com/podoru/podoru-sdk"
68
+ }
69
+ }