quantumcoin 7.0.11 → 7.0.13
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.
- package/README-SDK.md +828 -807
- package/README.md +17 -0
- package/config.d.ts +50 -50
- package/examples/example-generated-sdk-js/README.md +65 -0
- package/examples/example-generated-sdk-js/examples/_test-wallet.js +17 -0
- package/examples/example-generated-sdk-js/examples/deploy.js +41 -0
- package/examples/example-generated-sdk-js/examples/events.js +36 -0
- package/examples/example-generated-sdk-js/examples/read-operations.js +46 -0
- package/examples/example-generated-sdk-js/examples/write-operations.js +44 -0
- package/examples/example-generated-sdk-js/index.d.ts +1 -0
- package/examples/example-generated-sdk-js/index.js +15 -0
- package/examples/example-generated-sdk-js/package-lock.json +59 -0
- package/examples/example-generated-sdk-js/package.json +22 -0
- package/examples/example-generated-sdk-js/src/SimpleERC20.d.ts +19 -0
- package/examples/example-generated-sdk-js/src/SimpleERC20.js +353 -0
- package/examples/example-generated-sdk-js/src/SimpleERC20__factory.d.ts +10 -0
- package/examples/example-generated-sdk-js/src/SimpleERC20__factory.js +29 -0
- package/examples/example-generated-sdk-js/src/index.d.ts +4 -0
- package/examples/example-generated-sdk-js/src/index.js +5 -0
- package/examples/example-generated-sdk-js/src/quantumcoin-shims.d.ts +23 -0
- package/examples/example-generated-sdk-js/src/types.d.ts +3 -0
- package/examples/example-generated-sdk-js/src/types.js +3 -0
- package/examples/example-generated-sdk-js/test/e2e/SimpleERC20.e2e.test.js +78 -0
- package/examples/example-generated-sdk-ts/README.md +65 -0
- package/examples/example-generated-sdk-ts/examples/_test-wallet.js +17 -0
- package/examples/example-generated-sdk-ts/examples/deploy.js +41 -0
- package/examples/example-generated-sdk-ts/examples/events.js +36 -0
- package/examples/example-generated-sdk-ts/examples/read-operations.js +46 -0
- package/examples/example-generated-sdk-ts/examples/write-operations.js +44 -0
- package/examples/example-generated-sdk-ts/index.d.ts +1 -0
- package/examples/example-generated-sdk-ts/index.js +15 -0
- package/examples/example-generated-sdk-ts/package-lock.json +59 -0
- package/examples/example-generated-sdk-ts/package.json +23 -0
- package/examples/example-generated-sdk-ts/src/SimpleERC20.ts +334 -0
- package/examples/example-generated-sdk-ts/src/SimpleERC20__factory.ts +28 -0
- package/examples/example-generated-sdk-ts/src/index.ts +4 -0
- package/examples/example-generated-sdk-ts/src/quantumcoin-shims.d.ts +23 -0
- package/examples/example-generated-sdk-ts/src/types.ts +4 -0
- package/examples/example-generated-sdk-ts/test/e2e/SimpleERC20.e2e.test.js +78 -0
- package/examples/example-generated-sdk-ts/tsconfig.json +14 -0
- package/examples/package-lock.json +1 -1
- package/examples/sdk-generator-erc20.inline.json +251 -251
- package/generate-sdk.js +1825 -1823
- package/package.json +1 -1
- package/src/abi/fragments.d.ts +42 -42
- package/src/abi/index.d.ts +13 -13
- package/src/contract/index.d.ts +9 -9
- package/src/errors/index.d.ts +92 -92
- package/src/generator/index.d.ts +11 -4
- package/src/generator/index.js +33 -5
- package/src/internal/hex.d.ts +68 -61
- package/src/internal/hex.js +36 -0
- package/src/providers/json-rpc-provider.d.ts +12 -12
- package/src/providers/provider.js +3 -3
- package/src/utils/address.d.ts +58 -58
- package/src/utils/encoding.d.ts +120 -120
- package/src/utils/hashing.js +298 -298
- package/src/utils/index.d.ts +63 -63
- package/src/utils/index.js +14 -14
- package/src/utils/result.d.ts +57 -57
- package/src/utils/rlp.d.ts +12 -12
- package/src/utils/units.d.ts +29 -29
- package/src/wallet/index.d.ts +10 -10
- package/src/wallet/wallet.d.ts +192 -187
- package/src/wallet/wallet.js +630 -610
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/README.md +83 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/artifacts/AllSolidityTypes.abi.json +12544 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/artifacts/AllSolidityTypes.bin +1 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/_test-wallet.js +17 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/_test-wallet.ts +10 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/deploy.js +41 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/deploy.ts +41 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/events.js +36 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/events.ts +36 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/offline-signing.js +82 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/offline-signing.ts +80 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/read-operations.js +46 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/read-operations.ts +44 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/write-operations.js +44 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/write-operations.ts +44 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/index.d.ts +1 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/index.js +21 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/package-lock.json +597 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/package.json +25 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/src/AllSolidityTypes.d.ts +1280 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/src/AllSolidityTypes.js +14021 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/src/AllSolidityTypes__factory.d.ts +11 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/src/AllSolidityTypes__factory.js +29 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/src/index.d.ts +4 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/src/index.js +5 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/src/quantumcoin-shims.d.ts +25 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/src/types.d.ts +3 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/src/types.js +3 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/test/e2e/AllSolidityTypes.e2e.test.js +77 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/test/e2e/AllSolidityTypes.extra.test.js +195 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/README.md +83 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/artifacts/AllSolidityTypes.abi.json +12544 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/artifacts/AllSolidityTypes.bin +1 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/_test-wallet.js +17 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/_test-wallet.ts +10 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/deploy.js +41 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/deploy.ts +41 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/events.js +36 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/events.ts +36 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/offline-signing.js +82 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/offline-signing.ts +80 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/read-operations.js +46 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/read-operations.ts +44 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/write-operations.js +44 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/write-operations.ts +44 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/index.d.ts +1 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/index.js +21 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/package-lock.json +597 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/package.json +26 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/src/AllSolidityTypes.ts +13940 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/src/AllSolidityTypes__factory.ts +29 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/src/index.ts +4 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/src/quantumcoin-shims.d.ts +25 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/src/types.ts +4 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/test/e2e/AllSolidityTypes.e2e.test.js +77 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/test/e2e/AllSolidityTypes.extra.test.js +195 -0
- package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/tsconfig.json +18 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/README.md +74 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/artifacts/SimpleERC20.abi.json +245 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/artifacts/SimpleERC20.bin +1 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/_test-wallet.js +17 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/_test-wallet.ts +10 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/deploy.js +41 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/deploy.ts +41 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/events.js +36 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/events.ts +36 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/offline-signing.js +82 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/offline-signing.ts +80 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/read-operations.js +46 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/read-operations.ts +44 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/write-operations.js +44 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/write-operations.ts +44 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/index.d.ts +1 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/index.js +16 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/package-lock.json +597 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/package.json +25 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/src/SimpleERC20.d.ts +24 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/src/SimpleERC20.js +372 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/src/SimpleERC20__factory.d.ts +10 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/src/SimpleERC20__factory.js +29 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/src/index.d.ts +4 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/src/index.js +5 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/src/quantumcoin-shims.d.ts +25 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/src/types.d.ts +3 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/src/types.js +3 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/test/e2e/SimpleERC20.e2e.test.js +90 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/README.md +74 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/artifacts/SimpleERC20.abi.json +245 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/artifacts/SimpleERC20.bin +1 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/_test-wallet.js +17 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/_test-wallet.ts +10 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/deploy.js +41 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/deploy.ts +41 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/events.js +36 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/events.ts +36 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/offline-signing.js +82 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/offline-signing.ts +80 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/read-operations.js +46 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/read-operations.ts +44 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/write-operations.js +44 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/write-operations.ts +44 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/index.d.ts +1 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/index.js +16 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/package-lock.json +597 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/package.json +26 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/src/SimpleERC20.ts +355 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/src/SimpleERC20__factory.ts +28 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/src/index.ts +4 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/src/quantumcoin-shims.d.ts +25 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/src/types.ts +4 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/test/e2e/SimpleERC20.e2e.test.js +90 -0
- package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/tsconfig.json +18 -0
- package/test/e2e/generator-interface.e2e.test.js +163 -0
- package/test/e2e/generator-interface.e2e.test.ts +158 -0
- package/test/e2e/signing-context-and-fee.e2e.test.js +141 -141
- package/test/e2e/signing-context-and-fee.e2e.test.ts +128 -128
- package/test/integration/provider.test.js +88 -88
- package/test/unit/address-wallet.test.js +892 -751
- package/test/unit/address-wallet.test.ts +877 -736
- package/test/unit/generator.test.js +48 -1
- package/test/unit/generator.test.ts +48 -1
- package/test/unit/hashing.test.js +64 -64
- package/test/unit/hashing.test.ts +63 -63
- package/test/unit/internal-hex.test.js +32 -1
- package/test/unit/internal-hex.test.ts +32 -1
- package/test/unit/providers.test.js +51 -1
- package/test/unit/providers.test.ts +53 -0
- package/SPEC.md +0 -3784
- package/examples/node_modules/.bin/esbuild +0 -16
- package/examples/node_modules/.bin/esbuild.cmd +0 -17
- package/examples/node_modules/.bin/esbuild.ps1 +0 -28
- package/examples/node_modules/.bin/sdkgen +0 -16
- package/examples/node_modules/.bin/sdkgen.cmd +0 -17
- package/examples/node_modules/.bin/sdkgen.ps1 +0 -28
- package/examples/node_modules/.bin/tsx +0 -16
- package/examples/node_modules/.bin/tsx.cmd +0 -17
- package/examples/node_modules/.bin/tsx.ps1 +0 -28
- package/examples/node_modules/.package-lock.json +0 -235
- package/examples/node_modules/@esbuild/win32-x64/README.md +0 -3
- package/examples/node_modules/@esbuild/win32-x64/esbuild.exe +0 -0
- package/examples/node_modules/@esbuild/win32-x64/package.json +0 -20
- package/examples/node_modules/esbuild/LICENSE.md +0 -21
- package/examples/node_modules/esbuild/README.md +0 -3
- package/examples/node_modules/esbuild/bin/esbuild +0 -223
- package/examples/node_modules/esbuild/install.js +0 -289
- package/examples/node_modules/esbuild/lib/main.d.ts +0 -716
- package/examples/node_modules/esbuild/lib/main.js +0 -2532
- package/examples/node_modules/esbuild/package.json +0 -49
- package/examples/node_modules/get-tsconfig/LICENSE +0 -21
- package/examples/node_modules/get-tsconfig/README.md +0 -235
- package/examples/node_modules/get-tsconfig/dist/index.cjs +0 -7
- package/examples/node_modules/get-tsconfig/dist/index.d.cts +0 -2088
- package/examples/node_modules/get-tsconfig/dist/index.d.mts +0 -2088
- package/examples/node_modules/get-tsconfig/dist/index.mjs +0 -7
- package/examples/node_modules/get-tsconfig/package.json +0 -46
- package/examples/node_modules/quantum-coin-js-sdk/.github/workflows/publish-npmjs.yaml +0 -22
- package/examples/node_modules/quantum-coin-js-sdk/LICENSE +0 -21
- package/examples/node_modules/quantum-coin-js-sdk/LICENSE-wasm_exec.js.txt +0 -30
- package/examples/node_modules/quantum-coin-js-sdk/README.md +0 -1665
- package/examples/node_modules/quantum-coin-js-sdk/example/README.md +0 -14
- package/examples/node_modules/quantum-coin-js-sdk/example/conversion-example.js +0 -19
- package/examples/node_modules/quantum-coin-js-sdk/example/example-create-contract.js +0 -396
- package/examples/node_modules/quantum-coin-js-sdk/example/example-encode-decode-rlp.js +0 -225
- package/examples/node_modules/quantum-coin-js-sdk/example/example-event-pack-unpack.js +0 -391
- package/examples/node_modules/quantum-coin-js-sdk/example/example-misc.js +0 -101
- package/examples/node_modules/quantum-coin-js-sdk/example/example-rpc-send-signRawTransaction.js +0 -318
- package/examples/node_modules/quantum-coin-js-sdk/example/example-rpc-send.js +0 -116
- package/examples/node_modules/quantum-coin-js-sdk/example/example-send.js +0 -70
- package/examples/node_modules/quantum-coin-js-sdk/example/example-token-pack-unpack.js +0 -961
- package/examples/node_modules/quantum-coin-js-sdk/example/example-wallet-version4.js +0 -35
- package/examples/node_modules/quantum-coin-js-sdk/example/example-wallet.js +0 -43
- package/examples/node_modules/quantum-coin-js-sdk/example/example.js +0 -405
- package/examples/node_modules/quantum-coin-js-sdk/example/package-lock.json +0 -134
- package/examples/node_modules/quantum-coin-js-sdk/example/package.json +0 -15
- package/examples/node_modules/quantum-coin-js-sdk/index.d.ts +0 -1024
- package/examples/node_modules/quantum-coin-js-sdk/index.js +0 -3062
- package/examples/node_modules/quantum-coin-js-sdk/package.json +0 -34
- package/examples/node_modules/quantum-coin-js-sdk/tests/encrypted-32.json +0 -1
- package/examples/node_modules/quantum-coin-js-sdk/tests/encrypted-36.json +0 -1
- package/examples/node_modules/quantum-coin-js-sdk/tests/encrypted-48.json +0 -1
- package/examples/node_modules/quantum-coin-js-sdk/tests/generate-verify-vectors.js +0 -91
- package/examples/node_modules/quantum-coin-js-sdk/tests/non-transactional.preinit.test.js +0 -41
- package/examples/node_modules/quantum-coin-js-sdk/tests/non-transactional.test.js +0 -686
- package/examples/node_modules/quantum-coin-js-sdk/tests/sign-raw-keytype5-context-null.test.js +0 -107
- package/examples/node_modules/quantum-coin-js-sdk/tests/sign-raw-transaction.test.js +0 -196
- package/examples/node_modules/quantum-coin-js-sdk/tests/sign-verify.test.js +0 -311
- package/examples/node_modules/quantum-coin-js-sdk/tests/transactional.relay.test.js +0 -131
- package/examples/node_modules/quantum-coin-js-sdk/tests/transactional.rpc.test.js +0 -103
- package/examples/node_modules/quantum-coin-js-sdk/tests/verify-vectors.json +0 -95035
- package/examples/node_modules/quantum-coin-js-sdk/wasmBase64.d.ts +0 -9
- package/examples/node_modules/quantum-coin-js-sdk/wasmBase64.js +0 -16
- package/examples/node_modules/quantum-coin-js-sdk/wasm_exec.d.ts +0 -0
- package/examples/node_modules/quantum-coin-js-sdk/wasm_exec.js +0 -587
- package/examples/node_modules/resolve-pkg-maps/LICENSE +0 -21
- package/examples/node_modules/resolve-pkg-maps/README.md +0 -216
- package/examples/node_modules/resolve-pkg-maps/dist/index.cjs +0 -1
- package/examples/node_modules/resolve-pkg-maps/dist/index.d.cts +0 -11
- package/examples/node_modules/resolve-pkg-maps/dist/index.d.mts +0 -11
- package/examples/node_modules/resolve-pkg-maps/dist/index.mjs +0 -1
- package/examples/node_modules/resolve-pkg-maps/package.json +0 -42
- package/examples/node_modules/seed-words/.github/workflows/publish-npmjs.yaml +0 -22
- package/examples/node_modules/seed-words/BUILD.md +0 -7
- package/examples/node_modules/seed-words/LICENSE +0 -121
- package/examples/node_modules/seed-words/README.md +0 -67
- package/examples/node_modules/seed-words/dist/seedwords.d.ts +0 -39
- package/examples/node_modules/seed-words/package.json +0 -27
- package/examples/node_modules/seed-words/seedwords.js +0 -315
- package/examples/node_modules/seed-words/seedwords.txt +0 -65536
- package/examples/node_modules/seed-words/tsconfig.json +0 -21
- package/examples/node_modules/tsx/LICENSE +0 -21
- package/examples/node_modules/tsx/README.md +0 -32
- package/examples/node_modules/tsx/dist/cjs/api/index.cjs +0 -1
- package/examples/node_modules/tsx/dist/cjs/api/index.d.cts +0 -35
- package/examples/node_modules/tsx/dist/cjs/api/index.d.mts +0 -35
- package/examples/node_modules/tsx/dist/cjs/api/index.mjs +0 -1
- package/examples/node_modules/tsx/dist/cjs/index.cjs +0 -1
- package/examples/node_modules/tsx/dist/cjs/index.mjs +0 -1
- package/examples/node_modules/tsx/dist/cli.cjs +0 -54
- package/examples/node_modules/tsx/dist/cli.mjs +0 -55
- package/examples/node_modules/tsx/dist/client-BQVF1NaW.mjs +0 -1
- package/examples/node_modules/tsx/dist/client-D6NvIMSC.cjs +0 -1
- package/examples/node_modules/tsx/dist/esm/api/index.cjs +0 -1
- package/examples/node_modules/tsx/dist/esm/api/index.d.cts +0 -35
- package/examples/node_modules/tsx/dist/esm/api/index.d.mts +0 -35
- package/examples/node_modules/tsx/dist/esm/api/index.mjs +0 -1
- package/examples/node_modules/tsx/dist/esm/index.cjs +0 -2
- package/examples/node_modules/tsx/dist/esm/index.mjs +0 -2
- package/examples/node_modules/tsx/dist/get-pipe-path-BHW2eJdv.mjs +0 -1
- package/examples/node_modules/tsx/dist/get-pipe-path-BoR10qr8.cjs +0 -1
- package/examples/node_modules/tsx/dist/index-7AaEi15b.mjs +0 -14
- package/examples/node_modules/tsx/dist/index-BWFBUo6r.cjs +0 -1
- package/examples/node_modules/tsx/dist/index-gbaejti9.mjs +0 -1
- package/examples/node_modules/tsx/dist/index-gckBtVBf.cjs +0 -14
- package/examples/node_modules/tsx/dist/lexer-DQCqS3nf.mjs +0 -3
- package/examples/node_modules/tsx/dist/lexer-DgIbo0BU.cjs +0 -3
- package/examples/node_modules/tsx/dist/loader.cjs +0 -1
- package/examples/node_modules/tsx/dist/loader.mjs +0 -1
- package/examples/node_modules/tsx/dist/node-features-_8ZFwP_x.mjs +0 -1
- package/examples/node_modules/tsx/dist/node-features-roYmp9jK.cjs +0 -1
- package/examples/node_modules/tsx/dist/package-CeBgXWuR.mjs +0 -1
- package/examples/node_modules/tsx/dist/package-Dxt5kIHw.cjs +0 -1
- package/examples/node_modules/tsx/dist/patch-repl.cjs +0 -1
- package/examples/node_modules/tsx/dist/patch-repl.mjs +0 -1
- package/examples/node_modules/tsx/dist/preflight.cjs +0 -1
- package/examples/node_modules/tsx/dist/preflight.mjs +0 -1
- package/examples/node_modules/tsx/dist/register-2sWVXuRQ.cjs +0 -1
- package/examples/node_modules/tsx/dist/register-B7jrtLTO.mjs +0 -1
- package/examples/node_modules/tsx/dist/register-CFH5oNdT.mjs +0 -4
- package/examples/node_modules/tsx/dist/register-D46fvsV_.cjs +0 -4
- package/examples/node_modules/tsx/dist/repl.cjs +0 -3
- package/examples/node_modules/tsx/dist/repl.mjs +0 -3
- package/examples/node_modules/tsx/dist/require-D4F1Lv60.cjs +0 -1
- package/examples/node_modules/tsx/dist/require-DQxpCAr4.mjs +0 -1
- package/examples/node_modules/tsx/dist/suppress-warnings.cjs +0 -1
- package/examples/node_modules/tsx/dist/suppress-warnings.mjs +0 -1
- package/examples/node_modules/tsx/dist/temporary-directory-B83uKxJF.cjs +0 -1
- package/examples/node_modules/tsx/dist/temporary-directory-CwHp0_NW.mjs +0 -1
- package/examples/node_modules/tsx/dist/types-Cxp8y2TL.d.ts +0 -5
- package/examples/node_modules/tsx/package.json +0 -68
|
@@ -1,391 +0,0 @@
|
|
|
1
|
-
const qcsdk = require('quantum-coin-js-sdk');
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Example: Event Log Encode/Decode Operations
|
|
5
|
-
*
|
|
6
|
-
* This example demonstrates how to use encodeEventLog and decodeEventLog
|
|
7
|
-
* to encode and decode Ethereum event logs according to the ABI specification.
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
// Configuration
|
|
11
|
-
var clientConfigVal = new qcsdk.Config("https://sdk.readrelay.quantumcoinapi.com", "https://sdk.writerelay.quantumcoinapi.com", 123123, "", ""); //Mainnet
|
|
12
|
-
//Mainnet Block Explorer: https://scan.quantumcoin.org
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Example 1: Basic Transfer Event (ERC20)
|
|
16
|
-
* Transfer(address indexed from, address indexed to, uint256 value)
|
|
17
|
-
*/
|
|
18
|
-
async function example1_TransferEvent() {
|
|
19
|
-
console.log("\n=== Example 1: Transfer Event ===");
|
|
20
|
-
|
|
21
|
-
const transferABI = JSON.stringify([{
|
|
22
|
-
"name": "Transfer",
|
|
23
|
-
"type": "event",
|
|
24
|
-
"anonymous": false,
|
|
25
|
-
"inputs": [
|
|
26
|
-
{"name": "from", "type": "address", "indexed": true},
|
|
27
|
-
{"name": "to", "type": "address", "indexed": true},
|
|
28
|
-
{"name": "value", "type": "uint256", "indexed": false}
|
|
29
|
-
]
|
|
30
|
-
}]);
|
|
31
|
-
|
|
32
|
-
const fromAddress = "0xd51773b5dde3f8e4d29ae42b5046510e2a11fd0c8e4175853d6227896eb445c6";
|
|
33
|
-
const toAddress = "0x1Bd75060B22686a9f32Af80BC02348c1BAeDBba06f47ad723885c92a6566B65d";
|
|
34
|
-
const value = "1000000000000000000"; // 1 token (18 decimals)
|
|
35
|
-
|
|
36
|
-
// Encode the event
|
|
37
|
-
const encodeResult = qcsdk.encodeEventLog(transferABI, "Transfer", fromAddress, toAddress, value);
|
|
38
|
-
|
|
39
|
-
if (encodeResult.error) {
|
|
40
|
-
console.error("Encode error:", encodeResult.error);
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
console.log("Encoded Transfer Event:");
|
|
45
|
-
console.log(" Topics:", encodeResult.result.topics);
|
|
46
|
-
console.log(" Data:", encodeResult.result.data);
|
|
47
|
-
console.log(" Number of topics:", encodeResult.result.topics.length);
|
|
48
|
-
console.log(" Expected: 3 topics (event signature + from + to)");
|
|
49
|
-
|
|
50
|
-
// Decode the event back
|
|
51
|
-
const decodeResult = qcsdk.decodeEventLog(
|
|
52
|
-
transferABI,
|
|
53
|
-
"Transfer",
|
|
54
|
-
encodeResult.result.topics,
|
|
55
|
-
encodeResult.result.data
|
|
56
|
-
);
|
|
57
|
-
|
|
58
|
-
if (decodeResult.error) {
|
|
59
|
-
console.error("Decode error:", decodeResult.error);
|
|
60
|
-
return;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
const decoded = JSON.parse(decodeResult.result);
|
|
64
|
-
console.log("\nDecoded Transfer Event:");
|
|
65
|
-
console.log(" From:", decoded.from);
|
|
66
|
-
console.log(" To:", decoded.to);
|
|
67
|
-
console.log(" Value:", decoded.value);
|
|
68
|
-
console.log(" Verification:",
|
|
69
|
-
decoded.from.toLowerCase() === fromAddress.toLowerCase() &&
|
|
70
|
-
decoded.to.toLowerCase() === toAddress.toLowerCase() &&
|
|
71
|
-
decoded.value === value ? "✓ Match" : "✗ Mismatch"
|
|
72
|
-
);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
/**
|
|
76
|
-
* Example 2: Event with All Indexed Parameters
|
|
77
|
-
* Approval(address indexed owner, address indexed spender, uint256 indexed value)
|
|
78
|
-
*/
|
|
79
|
-
async function example2_AllIndexedEvent() {
|
|
80
|
-
console.log("\n=== Example 2: All Indexed Event (Approval) ===");
|
|
81
|
-
|
|
82
|
-
const approvalABI = JSON.stringify([{
|
|
83
|
-
"name": "Approval",
|
|
84
|
-
"type": "event",
|
|
85
|
-
"anonymous": false,
|
|
86
|
-
"inputs": [
|
|
87
|
-
{"name": "owner", "type": "address", "indexed": true},
|
|
88
|
-
{"name": "spender", "type": "address", "indexed": true},
|
|
89
|
-
{"name": "value", "type": "uint256", "indexed": true}
|
|
90
|
-
]
|
|
91
|
-
}]);
|
|
92
|
-
|
|
93
|
-
const owner = "0xd51773b5dde3f8e4d29ae42b5046510e2a11fd0c8e4175853d6227896eb445c6";
|
|
94
|
-
const spender = "0x1Bd75060B22686a9f32Af80BC02348c1BAeDBba06f47ad723885c92a6566B65d";
|
|
95
|
-
const value = "5000000000000000000"; // 5 tokens
|
|
96
|
-
|
|
97
|
-
// Encode the event
|
|
98
|
-
const encodeResult = qcsdk.encodeEventLog(approvalABI, "Approval", owner, spender, value);
|
|
99
|
-
|
|
100
|
-
if (encodeResult.error) {
|
|
101
|
-
console.error("Encode error:", encodeResult.error);
|
|
102
|
-
return;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
console.log("Encoded Approval Event:");
|
|
106
|
-
console.log(" Topics:", encodeResult.result.topics);
|
|
107
|
-
console.log(" Data:", encodeResult.result.data);
|
|
108
|
-
console.log(" Number of topics:", encodeResult.result.topics.length);
|
|
109
|
-
console.log(" Expected: 4 topics (event signature + owner + spender + value)");
|
|
110
|
-
console.log(" Data should be empty (0x) since all parameters are indexed");
|
|
111
|
-
|
|
112
|
-
// Decode the event back
|
|
113
|
-
const decodeResult = qcsdk.decodeEventLog(
|
|
114
|
-
approvalABI,
|
|
115
|
-
"Approval",
|
|
116
|
-
encodeResult.result.topics,
|
|
117
|
-
encodeResult.result.data
|
|
118
|
-
);
|
|
119
|
-
|
|
120
|
-
if (decodeResult.error) {
|
|
121
|
-
console.error("Decode error:", decodeResult.error);
|
|
122
|
-
return;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
const decoded = JSON.parse(decodeResult.result);
|
|
126
|
-
console.log("\nDecoded Approval Event:");
|
|
127
|
-
console.log(" Owner:", decoded.owner);
|
|
128
|
-
console.log(" Spender:", decoded.spender);
|
|
129
|
-
console.log(" Value:", decoded.value);
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
/**
|
|
133
|
-
* Example 3: Event with All Non-Indexed Parameters
|
|
134
|
-
* ValueChanged(uint256 newValue, string message)
|
|
135
|
-
*/
|
|
136
|
-
async function example3_AllNonIndexedEvent() {
|
|
137
|
-
console.log("\n=== Example 3: All Non-Indexed Event ===");
|
|
138
|
-
|
|
139
|
-
const valueChangedABI = JSON.stringify([{
|
|
140
|
-
"name": "ValueChanged",
|
|
141
|
-
"type": "event",
|
|
142
|
-
"anonymous": false,
|
|
143
|
-
"inputs": [
|
|
144
|
-
{"name": "newValue", "type": "uint256", "indexed": false},
|
|
145
|
-
{"name": "message", "type": "string", "indexed": false}
|
|
146
|
-
]
|
|
147
|
-
}]);
|
|
148
|
-
|
|
149
|
-
const newValue = "42";
|
|
150
|
-
const message = "Hello, Quantum Coin!";
|
|
151
|
-
|
|
152
|
-
// Encode the event
|
|
153
|
-
const encodeResult = qcsdk.encodeEventLog(valueChangedABI, "ValueChanged", newValue, message);
|
|
154
|
-
|
|
155
|
-
if (encodeResult.error) {
|
|
156
|
-
console.error("Encode error:", encodeResult.error);
|
|
157
|
-
return;
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
console.log("Encoded ValueChanged Event:");
|
|
161
|
-
console.log(" Topics:", encodeResult.result.topics);
|
|
162
|
-
console.log(" Data:", encodeResult.result.data);
|
|
163
|
-
console.log(" Number of topics:", encodeResult.result.topics.length);
|
|
164
|
-
console.log(" Expected: 1 topic (event signature only)");
|
|
165
|
-
console.log(" Data contains both parameters");
|
|
166
|
-
|
|
167
|
-
// Decode the event back
|
|
168
|
-
const decodeResult = qcsdk.decodeEventLog(
|
|
169
|
-
valueChangedABI,
|
|
170
|
-
"ValueChanged",
|
|
171
|
-
encodeResult.result.topics,
|
|
172
|
-
encodeResult.result.data
|
|
173
|
-
);
|
|
174
|
-
|
|
175
|
-
if (decodeResult.error) {
|
|
176
|
-
console.error("Decode error:", decodeResult.error);
|
|
177
|
-
return;
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
const decoded = JSON.parse(decodeResult.result);
|
|
181
|
-
console.log("\nDecoded ValueChanged Event:");
|
|
182
|
-
console.log(" New Value:", decoded.newValue);
|
|
183
|
-
console.log(" Message:", decoded.message);
|
|
184
|
-
console.log(" Verification:",
|
|
185
|
-
decoded.newValue === newValue &&
|
|
186
|
-
decoded.message === message ? "✓ Match" : "✗ Mismatch"
|
|
187
|
-
);
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
/**
|
|
191
|
-
* Example 4: Event with Indexed String
|
|
192
|
-
* StringEvent(string indexed message)
|
|
193
|
-
* Note: Indexed strings are hashed, so we can't recover the original value
|
|
194
|
-
*/
|
|
195
|
-
async function example4_IndexedStringEvent() {
|
|
196
|
-
console.log("\n=== Example 4: Indexed String Event ===");
|
|
197
|
-
|
|
198
|
-
const stringEventABI = JSON.stringify([{
|
|
199
|
-
"name": "StringEvent",
|
|
200
|
-
"type": "event",
|
|
201
|
-
"anonymous": false,
|
|
202
|
-
"inputs": [
|
|
203
|
-
{"name": "message", "type": "string", "indexed": true}
|
|
204
|
-
]
|
|
205
|
-
}]);
|
|
206
|
-
|
|
207
|
-
const message = "Hello, World!";
|
|
208
|
-
|
|
209
|
-
// Encode the event
|
|
210
|
-
const encodeResult = qcsdk.encodeEventLog(stringEventABI, "StringEvent", message);
|
|
211
|
-
|
|
212
|
-
if (encodeResult.error) {
|
|
213
|
-
console.error("Encode error:", encodeResult.error);
|
|
214
|
-
return;
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
console.log("Encoded StringEvent:");
|
|
218
|
-
console.log(" Original message:", message);
|
|
219
|
-
console.log(" Topics:", encodeResult.result.topics);
|
|
220
|
-
console.log(" Data:", encodeResult.result.data);
|
|
221
|
-
console.log(" Number of topics:", encodeResult.result.topics.length);
|
|
222
|
-
console.log(" Expected: 2 topics (event signature + hashed string)");
|
|
223
|
-
|
|
224
|
-
// Decode the event back
|
|
225
|
-
const decodeResult = qcsdk.decodeEventLog(
|
|
226
|
-
stringEventABI,
|
|
227
|
-
"StringEvent",
|
|
228
|
-
encodeResult.result.topics,
|
|
229
|
-
encodeResult.result.data
|
|
230
|
-
);
|
|
231
|
-
|
|
232
|
-
if (decodeResult.error) {
|
|
233
|
-
console.error("Decode error:", decodeResult.error);
|
|
234
|
-
return;
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
const decoded = JSON.parse(decodeResult.result);
|
|
238
|
-
console.log("\nDecoded StringEvent:");
|
|
239
|
-
console.log(" Message (hash):", decoded.message);
|
|
240
|
-
console.log(" Note: Indexed strings return the hash, not the original value");
|
|
241
|
-
console.log(" This is expected behavior for indexed dynamic types");
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
/**
|
|
245
|
-
* Example 5: Anonymous Event
|
|
246
|
-
* AnonymousEvent(uint256 value)
|
|
247
|
-
*/
|
|
248
|
-
async function example5_AnonymousEvent() {
|
|
249
|
-
console.log("\n=== Example 5: Anonymous Event ===");
|
|
250
|
-
|
|
251
|
-
const anonymousABI = JSON.stringify([{
|
|
252
|
-
"name": "AnonymousEvent",
|
|
253
|
-
"type": "event",
|
|
254
|
-
"anonymous": true,
|
|
255
|
-
"inputs": [
|
|
256
|
-
{"name": "value", "type": "uint256", "indexed": false}
|
|
257
|
-
]
|
|
258
|
-
}]);
|
|
259
|
-
|
|
260
|
-
const value = "12345";
|
|
261
|
-
|
|
262
|
-
// Encode the event
|
|
263
|
-
const encodeResult = qcsdk.encodeEventLog(anonymousABI, "AnonymousEvent", value);
|
|
264
|
-
|
|
265
|
-
if (encodeResult.error) {
|
|
266
|
-
console.error("Encode error:", encodeResult.error);
|
|
267
|
-
return;
|
|
268
|
-
}
|
|
269
|
-
|
|
270
|
-
console.log("Encoded AnonymousEvent:");
|
|
271
|
-
console.log(" Topics:", encodeResult.result.topics);
|
|
272
|
-
console.log(" Data:", encodeResult.result.data);
|
|
273
|
-
console.log(" Number of topics:", encodeResult.result.topics.length);
|
|
274
|
-
console.log(" Expected: 0 topics (anonymous events have no signature topic)");
|
|
275
|
-
|
|
276
|
-
// Decode the event back
|
|
277
|
-
const decodeResult = qcsdk.decodeEventLog(
|
|
278
|
-
anonymousABI,
|
|
279
|
-
"AnonymousEvent",
|
|
280
|
-
encodeResult.result.topics,
|
|
281
|
-
encodeResult.result.data
|
|
282
|
-
);
|
|
283
|
-
|
|
284
|
-
if (decodeResult.error) {
|
|
285
|
-
console.error("Decode error:", decodeResult.error);
|
|
286
|
-
return;
|
|
287
|
-
}
|
|
288
|
-
|
|
289
|
-
const decoded = JSON.parse(decodeResult.result);
|
|
290
|
-
console.log("\nDecoded AnonymousEvent:");
|
|
291
|
-
console.log(" Value:", decoded.value);
|
|
292
|
-
console.log(" Verification:", decoded.value === value ? "✓ Match" : "✗ Mismatch");
|
|
293
|
-
}
|
|
294
|
-
|
|
295
|
-
/**
|
|
296
|
-
* Example 6: Complex Event with Mixed Types
|
|
297
|
-
* ComplexEvent(address indexed owner, uint256 indexed tokenId, string name, uint256[] amounts)
|
|
298
|
-
*/
|
|
299
|
-
async function example6_ComplexEvent() {
|
|
300
|
-
console.log("\n=== Example 6: Complex Event with Mixed Types ===");
|
|
301
|
-
|
|
302
|
-
const complexABI = JSON.stringify([{
|
|
303
|
-
"name": "ComplexEvent",
|
|
304
|
-
"type": "event",
|
|
305
|
-
"anonymous": false,
|
|
306
|
-
"inputs": [
|
|
307
|
-
{"name": "owner", "type": "address", "indexed": true},
|
|
308
|
-
{"name": "tokenId", "type": "uint256", "indexed": true},
|
|
309
|
-
{"name": "name", "type": "string", "indexed": false},
|
|
310
|
-
{"name": "amounts", "type": "uint256[]", "indexed": false}
|
|
311
|
-
]
|
|
312
|
-
}]);
|
|
313
|
-
|
|
314
|
-
const owner = "0xd51773b5dde3f8e4d29ae42b5046510e2a11fd0c8e4175853d6227896eb445c6";
|
|
315
|
-
const tokenId = "1";
|
|
316
|
-
const name = "My Token";
|
|
317
|
-
const amounts = ["100", "200", "300"];
|
|
318
|
-
|
|
319
|
-
// Encode the event
|
|
320
|
-
const encodeResult = qcsdk.encodeEventLog(complexABI, "ComplexEvent", owner, tokenId, name, amounts);
|
|
321
|
-
|
|
322
|
-
if (encodeResult.error) {
|
|
323
|
-
console.error("Encode error:", encodeResult.error);
|
|
324
|
-
return;
|
|
325
|
-
}
|
|
326
|
-
|
|
327
|
-
console.log("Encoded ComplexEvent:");
|
|
328
|
-
console.log(" Topics:", encodeResult.result.topics);
|
|
329
|
-
console.log(" Data:", encodeResult.result.data);
|
|
330
|
-
console.log(" Number of topics:", encodeResult.result.topics.length);
|
|
331
|
-
console.log(" Expected: 3 topics (event signature + owner + tokenId)");
|
|
332
|
-
console.log(" Data contains name and amounts array");
|
|
333
|
-
|
|
334
|
-
// Decode the event back
|
|
335
|
-
const decodeResult = qcsdk.decodeEventLog(
|
|
336
|
-
complexABI,
|
|
337
|
-
"ComplexEvent",
|
|
338
|
-
encodeResult.result.topics,
|
|
339
|
-
encodeResult.result.data
|
|
340
|
-
);
|
|
341
|
-
|
|
342
|
-
if (decodeResult.error) {
|
|
343
|
-
console.error("Decode error:", decodeResult.error);
|
|
344
|
-
return;
|
|
345
|
-
}
|
|
346
|
-
|
|
347
|
-
const decoded = JSON.parse(decodeResult.result);
|
|
348
|
-
console.log("\nDecoded ComplexEvent:");
|
|
349
|
-
console.log(" Owner:", decoded.owner);
|
|
350
|
-
console.log(" Token ID:", decoded.tokenId);
|
|
351
|
-
console.log(" Name:", decoded.name);
|
|
352
|
-
console.log(" Amounts:", decoded.amounts);
|
|
353
|
-
console.log(" Verification:",
|
|
354
|
-
decoded.owner.toLowerCase() === owner.toLowerCase() &&
|
|
355
|
-
decoded.tokenId === tokenId &&
|
|
356
|
-
decoded.name === name &&
|
|
357
|
-
JSON.stringify(decoded.amounts) === JSON.stringify(amounts) ? "✓ Match" : "✗ Mismatch"
|
|
358
|
-
);
|
|
359
|
-
}
|
|
360
|
-
|
|
361
|
-
/**
|
|
362
|
-
* Main function to run all examples
|
|
363
|
-
*/
|
|
364
|
-
async function runExamples() {
|
|
365
|
-
console.log("==========================================");
|
|
366
|
-
console.log("Event Log Encode/Decode Examples");
|
|
367
|
-
console.log("==========================================");
|
|
368
|
-
|
|
369
|
-
try {
|
|
370
|
-
// Initialize SDK
|
|
371
|
-
await qcsdk.initialize(clientConfigVal);
|
|
372
|
-
console.log("SDK initialized successfully");
|
|
373
|
-
|
|
374
|
-
// Run examples
|
|
375
|
-
await example1_TransferEvent();
|
|
376
|
-
await example2_AllIndexedEvent();
|
|
377
|
-
await example3_AllNonIndexedEvent();
|
|
378
|
-
await example4_IndexedStringEvent();
|
|
379
|
-
await example5_AnonymousEvent();
|
|
380
|
-
await example6_ComplexEvent();
|
|
381
|
-
|
|
382
|
-
console.log("\n==========================================");
|
|
383
|
-
console.log("All examples completed successfully!");
|
|
384
|
-
console.log("==========================================");
|
|
385
|
-
} catch (error) {
|
|
386
|
-
console.error("Error running examples:", error);
|
|
387
|
-
}
|
|
388
|
-
}
|
|
389
|
-
|
|
390
|
-
// Run the examples
|
|
391
|
-
runExamples().catch(console.error);
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
const qcsdk = require('quantum-coin-js-sdk');
|
|
2
|
-
const ethers = require('ethers');
|
|
3
|
-
|
|
4
|
-
var clientConfigVal = new qcsdk.Config("https://sdk.readrelay.quantumcoinapi.com", "https://sdk.writerelay.quantumcoinapi.com", 123123, "", ""); //Mainnet
|
|
5
|
-
|
|
6
|
-
//Initialize the client configuration
|
|
7
|
-
//var clientConfigVal = new qcsdk.Config("https://t4-relayread.quantumcoin.org", "https://t4-relaywrite.quantumcoin.org", 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("https://sdk.readrelay.quantumcoinapi.com", "https://sdk.writerelay.quantumcoinapi.com", 123123, "", ""); //Mainnet
|
|
12
|
-
//Mainnet Block Explorer: https://scan.quantumcoin.org
|
|
13
|
-
|
|
14
|
-
//Local testing configuration
|
|
15
|
-
//var clientConfigVal = new qcsdk.Config("http://127.0.0.1:9090", "http://127.0.0.1:9091", 123123, "", ""); //local testing
|
|
16
|
-
//Mainnet Block Explorer: https://scan.quantumcoin.org
|
|
17
|
-
|
|
18
|
-
//Initialize the SDK
|
|
19
|
-
qcsdk.initialize(clientConfigVal).then((initResult) => {
|
|
20
|
-
if (initResult === false) {
|
|
21
|
-
console.error("Initialize failed");
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
const digestHashBase64 = "aGkgdGhlcmVvY2tjaGFpbmJiYmJiYmJiYmJiYmJiYmI=";
|
|
26
|
-
const signatureBase64 = "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";
|
|
27
|
-
|
|
28
|
-
let digest = base64ToBytes(digestHashBase64);
|
|
29
|
-
let signature = base64ToBytes(signatureBase64);
|
|
30
|
-
|
|
31
|
-
let publicKey = qcsdk.publicKeyFromSignature(digest, signature);
|
|
32
|
-
console.log("publicKeyFromSignature publicKey length: " + publicKey.length);
|
|
33
|
-
|
|
34
|
-
// Wallet and signing demo: use CIRCL (newWallet + hybrideds) when available
|
|
35
|
-
const g = typeof globalThis !== 'undefined' ? globalThis : typeof global !== 'undefined' ? global : {};
|
|
36
|
-
const circl = g.circl;
|
|
37
|
-
const walletExample = qcsdk.newWallet();
|
|
38
|
-
if (typeof walletExample === 'object' && walletExample != null && circl && circl.hybrideds) {
|
|
39
|
-
console.log("walletExample.privateKey length " + walletExample.privateKey.length);
|
|
40
|
-
let publicKey2 = qcsdk.publicKeyFromPrivateKey(walletExample.privateKey);
|
|
41
|
-
console.log("publicKeyFromPrivateKey publicKey length: " + publicKey2.length);
|
|
42
|
-
let publicKey2Bytes = hexToBytes(publicKey2);
|
|
43
|
-
if (publicKey2Bytes.length !== walletExample.publicKey.length) {
|
|
44
|
-
throw new Error("public key length compare failed S");
|
|
45
|
-
}
|
|
46
|
-
for (let i = 0; i < publicKey2Bytes.length; i++) {
|
|
47
|
-
if (publicKey2Bytes[i] !== walletExample.publicKey[i]) {
|
|
48
|
-
throw new Error("public key compare failed A");
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
let utf8Encode = new TextEncoder();
|
|
53
|
-
let message = utf8Encode.encode("verifyverifyverifyverifyverifyok");
|
|
54
|
-
const privU8 = walletExample.privateKey instanceof Uint8Array ? walletExample.privateKey : new Uint8Array(walletExample.privateKey);
|
|
55
|
-
const sigRes = circl.hybrideds.signCompact(privU8, message);
|
|
56
|
-
if (sigRes && sigRes.error) throw new Error("CIRCL sign failed: " + sigRes.error);
|
|
57
|
-
let quantumSig = sigRes.result instanceof Uint8Array ? Array.from(sigRes.result) : sigRes.result;
|
|
58
|
-
|
|
59
|
-
let combinedSignatureHex = qcsdk.combinePublicKeySignature(walletExample.publicKey, quantumSig);
|
|
60
|
-
if (combinedSignatureHex === null) {
|
|
61
|
-
throw new Error("combinePublicKeySignature combine failed");
|
|
62
|
-
}
|
|
63
|
-
let combinedSignatureBytes = hexToBytes(combinedSignatureHex);
|
|
64
|
-
let publicKeySigHex = qcsdk.publicKeyFromSignature(message, combinedSignatureBytes);
|
|
65
|
-
let publicKeySigBytes = hexToBytes(publicKeySigHex);
|
|
66
|
-
if (publicKeySigBytes.length !== walletExample.publicKey.length) {
|
|
67
|
-
throw new Error("public key length compare failed B");
|
|
68
|
-
}
|
|
69
|
-
for (let i = 0; i < publicKeySigBytes.length; i++) {
|
|
70
|
-
if (publicKeySigBytes[i] !== walletExample.publicKey[i]) {
|
|
71
|
-
throw new Error("public key compare failed B");
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
} else {
|
|
75
|
-
console.log("CIRCL not loaded or newWallet failed; skipping wallet/signing demo.");
|
|
76
|
-
}
|
|
77
|
-
});
|
|
78
|
-
|
|
79
|
-
function base64ToBytes(base64) {
|
|
80
|
-
const binString = atob(base64);
|
|
81
|
-
return Uint8Array.from(binString, (m) => m.codePointAt(0));
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
// Convert a hex string to a byte array
|
|
85
|
-
function hexToBytes(hex) {
|
|
86
|
-
let bytes = [];
|
|
87
|
-
for (let c = 0; c < hex.length; c += 2)
|
|
88
|
-
bytes.push(parseInt(hex.substr(c, 2), 16));
|
|
89
|
-
return bytes;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
// Convert a byte array to a hex string
|
|
93
|
-
function bytesToHex(bytes) {
|
|
94
|
-
let hex = [];
|
|
95
|
-
for (let i = 0; i < bytes.length; i++) {
|
|
96
|
-
let current = bytes[i] < 0 ? bytes[i] + 256 : bytes[i];
|
|
97
|
-
hex.push((current >>> 4).toString(16));
|
|
98
|
-
hex.push((current & 0xF).toString(16));
|
|
99
|
-
}
|
|
100
|
-
return hex.join("");
|
|
101
|
-
}
|