nano-sdk 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +262 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +38 -0
- package/dist/nano/blocks/block.d.ts +39 -0
- package/dist/nano/blocks/block.js +11 -0
- package/dist/nano/blocks/index.d.ts +6 -0
- package/dist/nano/blocks/index.js +15 -0
- package/dist/nano/blocks/legacy-change-block.d.ts +9 -0
- package/dist/nano/blocks/legacy-change-block.js +17 -0
- package/dist/nano/blocks/legacy-open-block.d.ts +10 -0
- package/dist/nano/blocks/legacy-open-block.js +18 -0
- package/dist/nano/blocks/legacy-receive-block.d.ts +9 -0
- package/dist/nano/blocks/legacy-receive-block.js +16 -0
- package/dist/nano/blocks/legacy-send-block.d.ts +10 -0
- package/dist/nano/blocks/legacy-send-block.js +19 -0
- package/dist/nano/blocks/state-block.d.ts +13 -0
- package/dist/nano/blocks/state-block.js +23 -0
- package/dist/nano/crypto/conversion/account-converter.d.ts +17 -0
- package/dist/nano/crypto/conversion/account-converter.js +68 -0
- package/dist/nano/crypto/conversion/base32-converter.d.ts +16 -0
- package/dist/nano/crypto/conversion/base32-converter.js +98 -0
- package/dist/nano/crypto/conversion/hash-converter.d.ts +17 -0
- package/dist/nano/crypto/conversion/hash-converter.js +65 -0
- package/dist/nano/crypto/conversion/hex-converter.d.ts +17 -0
- package/dist/nano/crypto/conversion/hex-converter.js +82 -0
- package/dist/nano/crypto/conversion/private-key-converter.d.ts +17 -0
- package/dist/nano/crypto/conversion/private-key-converter.js +65 -0
- package/dist/nano/crypto/conversion/public-key-converter.d.ts +17 -0
- package/dist/nano/crypto/conversion/public-key-converter.js +65 -0
- package/dist/nano/crypto/conversion/seed-converter.d.ts +17 -0
- package/dist/nano/crypto/conversion/seed-converter.js +65 -0
- package/dist/nano/crypto/conversion/signature-converter.d.ts +17 -0
- package/dist/nano/crypto/conversion/signature-converter.js +65 -0
- package/dist/nano/crypto/conversion/work-converter.d.ts +17 -0
- package/dist/nano/crypto/conversion/work-converter.js +65 -0
- package/dist/nano/crypto/derive-account-from-link.d.ts +12 -0
- package/dist/nano/crypto/derive-account-from-link.js +34 -0
- package/dist/nano/crypto/derive-account-from-private-key.d.ts +12 -0
- package/dist/nano/crypto/derive-account-from-private-key.js +31 -0
- package/dist/nano/crypto/derive-account-from-public-key.d.ts +13 -0
- package/dist/nano/crypto/derive-account-from-public-key.js +56 -0
- package/dist/nano/crypto/derive-private-key-from-seed.d.ts +13 -0
- package/dist/nano/crypto/derive-private-key-from-seed.js +60 -0
- package/dist/nano/crypto/derive-public-key-from-account.d.ts +12 -0
- package/dist/nano/crypto/derive-public-key-from-account.js +41 -0
- package/dist/nano/crypto/derive-public-key-from-private-key.d.ts +12 -0
- package/dist/nano/crypto/derive-public-key-from-private-key.js +42 -0
- package/dist/nano/crypto/generate-private-key.d.ts +10 -0
- package/dist/nano/crypto/generate-private-key.js +34 -0
- package/dist/nano/crypto/generate-public-key.d.ts +10 -0
- package/dist/nano/crypto/generate-public-key.js +31 -0
- package/dist/nano/crypto/generate-random-bytes.d.ts +10 -0
- package/dist/nano/crypto/generate-random-bytes.js +57 -0
- package/dist/nano/crypto/generate-seed.d.ts +10 -0
- package/dist/nano/crypto/generate-seed.js +31 -0
- package/dist/nano/crypto/hash-block.d.ts +18 -0
- package/dist/nano/crypto/hash-block.js +81 -0
- package/dist/nano/crypto/index.d.ts +14 -0
- package/dist/nano/crypto/index.js +31 -0
- package/dist/nano/crypto/sign-hash.d.ts +14 -0
- package/dist/nano/crypto/sign-hash.js +40 -0
- package/dist/nano/crypto/verify-hash.d.ts +22 -0
- package/dist/nano/crypto/verify-hash.js +35 -0
- package/dist/nano/crypto/verify-signature.d.ts +15 -0
- package/dist/nano/crypto/verify-signature.js +40 -0
- package/dist/nano/crypto/verify-work.d.ts +14 -0
- package/dist/nano/crypto/verify-work.js +48 -0
- package/dist/nano/index.d.ts +7 -0
- package/dist/nano/index.js +51 -0
- package/dist/nano/math/comparison.d.ts +6 -0
- package/dist/nano/math/comparison.js +20 -0
- package/dist/nano/math/format-raw.d.ts +17 -0
- package/dist/nano/math/format-raw.js +94 -0
- package/dist/nano/math/index.d.ts +14 -0
- package/dist/nano/math/index.js +31 -0
- package/dist/nano/math/nano-to-raw.d.ts +11 -0
- package/dist/nano/math/nano-to-raw.js +38 -0
- package/dist/nano/math/raw-divide.d.ts +19 -0
- package/dist/nano/math/raw-divide.js +73 -0
- package/dist/nano/math/raw-is-equal-to.d.ts +9 -0
- package/dist/nano/math/raw-is-equal-to.js +29 -0
- package/dist/nano/math/raw-is-greater-than-or-equal-to.d.ts +9 -0
- package/dist/nano/math/raw-is-greater-than-or-equal-to.js +29 -0
- package/dist/nano/math/raw-is-greater-than.d.ts +9 -0
- package/dist/nano/math/raw-is-greater-than.js +29 -0
- package/dist/nano/math/raw-is-less-than-or-equal-to.d.ts +9 -0
- package/dist/nano/math/raw-is-less-than-or-equal-to.js +29 -0
- package/dist/nano/math/raw-is-less-than.d.ts +9 -0
- package/dist/nano/math/raw-is-less-than.js +29 -0
- package/dist/nano/math/raw-is-zero.d.ts +11 -0
- package/dist/nano/math/raw-is-zero.js +33 -0
- package/dist/nano/math/raw-minus.d.ts +19 -0
- package/dist/nano/math/raw-minus.js +66 -0
- package/dist/nano/math/raw-modulo.d.ts +19 -0
- package/dist/nano/math/raw-modulo.js +69 -0
- package/dist/nano/math/raw-multiply.d.ts +19 -0
- package/dist/nano/math/raw-multiply.js +66 -0
- package/dist/nano/math/raw-plus.d.ts +19 -0
- package/dist/nano/math/raw-plus.js +66 -0
- package/dist/nano/math/raw-to-nano.d.ts +15 -0
- package/dist/nano/math/raw-to-nano.js +32 -0
- package/dist/nano/rpc/http/http-client.d.ts +20 -0
- package/dist/nano/rpc/http/http-client.js +76 -0
- package/dist/nano/rpc/http/index.d.ts +5 -0
- package/dist/nano/rpc/http/index.js +20 -0
- package/dist/nano/rpc/http/post-error.d.ts +8 -0
- package/dist/nano/rpc/http/post-error.js +12 -0
- package/dist/nano/rpc/http/post-result.d.ts +15 -0
- package/dist/nano/rpc/http/post-result.js +2 -0
- package/dist/nano/rpc/http/post.d.ts +9 -0
- package/dist/nano/rpc/http/post.js +77 -0
- package/dist/nano/rpc/http/request-config.d.ts +13 -0
- package/dist/nano/rpc/http/request-config.js +2 -0
- package/dist/nano/rpc/index.d.ts +4 -0
- package/dist/nano/rpc/index.js +20 -0
- package/dist/nano/rpc/methods/account-balance.d.ts +20 -0
- package/dist/nano/rpc/methods/account-balance.js +7 -0
- package/dist/nano/rpc/methods/account-block-count.d.ts +14 -0
- package/dist/nano/rpc/methods/account-block-count.js +7 -0
- package/dist/nano/rpc/methods/account-get.d.ts +14 -0
- package/dist/nano/rpc/methods/account-get.js +7 -0
- package/dist/nano/rpc/methods/account-history.d.ts +15 -0
- package/dist/nano/rpc/methods/account-history.js +22 -0
- package/dist/nano/rpc/methods/account-info.d.ts +16 -0
- package/dist/nano/rpc/methods/account-info.js +24 -0
- package/dist/nano/rpc/methods/account-key.d.ts +14 -0
- package/dist/nano/rpc/methods/account-key.js +7 -0
- package/dist/nano/rpc/methods/account-representative.d.ts +14 -0
- package/dist/nano/rpc/methods/account-representative.js +7 -0
- package/dist/nano/rpc/methods/account-weight.d.ts +14 -0
- package/dist/nano/rpc/methods/account-weight.js +7 -0
- package/dist/nano/rpc/methods/accounts-balances.d.ts +26 -0
- package/dist/nano/rpc/methods/accounts-balances.js +7 -0
- package/dist/nano/rpc/methods/accounts-frontiers.d.ts +16 -0
- package/dist/nano/rpc/methods/accounts-frontiers.js +7 -0
- package/dist/nano/rpc/methods/accounts-receivable.d.ts +15 -0
- package/dist/nano/rpc/methods/accounts-receivable.js +20 -0
- package/dist/nano/rpc/methods/accounts-representatives.d.ts +16 -0
- package/dist/nano/rpc/methods/accounts-representatives.js +7 -0
- package/dist/nano/rpc/methods/available-supply.d.ts +12 -0
- package/dist/nano/rpc/methods/available-supply.js +7 -0
- package/dist/nano/rpc/methods/block-account.d.ts +14 -0
- package/dist/nano/rpc/methods/block-account.js +7 -0
- package/dist/nano/rpc/methods/block-confirm.d.ts +14 -0
- package/dist/nano/rpc/methods/block-confirm.js +7 -0
- package/dist/nano/rpc/methods/block-count.d.ts +16 -0
- package/dist/nano/rpc/methods/block-count.js +7 -0
- package/dist/nano/rpc/methods/block-create.d.ts +13 -0
- package/dist/nano/rpc/methods/block-create.js +18 -0
- package/dist/nano/rpc/methods/block-hash.d.ts +44 -0
- package/dist/nano/rpc/methods/block-hash.js +7 -0
- package/dist/nano/rpc/methods/block-info.d.ts +14 -0
- package/dist/nano/rpc/methods/block-info.js +20 -0
- package/dist/nano/rpc/methods/blocks-info.d.ts +18 -0
- package/dist/nano/rpc/methods/blocks-info.js +28 -0
- package/dist/nano/rpc/methods/blocks.d.ts +13 -0
- package/dist/nano/rpc/methods/blocks.js +18 -0
- package/dist/nano/rpc/methods/bootstrap-any.d.ts +10 -0
- package/dist/nano/rpc/methods/bootstrap-any.js +7 -0
- package/dist/nano/rpc/methods/bootstrap-lazy.d.ts +10 -0
- package/dist/nano/rpc/methods/bootstrap-lazy.js +7 -0
- package/dist/nano/rpc/methods/bootstrap-priorities.d.ts +28 -0
- package/dist/nano/rpc/methods/bootstrap-priorities.js +7 -0
- package/dist/nano/rpc/methods/bootstrap-reset.d.ts +12 -0
- package/dist/nano/rpc/methods/bootstrap-reset.js +7 -0
- package/dist/nano/rpc/methods/bootstrap-status.d.ts +14 -0
- package/dist/nano/rpc/methods/bootstrap-status.js +7 -0
- package/dist/nano/rpc/methods/bootstrap.d.ts +12 -0
- package/dist/nano/rpc/methods/bootstrap.js +7 -0
- package/dist/nano/rpc/methods/chain.d.ts +20 -0
- package/dist/nano/rpc/methods/chain.js +7 -0
- package/dist/nano/rpc/methods/conditional-types/bool-flag.d.ts +1 -0
- package/dist/nano/rpc/methods/conditional-types/bool-flag.js +2 -0
- package/dist/nano/rpc/methods/conditional-types/index.d.ts +6 -0
- package/dist/nano/rpc/methods/conditional-types/index.js +22 -0
- package/dist/nano/rpc/methods/conditional-types/not-undefined-flag.d.ts +1 -0
- package/dist/nano/rpc/methods/conditional-types/not-undefined-flag.js +2 -0
- package/dist/nano/rpc/methods/conditional-types/string-flag.d.ts +1 -0
- package/dist/nano/rpc/methods/conditional-types/string-flag.js +2 -0
- package/dist/nano/rpc/methods/conditional-types/string-or-number-flag.d.ts +1 -0
- package/dist/nano/rpc/methods/conditional-types/string-or-number-flag.js +2 -0
- package/dist/nano/rpc/methods/conditional-types/threshold-flag.d.ts +1 -0
- package/dist/nano/rpc/methods/conditional-types/threshold-flag.js +2 -0
- package/dist/nano/rpc/methods/conditional-types/with-default.d.ts +5 -0
- package/dist/nano/rpc/methods/conditional-types/with-default.js +2 -0
- package/dist/nano/rpc/methods/confirmation-active.d.ts +18 -0
- package/dist/nano/rpc/methods/confirmation-active.js +7 -0
- package/dist/nano/rpc/methods/confirmation-history.d.ts +40 -0
- package/dist/nano/rpc/methods/confirmation-history.js +7 -0
- package/dist/nano/rpc/methods/confirmation-info.d.ts +15 -0
- package/dist/nano/rpc/methods/confirmation-info.js +22 -0
- package/dist/nano/rpc/methods/confirmation-quorum.d.ts +13 -0
- package/dist/nano/rpc/methods/confirmation-quorum.js +18 -0
- package/dist/nano/rpc/methods/database-txn-tracker.d.ts +36 -0
- package/dist/nano/rpc/methods/database-txn-tracker.js +7 -0
- package/dist/nano/rpc/methods/delegators-count.d.ts +14 -0
- package/dist/nano/rpc/methods/delegators-count.js +7 -0
- package/dist/nano/rpc/methods/delegators.d.ts +20 -0
- package/dist/nano/rpc/methods/delegators.js +7 -0
- package/dist/nano/rpc/methods/deterministic-key.d.ts +20 -0
- package/dist/nano/rpc/methods/deterministic-key.js +7 -0
- package/dist/nano/rpc/methods/election-statistics.d.ts +26 -0
- package/dist/nano/rpc/methods/election-statistics.js +7 -0
- package/dist/nano/rpc/methods/epoch-upgrade.d.ts +20 -0
- package/dist/nano/rpc/methods/epoch-upgrade.js +7 -0
- package/dist/nano/rpc/methods/frontier-count.d.ts +12 -0
- package/dist/nano/rpc/methods/frontier-count.js +7 -0
- package/dist/nano/rpc/methods/frontiers.d.ts +16 -0
- package/dist/nano/rpc/methods/frontiers.js +7 -0
- package/dist/nano/rpc/methods/index.d.ts +75 -0
- package/dist/nano/rpc/methods/index.js +91 -0
- package/dist/nano/rpc/methods/keepalive.d.ts +16 -0
- package/dist/nano/rpc/methods/keepalive.js +7 -0
- package/dist/nano/rpc/methods/key-create.d.ts +16 -0
- package/dist/nano/rpc/methods/key-create.js +7 -0
- package/dist/nano/rpc/methods/key-expand.d.ts +18 -0
- package/dist/nano/rpc/methods/key-expand.js +7 -0
- package/dist/nano/rpc/methods/ledger.d.ts +15 -0
- package/dist/nano/rpc/methods/ledger.js +22 -0
- package/dist/nano/rpc/methods/nano-to-raw.d.ts +14 -0
- package/dist/nano/rpc/methods/nano-to-raw.js +7 -0
- package/dist/nano/rpc/methods/node-id.d.ts +16 -0
- package/dist/nano/rpc/methods/node-id.js +7 -0
- package/dist/nano/rpc/methods/peers.d.ts +13 -0
- package/dist/nano/rpc/methods/peers.js +18 -0
- package/dist/nano/rpc/methods/populate-backlog.d.ts +12 -0
- package/dist/nano/rpc/methods/populate-backlog.js +7 -0
- package/dist/nano/rpc/methods/process.d.ts +13 -0
- package/dist/nano/rpc/methods/process.js +18 -0
- package/dist/nano/rpc/methods/raw-to-nano.d.ts +14 -0
- package/dist/nano/rpc/methods/raw-to-nano.js +7 -0
- package/dist/nano/rpc/methods/receivable-exists.d.ts +18 -0
- package/dist/nano/rpc/methods/receivable-exists.js +7 -0
- package/dist/nano/rpc/methods/receivable.d.ts +16 -0
- package/dist/nano/rpc/methods/receivable.js +22 -0
- package/dist/nano/rpc/methods/representatives-online.d.ts +13 -0
- package/dist/nano/rpc/methods/representatives-online.js +18 -0
- package/dist/nano/rpc/methods/representatives.d.ts +16 -0
- package/dist/nano/rpc/methods/representatives.js +7 -0
- package/dist/nano/rpc/methods/republish.d.ts +22 -0
- package/dist/nano/rpc/methods/republish.js +7 -0
- package/dist/nano/rpc/methods/sign.d.ts +13 -0
- package/dist/nano/rpc/methods/sign.js +18 -0
- package/dist/nano/rpc/methods/stats-clear.d.ts +12 -0
- package/dist/nano/rpc/methods/stats-clear.js +7 -0
- package/dist/nano/rpc/methods/stats.d.ts +11 -0
- package/dist/nano/rpc/methods/stats.js +18 -0
- package/dist/nano/rpc/methods/stop.d.ts +12 -0
- package/dist/nano/rpc/methods/stop.js +7 -0
- package/dist/nano/rpc/methods/successors.d.ts +20 -0
- package/dist/nano/rpc/methods/successors.js +7 -0
- package/dist/nano/rpc/methods/telemetry.d.ts +17 -0
- package/dist/nano/rpc/methods/telemetry.js +22 -0
- package/dist/nano/rpc/methods/unchecked-clear.d.ts +12 -0
- package/dist/nano/rpc/methods/unchecked-clear.js +7 -0
- package/dist/nano/rpc/methods/unchecked-get.d.ts +13 -0
- package/dist/nano/rpc/methods/unchecked-get.js +18 -0
- package/dist/nano/rpc/methods/unchecked-keys.d.ts +13 -0
- package/dist/nano/rpc/methods/unchecked-keys.js +18 -0
- package/dist/nano/rpc/methods/unchecked.d.ts +13 -0
- package/dist/nano/rpc/methods/unchecked.js +18 -0
- package/dist/nano/rpc/methods/unopened.d.ts +18 -0
- package/dist/nano/rpc/methods/unopened.js +7 -0
- package/dist/nano/rpc/methods/uptime.d.ts +12 -0
- package/dist/nano/rpc/methods/uptime.js +7 -0
- package/dist/nano/rpc/methods/validate-account-number.d.ts +14 -0
- package/dist/nano/rpc/methods/validate-account-number.js +7 -0
- package/dist/nano/rpc/methods/version.d.ts +26 -0
- package/dist/nano/rpc/methods/version.js +7 -0
- package/dist/nano/rpc/methods/work-cancel.d.ts +14 -0
- package/dist/nano/rpc/methods/work-cancel.js +7 -0
- package/dist/nano/rpc/methods/work-generate.d.ts +82 -0
- package/dist/nano/rpc/methods/work-generate.js +7 -0
- package/dist/nano/rpc/methods/work-peer-add.d.ts +16 -0
- package/dist/nano/rpc/methods/work-peer-add.js +7 -0
- package/dist/nano/rpc/methods/work-peers-clear.d.ts +12 -0
- package/dist/nano/rpc/methods/work-peers-clear.js +7 -0
- package/dist/nano/rpc/methods/work-peers.d.ts +12 -0
- package/dist/nano/rpc/methods/work-peers.js +7 -0
- package/dist/nano/rpc/methods/work-validate.d.ts +26 -0
- package/dist/nano/rpc/methods/work-validate.js +7 -0
- package/dist/nano/rpc/requests/account-balance.d.ts +7 -0
- package/dist/nano/rpc/requests/account-balance.js +13 -0
- package/dist/nano/rpc/requests/account-block-count.d.ts +6 -0
- package/dist/nano/rpc/requests/account-block-count.js +11 -0
- package/dist/nano/rpc/requests/account-get.d.ts +6 -0
- package/dist/nano/rpc/requests/account-get.js +11 -0
- package/dist/nano/rpc/requests/account-history.d.ts +13 -0
- package/dist/nano/rpc/requests/account-history.js +21 -0
- package/dist/nano/rpc/requests/account-info.d.ts +10 -0
- package/dist/nano/rpc/requests/account-info.js +16 -0
- package/dist/nano/rpc/requests/account-key.d.ts +6 -0
- package/dist/nano/rpc/requests/account-key.js +11 -0
- package/dist/nano/rpc/requests/account-representative.d.ts +6 -0
- package/dist/nano/rpc/requests/account-representative.js +11 -0
- package/dist/nano/rpc/requests/account-weight.d.ts +6 -0
- package/dist/nano/rpc/requests/account-weight.js +11 -0
- package/dist/nano/rpc/requests/accounts-balances.d.ts +7 -0
- package/dist/nano/rpc/requests/accounts-balances.js +13 -0
- package/dist/nano/rpc/requests/accounts-frontiers.d.ts +6 -0
- package/dist/nano/rpc/requests/accounts-frontiers.js +11 -0
- package/dist/nano/rpc/requests/accounts-receivable.d.ts +12 -0
- package/dist/nano/rpc/requests/accounts-receivable.js +20 -0
- package/dist/nano/rpc/requests/accounts-representatives.d.ts +6 -0
- package/dist/nano/rpc/requests/accounts-representatives.js +11 -0
- package/dist/nano/rpc/requests/available-supply.d.ts +5 -0
- package/dist/nano/rpc/requests/available-supply.js +9 -0
- package/dist/nano/rpc/requests/block-account.d.ts +6 -0
- package/dist/nano/rpc/requests/block-account.js +11 -0
- package/dist/nano/rpc/requests/block-confirm.d.ts +6 -0
- package/dist/nano/rpc/requests/block-confirm.js +11 -0
- package/dist/nano/rpc/requests/block-count.d.ts +5 -0
- package/dist/nano/rpc/requests/block-count.js +9 -0
- package/dist/nano/rpc/requests/block-create.d.ts +19 -0
- package/dist/nano/rpc/requests/block-create.js +32 -0
- package/dist/nano/rpc/requests/block-hash.d.ts +21 -0
- package/dist/nano/rpc/requests/block-hash.js +19 -0
- package/dist/nano/rpc/requests/block-info.d.ts +8 -0
- package/dist/nano/rpc/requests/block-info.js +14 -0
- package/dist/nano/rpc/requests/blocks-info.d.ts +12 -0
- package/dist/nano/rpc/requests/blocks-info.js +18 -0
- package/dist/nano/rpc/requests/blocks.d.ts +7 -0
- package/dist/nano/rpc/requests/blocks.js +13 -0
- package/dist/nano/rpc/requests/bootstrap-any.d.ts +6 -0
- package/dist/nano/rpc/requests/bootstrap-any.js +11 -0
- package/dist/nano/rpc/requests/bootstrap-lazy.d.ts +6 -0
- package/dist/nano/rpc/requests/bootstrap-lazy.js +11 -0
- package/dist/nano/rpc/requests/bootstrap-priorities.d.ts +5 -0
- package/dist/nano/rpc/requests/bootstrap-priorities.js +9 -0
- package/dist/nano/rpc/requests/bootstrap-reset.d.ts +5 -0
- package/dist/nano/rpc/requests/bootstrap-reset.js +9 -0
- package/dist/nano/rpc/requests/bootstrap-status.d.ts +5 -0
- package/dist/nano/rpc/requests/bootstrap-status.js +9 -0
- package/dist/nano/rpc/requests/bootstrap.d.ts +7 -0
- package/dist/nano/rpc/requests/bootstrap.js +13 -0
- package/dist/nano/rpc/requests/chain.d.ts +9 -0
- package/dist/nano/rpc/requests/chain.js +16 -0
- package/dist/nano/rpc/requests/confirmation-active.d.ts +6 -0
- package/dist/nano/rpc/requests/confirmation-active.js +11 -0
- package/dist/nano/rpc/requests/confirmation-history.d.ts +6 -0
- package/dist/nano/rpc/requests/confirmation-history.js +11 -0
- package/dist/nano/rpc/requests/confirmation-info.d.ts +9 -0
- package/dist/nano/rpc/requests/confirmation-info.js +15 -0
- package/dist/nano/rpc/requests/confirmation-quorum.d.ts +6 -0
- package/dist/nano/rpc/requests/confirmation-quorum.js +11 -0
- package/dist/nano/rpc/requests/database-txn-tracker.d.ts +7 -0
- package/dist/nano/rpc/requests/database-txn-tracker.js +12 -0
- package/dist/nano/rpc/requests/delegators-count.d.ts +6 -0
- package/dist/nano/rpc/requests/delegators-count.js +11 -0
- package/dist/nano/rpc/requests/delegators.d.ts +9 -0
- package/dist/nano/rpc/requests/delegators.js +16 -0
- package/dist/nano/rpc/requests/deterministic-key.d.ts +7 -0
- package/dist/nano/rpc/requests/deterministic-key.js +12 -0
- package/dist/nano/rpc/requests/election-statistics.d.ts +5 -0
- package/dist/nano/rpc/requests/election-statistics.js +9 -0
- package/dist/nano/rpc/requests/epoch-upgrade.d.ts +9 -0
- package/dist/nano/rpc/requests/epoch-upgrade.js +15 -0
- package/dist/nano/rpc/requests/frontier-count.d.ts +5 -0
- package/dist/nano/rpc/requests/frontier-count.js +9 -0
- package/dist/nano/rpc/requests/frontiers.d.ts +7 -0
- package/dist/nano/rpc/requests/frontiers.js +13 -0
- package/dist/nano/rpc/requests/index.d.ts +75 -0
- package/dist/nano/rpc/requests/index.js +91 -0
- package/dist/nano/rpc/requests/keepalive.d.ts +7 -0
- package/dist/nano/rpc/requests/keepalive.js +13 -0
- package/dist/nano/rpc/requests/key-create.d.ts +5 -0
- package/dist/nano/rpc/requests/key-create.js +9 -0
- package/dist/nano/rpc/requests/key-expand.d.ts +6 -0
- package/dist/nano/rpc/requests/key-expand.js +11 -0
- package/dist/nano/rpc/requests/ledger.d.ts +13 -0
- package/dist/nano/rpc/requests/ledger.js +22 -0
- package/dist/nano/rpc/requests/nano-to-raw.d.ts +6 -0
- package/dist/nano/rpc/requests/nano-to-raw.js +11 -0
- package/dist/nano/rpc/requests/node-id.d.ts +5 -0
- package/dist/nano/rpc/requests/node-id.js +9 -0
- package/dist/nano/rpc/requests/peers.d.ts +6 -0
- package/dist/nano/rpc/requests/peers.js +11 -0
- package/dist/nano/rpc/requests/populate-backlog.d.ts +5 -0
- package/dist/nano/rpc/requests/populate-backlog.js +9 -0
- package/dist/nano/rpc/requests/process.d.ts +27 -0
- package/dist/nano/rpc/requests/process.js +27 -0
- package/dist/nano/rpc/requests/raw-to-nano.d.ts +6 -0
- package/dist/nano/rpc/requests/raw-to-nano.js +11 -0
- package/dist/nano/rpc/requests/receivable-exists.d.ts +8 -0
- package/dist/nano/rpc/requests/receivable-exists.js +14 -0
- package/dist/nano/rpc/requests/receivable.d.ts +14 -0
- package/dist/nano/rpc/requests/receivable.js +22 -0
- package/dist/nano/rpc/requests/representatives-online.d.ts +7 -0
- package/dist/nano/rpc/requests/representatives-online.js +13 -0
- package/dist/nano/rpc/requests/representatives.d.ts +7 -0
- package/dist/nano/rpc/requests/representatives.js +13 -0
- package/dist/nano/rpc/requests/republish.d.ts +9 -0
- package/dist/nano/rpc/requests/republish.js +15 -0
- package/dist/nano/rpc/requests/sign.d.ts +55 -0
- package/dist/nano/rpc/requests/sign.js +49 -0
- package/dist/nano/rpc/requests/stats-clear.d.ts +5 -0
- package/dist/nano/rpc/requests/stats-clear.js +9 -0
- package/dist/nano/rpc/requests/stats.d.ts +6 -0
- package/dist/nano/rpc/requests/stats.js +10 -0
- package/dist/nano/rpc/requests/stop.d.ts +5 -0
- package/dist/nano/rpc/requests/stop.js +9 -0
- package/dist/nano/rpc/requests/successors.d.ts +9 -0
- package/dist/nano/rpc/requests/successors.js +16 -0
- package/dist/nano/rpc/requests/telemetry.d.ts +8 -0
- package/dist/nano/rpc/requests/telemetry.js +15 -0
- package/dist/nano/rpc/requests/unchecked-clear.d.ts +5 -0
- package/dist/nano/rpc/requests/unchecked-clear.js +9 -0
- package/dist/nano/rpc/requests/unchecked-get.d.ts +7 -0
- package/dist/nano/rpc/requests/unchecked-get.js +13 -0
- package/dist/nano/rpc/requests/unchecked-keys.d.ts +8 -0
- package/dist/nano/rpc/requests/unchecked-keys.js +15 -0
- package/dist/nano/rpc/requests/unchecked.d.ts +7 -0
- package/dist/nano/rpc/requests/unchecked.js +13 -0
- package/dist/nano/rpc/requests/unopened.d.ts +8 -0
- package/dist/nano/rpc/requests/unopened.js +15 -0
- package/dist/nano/rpc/requests/uptime.d.ts +5 -0
- package/dist/nano/rpc/requests/uptime.js +9 -0
- package/dist/nano/rpc/requests/validate-account-number.d.ts +6 -0
- package/dist/nano/rpc/requests/validate-account-number.js +10 -0
- package/dist/nano/rpc/requests/version.d.ts +5 -0
- package/dist/nano/rpc/requests/version.js +9 -0
- package/dist/nano/rpc/requests/work-cancel.d.ts +6 -0
- package/dist/nano/rpc/requests/work-cancel.js +11 -0
- package/dist/nano/rpc/requests/work-generate.d.ts +37 -0
- package/dist/nano/rpc/requests/work-generate.js +39 -0
- package/dist/nano/rpc/requests/work-peer-add.d.ts +7 -0
- package/dist/nano/rpc/requests/work-peer-add.js +13 -0
- package/dist/nano/rpc/requests/work-peers-clear.d.ts +5 -0
- package/dist/nano/rpc/requests/work-peers-clear.js +9 -0
- package/dist/nano/rpc/requests/work-peers.d.ts +5 -0
- package/dist/nano/rpc/requests/work-peers.js +9 -0
- package/dist/nano/rpc/requests/work-validate.d.ts +8 -0
- package/dist/nano/rpc/requests/work-validate.js +14 -0
- package/dist/nano/rpc/responses/account-balance.d.ts +7 -0
- package/dist/nano/rpc/responses/account-balance.js +12 -0
- package/dist/nano/rpc/responses/account-block-count.d.ts +5 -0
- package/dist/nano/rpc/responses/account-block-count.js +10 -0
- package/dist/nano/rpc/responses/account-get.d.ts +5 -0
- package/dist/nano/rpc/responses/account-get.js +10 -0
- package/dist/nano/rpc/responses/account-history.d.ts +229 -0
- package/dist/nano/rpc/responses/account-history.js +143 -0
- package/dist/nano/rpc/responses/account-info.d.ts +124 -0
- package/dist/nano/rpc/responses/account-info.js +53 -0
- package/dist/nano/rpc/responses/account-key.d.ts +5 -0
- package/dist/nano/rpc/responses/account-key.js +10 -0
- package/dist/nano/rpc/responses/account-representative.d.ts +5 -0
- package/dist/nano/rpc/responses/account-representative.js +10 -0
- package/dist/nano/rpc/responses/account-weight.d.ts +5 -0
- package/dist/nano/rpc/responses/account-weight.js +10 -0
- package/dist/nano/rpc/responses/accounts-balances.d.ts +10 -0
- package/dist/nano/rpc/responses/accounts-balances.js +17 -0
- package/dist/nano/rpc/responses/accounts-frontiers.d.ts +6 -0
- package/dist/nano/rpc/responses/accounts-frontiers.js +12 -0
- package/dist/nano/rpc/responses/accounts-receivable.d.ts +25 -0
- package/dist/nano/rpc/responses/accounts-receivable.js +28 -0
- package/dist/nano/rpc/responses/accounts-representatives.d.ts +6 -0
- package/dist/nano/rpc/responses/accounts-representatives.js +11 -0
- package/dist/nano/rpc/responses/available-supply.d.ts +5 -0
- package/dist/nano/rpc/responses/available-supply.js +10 -0
- package/dist/nano/rpc/responses/block-account.d.ts +5 -0
- package/dist/nano/rpc/responses/block-account.js +10 -0
- package/dist/nano/rpc/responses/block-confirm.d.ts +5 -0
- package/dist/nano/rpc/responses/block-confirm.js +9 -0
- package/dist/nano/rpc/responses/block-count.d.ts +7 -0
- package/dist/nano/rpc/responses/block-count.js +12 -0
- package/dist/nano/rpc/responses/block-create.d.ts +21 -0
- package/dist/nano/rpc/responses/block-create.js +20 -0
- package/dist/nano/rpc/responses/block-hash.d.ts +5 -0
- package/dist/nano/rpc/responses/block-hash.js +10 -0
- package/dist/nano/rpc/responses/block-info.d.ts +249 -0
- package/dist/nano/rpc/responses/block-info.js +41 -0
- package/dist/nano/rpc/responses/blocks-info.d.ts +26 -0
- package/dist/nano/rpc/responses/blocks-info.js +21 -0
- package/dist/nano/rpc/responses/blocks.d.ts +16 -0
- package/dist/nano/rpc/responses/blocks.js +15 -0
- package/dist/nano/rpc/responses/bootstrap-any.d.ts +3 -0
- package/dist/nano/rpc/responses/bootstrap-any.js +7 -0
- package/dist/nano/rpc/responses/bootstrap-lazy.d.ts +3 -0
- package/dist/nano/rpc/responses/bootstrap-lazy.js +7 -0
- package/dist/nano/rpc/responses/bootstrap-priorities.d.ts +13 -0
- package/dist/nano/rpc/responses/bootstrap-priorities.js +26 -0
- package/dist/nano/rpc/responses/bootstrap-reset.d.ts +5 -0
- package/dist/nano/rpc/responses/bootstrap-reset.js +9 -0
- package/dist/nano/rpc/responses/bootstrap-status.d.ts +6 -0
- package/dist/nano/rpc/responses/bootstrap-status.js +64 -0
- package/dist/nano/rpc/responses/bootstrap.d.ts +3 -0
- package/dist/nano/rpc/responses/bootstrap.js +7 -0
- package/dist/nano/rpc/responses/chain.d.ts +5 -0
- package/dist/nano/rpc/responses/chain.js +10 -0
- package/dist/nano/rpc/responses/confirmation-active.d.ts +7 -0
- package/dist/nano/rpc/responses/confirmation-active.js +13 -0
- package/dist/nano/rpc/responses/confirmation-history.d.ts +18 -0
- package/dist/nano/rpc/responses/confirmation-history.js +30 -0
- package/dist/nano/rpc/responses/confirmation-info.d.ts +52 -0
- package/dist/nano/rpc/responses/confirmation-info.js +39 -0
- package/dist/nano/rpc/responses/confirmation-quorum.d.ts +27 -0
- package/dist/nano/rpc/responses/confirmation-quorum.js +25 -0
- package/dist/nano/rpc/responses/database-txn-tracker.d.ts +15 -0
- package/dist/nano/rpc/responses/database-txn-tracker.js +24 -0
- package/dist/nano/rpc/responses/delegators-count.d.ts +5 -0
- package/dist/nano/rpc/responses/delegators-count.js +10 -0
- package/dist/nano/rpc/responses/delegators.d.ts +5 -0
- package/dist/nano/rpc/responses/delegators.js +11 -0
- package/dist/nano/rpc/responses/deterministic-key.d.ts +7 -0
- package/dist/nano/rpc/responses/deterministic-key.js +14 -0
- package/dist/nano/rpc/responses/election-statistics.d.ts +12 -0
- package/dist/nano/rpc/responses/election-statistics.js +19 -0
- package/dist/nano/rpc/responses/epoch-upgrade.d.ts +5 -0
- package/dist/nano/rpc/responses/epoch-upgrade.js +10 -0
- package/dist/nano/rpc/responses/error-response.d.ts +5 -0
- package/dist/nano/rpc/responses/error-response.js +11 -0
- package/dist/nano/rpc/responses/frontier-count.d.ts +5 -0
- package/dist/nano/rpc/responses/frontier-count.js +10 -0
- package/dist/nano/rpc/responses/frontiers.d.ts +5 -0
- package/dist/nano/rpc/responses/frontiers.js +11 -0
- package/dist/nano/rpc/responses/index.d.ts +75 -0
- package/dist/nano/rpc/responses/index.js +91 -0
- package/dist/nano/rpc/responses/keepalive.d.ts +5 -0
- package/dist/nano/rpc/responses/keepalive.js +9 -0
- package/dist/nano/rpc/responses/key-create.d.ts +7 -0
- package/dist/nano/rpc/responses/key-create.js +14 -0
- package/dist/nano/rpc/responses/key-expand.d.ts +7 -0
- package/dist/nano/rpc/responses/key-expand.js +14 -0
- package/dist/nano/rpc/responses/ledger.d.ts +75 -0
- package/dist/nano/rpc/responses/ledger.js +37 -0
- package/dist/nano/rpc/responses/nano-to-raw.d.ts +5 -0
- package/dist/nano/rpc/responses/nano-to-raw.js +10 -0
- package/dist/nano/rpc/responses/node-id.d.ts +7 -0
- package/dist/nano/rpc/responses/node-id.js +14 -0
- package/dist/nano/rpc/responses/peers.d.ts +22 -0
- package/dist/nano/rpc/responses/peers.js +21 -0
- package/dist/nano/rpc/responses/populate-backlog.d.ts +5 -0
- package/dist/nano/rpc/responses/populate-backlog.js +9 -0
- package/dist/nano/rpc/responses/process.d.ts +15 -0
- package/dist/nano/rpc/responses/process.js +14 -0
- package/dist/nano/rpc/responses/raw-to-nano.d.ts +5 -0
- package/dist/nano/rpc/responses/raw-to-nano.js +10 -0
- package/dist/nano/rpc/responses/receivable-exists.d.ts +5 -0
- package/dist/nano/rpc/responses/receivable-exists.js +13 -0
- package/dist/nano/rpc/responses/receivable.d.ts +34 -0
- package/dist/nano/rpc/responses/receivable.js +42 -0
- package/dist/nano/rpc/responses/representatives-online.d.ts +21 -0
- package/dist/nano/rpc/responses/representatives-online.js +19 -0
- package/dist/nano/rpc/responses/representatives.d.ts +5 -0
- package/dist/nano/rpc/responses/representatives.js +11 -0
- package/dist/nano/rpc/responses/republish.d.ts +6 -0
- package/dist/nano/rpc/responses/republish.js +11 -0
- package/dist/nano/rpc/responses/sign.d.ts +17 -0
- package/dist/nano/rpc/responses/sign.js +16 -0
- package/dist/nano/rpc/responses/stats-clear.d.ts +5 -0
- package/dist/nano/rpc/responses/stats-clear.js +9 -0
- package/dist/nano/rpc/responses/stats.d.ts +71 -0
- package/dist/nano/rpc/responses/stats.js +61 -0
- package/dist/nano/rpc/responses/stop.d.ts +5 -0
- package/dist/nano/rpc/responses/stop.js +9 -0
- package/dist/nano/rpc/responses/successors.d.ts +5 -0
- package/dist/nano/rpc/responses/successors.js +10 -0
- package/dist/nano/rpc/responses/telemetry.d.ts +61 -0
- package/dist/nano/rpc/responses/telemetry.js +54 -0
- package/dist/nano/rpc/responses/unchecked-clear.d.ts +5 -0
- package/dist/nano/rpc/responses/unchecked-clear.js +9 -0
- package/dist/nano/rpc/responses/unchecked-get.d.ts +18 -0
- package/dist/nano/rpc/responses/unchecked-get.js +17 -0
- package/dist/nano/rpc/responses/unchecked-keys.d.ts +33 -0
- package/dist/nano/rpc/responses/unchecked-keys.js +30 -0
- package/dist/nano/rpc/responses/unchecked.d.ts +16 -0
- package/dist/nano/rpc/responses/unchecked.js +15 -0
- package/dist/nano/rpc/responses/unopened.d.ts +5 -0
- package/dist/nano/rpc/responses/unopened.js +11 -0
- package/dist/nano/rpc/responses/uptime.d.ts +5 -0
- package/dist/nano/rpc/responses/uptime.js +13 -0
- package/dist/nano/rpc/responses/validate-account-number.d.ts +5 -0
- package/dist/nano/rpc/responses/validate-account-number.js +10 -0
- package/dist/nano/rpc/responses/version.d.ts +12 -0
- package/dist/nano/rpc/responses/version.js +21 -0
- package/dist/nano/rpc/responses/work-cancel.d.ts +5 -0
- package/dist/nano/rpc/responses/work-cancel.js +9 -0
- package/dist/nano/rpc/responses/work-generate.d.ts +8 -0
- package/dist/nano/rpc/responses/work-generate.js +16 -0
- package/dist/nano/rpc/responses/work-peer-add.d.ts +5 -0
- package/dist/nano/rpc/responses/work-peer-add.js +9 -0
- package/dist/nano/rpc/responses/work-peers-clear.d.ts +5 -0
- package/dist/nano/rpc/responses/work-peers-clear.js +9 -0
- package/dist/nano/rpc/responses/work-peers.d.ts +5 -0
- package/dist/nano/rpc/responses/work-peers.js +9 -0
- package/dist/nano/rpc/responses/work-validate.d.ts +9 -0
- package/dist/nano/rpc/responses/work-validate.js +16 -0
- package/dist/nano/types/account.d.ts +10 -0
- package/dist/nano/types/account.js +49 -0
- package/dist/nano/types/amount.d.ts +25 -0
- package/dist/nano/types/amount.js +103 -0
- package/dist/nano/types/binary-boolean-string.d.ts +3 -0
- package/dist/nano/types/binary-boolean-string.js +6 -0
- package/dist/nano/types/boolean-distribution.d.ts +1 -0
- package/dist/nano/types/boolean-distribution.js +2 -0
- package/dist/nano/types/boolean-option.d.ts +1 -0
- package/dist/nano/types/boolean-option.js +2 -0
- package/dist/nano/types/boolean.d.ts +3 -0
- package/dist/nano/types/boolean.js +6 -0
- package/dist/nano/types/byte-array.d.ts +3 -0
- package/dist/nano/types/byte-array.js +9 -0
- package/dist/nano/types/endpoint.d.ts +3 -0
- package/dist/nano/types/endpoint.js +54 -0
- package/dist/nano/types/hash.d.ts +6 -0
- package/dist/nano/types/hash.js +9 -0
- package/dist/nano/types/height.d.ts +9 -0
- package/dist/nano/types/height.js +17 -0
- package/dist/nano/types/hex.d.ts +3 -0
- package/dist/nano/types/hex.js +6 -0
- package/dist/nano/types/index.d.ts +24 -0
- package/dist/nano/types/index.js +77 -0
- package/dist/nano/types/int.d.ts +9 -0
- package/dist/nano/types/int.js +20 -0
- package/dist/nano/types/link.d.ts +3 -0
- package/dist/nano/types/link.js +7 -0
- package/dist/nano/types/lowercase-keys.d.ts +3 -0
- package/dist/nano/types/lowercase-keys.js +2 -0
- package/dist/nano/types/nacl.d.ts +32 -0
- package/dist/nano/types/nacl.js +895 -0
- package/dist/nano/types/node-id.d.ts +3 -0
- package/dist/nano/types/node-id.js +6 -0
- package/dist/nano/types/non-throwing.d.ts +3 -0
- package/dist/nano/types/non-throwing.js +2 -0
- package/dist/nano/types/number.d.ts +3 -0
- package/dist/nano/types/number.js +18 -0
- package/dist/nano/types/port.d.ts +9 -0
- package/dist/nano/types/port.js +17 -0
- package/dist/nano/types/private-key.d.ts +6 -0
- package/dist/nano/types/private-key.js +9 -0
- package/dist/nano/types/public-key.d.ts +6 -0
- package/dist/nano/types/public-key.js +9 -0
- package/dist/nano/types/result.d.ts +16 -0
- package/dist/nano/types/result.js +2 -0
- package/dist/nano/types/root.d.ts +6 -0
- package/dist/nano/types/root.js +9 -0
- package/dist/nano/types/seed.d.ts +9 -0
- package/dist/nano/types/seed.js +13 -0
- package/dist/nano/types/signature.d.ts +6 -0
- package/dist/nano/types/signature.js +9 -0
- package/dist/nano/types/subtype.d.ts +5 -0
- package/dist/nano/types/subtype.js +8 -0
- package/dist/nano/types/throwing.d.ts +3 -0
- package/dist/nano/types/throwing.js +2 -0
- package/dist/nano/types/timestamp.d.ts +11 -0
- package/dist/nano/types/timestamp.js +19 -0
- package/dist/nano/types/type.d.ts +13 -0
- package/dist/nano/types/type.js +20 -0
- package/dist/nano/types/uint.d.ts +9 -0
- package/dist/nano/types/uint.js +20 -0
- package/dist/nano/types/uppercase-keys.d.ts +3 -0
- package/dist/nano/types/uppercase-keys.js +2 -0
- package/dist/nano/types/work-difficulty.d.ts +3 -0
- package/dist/nano/types/work-difficulty.js +6 -0
- package/dist/nano/types/work.d.ts +6 -0
- package/dist/nano/types/work.js +9 -0
- package/dist/nano/web-socket/client/index.d.ts +1 -0
- package/dist/nano/web-socket/client/index.js +17 -0
- package/dist/nano/web-socket/client/web-socket-client.d.ts +334 -0
- package/dist/nano/web-socket/client/web-socket-client.js +630 -0
- package/dist/nano/web-socket/index.d.ts +4 -0
- package/dist/nano/web-socket/index.js +20 -0
- package/dist/nano/web-socket/requests/ack.d.ts +7 -0
- package/dist/nano/web-socket/requests/ack.js +12 -0
- package/dist/nano/web-socket/requests/bootstrap.d.ts +8 -0
- package/dist/nano/web-socket/requests/bootstrap.js +11 -0
- package/dist/nano/web-socket/requests/confirmation.d.ts +20 -0
- package/dist/nano/web-socket/requests/confirmation.js +28 -0
- package/dist/nano/web-socket/requests/index.d.ts +10 -0
- package/dist/nano/web-socket/requests/index.js +26 -0
- package/dist/nano/web-socket/requests/new-unconfirmed-block.d.ts +8 -0
- package/dist/nano/web-socket/requests/new-unconfirmed-block.js +11 -0
- package/dist/nano/web-socket/requests/ping.d.ts +7 -0
- package/dist/nano/web-socket/requests/ping.js +9 -0
- package/dist/nano/web-socket/requests/started-election.d.ts +8 -0
- package/dist/nano/web-socket/requests/started-election.js +11 -0
- package/dist/nano/web-socket/requests/stopped-election.d.ts +8 -0
- package/dist/nano/web-socket/requests/stopped-election.js +11 -0
- package/dist/nano/web-socket/requests/telemetry.d.ts +8 -0
- package/dist/nano/web-socket/requests/telemetry.js +11 -0
- package/dist/nano/web-socket/requests/vote.d.ts +13 -0
- package/dist/nano/web-socket/requests/vote.js +20 -0
- package/dist/nano/web-socket/requests/work.d.ts +8 -0
- package/dist/nano/web-socket/requests/work.js +11 -0
- package/dist/nano/web-socket/responses/ack.d.ts +7 -0
- package/dist/nano/web-socket/responses/ack.js +12 -0
- package/dist/nano/web-socket/responses/bootstrap.d.ts +29 -0
- package/dist/nano/web-socket/responses/bootstrap.js +27 -0
- package/dist/nano/web-socket/responses/confirmation.d.ts +208 -0
- package/dist/nano/web-socket/responses/confirmation.js +72 -0
- package/dist/nano/web-socket/responses/index.d.ts +14 -0
- package/dist/nano/web-socket/responses/index.js +30 -0
- package/dist/nano/web-socket/responses/new-unconfirmed-block.d.ts +84 -0
- package/dist/nano/web-socket/responses/new-unconfirmed-block.js +29 -0
- package/dist/nano/web-socket/responses/pong-ack-response.d.ts +7 -0
- package/dist/nano/web-socket/responses/pong-ack-response.js +11 -0
- package/dist/nano/web-socket/responses/started-election.d.ts +13 -0
- package/dist/nano/web-socket/responses/started-election.js +16 -0
- package/dist/nano/web-socket/responses/stopped-election.d.ts +13 -0
- package/dist/nano/web-socket/responses/stopped-election.js +16 -0
- package/dist/nano/web-socket/responses/subscribe-ack-response.d.ts +7 -0
- package/dist/nano/web-socket/responses/subscribe-ack-response.js +11 -0
- package/dist/nano/web-socket/responses/telemetry.d.ts +51 -0
- package/dist/nano/web-socket/responses/telemetry.js +41 -0
- package/dist/nano/web-socket/responses/topic.d.ts +6 -0
- package/dist/nano/web-socket/responses/topic.js +11 -0
- package/dist/nano/web-socket/responses/unsubscribe-ack-response.d.ts +7 -0
- package/dist/nano/web-socket/responses/unsubscribe-ack-response.js +11 -0
- package/dist/nano/web-socket/responses/update-ack-response.d.ts +7 -0
- package/dist/nano/web-socket/responses/update-ack-response.js +11 -0
- package/dist/nano/web-socket/responses/vote.d.ts +25 -0
- package/dist/nano/web-socket/responses/vote.js +26 -0
- package/dist/nano/web-socket/responses/work.d.ts +43 -0
- package/dist/nano/web-socket/responses/work.js +38 -0
- package/dist/nano/web-socket/types/ack.d.ts +3 -0
- package/dist/nano/web-socket/types/ack.js +7 -0
- package/dist/nano/web-socket/types/action.d.ts +3 -0
- package/dist/nano/web-socket/types/action.js +6 -0
- package/dist/nano/web-socket/types/confirmation-type.d.ts +3 -0
- package/dist/nano/web-socket/types/confirmation-type.js +11 -0
- package/dist/nano/web-socket/types/index.d.ts +5 -0
- package/dist/nano/web-socket/types/index.js +21 -0
- package/dist/nano/web-socket/types/topic.d.ts +3 -0
- package/dist/nano/web-socket/types/topic.js +14 -0
- package/dist/nano/web-socket/types/vote-type.d.ts +3 -0
- package/dist/nano/web-socket/types/vote-type.js +13 -0
- package/package.json +84 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Andreas Lichnovsky
|
|
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.
|
package/README.md
ADDED
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
<a name="nano-sdk"></a>
|
|
2
|
+
# nano-sdk
|
|
3
|
+
|
|
4
|
+
Production-grade TypeScript SDK for interacting with a **Nano** node, providing fully typed and runtime-validated RPC and WebSocket APIs, a built-in WebSocket client with typed ack and topic listeners, and utilities for blocks, cryptography, and safe raw amount arithmetic.
|
|
5
|
+
|
|
6
|
+
<a name="installation"></a>
|
|
7
|
+
## Installation
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm i nano-sdk zod
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
<a name="quick-start"></a>
|
|
14
|
+
## Quick Start
|
|
15
|
+
|
|
16
|
+
```ts
|
|
17
|
+
import { Nano } from "nano-sdk";
|
|
18
|
+
|
|
19
|
+
const nanoRpcUrl = "http://127.0.0.1:7076";
|
|
20
|
+
|
|
21
|
+
// Alias
|
|
22
|
+
type AccountString = Nano.Types.AccountString;
|
|
23
|
+
const AccountString = Nano.Types.AccountString();
|
|
24
|
+
|
|
25
|
+
async function fetchAccountBalance(account: AccountString) {
|
|
26
|
+
// 1) Validate user input
|
|
27
|
+
const validatedAccount = AccountString.parse(account);
|
|
28
|
+
|
|
29
|
+
// 2) Typed RPC call
|
|
30
|
+
const response = await Nano.RPC.account_balance(
|
|
31
|
+
nanoRpcUrl,
|
|
32
|
+
{
|
|
33
|
+
action: "account_balance",
|
|
34
|
+
account: validatedAccount,
|
|
35
|
+
include_only_confirmed: true,
|
|
36
|
+
},
|
|
37
|
+
{ timeoutInMs: 2000 }
|
|
38
|
+
);
|
|
39
|
+
|
|
40
|
+
// 3) Convert and format raw balance
|
|
41
|
+
const balanceInNano = Nano.Math.rawToNano({ raw: response.balance, decimalPlaces: 6 });
|
|
42
|
+
|
|
43
|
+
// 4) Output balanceInNano
|
|
44
|
+
console.log("Balance (Nano):", balanceInNano);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
fetchAccountBalance("nano_3t6k35gi95xu6tergt6p69ck76ogmitsa8mnijtpxm9fkcm736xtoncuohr3").catch((err) => console.error("Unexpected failure:", err));
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
<a name="typed-rpc-example"></a>
|
|
51
|
+
## Typed & Runtime-Validated RPC
|
|
52
|
+
|
|
53
|
+
RPC requests and responses are fully typed and validated at runtime. Response types are derived from the corresponding request parameters, meaning the shape of the response object adapts based on the options you provide.
|
|
54
|
+
|
|
55
|
+

|
|
56
|
+
|
|
57
|
+
<a name="overview"></a>
|
|
58
|
+
## Overview & Features
|
|
59
|
+
|
|
60
|
+
The SDK uses a single root namespace (**Nano**), organized into sub-namespaces, each focused on a specific responsibility:
|
|
61
|
+
|
|
62
|
+
- `Nano.Blocks`: Block schemas (**Zod**) for validating and composing **Nano** blocks
|
|
63
|
+
- `Nano.Crypto`: Key derivation, block hashing, signing, and verification utilities
|
|
64
|
+
- `Nano.Math`: Raw amount conversion, formatting, and safe raw arithmetic
|
|
65
|
+
- `Nano.RPC`: **Nano** node RPC methods (HTTP POST), with typed requests and typed responses
|
|
66
|
+
- `Nano.Types`: Runtime validators for common **Nano** primitives (account, hash, keys, raw amounts, etc.)
|
|
67
|
+
- `Nano.WebSocket`: Fully typed **Nano** node WebSocket request and response schemas, including acknowledgement and topic message definitions
|
|
68
|
+
- `Nano.WebSocketClient`: Instantiable WebSocket client providing fully typed acknowledgement and topic-based message handling using the `Nano.WebSocket` schemas
|
|
69
|
+
|
|
70
|
+
<a name="rpc"></a>
|
|
71
|
+
## RPC Usage
|
|
72
|
+
|
|
73
|
+
All RPC methods:
|
|
74
|
+
|
|
75
|
+
- validate requests using **Zod**
|
|
76
|
+
- perform an HTTP POST (default: native `fetch`)
|
|
77
|
+
- detect and handle post errors
|
|
78
|
+
- validate responses using **Zod**
|
|
79
|
+
|
|
80
|
+
All RPC methods follow a consistent signature:
|
|
81
|
+
|
|
82
|
+
`Nano.RPC.<method>(rpcUrl, request, config?)`
|
|
83
|
+
|
|
84
|
+
- `rpcUrl` – **Nano** node RPC endpoint
|
|
85
|
+
- `request` – typed request object (including `action`)
|
|
86
|
+
- `config` *(optional)* – request behavior and transport options
|
|
87
|
+
|
|
88
|
+
### Error Handling
|
|
89
|
+
|
|
90
|
+
By default, RPC calls throw `Nano.RPC.PostError` for:
|
|
91
|
+
|
|
92
|
+
- Invalid request payloads
|
|
93
|
+
- HTTP or transport errors
|
|
94
|
+
- **Nano** node error responses
|
|
95
|
+
- Invalid or unexpected response data
|
|
96
|
+
|
|
97
|
+
If `throwOnError` is set to false, the method instead returns a structured result object indicating success or failure.
|
|
98
|
+
|
|
99
|
+
### Request config
|
|
100
|
+
|
|
101
|
+
The optional config supports:
|
|
102
|
+
|
|
103
|
+
- `throwOnError` – true (default) throws, false returns `{ success, data / error }`
|
|
104
|
+
- `timeoutInMs` – HTTP timeout
|
|
105
|
+
- `abortSignal` – cancellation via AbortController
|
|
106
|
+
- `httpClient` – custom HTTP transport
|
|
107
|
+
|
|
108
|
+
By default, errors throw `Nano.RPC.PostError`.
|
|
109
|
+
|
|
110
|
+
### Custom HTTP client
|
|
111
|
+
|
|
112
|
+
RPC methods accept a custom `httpClient` via the request config. See the `axios` example in
|
|
113
|
+
|
|
114
|
+
- [`axios-http-client.example.ts`](https://github.com/infinitybay/nano-sdk/blob/master/examples/rpc/axios-http-client.example.ts)
|
|
115
|
+
|
|
116
|
+
### Examples
|
|
117
|
+
|
|
118
|
+
- [`account-info.example.ts`](https://github.com/infinitybay/nano-sdk/blob/master/examples/rpc/account-info.example.ts)
|
|
119
|
+
- [`version.example.ts`](https://github.com/infinitybay/nano-sdk/blob/master/examples/rpc/version.example.ts)
|
|
120
|
+
|
|
121
|
+
<a name="websocket"></a>
|
|
122
|
+
## WebSocket Usage
|
|
123
|
+
|
|
124
|
+
`Nano.WebSocket` provides a complete, strongly typed implementation of all **Nano** node WebSocket request and response schemas and ships with a built-in `WebSocketClient`. By default, the client uses the globally available `WebSocket` implementation provided by the current runtime environment (browser or Node.js).
|
|
125
|
+
|
|
126
|
+
The `WebSocketClient` exposes **fully typed WebSocket interactions** through two complementary listener APIs:
|
|
127
|
+
|
|
128
|
+
- **Ack listeners** for handling typed acknowledgement messages returned by the node when a WebSocket action explicitly requests an acknowledgement (`subscribe`, `unsubscribe`, `update`, or `pong`)
|
|
129
|
+
- **Topic listeners** for typed streaming subscriptions, including `bootstrap`, `confirmation`, `new_unconfirmed_block`, `started_election`, `stopped_election`, `telemetry`, `work`, and `vote`
|
|
130
|
+
|
|
131
|
+
All incoming messages are validated and typed based on the corresponding WebSocket schemas, enabling safe, ergonomic access to response data without manual parsing or casting.
|
|
132
|
+
|
|
133
|
+

|
|
134
|
+
|
|
135
|
+
### Available options
|
|
136
|
+
|
|
137
|
+
```ts
|
|
138
|
+
const ws = new Nano.WebSocketClient(webSocketUrl, undefined, {
|
|
139
|
+
webSocketClass: undefined, // WebSocket constructor, if none provided, defaults to global WebSocket
|
|
140
|
+
connectionTimeout: 4000, // retry connect if not connected after this time, in ms
|
|
141
|
+
minUptime: 5000, // min time in ms to consider connection as stable
|
|
142
|
+
maxEnqueuedMessages: Infinity, // maximum number of messages to buffer until reconnection
|
|
143
|
+
maxReconnectionAttempts: Infinity, // maximum number of reconnection attempts
|
|
144
|
+
maxReconnectionDelay: 10000, // max delay in ms between reconnections
|
|
145
|
+
minReconnectionDelay: 1000 + Math.random() * 4000, // min delay in ms between reconnections
|
|
146
|
+
reconnectionDelayGrowFactor: 1.3, // how fast the reconnection delay grows
|
|
147
|
+
startClosed: false, // start websocket in CLOSED state, call `.reconnect()` to connect
|
|
148
|
+
});
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### Examples
|
|
152
|
+
|
|
153
|
+
- [`typed-ack-and-topic-listeners.example.ts`](https://github.com/infinitybay/nano-sdk/blob/master/examples/web-socket/typed-ack-and-topic-listeners.example.ts)
|
|
154
|
+
- [`custom-web-socket-client.example.ts`](https://github.com/infinitybay/nano-sdk/blob/master/examples/web-socket/custom-web-socket-client.example.ts)
|
|
155
|
+
|
|
156
|
+
<a name="validation"></a>
|
|
157
|
+
## Validation & Typing
|
|
158
|
+
|
|
159
|
+
`Nano.Types` provides a collection of **reusable Zod schemas** for common **Nano-specific primitives**. These schemas form the foundation for higher-level features such as cryptography and RPC validation. Use them to validate external input and to type values throughout your codebase:
|
|
160
|
+
|
|
161
|
+
- Prefer `.parse(...)` when invalid input should throw immediately
|
|
162
|
+
- Prefer `.safeParse(...)` when you want a typed success/failure result without throwing
|
|
163
|
+
|
|
164
|
+
The available schemas cover a wide range of Nano primitives, including but not limited to:
|
|
165
|
+
|
|
166
|
+
- `AccountString`, `RawAmountString`, `NanoAmountString`, `PrivateKeyString`, `PublicKeyString`, `SignatureString`, `HashString`, `HexString`, ...
|
|
167
|
+
|
|
168
|
+
### Examples
|
|
169
|
+
|
|
170
|
+
- [`alias-and-safe-parse.example.ts`](https://github.com/infinitybay/nano-sdk/blob/master/examples/types/alias-and-safe-parse.example.ts)
|
|
171
|
+
|
|
172
|
+
<a name="math"></a>
|
|
173
|
+
## Math
|
|
174
|
+
|
|
175
|
+
`Nano.Math` provides safe arithmetic, comparison, and formatting utilities for **nano** and **raw** amounts.
|
|
176
|
+
|
|
177
|
+
**Raw** amounts can be represented as **strings** (`RawAmountString`, to remain JSON-serializable) and native `BigInt` values (`RawAmount`).
|
|
178
|
+
|
|
179
|
+
**Nano** amounts are represented as **strings** (`NanoAmountString`) to avoid precision issues and eliminate the need for a `BigNumber.js` dependency.
|
|
180
|
+
|
|
181
|
+
All raw functions support **mixed inputs** (`RawAmount` and `RawAmountString`).
|
|
182
|
+
The **type of the first parameter** of arithmetic functions determines the return type:
|
|
183
|
+
- If the first `raw` parameter is a `RawAmount` (`BigInt`), the result is returned as `BigInt`
|
|
184
|
+
- If the first `raw` parameter is a `RawAmountString` (`String`), the result is returned as `String`
|
|
185
|
+
|
|
186
|
+
Available utilities:
|
|
187
|
+
|
|
188
|
+
- Conversion: `nanoToRaw`, `rawToNano`
|
|
189
|
+
- Formatting: `formatRaw`
|
|
190
|
+
- Arithmetic (with bounds checking):
|
|
191
|
+
`rawPlus`, `rawMinus`, `rawMultiply`, `rawDivide`, `rawModulo`
|
|
192
|
+
- Comparisons:
|
|
193
|
+
`rawIsZero`, `rawIsGreaterThan`, `rawIsGreaterThanOrEqualTo`, `rawIsLessThan`, `rawIsLessThanOrEqualTo`, `rawIsEqualTo`
|
|
194
|
+
|
|
195
|
+
### Examples
|
|
196
|
+
|
|
197
|
+
- [`format-raw.example.ts`](https://github.com/infinitybay/nano-sdk/blob/master/examples/math/format-raw.example.ts)
|
|
198
|
+
- [`raw-arithmetic.example.ts`](https://github.com/infinitybay/nano-sdk/blob/master/examples/math/raw-arithmetic.example.ts)
|
|
199
|
+
- [`raw-comparison.example.ts`](https://github.com/infinitybay/nano-sdk/blob/master/examples/math/raw-comparison.example.ts)
|
|
200
|
+
|
|
201
|
+
<a name="crypto"></a>
|
|
202
|
+
## Crypto
|
|
203
|
+
|
|
204
|
+
`Nano.Crypto` provides cryptographic utilities commonly needed when building **Nano**-related services:
|
|
205
|
+
|
|
206
|
+
- Key pair generation and deterministic key derivation
|
|
207
|
+
- Block hashing and hash verification
|
|
208
|
+
- Block signing and signature verification
|
|
209
|
+
- Proof-of-work hash verification
|
|
210
|
+
|
|
211
|
+
### Examples
|
|
212
|
+
|
|
213
|
+
- [`derive-account-from-seed.example.ts`](https://github.com/infinitybay/nano-sdk/blob/master/examples/crypto/derive-account-from-seed.example.ts)
|
|
214
|
+
- [`hash-and-verify-hash.example.ts`](https://github.com/infinitybay/nano-sdk/blob/master/examples/crypto/hash-and-verify-hash.example.ts)
|
|
215
|
+
- [`sign-and-verify-signature.example.ts`](https://github.com/infinitybay/nano-sdk/blob/master/examples/crypto/sign-and-verify-signature.example.ts)
|
|
216
|
+
|
|
217
|
+
## Blocks
|
|
218
|
+
|
|
219
|
+
`Nano.Blocks` provides predefined Zod schemas for composing and validating **Nano** block variants. All schemas are provided as composable building blocks and can be used as a base to define extended schemas with additional custom fields.
|
|
220
|
+
|
|
221
|
+
Available block schemas:
|
|
222
|
+
|
|
223
|
+
- `StateBlock`
|
|
224
|
+
- `LegacySendBlock`, `LegacyReceiveBlock`, `LegacyOpenBlock`, `LegacyChangeBlock`
|
|
225
|
+
- `Block` as a union of all supported block variants
|
|
226
|
+
|
|
227
|
+
### Examples
|
|
228
|
+
|
|
229
|
+
- [`state-block-with-hash.example.ts`](https://github.com/infinitybay/nano-sdk/blob/master/examples/blocks/state-block-with-hash.example.ts)
|
|
230
|
+
|
|
231
|
+
<a name="testing"></a>
|
|
232
|
+
## Testing
|
|
233
|
+
|
|
234
|
+
- Unit tests (`test/unit`) cover schemas, math edge cases, crypto utilities, and parsing/validation flows (throwing and non-throwing).
|
|
235
|
+
- Integration tests (`test/integration`) verify both **RPC** and **WebSocket** functionality against a real **Nano** node, ensuring request and response schemas match live node behavior.
|
|
236
|
+
|
|
237
|
+
Unit tests are executed using:
|
|
238
|
+
|
|
239
|
+
```bash
|
|
240
|
+
npm run test:unit
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
Integration test requirements:
|
|
244
|
+
|
|
245
|
+
- A running **Nano** node is required.
|
|
246
|
+
- All public **Nano** RPC and WebSocket endpoints must be reachable. `enable_control=true` is **not** required for any currently enabled integration tests.
|
|
247
|
+
- The RPC endpoint URL can be configured via the `config.nanoRpcUrl` field in `package.json` or via the `NANO_RPC_URL` environment variable. The environment variable takes precedence if both are set.
|
|
248
|
+
- The WebSocket endpoint URL can be configured via the `config.nanoWebSocketUrl` field in `package.json` or via the `NANO_WEB_SOCKET_URL` environment variable. The environment variable takes precedence if both are set.
|
|
249
|
+
|
|
250
|
+
Integration tests for RPC and WebSocket are executed together using:
|
|
251
|
+
|
|
252
|
+
```bash
|
|
253
|
+
npm run test:integration
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
<a name="links"></a>
|
|
257
|
+
## Links
|
|
258
|
+
|
|
259
|
+
- npm: https://www.npmjs.com/package/nano-sdk
|
|
260
|
+
- GitHub: https://github.com/infinitybay/nano-sdk
|
|
261
|
+
- Nano Node RPC Protocol: https://docs.nano.org/commands/rpc-protocol/
|
|
262
|
+
- Nano Node WebSockets Integration Guide: https://docs.nano.org/integration-guides/websockets/
|
package/dist/index.d.ts
ADDED
package/dist/index.js
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.Nano = void 0;
|
|
37
|
+
const Nano = __importStar(require("./nano"));
|
|
38
|
+
exports.Nano = Nano;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export type Block = z.infer<ReturnType<typeof Block>>;
|
|
3
|
+
export declare const Block: () => z.ZodUnion<readonly [z.ZodObject<{
|
|
4
|
+
type: z.ZodLiteral<"change">;
|
|
5
|
+
previous: z.ZodString;
|
|
6
|
+
representative: z.ZodString;
|
|
7
|
+
work: z.ZodString;
|
|
8
|
+
signature: z.ZodString;
|
|
9
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
10
|
+
type: z.ZodLiteral<"open">;
|
|
11
|
+
source: z.ZodString;
|
|
12
|
+
representative: z.ZodString;
|
|
13
|
+
account: z.ZodString;
|
|
14
|
+
work: z.ZodString;
|
|
15
|
+
signature: z.ZodString;
|
|
16
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
17
|
+
type: z.ZodLiteral<"receive">;
|
|
18
|
+
previous: z.ZodString;
|
|
19
|
+
source: z.ZodString;
|
|
20
|
+
work: z.ZodString;
|
|
21
|
+
signature: z.ZodString;
|
|
22
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
23
|
+
type: z.ZodLiteral<"send">;
|
|
24
|
+
previous: z.ZodString;
|
|
25
|
+
destination: z.ZodString;
|
|
26
|
+
balance: z.ZodString;
|
|
27
|
+
work: z.ZodString;
|
|
28
|
+
signature: z.ZodString;
|
|
29
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
30
|
+
type: z.ZodLiteral<"state">;
|
|
31
|
+
account: z.ZodString;
|
|
32
|
+
previous: z.ZodString;
|
|
33
|
+
representative: z.ZodString;
|
|
34
|
+
balance: z.ZodString;
|
|
35
|
+
link: z.ZodUnion<[z.ZodString, z.ZodString]>;
|
|
36
|
+
link_as_account: z.ZodString;
|
|
37
|
+
signature: z.ZodString;
|
|
38
|
+
work: z.ZodString;
|
|
39
|
+
}, z.core.$strip>]>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Block = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const legacy_change_block_1 = require("./legacy-change-block");
|
|
6
|
+
const legacy_open_block_1 = require("./legacy-open-block");
|
|
7
|
+
const legacy_receive_block_1 = require("./legacy-receive-block");
|
|
8
|
+
const legacy_send_block_1 = require("./legacy-send-block");
|
|
9
|
+
const state_block_1 = require("./state-block");
|
|
10
|
+
const Block = () => zod_1.z.union([(0, legacy_change_block_1.LegacyChangeBlock)(), (0, legacy_open_block_1.LegacyOpenBlock)(), (0, legacy_receive_block_1.LegacyReceiveBlock)(), (0, legacy_send_block_1.LegacySendBlock)(), (0, state_block_1.StateBlock)()]);
|
|
11
|
+
exports.Block = Block;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { Block } from "./block";
|
|
2
|
+
export { LegacyChangeBlock } from "./legacy-change-block";
|
|
3
|
+
export { LegacyOpenBlock } from "./legacy-open-block";
|
|
4
|
+
export { LegacyReceiveBlock } from "./legacy-receive-block";
|
|
5
|
+
export { LegacySendBlock } from "./legacy-send-block";
|
|
6
|
+
export { StateBlock } from "./state-block";
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StateBlock = exports.LegacySendBlock = exports.LegacyReceiveBlock = exports.LegacyOpenBlock = exports.LegacyChangeBlock = exports.Block = void 0;
|
|
4
|
+
var block_1 = require("./block");
|
|
5
|
+
Object.defineProperty(exports, "Block", { enumerable: true, get: function () { return block_1.Block; } });
|
|
6
|
+
var legacy_change_block_1 = require("./legacy-change-block");
|
|
7
|
+
Object.defineProperty(exports, "LegacyChangeBlock", { enumerable: true, get: function () { return legacy_change_block_1.LegacyChangeBlock; } });
|
|
8
|
+
var legacy_open_block_1 = require("./legacy-open-block");
|
|
9
|
+
Object.defineProperty(exports, "LegacyOpenBlock", { enumerable: true, get: function () { return legacy_open_block_1.LegacyOpenBlock; } });
|
|
10
|
+
var legacy_receive_block_1 = require("./legacy-receive-block");
|
|
11
|
+
Object.defineProperty(exports, "LegacyReceiveBlock", { enumerable: true, get: function () { return legacy_receive_block_1.LegacyReceiveBlock; } });
|
|
12
|
+
var legacy_send_block_1 = require("./legacy-send-block");
|
|
13
|
+
Object.defineProperty(exports, "LegacySendBlock", { enumerable: true, get: function () { return legacy_send_block_1.LegacySendBlock; } });
|
|
14
|
+
var state_block_1 = require("./state-block");
|
|
15
|
+
Object.defineProperty(exports, "StateBlock", { enumerable: true, get: function () { return state_block_1.StateBlock; } });
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export type LegacyChangeBlock = z.infer<ReturnType<typeof LegacyChangeBlock>>;
|
|
3
|
+
export declare const LegacyChangeBlock: () => z.ZodObject<{
|
|
4
|
+
type: z.ZodLiteral<"change">;
|
|
5
|
+
previous: z.ZodString;
|
|
6
|
+
representative: z.ZodString;
|
|
7
|
+
work: z.ZodString;
|
|
8
|
+
signature: z.ZodString;
|
|
9
|
+
}, z.core.$strip>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LegacyChangeBlock = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const account_1 = require("../types/account");
|
|
6
|
+
const hash_1 = require("../types/hash");
|
|
7
|
+
const signature_1 = require("../types/signature");
|
|
8
|
+
const type_1 = require("../types/type");
|
|
9
|
+
const work_1 = require("../types/work");
|
|
10
|
+
const LegacyChangeBlock = () => zod_1.z.object({
|
|
11
|
+
type: (0, type_1.LegacyChangeTypeString)(),
|
|
12
|
+
previous: (0, hash_1.HashString)(),
|
|
13
|
+
representative: (0, account_1.AccountString)(),
|
|
14
|
+
work: (0, work_1.WorkString)(),
|
|
15
|
+
signature: (0, signature_1.SignatureString)(),
|
|
16
|
+
});
|
|
17
|
+
exports.LegacyChangeBlock = LegacyChangeBlock;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export type LegacyOpenBlock = z.infer<ReturnType<typeof LegacyOpenBlock>>;
|
|
3
|
+
export declare const LegacyOpenBlock: () => z.ZodObject<{
|
|
4
|
+
type: z.ZodLiteral<"open">;
|
|
5
|
+
source: z.ZodString;
|
|
6
|
+
representative: z.ZodString;
|
|
7
|
+
account: z.ZodString;
|
|
8
|
+
work: z.ZodString;
|
|
9
|
+
signature: z.ZodString;
|
|
10
|
+
}, z.core.$strip>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LegacyOpenBlock = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const account_1 = require("../types/account");
|
|
6
|
+
const hash_1 = require("../types/hash");
|
|
7
|
+
const signature_1 = require("../types/signature");
|
|
8
|
+
const type_1 = require("../types/type");
|
|
9
|
+
const work_1 = require("../types/work");
|
|
10
|
+
const LegacyOpenBlock = () => zod_1.z.object({
|
|
11
|
+
type: (0, type_1.LegacyOpenTypeString)(),
|
|
12
|
+
source: (0, hash_1.HashString)(),
|
|
13
|
+
representative: (0, account_1.AccountString)(),
|
|
14
|
+
account: (0, account_1.AccountString)(),
|
|
15
|
+
work: (0, work_1.WorkString)(),
|
|
16
|
+
signature: (0, signature_1.SignatureString)(),
|
|
17
|
+
});
|
|
18
|
+
exports.LegacyOpenBlock = LegacyOpenBlock;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export type LegacyReceiveBlock = z.infer<ReturnType<typeof LegacyReceiveBlock>>;
|
|
3
|
+
export declare const LegacyReceiveBlock: () => z.ZodObject<{
|
|
4
|
+
type: z.ZodLiteral<"receive">;
|
|
5
|
+
previous: z.ZodString;
|
|
6
|
+
source: z.ZodString;
|
|
7
|
+
work: z.ZodString;
|
|
8
|
+
signature: z.ZodString;
|
|
9
|
+
}, z.core.$strip>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LegacyReceiveBlock = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const hash_1 = require("../types/hash");
|
|
6
|
+
const signature_1 = require("../types/signature");
|
|
7
|
+
const type_1 = require("../types/type");
|
|
8
|
+
const work_1 = require("../types/work");
|
|
9
|
+
const LegacyReceiveBlock = () => zod_1.z.object({
|
|
10
|
+
type: (0, type_1.LegacyReceiveTypeString)(),
|
|
11
|
+
previous: (0, hash_1.HashString)(),
|
|
12
|
+
source: (0, hash_1.HashString)(),
|
|
13
|
+
work: (0, work_1.WorkString)(),
|
|
14
|
+
signature: (0, signature_1.SignatureString)(),
|
|
15
|
+
});
|
|
16
|
+
exports.LegacyReceiveBlock = LegacyReceiveBlock;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export type LegacySendBlock = z.infer<ReturnType<typeof LegacySendBlock>>;
|
|
3
|
+
export declare const LegacySendBlock: () => z.ZodObject<{
|
|
4
|
+
type: z.ZodLiteral<"send">;
|
|
5
|
+
previous: z.ZodString;
|
|
6
|
+
destination: z.ZodString;
|
|
7
|
+
balance: z.ZodString;
|
|
8
|
+
work: z.ZodString;
|
|
9
|
+
signature: z.ZodString;
|
|
10
|
+
}, z.core.$strip>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LegacySendBlock = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const account_1 = require("../types/account");
|
|
6
|
+
const amount_1 = require("../types/amount");
|
|
7
|
+
const hash_1 = require("../types/hash");
|
|
8
|
+
const signature_1 = require("../types/signature");
|
|
9
|
+
const type_1 = require("../types/type");
|
|
10
|
+
const work_1 = require("../types/work");
|
|
11
|
+
const LegacySendBlock = () => zod_1.z.object({
|
|
12
|
+
type: (0, type_1.LegacySendTypeString)(),
|
|
13
|
+
previous: (0, hash_1.HashString)(),
|
|
14
|
+
destination: (0, account_1.AccountString)(),
|
|
15
|
+
balance: (0, amount_1.RawAmountString)(),
|
|
16
|
+
work: (0, work_1.WorkString)(),
|
|
17
|
+
signature: (0, signature_1.SignatureString)(),
|
|
18
|
+
});
|
|
19
|
+
exports.LegacySendBlock = LegacySendBlock;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export type StateBlock = z.infer<ReturnType<typeof StateBlock>>;
|
|
3
|
+
export declare const StateBlock: () => z.ZodObject<{
|
|
4
|
+
type: z.ZodLiteral<"state">;
|
|
5
|
+
account: z.ZodString;
|
|
6
|
+
previous: z.ZodString;
|
|
7
|
+
representative: z.ZodString;
|
|
8
|
+
balance: z.ZodString;
|
|
9
|
+
link: z.ZodUnion<[z.ZodString, z.ZodString]>;
|
|
10
|
+
link_as_account: z.ZodString;
|
|
11
|
+
signature: z.ZodString;
|
|
12
|
+
work: z.ZodString;
|
|
13
|
+
}, z.core.$strip>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StateBlock = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const account_1 = require("../types/account");
|
|
6
|
+
const amount_1 = require("../types/amount");
|
|
7
|
+
const hash_1 = require("../types/hash");
|
|
8
|
+
const link_1 = require("../types/link");
|
|
9
|
+
const signature_1 = require("../types/signature");
|
|
10
|
+
const type_1 = require("../types/type");
|
|
11
|
+
const work_1 = require("../types/work");
|
|
12
|
+
const StateBlock = () => zod_1.z.object({
|
|
13
|
+
type: (0, type_1.StateTypeString)(),
|
|
14
|
+
account: (0, account_1.AccountString)(),
|
|
15
|
+
previous: (0, hash_1.HashString)(),
|
|
16
|
+
representative: (0, account_1.AccountString)(),
|
|
17
|
+
balance: (0, amount_1.RawAmountString)(),
|
|
18
|
+
link: (0, link_1.LinkString)(),
|
|
19
|
+
link_as_account: (0, account_1.AccountString)(),
|
|
20
|
+
signature: (0, signature_1.SignatureString)(),
|
|
21
|
+
work: (0, work_1.WorkString)(),
|
|
22
|
+
});
|
|
23
|
+
exports.StateBlock = StateBlock;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { AccountString } from "../../types/account";
|
|
2
|
+
import { NonThrowing } from "../../types/non-throwing";
|
|
3
|
+
import { Result } from "../../types/result";
|
|
4
|
+
import { Throwing } from "../../types/throwing";
|
|
5
|
+
type AccountToBytesParams = {
|
|
6
|
+
account: AccountString;
|
|
7
|
+
} & (Throwing | NonThrowing);
|
|
8
|
+
export declare function accountToBytes(params: AccountToBytesParams & NonThrowing): Result<Uint8Array>;
|
|
9
|
+
export declare function accountToBytes(params: AccountToBytesParams & Throwing): Uint8Array;
|
|
10
|
+
export declare function accountToBytes(params: AccountToBytesParams): Uint8Array | Result<Uint8Array>;
|
|
11
|
+
type BytesToAccountParams = {
|
|
12
|
+
publicKeyBytes: Uint8Array;
|
|
13
|
+
} & (Throwing | NonThrowing);
|
|
14
|
+
export declare function bytesToAccount(params: BytesToAccountParams & NonThrowing): Result<AccountString>;
|
|
15
|
+
export declare function bytesToAccount(params: BytesToAccountParams & Throwing): AccountString;
|
|
16
|
+
export declare function bytesToAccount(params: BytesToAccountParams): AccountString | Result<AccountString>;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.accountToBytes = accountToBytes;
|
|
4
|
+
exports.bytesToAccount = bytesToAccount;
|
|
5
|
+
const account_1 = require("../../types/account");
|
|
6
|
+
const derive_account_from_public_key_1 = require("../derive-account-from-public-key");
|
|
7
|
+
const base32_converter_1 = require("./base32-converter");
|
|
8
|
+
const public_key_converter_1 = require("./public-key-converter");
|
|
9
|
+
const encodedPublicKeyLength = 52;
|
|
10
|
+
const encodedChecksumLength = 8;
|
|
11
|
+
function accountToBytesThrowing(params) {
|
|
12
|
+
const validatedAccount = (0, account_1.AccountString)().safeParse(params.account);
|
|
13
|
+
if (!validatedAccount.success) {
|
|
14
|
+
throw new Error("Invalid account.");
|
|
15
|
+
}
|
|
16
|
+
const publicKeyStartIndex = validatedAccount.data.length - encodedPublicKeyLength - encodedChecksumLength;
|
|
17
|
+
const publicKeyEndIndex = validatedAccount.data.length - encodedChecksumLength;
|
|
18
|
+
const encodedPublicKey = validatedAccount.data.substring(publicKeyStartIndex, publicKeyEndIndex);
|
|
19
|
+
return (0, base32_converter_1.decodeBase32)({ encoded: encodedPublicKey, throwOnError: true });
|
|
20
|
+
}
|
|
21
|
+
function accountToBytesNonThrowing(params) {
|
|
22
|
+
try {
|
|
23
|
+
return {
|
|
24
|
+
success: true,
|
|
25
|
+
data: accountToBytesThrowing({ ...params, throwOnError: true }),
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
catch (e) {
|
|
29
|
+
return {
|
|
30
|
+
success: false,
|
|
31
|
+
error: e instanceof Error ? e : new Error("Unexpected error."),
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
function accountToBytes(params) {
|
|
36
|
+
if (params.throwOnError === false) {
|
|
37
|
+
return accountToBytesNonThrowing({ ...params, throwOnError: false });
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
return accountToBytesThrowing({ ...params, throwOnError: true });
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
function bytesToAccountThrowing(params) {
|
|
44
|
+
const publicKey = (0, public_key_converter_1.bytesToPublicKey)({ publicKeyBytes: params.publicKeyBytes, throwOnError: true });
|
|
45
|
+
return (0, derive_account_from_public_key_1.deriveAccountFromPublicKey)({ publicKey, throwOnError: true });
|
|
46
|
+
}
|
|
47
|
+
function bytesToAccountNonThrowing(params) {
|
|
48
|
+
try {
|
|
49
|
+
return {
|
|
50
|
+
success: true,
|
|
51
|
+
data: bytesToAccountThrowing({ ...params, throwOnError: true }),
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
catch (e) {
|
|
55
|
+
return {
|
|
56
|
+
success: false,
|
|
57
|
+
error: e instanceof Error ? e : new Error("Unexpected error."),
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
function bytesToAccount(params) {
|
|
62
|
+
if (params.throwOnError === false) {
|
|
63
|
+
return bytesToAccountNonThrowing({ ...params, throwOnError: false });
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
return bytesToAccountThrowing({ ...params, throwOnError: true });
|
|
67
|
+
}
|
|
68
|
+
}
|