quantumcoin 7.0.3 → 7.0.4

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 (155) hide show
  1. package/.github/workflows/publish-npmjs.yaml +22 -22
  2. package/.gitignore +15 -15
  3. package/LICENSE +21 -21
  4. package/README-SDK.md +756 -754
  5. package/README.md +165 -150
  6. package/SPEC.md +3845 -3843
  7. package/config.d.ts +50 -50
  8. package/config.js +115 -115
  9. package/examples/AllSolidityTypes.sol +184 -184
  10. package/examples/SimpleIERC20.sol +74 -74
  11. package/examples/events.js +41 -35
  12. package/examples/events.ts +35 -0
  13. package/examples/example-generator-sdk-js.js +100 -95
  14. package/examples/example-generator-sdk-js.ts +77 -0
  15. package/examples/example-generator-sdk-ts.js +100 -95
  16. package/examples/example-generator-sdk-ts.ts +77 -0
  17. package/examples/example.js +72 -61
  18. package/examples/example.ts +61 -0
  19. package/examples/offline-signing.js +79 -73
  20. package/examples/offline-signing.ts +66 -0
  21. package/examples/package-lock.json +48 -57
  22. package/examples/package.json +32 -16
  23. package/examples/read-operations.js +32 -27
  24. package/examples/read-operations.ts +31 -0
  25. package/examples/sdk-generator-erc20.inline.json +251 -251
  26. package/examples/solidity-types.ts +43 -43
  27. package/examples/wallet-offline.js +35 -29
  28. package/examples/wallet-offline.ts +34 -0
  29. package/generate-sdk.js +1824 -1490
  30. package/index.js +12 -12
  31. package/package.json +95 -75
  32. package/scripts/copy-declarations.js +31 -0
  33. package/scripts/run-all-one-by-one.js +151 -0
  34. package/src/abi/fragments.d.ts +42 -42
  35. package/src/abi/fragments.js +63 -63
  36. package/src/abi/index.d.ts +13 -13
  37. package/src/abi/index.js +9 -9
  38. package/src/abi/interface.d.ts +128 -132
  39. package/src/abi/interface.js +590 -590
  40. package/src/abi/js-abi-coder.d.ts +8 -0
  41. package/src/abi/js-abi-coder.js +474 -474
  42. package/src/constants.d.ts +66 -61
  43. package/src/constants.js +101 -94
  44. package/src/contract/contract-factory.d.ts +28 -28
  45. package/src/contract/contract-factory.js +105 -105
  46. package/src/contract/contract.d.ts +113 -114
  47. package/src/contract/contract.js +354 -354
  48. package/src/contract/index.d.ts +9 -9
  49. package/src/contract/index.js +9 -9
  50. package/src/errors/index.d.ts +92 -92
  51. package/src/errors/index.js +188 -188
  52. package/src/generator/index.d.ts +74 -0
  53. package/src/generator/index.js +1404 -1404
  54. package/src/index.d.ts +125 -127
  55. package/src/index.js +41 -41
  56. package/src/internal/hex.d.ts +61 -61
  57. package/src/internal/hex.js +144 -144
  58. package/src/providers/extra-providers.d.ts +139 -128
  59. package/src/providers/extra-providers.js +600 -575
  60. package/src/providers/index.d.ts +17 -16
  61. package/src/providers/index.js +10 -10
  62. package/src/providers/json-rpc-provider.d.ts +12 -12
  63. package/src/providers/json-rpc-provider.js +79 -79
  64. package/src/providers/provider.d.ts +207 -203
  65. package/src/providers/provider.js +392 -371
  66. package/src/types/index.d.ts +214 -462
  67. package/src/types/index.js +9 -9
  68. package/src/utils/address.d.ts +72 -72
  69. package/src/utils/address.js +181 -182
  70. package/src/utils/encoding.d.ts +120 -120
  71. package/src/utils/encoding.js +306 -306
  72. package/src/utils/hashing.d.ts +82 -76
  73. package/src/utils/hashing.js +313 -298
  74. package/src/utils/index.d.ts +65 -55
  75. package/src/utils/index.js +13 -13
  76. package/src/utils/result.d.ts +57 -57
  77. package/src/utils/result.js +128 -128
  78. package/src/utils/rlp.d.ts +12 -12
  79. package/src/utils/rlp.js +200 -200
  80. package/src/utils/units.d.ts +29 -29
  81. package/src/utils/units.js +107 -107
  82. package/src/wallet/index.d.ts +10 -10
  83. package/src/wallet/index.js +8 -8
  84. package/src/wallet/wallet.d.ts +160 -160
  85. package/src/wallet/wallet.js +483 -489
  86. package/test/e2e/all-solidity-types.dynamic.test.js +207 -200
  87. package/test/e2e/all-solidity-types.dynamic.test.ts +191 -0
  88. package/test/e2e/all-solidity-types.fixtures.js +231 -231
  89. package/test/e2e/all-solidity-types.generated-sdks.e2e.test.js +387 -368
  90. package/test/e2e/all-solidity-types.generated-sdks.e2e.test.ts +350 -0
  91. package/test/e2e/helpers.js +59 -47
  92. package/test/e2e/signing-context-and-fee.e2e.test.js +137 -0
  93. package/test/e2e/signing-context-and-fee.e2e.test.ts +128 -0
  94. package/test/e2e/simple-erc20.generated-sdks.e2e.test.js +168 -151
  95. package/test/e2e/simple-erc20.generated-sdks.e2e.test.ts +141 -0
  96. package/test/e2e/transactional.test.js +245 -191
  97. package/test/e2e/transactional.test.ts +208 -0
  98. package/test/e2e/typed-generator.e2e.test.js +407 -404
  99. package/test/e2e/typed-generator.e2e.test.ts +337 -0
  100. package/test/fixtures/ConstructorParam.sol +23 -23
  101. package/test/fixtures/MultiContracts.sol +37 -37
  102. package/test/fixtures/SimpleStorage.sol +18 -18
  103. package/test/fixtures/StakingContract.abi.json +1 -1
  104. package/test/integration/ipc-provider.test.js +49 -44
  105. package/test/integration/ipc-provider.test.ts +44 -0
  106. package/test/integration/provider.test.js +88 -72
  107. package/test/integration/provider.test.ts +85 -0
  108. package/test/integration/ws-provider.test.js +41 -33
  109. package/test/integration/ws-provider.test.ts +38 -0
  110. package/test/security/malformed-input.test.js +37 -31
  111. package/test/security/malformed-input.test.ts +35 -0
  112. package/test/unit/_encrypted-output.txt +6 -0
  113. package/test/unit/_log-encrypted-jsons.js +45 -0
  114. package/test/unit/_write-keystore-fixture.js +16 -0
  115. package/test/unit/abi-interface.test.js +103 -98
  116. package/test/unit/abi-interface.test.ts +102 -0
  117. package/test/unit/address-wallet.test.js +355 -257
  118. package/test/unit/address-wallet.test.ts +342 -0
  119. package/test/unit/browser-provider.test.js +85 -82
  120. package/test/unit/browser-provider.test.ts +79 -0
  121. package/test/unit/contract.test.js +85 -82
  122. package/test/unit/contract.test.ts +83 -0
  123. package/test/unit/encoding-units-rlp.test.js +92 -89
  124. package/test/unit/encoding-units-rlp.test.ts +91 -0
  125. package/test/unit/errors.test.js +77 -74
  126. package/test/unit/errors.test.ts +76 -0
  127. package/test/unit/filter-by-blockhash.test.js +55 -52
  128. package/test/unit/filter-by-blockhash.test.ts +54 -0
  129. package/test/unit/fixtures/encrypted-keystores-48-32-36.js +9 -0
  130. package/test/unit/generate-contract-cli.test.js +42 -39
  131. package/test/unit/generate-contract-cli.test.ts +41 -0
  132. package/test/unit/generate-sdk-artifacts-json.test.js +113 -110
  133. package/test/unit/generate-sdk-artifacts-json.test.ts +110 -0
  134. package/test/unit/generator.test.js +102 -99
  135. package/test/unit/generator.test.ts +101 -0
  136. package/test/unit/hashing.test.js +68 -54
  137. package/test/unit/hashing.test.ts +67 -0
  138. package/test/unit/init.test.js +39 -36
  139. package/test/unit/init.test.ts +38 -0
  140. package/test/unit/interface.test.js +56 -53
  141. package/test/unit/interface.test.ts +54 -0
  142. package/test/unit/internal-hex.test.js +50 -47
  143. package/test/unit/internal-hex.test.ts +49 -0
  144. package/test/unit/populate-transaction.test.js +65 -62
  145. package/test/unit/populate-transaction.test.ts +64 -0
  146. package/test/unit/providers.test.js +200 -144
  147. package/test/unit/providers.test.ts +196 -0
  148. package/test/unit/result.test.js +80 -77
  149. package/test/unit/result.test.ts +79 -0
  150. package/test/unit/solidity-types.test.js +49 -46
  151. package/test/unit/solidity-types.test.ts +39 -0
  152. package/test/unit/utils.test.js +57 -54
  153. package/test/unit/utils.test.ts +56 -0
  154. package/test/verbose-logger.js +74 -0
  155. package/tsconfig.build.json +14 -0
@@ -1,120 +1,120 @@
1
- export type BytesLike = string | Uint8Array;
2
- /**
3
- * @typedef {string | Uint8Array} BytesLike
4
- */
5
- /**
6
- * Converts bytes to UTF-8 string.
7
- * @param {BytesLike} data
8
- * @returns {string}
9
- */
10
- export function toUtf8String(data: BytesLike): string;
11
- /**
12
- * Converts string to UTF-8 bytes.
13
- * @param {string} str
14
- * @returns {Uint8Array}
15
- */
16
- export function toUtf8Bytes(str: string): Uint8Array;
17
- /**
18
- * Converts data to hex string.
19
- * @param {BytesLike} data
20
- * @returns {string}
21
- */
22
- export function toHex(data: BytesLike): string;
23
- /**
24
- * Alias for toHex.
25
- * @param {BytesLike} data
26
- * @returns {string}
27
- */
28
- export function hexlify(data: BytesLike): string;
29
- /**
30
- * Converts data to byte array.
31
- * @param {BytesLike} data
32
- * @returns {Uint8Array}
33
- */
34
- export function arrayify(data: BytesLike): Uint8Array;
35
- /**
36
- * Concatenates byte arrays and returns a hex string.
37
- * @param {BytesLike[]} items
38
- * @returns {string}
39
- */
40
- export function concat(items: BytesLike[]): string;
41
- /**
42
- * Strips leading zeros from a hex string.
43
- * @param {BytesLike} data
44
- * @returns {string}
45
- */
46
- export function stripZerosLeft(data: BytesLike): string;
47
- /**
48
- * Encodes a short UTF-8 string into a bytes32 hex string.
49
- * @param {string} text
50
- * @returns {string}
51
- */
52
- export function encodeBytes32String(text: string): string;
53
- /**
54
- * Decodes a bytes32 hex string into a UTF-8 string (trailing zeros stripped).
55
- * @param {BytesLike} bytes
56
- * @returns {string}
57
- */
58
- export function decodeBytes32String(bytes: BytesLike): string;
59
- /**
60
- * Decode Base58 string to bytes.
61
- * @param {string} data
62
- * @returns {Uint8Array}
63
- */
64
- export function decodeBase58(data: string): Uint8Array;
65
- /**
66
- * Base64 decode to bytes.
67
- * @param {string} data
68
- * @returns {Uint8Array}
69
- */
70
- export function decodeBase64(data: string): Uint8Array;
71
- /**
72
- * Encode BytesLike as Base58.
73
- * @param {BytesLike} data
74
- * @returns {string}
75
- */
76
- export function encodeBase58(data: BytesLike): string;
77
- /**
78
- * Base64 encode BytesLike.
79
- * @param {BytesLike} data
80
- * @returns {string}
81
- */
82
- export function encodeBase64(data: BytesLike): string;
83
- /**
84
- * Returns UTF-8 code points for a string.
85
- * @param {string} str
86
- * @returns {number[]}
87
- */
88
- export function toUtf8CodePoints(str: string): number[];
89
- import { isHexString } from "../internal/hex";
90
- /**
91
- * Returns true if value is BytesLike.
92
- * @param {any} value
93
- * @returns {boolean}
94
- */
95
- export function isBytesLike(value: any): boolean;
96
- /**
97
- * Pads a BytesLike value to the left with zeros (byte length).
98
- * @param {BytesLike} value
99
- * @param {number} length
100
- * @returns {string}
101
- */
102
- export function zeroPad(value: BytesLike, length: number): string;
103
- /**
104
- * Pads a hex value (interpreted as bytes) to the left with zeros (byte length).
105
- * @param {BytesLike} value
106
- * @param {number} length
107
- * @returns {string}
108
- */
109
- export function zeroPadValue(value: BytesLike, length: number): string;
110
- /**
111
- * Solidity packed encoding.
112
- * This is a complex helper in ethers.js; in QuantumCoin.js it is currently not implemented.
113
- * @throws
114
- */
115
- export function solidityPacked(): void;
116
- export function solidityPackedKeccak256(): void;
117
- export function solidityPackedSha256(): void;
118
- import { bytesToHex } from "../internal/hex";
119
- import { hexToBytes } from "../internal/hex";
120
- export { isHexString, bytesToHex, hexToBytes };
1
+ export type BytesLike = string | Uint8Array;
2
+ /**
3
+ * @typedef {string | Uint8Array} BytesLike
4
+ */
5
+ /**
6
+ * Converts bytes to UTF-8 string.
7
+ * @param {BytesLike} data
8
+ * @returns {string}
9
+ */
10
+ export function toUtf8String(data: BytesLike): string;
11
+ /**
12
+ * Converts string to UTF-8 bytes.
13
+ * @param {string} str
14
+ * @returns {Uint8Array}
15
+ */
16
+ export function toUtf8Bytes(str: string): Uint8Array;
17
+ /**
18
+ * Converts data to hex string.
19
+ * @param {BytesLike} data
20
+ * @returns {string}
21
+ */
22
+ export function toHex(data: BytesLike): string;
23
+ /**
24
+ * Alias for toHex.
25
+ * @param {BytesLike} data
26
+ * @returns {string}
27
+ */
28
+ export function hexlify(data: BytesLike): string;
29
+ /**
30
+ * Converts data to byte array.
31
+ * @param {BytesLike} data
32
+ * @returns {Uint8Array}
33
+ */
34
+ export function arrayify(data: BytesLike): Uint8Array;
35
+ /**
36
+ * Concatenates byte arrays and returns a hex string.
37
+ * @param {BytesLike[]} items
38
+ * @returns {string}
39
+ */
40
+ export function concat(items: BytesLike[]): string;
41
+ /**
42
+ * Strips leading zeros from a hex string.
43
+ * @param {BytesLike} data
44
+ * @returns {string}
45
+ */
46
+ export function stripZerosLeft(data: BytesLike): string;
47
+ /**
48
+ * Encodes a short UTF-8 string into a bytes32 hex string.
49
+ * @param {string} text
50
+ * @returns {string}
51
+ */
52
+ export function encodeBytes32String(text: string): string;
53
+ /**
54
+ * Decodes a bytes32 hex string into a UTF-8 string (trailing zeros stripped).
55
+ * @param {BytesLike} bytes
56
+ * @returns {string}
57
+ */
58
+ export function decodeBytes32String(bytes: BytesLike): string;
59
+ /**
60
+ * Decode Base58 string to bytes.
61
+ * @param {string} data
62
+ * @returns {Uint8Array}
63
+ */
64
+ export function decodeBase58(data: string): Uint8Array;
65
+ /**
66
+ * Base64 decode to bytes.
67
+ * @param {string} data
68
+ * @returns {Uint8Array}
69
+ */
70
+ export function decodeBase64(data: string): Uint8Array;
71
+ /**
72
+ * Encode BytesLike as Base58.
73
+ * @param {BytesLike} data
74
+ * @returns {string}
75
+ */
76
+ export function encodeBase58(data: BytesLike): string;
77
+ /**
78
+ * Base64 encode BytesLike.
79
+ * @param {BytesLike} data
80
+ * @returns {string}
81
+ */
82
+ export function encodeBase64(data: BytesLike): string;
83
+ /**
84
+ * Returns UTF-8 code points for a string.
85
+ * @param {string} str
86
+ * @returns {number[]}
87
+ */
88
+ export function toUtf8CodePoints(str: string): number[];
89
+ import { isHexString } from "../internal/hex";
90
+ /**
91
+ * Returns true if value is BytesLike.
92
+ * @param {any} value
93
+ * @returns {boolean}
94
+ */
95
+ export function isBytesLike(value: any): boolean;
96
+ /**
97
+ * Pads a BytesLike value to the left with zeros (byte length).
98
+ * @param {BytesLike} value
99
+ * @param {number} length
100
+ * @returns {string}
101
+ */
102
+ export function zeroPad(value: BytesLike, length: number): string;
103
+ /**
104
+ * Pads a hex value (interpreted as bytes) to the left with zeros (byte length).
105
+ * @param {BytesLike} value
106
+ * @param {number} length
107
+ * @returns {string}
108
+ */
109
+ export function zeroPadValue(value: BytesLike, length: number): string;
110
+ /**
111
+ * Solidity packed encoding.
112
+ * This is a complex helper in ethers.js; in QuantumCoin.js it is currently not implemented.
113
+ * @throws
114
+ */
115
+ export function solidityPacked(): void;
116
+ export function solidityPackedKeccak256(): void;
117
+ export function solidityPackedSha256(): void;
118
+ import { bytesToHex } from "../internal/hex";
119
+ import { hexToBytes } from "../internal/hex";
120
+ export { isHexString, bytesToHex, hexToBytes };