quantum-coin-js-sdk 2.0.1 → 2.1.1

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 (233) hide show
  1. package/README.md +13 -0
  2. package/index.d.ts +9 -0
  3. package/index.js +37 -4
  4. package/package.json +12 -4
  5. package/wasmBase64.js +3 -2
  6. package/.gitignore +0 -4
  7. package/.idea/.name +0 -1
  8. package/.idea/modules.xml +0 -8
  9. package/.idea/quantum-coin-js-sdk.iml +0 -12
  10. package/.idea/vcs.xml +0 -6
  11. package/.vs/ProjectSettings.json +0 -3
  12. package/.vs/VSWorkspaceState.json +0 -8
  13. package/.vs/quantum-coin-js-sdk/FileContentIndex/a9d6de82-cfc3-4c22-ac38-06d706ff3673.vsidx +0 -0
  14. package/.vs/quantum-coin-js-sdk/FileContentIndex/fdc816df-1898-4153-99f2-c69ef4c2283b.vsidx +0 -0
  15. package/.vs/quantum-coin-js-sdk/config/applicationhost.config +0 -1011
  16. package/.vs/quantum-coin-js-sdk/v17/.wsuo +0 -0
  17. package/.vs/quantum-coin-js-sdk/v17/DocumentLayout.backup.json +0 -39
  18. package/.vs/quantum-coin-js-sdk/v17/DocumentLayout.json +0 -57
  19. package/.vs/slnx.sqlite +0 -0
  20. package/example/README.md +0 -14
  21. package/example/conversion-example.js +0 -19
  22. package/example/example-create-contract.js +0 -396
  23. package/example/example-encode-decode-rlp.js +0 -225
  24. package/example/example-event-pack-unpack.js +0 -391
  25. package/example/example-misc.js +0 -96
  26. package/example/example-token-pack-unpack.js +0 -960
  27. package/example/example-wallet-version4.js +0 -34
  28. package/example/example-wallet.js +0 -39
  29. package/example/example.js +0 -115
  30. package/example/node_modules/.bin/sdkgen +0 -16
  31. package/example/node_modules/.bin/sdkgen.cmd +0 -17
  32. package/example/node_modules/.bin/sdkgen.ps1 +0 -28
  33. package/example/node_modules/.package-lock.json +0 -51
  34. package/example/node_modules/quantumcoin/.github/workflows/publish-npmjs.yaml +0 -22
  35. package/example/node_modules/quantumcoin/LICENSE +0 -21
  36. package/example/node_modules/quantumcoin/README-SDK.md +0 -828
  37. package/example/node_modules/quantumcoin/README.md +0 -197
  38. package/example/node_modules/quantumcoin/config.d.ts +0 -50
  39. package/example/node_modules/quantumcoin/config.js +0 -123
  40. package/example/node_modules/quantumcoin/examples/AllSolidityTypes.sol +0 -184
  41. package/example/node_modules/quantumcoin/examples/SimpleIERC20.sol +0 -74
  42. package/example/node_modules/quantumcoin/examples/events.js +0 -41
  43. package/example/node_modules/quantumcoin/examples/events.ts +0 -35
  44. package/example/node_modules/quantumcoin/examples/example-generator-sdk-js.js +0 -100
  45. package/example/node_modules/quantumcoin/examples/example-generator-sdk-js.ts +0 -77
  46. package/example/node_modules/quantumcoin/examples/example-generator-sdk-ts.js +0 -100
  47. package/example/node_modules/quantumcoin/examples/example-generator-sdk-ts.ts +0 -77
  48. package/example/node_modules/quantumcoin/examples/example.js +0 -67
  49. package/example/node_modules/quantumcoin/examples/example.ts +0 -56
  50. package/example/node_modules/quantumcoin/examples/offline-signing.js +0 -77
  51. package/example/node_modules/quantumcoin/examples/offline-signing.ts +0 -65
  52. package/example/node_modules/quantumcoin/examples/package-lock.json +0 -596
  53. package/example/node_modules/quantumcoin/examples/package.json +0 -32
  54. package/example/node_modules/quantumcoin/examples/read-operations.js +0 -32
  55. package/example/node_modules/quantumcoin/examples/read-operations.ts +0 -31
  56. package/example/node_modules/quantumcoin/examples/sdk-generator-erc20.inline.json +0 -251
  57. package/example/node_modules/quantumcoin/examples/solidity-types.ts +0 -43
  58. package/example/node_modules/quantumcoin/examples/wallet-offline.js +0 -36
  59. package/example/node_modules/quantumcoin/examples/wallet-offline.ts +0 -26
  60. package/example/node_modules/quantumcoin/generate-sdk.js +0 -1846
  61. package/example/node_modules/quantumcoin/index.js +0 -12
  62. package/example/node_modules/quantumcoin/package.json +0 -95
  63. package/example/node_modules/quantumcoin/scripts/copy-declarations.js +0 -31
  64. package/example/node_modules/quantumcoin/scripts/run-all-one-by-one.js +0 -151
  65. package/example/node_modules/quantumcoin/src/abi/fragments.d.ts +0 -42
  66. package/example/node_modules/quantumcoin/src/abi/fragments.js +0 -63
  67. package/example/node_modules/quantumcoin/src/abi/index.d.ts +0 -13
  68. package/example/node_modules/quantumcoin/src/abi/index.js +0 -9
  69. package/example/node_modules/quantumcoin/src/abi/interface.d.ts +0 -128
  70. package/example/node_modules/quantumcoin/src/abi/interface.js +0 -605
  71. package/example/node_modules/quantumcoin/src/abi/js-abi-coder.d.ts +0 -8
  72. package/example/node_modules/quantumcoin/src/abi/js-abi-coder.js +0 -538
  73. package/example/node_modules/quantumcoin/src/constants.d.ts +0 -61
  74. package/example/node_modules/quantumcoin/src/constants.js +0 -94
  75. package/example/node_modules/quantumcoin/src/contract/contract-factory.d.ts +0 -28
  76. package/example/node_modules/quantumcoin/src/contract/contract-factory.js +0 -111
  77. package/example/node_modules/quantumcoin/src/contract/contract.d.ts +0 -113
  78. package/example/node_modules/quantumcoin/src/contract/contract.js +0 -408
  79. package/example/node_modules/quantumcoin/src/contract/index.d.ts +0 -9
  80. package/example/node_modules/quantumcoin/src/contract/index.js +0 -9
  81. package/example/node_modules/quantumcoin/src/errors/index.d.ts +0 -92
  82. package/example/node_modules/quantumcoin/src/errors/index.js +0 -200
  83. package/example/node_modules/quantumcoin/src/generator/index.d.ts +0 -81
  84. package/example/node_modules/quantumcoin/src/generator/index.js +0 -1571
  85. package/example/node_modules/quantumcoin/src/index.d.ts +0 -122
  86. package/example/node_modules/quantumcoin/src/index.js +0 -41
  87. package/example/node_modules/quantumcoin/src/internal/hex.d.ts +0 -68
  88. package/example/node_modules/quantumcoin/src/internal/hex.js +0 -180
  89. package/example/node_modules/quantumcoin/src/providers/extra-providers.d.ts +0 -139
  90. package/example/node_modules/quantumcoin/src/providers/extra-providers.js +0 -614
  91. package/example/node_modules/quantumcoin/src/providers/index.d.ts +0 -17
  92. package/example/node_modules/quantumcoin/src/providers/index.js +0 -10
  93. package/example/node_modules/quantumcoin/src/providers/json-rpc-provider.d.ts +0 -12
  94. package/example/node_modules/quantumcoin/src/providers/json-rpc-provider.js +0 -89
  95. package/example/node_modules/quantumcoin/src/providers/provider.d.ts +0 -206
  96. package/example/node_modules/quantumcoin/src/providers/provider.js +0 -524
  97. package/example/node_modules/quantumcoin/src/types/index.d.ts +0 -214
  98. package/example/node_modules/quantumcoin/src/types/index.js +0 -9
  99. package/example/node_modules/quantumcoin/src/utils/address.d.ts +0 -58
  100. package/example/node_modules/quantumcoin/src/utils/address.js +0 -144
  101. package/example/node_modules/quantumcoin/src/utils/encoding.d.ts +0 -120
  102. package/example/node_modules/quantumcoin/src/utils/encoding.js +0 -306
  103. package/example/node_modules/quantumcoin/src/utils/fixednumber.d.ts +0 -57
  104. package/example/node_modules/quantumcoin/src/utils/fixednumber.js +0 -366
  105. package/example/node_modules/quantumcoin/src/utils/hashing.d.ts +0 -76
  106. package/example/node_modules/quantumcoin/src/utils/hashing.js +0 -298
  107. package/example/node_modules/quantumcoin/src/utils/index.d.ts +0 -63
  108. package/example/node_modules/quantumcoin/src/utils/index.js +0 -14
  109. package/example/node_modules/quantumcoin/src/utils/result.d.ts +0 -57
  110. package/example/node_modules/quantumcoin/src/utils/result.js +0 -128
  111. package/example/node_modules/quantumcoin/src/utils/rlp.d.ts +0 -12
  112. package/example/node_modules/quantumcoin/src/utils/rlp.js +0 -215
  113. package/example/node_modules/quantumcoin/src/utils/units.d.ts +0 -29
  114. package/example/node_modules/quantumcoin/src/utils/units.js +0 -107
  115. package/example/node_modules/quantumcoin/src/wallet/index.d.ts +0 -10
  116. package/example/node_modules/quantumcoin/src/wallet/index.js +0 -8
  117. package/example/node_modules/quantumcoin/src/wallet/wallet.d.ts +0 -192
  118. package/example/node_modules/quantumcoin/src/wallet/wallet.js +0 -713
  119. package/example/node_modules/quantumcoin/test/e2e/all-solidity-types.dynamic.test.js +0 -207
  120. package/example/node_modules/quantumcoin/test/e2e/all-solidity-types.dynamic.test.ts +0 -191
  121. package/example/node_modules/quantumcoin/test/e2e/all-solidity-types.fixtures.js +0 -231
  122. package/example/node_modules/quantumcoin/test/e2e/all-solidity-types.generated-sdks.e2e.test.js +0 -387
  123. package/example/node_modules/quantumcoin/test/e2e/all-solidity-types.generated-sdks.e2e.test.ts +0 -350
  124. package/example/node_modules/quantumcoin/test/e2e/generator-interface.e2e.test.js +0 -165
  125. package/example/node_modules/quantumcoin/test/e2e/generator-interface.e2e.test.ts +0 -160
  126. package/example/node_modules/quantumcoin/test/e2e/helpers.js +0 -59
  127. package/example/node_modules/quantumcoin/test/e2e/signing-context-and-fee.e2e.test.js +0 -141
  128. package/example/node_modules/quantumcoin/test/e2e/signing-context-and-fee.e2e.test.ts +0 -128
  129. package/example/node_modules/quantumcoin/test/e2e/simple-erc20.generated-sdks.e2e.test.js +0 -168
  130. package/example/node_modules/quantumcoin/test/e2e/simple-erc20.generated-sdks.e2e.test.ts +0 -141
  131. package/example/node_modules/quantumcoin/test/e2e/transactional.test.js +0 -245
  132. package/example/node_modules/quantumcoin/test/e2e/transactional.test.ts +0 -208
  133. package/example/node_modules/quantumcoin/test/e2e/typed-generator.e2e.test.js +0 -407
  134. package/example/node_modules/quantumcoin/test/e2e/typed-generator.e2e.test.ts +0 -337
  135. package/example/node_modules/quantumcoin/test/fixtures/ConstructorParam.sol +0 -23
  136. package/example/node_modules/quantumcoin/test/fixtures/MultiContracts.sol +0 -37
  137. package/example/node_modules/quantumcoin/test/fixtures/SimpleStorage.sol +0 -18
  138. package/example/node_modules/quantumcoin/test/fixtures/StakingContract.abi.json +0 -1
  139. package/example/node_modules/quantumcoin/test/integration/ipc-provider.test.js +0 -49
  140. package/example/node_modules/quantumcoin/test/integration/ipc-provider.test.ts +0 -44
  141. package/example/node_modules/quantumcoin/test/integration/provider.test.js +0 -88
  142. package/example/node_modules/quantumcoin/test/integration/provider.test.ts +0 -85
  143. package/example/node_modules/quantumcoin/test/integration/ws-provider.test.js +0 -41
  144. package/example/node_modules/quantumcoin/test/integration/ws-provider.test.ts +0 -38
  145. package/example/node_modules/quantumcoin/test/security/abi-decoder-bounds.test.js +0 -122
  146. package/example/node_modules/quantumcoin/test/security/contract-overrides.test.js +0 -112
  147. package/example/node_modules/quantumcoin/test/security/generator-injection.test.js +0 -195
  148. package/example/node_modules/quantumcoin/test/security/malformed-input.test.js +0 -330
  149. package/example/node_modules/quantumcoin/test/security/malformed-input.test.ts +0 -35
  150. package/example/node_modules/quantumcoin/test/security/rpc-numeric-bounds.test.js +0 -81
  151. package/example/node_modules/quantumcoin/test/security/rpc-trust.test.js +0 -202
  152. package/example/node_modules/quantumcoin/test/unit/_encrypted-output.txt +0 -6
  153. package/example/node_modules/quantumcoin/test/unit/_log-encrypted-jsons.js +0 -45
  154. package/example/node_modules/quantumcoin/test/unit/_write-keystore-fixture.js +0 -16
  155. package/example/node_modules/quantumcoin/test/unit/abi-interface.test.js +0 -110
  156. package/example/node_modules/quantumcoin/test/unit/abi-interface.test.ts +0 -109
  157. package/example/node_modules/quantumcoin/test/unit/address-wallet.test.js +0 -923
  158. package/example/node_modules/quantumcoin/test/unit/address-wallet.test.ts +0 -877
  159. package/example/node_modules/quantumcoin/test/unit/browser-provider.test.js +0 -85
  160. package/example/node_modules/quantumcoin/test/unit/browser-provider.test.ts +0 -79
  161. package/example/node_modules/quantumcoin/test/unit/contract.test.js +0 -85
  162. package/example/node_modules/quantumcoin/test/unit/contract.test.ts +0 -83
  163. package/example/node_modules/quantumcoin/test/unit/encoding-units-rlp.test.js +0 -127
  164. package/example/node_modules/quantumcoin/test/unit/encoding-units-rlp.test.ts +0 -91
  165. package/example/node_modules/quantumcoin/test/unit/errors.test.js +0 -77
  166. package/example/node_modules/quantumcoin/test/unit/errors.test.ts +0 -76
  167. package/example/node_modules/quantumcoin/test/unit/filter-by-blockhash.test.js +0 -55
  168. package/example/node_modules/quantumcoin/test/unit/filter-by-blockhash.test.ts +0 -54
  169. package/example/node_modules/quantumcoin/test/unit/fixednumber.test.js +0 -656
  170. package/example/node_modules/quantumcoin/test/unit/fixednumber.test.ts +0 -660
  171. package/example/node_modules/quantumcoin/test/unit/fixtures/encrypted-keystores-48-32-36.js +0 -9
  172. package/example/node_modules/quantumcoin/test/unit/generate-contract-cli.test.js +0 -42
  173. package/example/node_modules/quantumcoin/test/unit/generate-contract-cli.test.ts +0 -41
  174. package/example/node_modules/quantumcoin/test/unit/generate-sdk-artifacts-json.test.js +0 -113
  175. package/example/node_modules/quantumcoin/test/unit/generate-sdk-artifacts-json.test.ts +0 -110
  176. package/example/node_modules/quantumcoin/test/unit/generator.test.js +0 -149
  177. package/example/node_modules/quantumcoin/test/unit/generator.test.ts +0 -148
  178. package/example/node_modules/quantumcoin/test/unit/hashing.test.js +0 -64
  179. package/example/node_modules/quantumcoin/test/unit/hashing.test.ts +0 -63
  180. package/example/node_modules/quantumcoin/test/unit/init.test.js +0 -39
  181. package/example/node_modules/quantumcoin/test/unit/init.test.ts +0 -38
  182. package/example/node_modules/quantumcoin/test/unit/interface.test.js +0 -56
  183. package/example/node_modules/quantumcoin/test/unit/interface.test.ts +0 -54
  184. package/example/node_modules/quantumcoin/test/unit/internal-hex.test.js +0 -81
  185. package/example/node_modules/quantumcoin/test/unit/internal-hex.test.ts +0 -80
  186. package/example/node_modules/quantumcoin/test/unit/populate-transaction.test.js +0 -98
  187. package/example/node_modules/quantumcoin/test/unit/populate-transaction.test.ts +0 -64
  188. package/example/node_modules/quantumcoin/test/unit/providers.test.js +0 -252
  189. package/example/node_modules/quantumcoin/test/unit/providers.test.ts +0 -251
  190. package/example/node_modules/quantumcoin/test/unit/result.test.js +0 -80
  191. package/example/node_modules/quantumcoin/test/unit/result.test.ts +0 -79
  192. package/example/node_modules/quantumcoin/test/unit/solidity-types.test.js +0 -49
  193. package/example/node_modules/quantumcoin/test/unit/solidity-types.test.ts +0 -39
  194. package/example/node_modules/quantumcoin/test/unit/utils.test.js +0 -57
  195. package/example/node_modules/quantumcoin/test/unit/utils.test.ts +0 -56
  196. package/example/node_modules/quantumcoin/test/verbose-logger.js +0 -74
  197. package/example/node_modules/quantumcoin/tsconfig.build.json +0 -14
  198. package/example/node_modules/seed-words/.github/workflows/publish-npmjs.yaml +0 -22
  199. package/example/node_modules/seed-words/BUILD.md +0 -7
  200. package/example/node_modules/seed-words/LICENSE +0 -121
  201. package/example/node_modules/seed-words/README.md +0 -67
  202. package/example/node_modules/seed-words/dist/seedwords.d.ts +0 -39
  203. package/example/node_modules/seed-words/package.json +0 -27
  204. package/example/node_modules/seed-words/seedwords.js +0 -315
  205. package/example/node_modules/seed-words/seedwords.txt +0 -65536
  206. package/example/node_modules/seed-words/tsconfig.json +0 -21
  207. package/example/package-lock.json +0 -60
  208. package/example/package.json +0 -15
  209. package/scripts/build-browser-tests.js +0 -29
  210. package/scripts/build-wasm.js +0 -85
  211. package/tests/browser/bundle.js +0 -97643
  212. package/tests/browser/entry.js +0 -57
  213. package/tests/browser/harness.html +0 -20
  214. package/tests/browser/run-browser.js +0 -50
  215. package/tests/encrypted-32.json +0 -1
  216. package/tests/encrypted-36.json +0 -1
  217. package/tests/encrypted-48.json +0 -1
  218. package/tests/generate-verify-vectors.js +0 -88
  219. package/tests/get-gas-price.test.js +0 -59
  220. package/tests/hashing.test.js +0 -34
  221. package/tests/non-transactional.preinit.test.js +0 -33
  222. package/tests/non-transactional.test.js +0 -1318
  223. package/tests/sign-raw-keytype5-context-null.test.js +0 -105
  224. package/tests/sign-raw-transaction.test.js +0 -194
  225. package/tests/sign-verify.test.js +0 -308
  226. package/tests/specs/assert.js +0 -74
  227. package/tests/specs/crypto.spec.js +0 -104
  228. package/tests/specs/hex.js +0 -31
  229. package/tests/specs/preinit.spec.js +0 -19
  230. package/tests/specs/sign.spec.js +0 -90
  231. package/tests/specs/wallet.spec.js +0 -98
  232. package/tests/transactional.rpc.test.js +0 -102
  233. package/tests/verify-vectors.json +0 -95035
@@ -1,34 +0,0 @@
1
- const qcsdk = require('quantum-coin-js-sdk');
2
-
3
-
4
- var clientConfigVal = new qcsdk.Config(123123); //Mainnet
5
-
6
- //Initialize the SDK
7
- qcsdk.initialize(clientConfigVal).then((initResult) => {
8
- if (initResult === false) {
9
- console.error("Initialize failed");
10
- return;
11
- }
12
- let examplePassphrase = "QuantumCoinExample123!";
13
-
14
- //Open example wallet created using external wallet application such as Desktop/Web/CLI/Mobile wallet
15
- const walletEncryptedJson = "{\"address\":\"45dc00282f80628911a15775cd821a3747d2c62e14e54d1339f057c9e921be71\",\"crypto\":{\"cipher\":\"aes-256-ctr\",\"ciphertext\":\"a831e40b8e99a534df5b6dee638742f5d5ebddf07d0aa5603ff4c32d62de8442d1252f84c6777d12d14ca3be80538d5e69cc70e75363730427194cda709dee33da97452fcd4284898afebac2d5b298b10be30a89416afa66edfa46b3a396b880f030d5f2c64a7fcfd458ee8705f160cc98335cf7a7849908e33cd5af88a989c092c5453315436b0d3dd18f9357f68b37c95f30b5e3c6b1a29c39dd1c32af13c39398c137fa45334fd46b0601046818afa0710e38fb780fa47d8cf8392ce43461ef730fc8464fd4c39b75c27017e8a4344855edd16b7ac2e3a4c6a87a077314ada08def8ebde528c40e3d8b32f3ef9f9c8708020d86e99e89b3e5500aa6d9e628a2cc8b1dd17b0bbdd445f69c443b09433c3b8b94a6b1fd7e8af1b88cef8e6078dd010422e85ad3bd2d2e0344c7517f9530073c5f225c602eb61a138e13f79bf12c05bb01c61a2b13aed3d05d601ee42fa04af0ee6b2b37856b67e45348407ce43520e18e5bc639a9bfd0df9fedb8f91858bd3c220a78fc4aeeeaa8d7b3aa420964549b746fcb5b53177089b2ec59658c99b77e1b1e303233c041271a50c6e831379fd168f943563638341cca44ba63b3fe2fdd254386a4c325a881f3fb96f118169a56fed4b002f48bbfdfda728c50cff6529754359f29d44a66762f3a0ea39840a733852faa4a7be1ed6d8afc8291493cbdb55b17b4ef63dbe0f7bfb97c82986974f51a5da2b8dcdcf7f126f08389360164cd666f13ec64b9a63609c56fd154b6322f51d0b1d448dafe7806b59d00ce2fbbf34e6281f8c446012f124a4ea52955ff995dd642b1650cb4cdd9806038d2e3f3c0432a5a35307eae4ffdc49a8b9b83172804767ff8f082c8aa9e12315536ca6cb3b98cd80e438477ff5e53c9184db543fb6f3df0a7017bd9e513e83b707dd6917efd6990e609fd57abc1285e3e72899a1a6f0943539ea8e992050b681437a80b970f6e8d2bcdfa635acc270d7dec1b80bdb373dce18adb924b4ccf1ea61796a10f69eadb9da3ceea7e636e84fa0972e0cfea5237d19f488d31a0280e8a59f59dc44f825fd3bc41b92f1289042f45e892cab5a60a3036d594791143c737f2082cfcecf88f3a34d6cf6e50719c310e92e8e0fadbdce07f992006d5fc5869452ab572f6e4e864d5d72bde42d6ae26a909fa9a3964bc688052451e65a3612ef3e25392edd7388ebdeb3ee51d63ea3951a8ee653e7389d3a20cd7da5292fadad41e2decc398a9318d09d2b0c589c193f9411212e6eb76480adf62f6345e6b7ad980866cfe4921468618d3e29614450052be793c006e784f3180c97058aedd751a7db1b1d676285e7793acdc02642fbe45803ed837f6f518b63bf363ff2b73ac8215b5db7cebff2197467f5f89de7080cd83779ac94d0732deec47bd9473bdf5c45428e961d057c642336257390daa2784f82289941015e7ac2ff399710d4a123e30f9867a62c6ed1f07bfa5059487b558e9aeda68a6171b55c03f85c00fad075f57b344a84b0c098f922b89ed572e578e3d2951eeaa051d5f26339776f51f390af1f5fc62e6ea42fae34da1676d0410a96b7e1d3c88f37c753dcf6a19512c7f619aa0beb27b318c128f5728232b0fc86e4eb9dabca731ffbe8b09a93d82aa95010ef621ed33a319984d3e12b9e856d81f46602c7fe13d24716362ebfc70b43eb46495db78d2dbf509413a0162179023d22a4584f1421622e1151de4e4c80f12114b22d3d06f434a2f85cc5606cdad1d6fa3044a3dd6175049d137eb1a5d764715f1289dda9a8f55fd856275a3650ce7d67e20d025ef1c1c9c2a1f17613b41e4917edab30d31ae7d8c4351e9c8bb83726998e9cffc82f92d7ba1b1fd104d4f013a0496daf75ce2b50d21c4eb20c5d295832f3bd6501f6f1f491783aa476664e058cb2b4d22411bc5ecca5ec53b763f70e9223d9915c83b35e79aa86417b3505c8b952265c6a48ab266fade009c1faacce9d9a89516223593e5f1d5039f82ca0a043eceb78f5ea20d180b22d3f11a7ca5ae0792b5dc9685ba46fc87326eb468295f0890cf9338b69dabd5f826046e216bb7306333120bb36aa902f54dd28cbeb8580f3483cf69f8f9fdb3c7ff936f055f9323fa02db8237db7b2d6d26e137fc5fa728c387dbca015f34228915088a95fdfc09a5d2c42ea8189a1dff888ea53f52541232689ba396d96bffb13bab2d65f94a422ea762b6446d5a8e4e2f0c5b2398fcabba825e532a4bae96b45c2a88ca138ae9118653f71d1d9c7819755febcf15b203e1402522b2762985fdbd70dfc37cd0b6943d50cbbaf42f01b442e6f4445f986c09bc55835bb6a03431d1bfa1916db455c822972ff9fba37b2d4477cbf2138325949c4a15d1e0457b51cb06d35c9bf3478c79256989c36d9ec35b3d7f67eb23e476250f9424835be56ef00406c395d60c608100258b97cd51f853960c44ca48e2ea2696793e825db9e9a52ea840c8dd252273eec1212482738be81301acd8c79e5fd54b218c4e27b139c6e8eb5729b01326273a70f64785878dd3f0b10462bf11b152229dd5b1ef9d5cc7bffc44a85384163de88bb421a2999e0f01cec8b74c8dce0b0a40fd0409c26a9c967940592e61936a70f7c8be7d95d45b9a003b5dc1d33121cb7901afec1c8d98103e29d64a370ac6344600ceb067b921067ce2760a5a7e07c9396606458eb3f404713a8bb8d12211b64fd98bf9a88031cf9bbccab00a9f6a7b5c7033dfa90ff1aee6d95a9af74926ea83332523bbf4df7c4cd8769e0a56e50205b529bbafb37438c8ce05ed02e8dbcb6a60f03a0142e701ab2d2520e159ac2c5ce1a2d0f342bc837f60c7ca912241a55d8ed174f9b714950cc7d3eddd06d23f31d6fc46eb2bc248cfcac8fbb7a0d8bc6f972c9bd9f5ef29942bac1b117675c33664b50fcc6f049528b76dc2fffa766fca42c2968ff6960e33efd2984db268412543c07682f0ddb9bd59ce111820d6f1bd1a76063b0c60479b19b8a49631a722747c6d20133a77f7072330c134d006352e44443230c7eddfc9fd645a50b3e3ee780ef7097198d7c87ad9969d4afe414314b57f248e4237dc164e084be7534f2c3c55f5110fe7d202a5737f067b7a282f8090cfcdd2d34f64aee499c075e50f480272e3d981b3c0e553b8bd04279dcd0097cc035d8016f4e4d40d3b5526b617533e1f1db0d90b4071bd4e2ada7b6ad172beff1edda9c8c750f77895880a0cea9c5b35f70cc32d9b83d088ae66662182c0f41db5c3faaacd7773846d7cee72d3748533ec9983964749f1f5694218d357ecab2d330206dfc11dfaa5c29a6441890faf607d73f33732c07097da08d84231eed7346e706d24bc695df684c6670cc5b10662638f7c01534833f8b6fc6eab95f3841cea2069b7a25d97c390b58d04519a62bc93c56803ee773ba80309917202ddf8fe9cb128869a42e206126c282c4e896e74981db12f4d0f2bddec9a674b75c86e8cbd18d29ddca4dadc11141d066ebe424ace546ec974a6ec8b7ee352fcdc96a88a65c90166cd9c8b5b03640614632aa3eb0d1516b40128b065c3e377ceac6a5be1217351da75534c9d651d80551b3150732389e35025d0769bbb3d9885e83450eb262ed091bcd181979ecfc56d2301b3d3c7941e52a55f7e3460e1056612010cd286aa193a5dbe015b22bca180f239c36eeacbb6f6d5884f469163260fdf015203a8523059d8da4b869be00cb938d318a8215b212dd0bd6a7bd6e336bca3c67ba74872eb19c450982796d794b013f27e3cf889a928fcd94caff8692a29266befe74420edd2117bf947d4730dda838640128bdb17869eab8dfa228d4c4bb5ff5b00a57c6c8d1123487039338e3f342cf273e0e4995e95ff4c8e2a23974bf16c20f5443c21eb9aadf69aaacefddeacb2844f9a5f354cad0a94af5be824e9a2ec4c03828fdab7415d9be05372e8c515c0cd5fcd44e69f1b380df484c860539773ce68b402a6585fcd826a92ce05162cf7f17ca02d7fdd80b9cfa8bb3a37cf62ff6f3ecbe03c186075a5dbce6e36fe46ed9059fa60e347c978f0f3b71bc9d05e4a4e1ce6b48e0593a1acdf9899f4d709e005b972411349fda2c544396eb73c10d89c6db2b5a7506a34d7f5b66b3ff37e8088f2dcd9c2dd76b21818674f8ceb8bbda6c38b58dd5f5de09c8a25949e28aa04a8ccba10275c032309e9b61de148f8495640cfbf3d46e342c3859bfb5e6ab10b4df4a39bc20a2eb48fbaee4c01f5661b4129b15414842eaa46154c77df5484fab490185cfa83f21ec5b72abfa507b6b998654aec4b1031ac1dfc919022423d6020fa1a702fd65f98e0b6f64210f7d2d326de960a51c7c5b357c42073fac112a393c7f40a0f368600ba00010530aa782460098f559f42b37d3510afb425a249c0c17cf0380c40793b068d565fcc2fd70df74dc2b8cbda4849164c30631554517f0ba2c9e94977959012bc7f371b5c375214a5ed4f2d3920746cb5a01c0356c187bb186a7d5ae7bd57e13befa101813dce482b49ad0d41fbe5bc542cf55445136db1f8442003e48a75bb6637be93626178bed28402c91610d067d94d06136b337d4ada511376a84fb6bde4215828359058cb2f5b1d0281ff93743d43b8881d4f7591800166621141cca2b122f1ed63baaca752f7de0cf6d2e92dc6caa2a43df580d8b472400065aeeffc71d5a7a5f52f02d26a26225c53591a60e29a8ae7e9cd0d3f9f8ab8bb5176ae1fd4e881db04f8239b282123147036019a560fb450baf8fc3dbaa7989c04e8e8f674acdadf59048f7fcc5efd8ac3577e9204837dd6bec8c72c52d019e9172825ff27bc9cef950d729a02c26e00167872c53a2c303cb260035a5184519cdb9dc0ae32b1b3d0375b248fe4c5b98a37368cf0d548c48904d87d4f3ff4e9a989b3f28a5747cfd5f7a67d3b8dc30bdf709bfa56075d28e375d24c7409ff442913c1209f1587f8e252a35c6bfdcf581d7fb1bd693329eafd872078de4c1b31a7d5d5f3466adf41b0ee17c9aba8b88bbba6a868ddddfed5085947da0859d16641abc2e869e7a120c807d1a2092ed79f43f287dfdffc044cd3c246f87dc12727dc8b6151ea19f1d919ebd23ba46e5ae7fcc7cfd7a746db70dd0adeef889e5ae74941fbe7f97021fc95e8423ba91b735d8e9587f5ad515d595600abc96c08d796e640def566e990d9f4c6a5e7270f949284221c81df4e57a9c129a45d508820938365093d6dd672f4d4418c7bff35ca1603aa068beeee04060251722f04718303e1fd4c5bc64ef07b13408516ec92581d2de93a93693148ba416615fe1f1b64d5bd8975777337242e0ea9f7586599fdba8dd87c81a4c6bf4eab14d6ebac32cb3310cbbe5cf23620973b4ed7e688bec9e2d5569594c2377ba60f998750dd828bc704aeda55f5608ea12649e91a3733cb9b4a34d9886ea6b4a8d2cfbd883b9997ef1042f8d40b4cd870698585bb409cd5c21365d38e3c95dcd91244a62d766ba728aa822390c2def2166c46f45c275790f2a6dd11f906312214c120bf27efda0afd4cd8d6482d16a4ab72d2e69a49cb3e1b4ebb9025d81479fd2ccb4f66eee4248657c3f8dca13aa7201824bff06c543e0200c4cdff612ab0bb29b89fdb82c3a7abb14edd78f6e224c61c4d3d3b1c1c7038aa54afb4d32c3039d58e057185906c89887cc101b577c97b363d7c587c652a358c4025f690be410171b2c76723433da12a9163a4420f13aa\",\"cipherparams\":{\"iv\":\"664b1a53b2ecf34d3305397defd89b38\"},\"kdf\":\"scrypt\",\"kdfparams\":{\"dklen\":48,\"n\":262144,\"p\":1,\"r\":8,\"salt\":\"d48fb344fbec36d5a3787e4271561bdc61a6c100e20641521fceba2af6bc0668\"},\"mac\":\"ba8bebc33fe945df3340b9e761c199304655ac1c24dbef92b69cc5e6a84fb649\"},\"id\":\"a4d92ffd-9dc9-41ab-9eaa-04ef14b8a4bc\",\"version\":4}";
16
- let walletExample = qcsdk.deserializeEncryptedWallet(walletEncryptedJson, examplePassphrase);
17
- if (walletExample === null) {
18
- console.log("Error opening wallet");
19
- } else {
20
- console.log("signSendCoinTransaction from wallet address: " + walletExample.address);
21
- }
22
-
23
-
24
- var toAddressExample = "0x8293cd9b6ac502d2fe077b0c157dad39f36a5e546525b053151dced633634612";
25
- var nonceExample = 0; //use the latest nonce for the address as shown in Block Explorer. If address does not exist, default to 0.
26
- var coinsExample = "10"; //in ethers and not in wei
27
-
28
- //Sign a transaction
29
- qcsdk.signSendCoinTransaction(walletExample, toAddressExample, coinsExample, nonceExample).then((signResult) => {
30
- console.log("signSendCoinTransaction resultCode: " + signResult.resultCode);
31
- console.log("signSendCoinTransaction hash: " + signResult.txnHash);
32
- });
33
-
34
- });
@@ -1,39 +0,0 @@
1
- const qcsdk = require('quantum-coin-js-sdk');
2
-
3
- //var clientConfigVal = new qcsdk.Config(123123); //Mainnet
4
-
5
-
6
- //Initialize the client configuration
7
- //var clientConfigVal = new qcsdk.Config(310324); //Testnet T4
8
- //Testnet T4 Block Explorer: https://t4.scan.quantumcoin.org
9
-
10
- //For mainnet, use the following configuration
11
- //var clientConfigVal = new qcsdk.Config(123123); //Mainnet
12
- //Mainnet Block Explorer: https://scan.quantumcoin.org
13
-
14
-
15
- //Initialize the SDK
16
- qcsdk.initialize(undefined).then((initResult) => {
17
- if (initResult === false) {
18
- console.error("Initialize failed");
19
- return;
20
- }
21
-
22
- let examplePassphrase = "helloworld123";
23
-
24
- //Save to an encrypted wallet that can then be restored into an external wallet application such as Desktop/Web/CLI/Mobile wallet
25
- let walletObj2 = qcsdk.newWallet();
26
- let walletEncryptedJson2 = qcsdk.serializeEncryptedWallet(walletObj2, examplePassphrase);
27
- if (walletEncryptedJson2 === null) {
28
- throw new Error("serializeEncryptedWallet failed");
29
- }
30
- let walletEncryptedJson3 = qcsdk.serializeEncryptedWallet(walletObj2, examplePassphrase);
31
- if (walletEncryptedJson3 === null) {
32
- throw new Error("serializeEncryptedWallet failed");
33
- }
34
- console.log("Serialized wallet A: " + walletEncryptedJson2); //just an example for demonstration, do not actually log to console
35
- console.log("Serialized wallet B: " + walletEncryptedJson3); //just an example for demonstration, do not actually log to console
36
-
37
-
38
- });
39
-
@@ -1,115 +0,0 @@
1
- const qcsdk = require('quantum-coin-js-sdk');
2
- const { formatEther, parseEther } = require('quantumcoin');
3
-
4
- var clientConfigVal = new qcsdk.Config(123123); //Mainnet
5
-
6
- //Initialize the client configuration
7
- //var clientConfigVal = new qcsdk.Config(310324); //Testnet T4
8
- //Testnet T4 Block Explorer: https://t4.scan.quantumcoin.org
9
-
10
- //For mainnet, use the following configuration
11
- //var clientConfigVal = new qcsdk.Config(123123); //Mainnet
12
- //Mainnet Block Explorer: https://scan.quantumcoin.org
13
-
14
-
15
- //Conversion examples
16
- let hexValue = "0x56BC75E2D63100000";
17
- let weiValueExample = BigInt(hexValue).toString(); //convert hex to wei
18
- console.log("hex to wei example: hex:" + hexValue + ", wei: " + weiValueExample);
19
-
20
- let ethValueExample = formatEther(weiValueExample); //convert wei to eth
21
- console.log("wei to eth example: wei:" + weiValueExample + ", eth (coins): " + ethValueExample);
22
-
23
- let weiValueExample2 = parseEther(ethValueExample); //convert eth to wei
24
- console.log("eth to wei example: eth (coins):" + ethValueExample + ", wei: " + weiValueExample2);
25
-
26
- //Initialize the SDK
27
- qcsdk.initialize(clientConfigVal).then((initResult) => {
28
- if (initResult === false) {
29
- console.error("Initialize failed");
30
- return;
31
- }
32
- console.log("Initialize succeeded");
33
-
34
- console.log("isAddressValid (expected true)" + qcsdk.isAddressValid("0x6f605c4142f1cb037f967101a5b28ccd00b27cce4516190356baaf284d20e667")); //should print true
35
- console.log("isAddressValid (expected true)" + qcsdk.isAddressValid("0X6F605C4142F1CB037F967101A5B28CCD00B27CCE4516190356BAAF284D20E667")); //should print true
36
-
37
- //Create a new wallet
38
- var wallet1 = qcsdk.newWallet();
39
- if (wallet1 === null) {
40
- console.log("creating a new wallet failed");
41
- return;
42
- }
43
- console.log("New wallet address is: " + wallet1.address);
44
-
45
- //Serialize wallet to a string (You should encrypt the string before saving it to disk or a database.)
46
- var walletJson = qcsdk.serializeWallet(wallet1);
47
- if (walletJson === null) {
48
- console.log("serializeWallet failed");
49
- return;
50
- }
51
-
52
- //Deserialzie a wallet from the serialized wallet
53
- var wallet2 = qcsdk.deserializeWallet(walletJson);
54
- console.log("Deserialized wallet address is: " + wallet2.address);
55
-
56
- //Validate that a wallet address is correct
57
- console.log("isAddressValid (expected true)" + qcsdk.isAddressValid(wallet1.address)); //should print true
58
- console.log("isAddressValid (expected false)" + qcsdk.isAddressValid("asfasdfasdfs")); //should print false
59
-
60
- //Retrieve address from public key
61
- let addressTemp = qcsdk.addressFromPublicKey(wallet2.publicKey);
62
- console.log("addressFromPublicKey: " + addressTemp);
63
- if (addressTemp !== wallet2.address) {
64
- throw new Error("addressFromPublicKey doesn't match: " + addressTemp + " " + wallet2.publicKey);
65
- }
66
-
67
- //Offline sign a transaction from an existing wallet. This is typically called from an offline device hosting a cold storage wallet.
68
- //The resulting txnData can later be broadcast to the blockchain from a connected device (for example, via a relay or RPC endpoint).
69
- var toAddressExample = "0x8293cd9b6ac502d2fe077b0c157dad39f36a5e546525b053151dced633634612";
70
- var nonceExample = 0; //use the latest nonce for the address. If address does not exist, default to 0.
71
- var coinsExample = "10"; //in ethers and not in wei
72
-
73
- qcsdk.signSendCoinTransaction(wallet2, toAddressExample, coinsExample, nonceExample).then((signResult) => {
74
- console.log("signSendCoinTransaction resultCode: " + signResult.resultCode);
75
- console.log("signSendCoinTransaction hash: " + signResult.txnHash);
76
- console.log("signSendCoinTransaction txnData: " + signResult.txnData); //txnData can later be broadcast from a connected device
77
- });
78
-
79
- //Create a new seed word list
80
- let seedWords = qcsdk.newWalletSeedWords();
81
- if (seedWords === null) {
82
- console.error("newWalletSeedWords failed");
83
- return;
84
- }
85
- console.log("SeedWords: " + seedWords);
86
-
87
- //Open a wallet from seed words
88
- let seedWallet = qcsdk.openWalletFromSeedWords(seedWords);
89
- if (seedWallet === null) {
90
- console.error("openWalletFromSeedWords failed");
91
- return;
92
- }
93
- console.log("seedWallet address: " + seedWallet.address);
94
-
95
- //Open a wallet from seed words static
96
- let seedWordList = "servetize,redmation,suaveton,dreadtolk,rondial,pondicle,miscoil,teaguery,dylodecid,portnel,mantical,slapware,sluthike,tactise,crierial,tajluvki,pranicum,sockcup,stacksong,duerling,genogram,peasate,pulubly,skimpop,feldtail,saprostal,crabrock,radiment,dolocsin,strigemen,juryeuk,fextial,merunized,tangienti,stylocyte,plumvieve,bobstike,nosecrown,acudemy,gripstick,lacreous,marculade,sporculum,outslope,bioburden,trompong,sidelay,finchage";
97
- let seedWordArray = seedWordList.split(",");
98
- let seedWallet2 = qcsdk.openWalletFromSeedWords(seedWordArray);
99
- if (seedWallet2 === null) {
100
- console.error("openWalletFromSeedWords failed");
101
- return;
102
- }
103
- if (seedWallet2.address !== "0xc7C24aE0Db614F1638C5161e823A539a0293238366d4EaF29A63316D631e964F") {
104
- console.error("seedWallet2 check failed");
105
- return;
106
- }
107
- console.log("seedWallet2 address: " + seedWallet2.address);
108
-
109
- //Sign a transaction from a wallet created from seed words
110
- qcsdk.signSendCoinTransaction(seedWallet, toAddressExample, coinsExample, nonceExample).then((signResult) => {
111
- console.log("signSendCoinTransaction seedWallet resultCode: " + signResult.resultCode);
112
- console.log("signSendCoinTransaction seedWallet hash: " + signResult.txnHash);
113
- console.log("signSendCoinTransaction seedWallet txnData: " + signResult.txnData); //txnData can later be broadcast from a connected device
114
- });
115
- });
@@ -1,16 +0,0 @@
1
- #!/bin/sh
2
- basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
-
4
- case `uname` in
5
- *CYGWIN*|*MINGW*|*MSYS*)
6
- if command -v cygpath > /dev/null 2>&1; then
7
- basedir=`cygpath -w "$basedir"`
8
- fi
9
- ;;
10
- esac
11
-
12
- if [ -x "$basedir/node" ]; then
13
- exec "$basedir/node" "$basedir/../quantumcoin/generate-sdk.js" "$@"
14
- else
15
- exec node "$basedir/../quantumcoin/generate-sdk.js" "$@"
16
- fi
@@ -1,17 +0,0 @@
1
- @ECHO off
2
- GOTO start
3
- :find_dp0
4
- SET dp0=%~dp0
5
- EXIT /b
6
- :start
7
- SETLOCAL
8
- CALL :find_dp0
9
-
10
- IF EXIST "%dp0%\node.exe" (
11
- SET "_prog=%dp0%\node.exe"
12
- ) ELSE (
13
- SET "_prog=node"
14
- SET PATHEXT=%PATHEXT:;.JS;=;%
15
- )
16
-
17
- endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\quantumcoin\generate-sdk.js" %*
@@ -1,28 +0,0 @@
1
- #!/usr/bin/env pwsh
2
- $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
3
-
4
- $exe=""
5
- if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
6
- # Fix case when both the Windows and Linux builds of Node
7
- # are installed in the same directory
8
- $exe=".exe"
9
- }
10
- $ret=0
11
- if (Test-Path "$basedir/node$exe") {
12
- # Support pipeline input
13
- if ($MyInvocation.ExpectingInput) {
14
- $input | & "$basedir/node$exe" "$basedir/../quantumcoin/generate-sdk.js" $args
15
- } else {
16
- & "$basedir/node$exe" "$basedir/../quantumcoin/generate-sdk.js" $args
17
- }
18
- $ret=$LASTEXITCODE
19
- } else {
20
- # Support pipeline input
21
- if ($MyInvocation.ExpectingInput) {
22
- $input | & "node$exe" "$basedir/../quantumcoin/generate-sdk.js" $args
23
- } else {
24
- & "node$exe" "$basedir/../quantumcoin/generate-sdk.js" $args
25
- }
26
- $ret=$LASTEXITCODE
27
- }
28
- exit $ret
@@ -1,51 +0,0 @@
1
- {
2
- "name": "qc-sdk-example",
3
- "version": "1.0.0",
4
- "lockfileVersion": 3,
5
- "requires": true,
6
- "packages": {
7
- "..": {
8
- "version": "2.0.1",
9
- "license": "MIT",
10
- "dependencies": {
11
- "seed-words": "1.0.3"
12
- },
13
- "devDependencies": {
14
- "@playwright/test": "^1.61.1",
15
- "esbuild": "^0.28.1"
16
- }
17
- },
18
- "node_modules/quantum-coin-js-sdk": {
19
- "resolved": "..",
20
- "link": true
21
- },
22
- "node_modules/quantumcoin": {
23
- "version": "7.0.14",
24
- "resolved": "https://registry.npmjs.org/quantumcoin/-/quantumcoin-7.0.14.tgz",
25
- "integrity": "sha512-yWqgIZcx51z3iAcK7kJJ400WeI1pzYbz3A6OasTvPfYYx9MhRTspfOlfeVtRZob1bky4f5san5+rD+76kTGncA==",
26
- "license": "MIT",
27
- "dependencies": {
28
- "quantum-coin-js-sdk": "1.0.36",
29
- "seed-words": "^1.0.2"
30
- },
31
- "bin": {
32
- "sdkgen": "generate-sdk.js"
33
- }
34
- },
35
- "node_modules/quantumcoin/node_modules/quantum-coin-js-sdk": {
36
- "version": "1.0.36",
37
- "resolved": "https://registry.npmjs.org/quantum-coin-js-sdk/-/quantum-coin-js-sdk-1.0.36.tgz",
38
- "integrity": "sha512-FfK+xPTrylc2rKbQzC6AXodlLWOtXerGHZ34de6d1XmvDKduO7Q2zeHrp3YDa4UgSB0Di8zzNV15LgXz7ll2Nw==",
39
- "license": "MIT",
40
- "dependencies": {
41
- "seed-words": "1.0.2"
42
- }
43
- },
44
- "node_modules/seed-words": {
45
- "version": "1.0.2",
46
- "resolved": "https://registry.npmjs.org/seed-words/-/seed-words-1.0.2.tgz",
47
- "integrity": "sha512-ia58deuPjcR8DpJ8uIgZ7gqDnIWD8vnjb4jX/sEsIDcuQaH/AJj9J8L3DXkUHfUGqAq9Y6pVMuG90t3XUJH90g==",
48
- "license": "MIT"
49
- }
50
- }
51
- }
@@ -1,22 +0,0 @@
1
- name: Publish Package to npmjs
2
- on:
3
- workflow_dispatch:
4
-
5
- jobs:
6
- build:
7
- runs-on: ubuntu-latest
8
- permissions:
9
- contents: read
10
- id-token: write
11
- steps:
12
- - uses: actions/checkout@v4
13
- # Setup .npmrc file to publish to npm
14
- - uses: actions/setup-node@v4
15
- with:
16
- node-version: '20.x'
17
- registry-url: 'https://registry.npmjs.org'
18
- - run: npm install
19
- - run: npm ci
20
- - run: npm publish --provenance --access public --otp=${{ secrets.OTP }}
21
- env:
22
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2026 QuantumCoin Community
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.