@ritbit/v4-client-js 1.3.17
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/.env +1 -0
- package/.eslintignore +2 -0
- package/.eslintrc.js +15 -0
- package/.gitleaks.toml +24 -0
- package/.gitleaksignore +1 -0
- package/.nvmrc +1 -0
- package/.prettierignore +3 -0
- package/.prettierrc.json +6 -0
- package/.releaserc +10 -0
- package/.vscode/launch.json +11 -0
- package/LICENSE +13 -0
- package/README.md +83 -0
- package/__native__/__ios__/v4-native-client.js +209891 -0
- package/__native__/__ios__/v4-native-client.js.map +1 -0
- package/__tests__/clients/composite-client.test.ts +140 -0
- package/__tests__/helpers/baseClients.ts +23 -0
- package/__tests__/helpers/constants.ts +130 -0
- package/__tests__/lib/helpers.test.ts +53 -0
- package/__tests__/lib/util.test.ts +77 -0
- package/__tests__/lib/validation.test.ts +289 -0
- package/__tests__/modules/client/AccountEndpoints.test.ts +236 -0
- package/__tests__/modules/client/FaucetEndpoint.test.ts +14 -0
- package/__tests__/modules/client/MarketsEndpoints.test.ts +84 -0
- package/__tests__/modules/client/Transfers.test.ts +44 -0
- package/__tests__/modules/client/UtilityEndpoints.test.ts +29 -0
- package/__tests__/modules/client/ValidatorGetEndpoints.test.ts +50 -0
- package/__tests__/modules/client/ValidatorPostEndpoints.test.ts +52 -0
- package/__tests__/modules/client/constants.ts +5 -0
- package/__tests__/modules/onboarding.test.ts +66 -0
- package/build/cjs/clients/composite-client.js +788 -0
- package/build/cjs/clients/constants.js +293 -0
- package/build/cjs/clients/faucet-client.js +36 -0
- package/build/cjs/clients/helpers/chain-helpers.js +178 -0
- package/build/cjs/clients/helpers/request-helpers.js +65 -0
- package/build/cjs/clients/indexer-client.js +56 -0
- package/build/cjs/clients/lib/axios/axiosRequest.js +34 -0
- package/build/cjs/clients/lib/axios/errors.js +28 -0
- package/build/cjs/clients/lib/axios/index.js +23 -0
- package/build/cjs/clients/lib/axios/types.js +11 -0
- package/build/cjs/clients/lib/cctpProto.js +3242 -0
- package/build/cjs/clients/lib/errors.js +58 -0
- package/build/cjs/clients/lib/registry.js +51 -0
- package/build/cjs/clients/modules/account.js +223 -0
- package/build/cjs/clients/modules/composer.js +404 -0
- package/build/cjs/clients/modules/get.js +469 -0
- package/build/cjs/clients/modules/local-wallet.js +59 -0
- package/build/cjs/clients/modules/markets.js +54 -0
- package/build/cjs/clients/modules/post.js +391 -0
- package/build/cjs/clients/modules/proto-includes.js +72 -0
- package/build/cjs/clients/modules/rest.js +33 -0
- package/build/cjs/clients/modules/signer.js +93 -0
- package/build/cjs/clients/modules/tendermintClient.js +137 -0
- package/build/cjs/clients/modules/utility.js +44 -0
- package/build/cjs/clients/modules/vault.js +25 -0
- package/build/cjs/clients/noble-client.js +75 -0
- package/build/cjs/clients/socket-client.js +301 -0
- package/build/cjs/clients/subaccount.js +33 -0
- package/build/cjs/clients/types.js +43 -0
- package/build/cjs/clients/validator-client.js +81 -0
- package/build/cjs/index.js +73 -0
- package/build/cjs/lib/constants.js +23 -0
- package/build/cjs/lib/errors.js +37 -0
- package/build/cjs/lib/helpers.js +98 -0
- package/build/cjs/lib/onboarding.js +75 -0
- package/build/cjs/lib/trading-key-utils.js +108 -0
- package/build/cjs/lib/utils.js +79 -0
- package/build/cjs/lib/validation.js +150 -0
- package/build/cjs/network_optimizer.js +96 -0
- package/build/cjs/package.json +1 -0
- package/build/cjs/tsconfig.cjs.tsbuildinfo +1 -0
- package/build/cjs/types.js +25 -0
- package/build/esm/__tests__/clients/composite-client.test.d.ts +2 -0
- package/build/esm/__tests__/clients/composite-client.test.d.ts.map +1 -0
- package/build/esm/__tests__/clients/composite-client.test.js +128 -0
- package/build/esm/__tests__/helpers/baseClients.d.ts +19 -0
- package/build/esm/__tests__/helpers/baseClients.d.ts.map +1 -0
- package/build/esm/__tests__/helpers/baseClients.js +22 -0
- package/build/esm/__tests__/helpers/constants.d.ts +19 -0
- package/build/esm/__tests__/helpers/constants.d.ts.map +1 -0
- package/build/esm/__tests__/helpers/constants.js +104 -0
- package/build/esm/__tests__/lib/helpers.test.d.ts +2 -0
- package/build/esm/__tests__/lib/helpers.test.d.ts.map +1 -0
- package/build/esm/__tests__/lib/helpers.test.js +40 -0
- package/build/esm/__tests__/lib/util.test.d.ts +2 -0
- package/build/esm/__tests__/lib/util.test.d.ts.map +1 -0
- package/build/esm/__tests__/lib/util.test.js +65 -0
- package/build/esm/__tests__/lib/validation.test.d.ts +2 -0
- package/build/esm/__tests__/lib/validation.test.d.ts.map +1 -0
- package/build/esm/__tests__/lib/validation.test.js +249 -0
- package/build/esm/__tests__/modules/client/AccountEndpoints.test.d.ts +2 -0
- package/build/esm/__tests__/modules/client/AccountEndpoints.test.d.ts.map +1 -0
- package/build/esm/__tests__/modules/client/AccountEndpoints.test.js +169 -0
- package/build/esm/__tests__/modules/client/FaucetEndpoint.test.d.ts +2 -0
- package/build/esm/__tests__/modules/client/FaucetEndpoint.test.d.ts.map +1 -0
- package/build/esm/__tests__/modules/client/FaucetEndpoint.test.js +13 -0
- package/build/esm/__tests__/modules/client/MarketsEndpoints.test.d.ts +2 -0
- package/build/esm/__tests__/modules/client/MarketsEndpoints.test.d.ts.map +1 -0
- package/build/esm/__tests__/modules/client/MarketsEndpoints.test.js +66 -0
- package/build/esm/__tests__/modules/client/Transfers.test.d.ts +2 -0
- package/build/esm/__tests__/modules/client/Transfers.test.d.ts.map +1 -0
- package/build/esm/__tests__/modules/client/Transfers.test.js +39 -0
- package/build/esm/__tests__/modules/client/UtilityEndpoints.test.d.ts +2 -0
- package/build/esm/__tests__/modules/client/UtilityEndpoints.test.d.ts.map +1 -0
- package/build/esm/__tests__/modules/client/UtilityEndpoints.test.js +26 -0
- package/build/esm/__tests__/modules/client/ValidatorGetEndpoints.test.d.ts +2 -0
- package/build/esm/__tests__/modules/client/ValidatorGetEndpoints.test.d.ts.map +1 -0
- package/build/esm/__tests__/modules/client/ValidatorGetEndpoints.test.js +44 -0
- package/build/esm/__tests__/modules/client/ValidatorPostEndpoints.test.d.ts +2 -0
- package/build/esm/__tests__/modules/client/ValidatorPostEndpoints.test.d.ts.map +1 -0
- package/build/esm/__tests__/modules/client/ValidatorPostEndpoints.test.js +48 -0
- package/build/esm/__tests__/modules/client/constants.d.ts +4 -0
- package/build/esm/__tests__/modules/client/constants.d.ts.map +1 -0
- package/build/esm/__tests__/modules/client/constants.js +4 -0
- package/build/esm/__tests__/modules/onboarding.test.d.ts +2 -0
- package/build/esm/__tests__/modules/onboarding.test.d.ts.map +1 -0
- package/build/esm/__tests__/modules/onboarding.test.js +48 -0
- package/build/esm/examples/account_endpoints.d.ts +5 -0
- package/build/esm/examples/account_endpoints.d.ts.map +1 -0
- package/build/esm/examples/account_endpoints.js +127 -0
- package/build/esm/examples/batch_cancel_orders_example.d.ts +2 -0
- package/build/esm/examples/batch_cancel_orders_example.d.ts.map +1 -0
- package/build/esm/examples/batch_cancel_orders_example.js +88 -0
- package/build/esm/examples/composite_example.d.ts +2 -0
- package/build/esm/examples/composite_example.d.ts.map +1 -0
- package/build/esm/examples/composite_example.js +45 -0
- package/build/esm/examples/constants.d.ts +13 -0
- package/build/esm/examples/constants.d.ts.map +1 -0
- package/build/esm/examples/constants.js +29 -0
- package/build/esm/examples/faucet_endpoint.d.ts +5 -0
- package/build/esm/examples/faucet_endpoint.d.ts.map +1 -0
- package/build/esm/examples/faucet_endpoint.js +21 -0
- package/build/esm/examples/gov_add_new_market.d.ts +2 -0
- package/build/esm/examples/gov_add_new_market.d.ts.map +1 -0
- package/build/esm/examples/gov_add_new_market.js +72 -0
- package/build/esm/examples/human_readable_orders.json +86 -0
- package/build/esm/examples/human_readable_short_term_orders.json +42 -0
- package/build/esm/examples/json-encoding.d.ts +2 -0
- package/build/esm/examples/json-encoding.d.ts.map +1 -0
- package/build/esm/examples/json-encoding.js +27 -0
- package/build/esm/examples/long_term_order_cancel_example.d.ts +2 -0
- package/build/esm/examples/long_term_order_cancel_example.d.ts.map +1 -0
- package/build/esm/examples/long_term_order_cancel_example.js +58 -0
- package/build/esm/examples/markets_endpoints.d.ts +5 -0
- package/build/esm/examples/markets_endpoints.d.ts.map +1 -0
- package/build/esm/examples/markets_endpoints.js +131 -0
- package/build/esm/examples/native_examples.d.ts +2 -0
- package/build/esm/examples/native_examples.d.ts.map +1 -0
- package/build/esm/examples/native_examples.js +110 -0
- package/build/esm/examples/noble_example.d.ts +2 -0
- package/build/esm/examples/noble_example.d.ts.map +1 -0
- package/build/esm/examples/noble_example.js +83 -0
- package/build/esm/examples/optimal_node.d.ts +2 -0
- package/build/esm/examples/optimal_node.d.ts.map +1 -0
- package/build/esm/examples/optimal_node.js +68 -0
- package/build/esm/examples/permissioned_keys_example.d.ts +2 -0
- package/build/esm/examples/permissioned_keys_example.d.ts.map +1 -0
- package/build/esm/examples/permissioned_keys_example.js +99 -0
- package/build/esm/examples/raw_orders.json +130 -0
- package/build/esm/examples/short_term_order_cancel_example.d.ts +2 -0
- package/build/esm/examples/short_term_order_cancel_example.d.ts.map +1 -0
- package/build/esm/examples/short_term_order_cancel_example.js +49 -0
- package/build/esm/examples/short_term_order_composite_example.d.ts +2 -0
- package/build/esm/examples/short_term_order_composite_example.d.ts.map +1 -0
- package/build/esm/examples/short_term_order_composite_example.js +63 -0
- package/build/esm/examples/test.d.ts +2 -0
- package/build/esm/examples/test.d.ts.map +1 -0
- package/build/esm/examples/test.js +45 -0
- package/build/esm/examples/transfer_example_deposit.d.ts +2 -0
- package/build/esm/examples/transfer_example_deposit.d.ts.map +1 -0
- package/build/esm/examples/transfer_example_deposit.js +24 -0
- package/build/esm/examples/transfer_example_send.d.ts +2 -0
- package/build/esm/examples/transfer_example_send.d.ts.map +1 -0
- package/build/esm/examples/transfer_example_send.js +37 -0
- package/build/esm/examples/transfer_example_subaccount_transfer.d.ts +2 -0
- package/build/esm/examples/transfer_example_subaccount_transfer.d.ts.map +1 -0
- package/build/esm/examples/transfer_example_subaccount_transfer.js +24 -0
- package/build/esm/examples/transfer_example_withdraw.d.ts +2 -0
- package/build/esm/examples/transfer_example_withdraw.d.ts.map +1 -0
- package/build/esm/examples/transfer_example_withdraw.js +25 -0
- package/build/esm/examples/transfer_example_withdraw_other.d.ts +2 -0
- package/build/esm/examples/transfer_example_withdraw_other.d.ts.map +1 -0
- package/build/esm/examples/transfer_example_withdraw_other.js +37 -0
- package/build/esm/examples/utility_endpoints.d.ts +5 -0
- package/build/esm/examples/utility_endpoints.d.ts.map +1 -0
- package/build/esm/examples/utility_endpoints.js +40 -0
- package/build/esm/examples/validator_get_example.d.ts +2 -0
- package/build/esm/examples/validator_get_example.d.ts.map +1 -0
- package/build/esm/examples/validator_get_example.js +156 -0
- package/build/esm/examples/validator_post_example.d.ts +2 -0
- package/build/esm/examples/validator_post_example.d.ts.map +1 -0
- package/build/esm/examples/validator_post_example.js +71 -0
- package/build/esm/examples/wallet_address.d.ts +2 -0
- package/build/esm/examples/wallet_address.d.ts.map +1 -0
- package/build/esm/examples/wallet_address.js +17 -0
- package/build/esm/examples/websocket_example.d.ts +2 -0
- package/build/esm/examples/websocket_example.d.ts.map +1 -0
- package/build/esm/examples/websocket_example.js +34 -0
- package/build/esm/examples/websocket_orderbook_example.d.ts +2 -0
- package/build/esm/examples/websocket_orderbook_example.d.ts.map +1 -0
- package/build/esm/examples/websocket_orderbook_example.js +194 -0
- package/build/esm/src/clients/composite-client.d.ts +406 -0
- package/build/esm/src/clients/composite-client.d.ts.map +1 -0
- package/build/esm/src/clients/composite-client.js +781 -0
- package/build/esm/src/clients/constants.d.ts +170 -0
- package/build/esm/src/clients/constants.d.ts.map +1 -0
- package/build/esm/src/clients/constants.js +269 -0
- package/build/esm/src/clients/faucet-client.d.ts +18 -0
- package/build/esm/src/clients/faucet-client.d.ts.map +1 -0
- package/build/esm/src/clients/faucet-client.js +29 -0
- package/build/esm/src/clients/helpers/chain-helpers.d.ts +15 -0
- package/build/esm/src/clients/helpers/chain-helpers.d.ts.map +1 -0
- package/build/esm/src/clients/helpers/chain-helpers.js +163 -0
- package/build/esm/src/clients/helpers/request-helpers.d.ts +3 -0
- package/build/esm/src/clients/helpers/request-helpers.d.ts.map +1 -0
- package/build/esm/src/clients/helpers/request-helpers.js +58 -0
- package/build/esm/src/clients/indexer-client.d.ts +40 -0
- package/build/esm/src/clients/indexer-client.d.ts.map +1 -0
- package/build/esm/src/clients/indexer-client.js +49 -0
- package/build/esm/src/clients/lib/axios/axiosRequest.d.ts +9 -0
- package/build/esm/src/clients/lib/axios/axiosRequest.d.ts.map +1 -0
- package/build/esm/src/clients/lib/axios/axiosRequest.js +28 -0
- package/build/esm/src/clients/lib/axios/errors.d.ts +31 -0
- package/build/esm/src/clients/lib/axios/errors.d.ts.map +1 -0
- package/build/esm/src/clients/lib/axios/errors.js +23 -0
- package/build/esm/src/clients/lib/axios/index.d.ts +7 -0
- package/build/esm/src/clients/lib/axios/index.d.ts.map +1 -0
- package/build/esm/src/clients/lib/axios/index.js +7 -0
- package/build/esm/src/clients/lib/axios/types.d.ts +7 -0
- package/build/esm/src/clients/lib/axios/types.d.ts.map +1 -0
- package/build/esm/src/clients/lib/axios/types.js +8 -0
- package/build/esm/src/clients/lib/cctpProto.d.ts +670 -0
- package/build/esm/src/clients/lib/cctpProto.d.ts.map +1 -0
- package/build/esm/src/clients/lib/cctpProto.js +3234 -0
- package/build/esm/src/clients/lib/errors.d.ts +38 -0
- package/build/esm/src/clients/lib/errors.d.ts.map +1 -0
- package/build/esm/src/clients/lib/errors.js +50 -0
- package/build/esm/src/clients/lib/registry.d.ts +4 -0
- package/build/esm/src/clients/lib/registry.d.ts.map +1 -0
- package/build/esm/src/clients/lib/registry.js +47 -0
- package/build/esm/src/clients/modules/account.d.ts +30 -0
- package/build/esm/src/clients/modules/account.d.ts.map +1 -0
- package/build/esm/src/clients/modules/account.js +217 -0
- package/build/esm/src/clients/modules/composer.d.ts +37 -0
- package/build/esm/src/clients/modules/composer.d.ts.map +1 -0
- package/build/esm/src/clients/modules/composer.js +397 -0
- package/build/esm/src/clients/modules/get.d.ts +193 -0
- package/build/esm/src/clients/modules/get.d.ts.map +1 -0
- package/build/esm/src/clients/modules/get.js +429 -0
- package/build/esm/src/clients/modules/local-wallet.d.ts +19 -0
- package/build/esm/src/clients/modules/local-wallet.d.ts.map +1 -0
- package/build/esm/src/clients/modules/local-wallet.js +53 -0
- package/build/esm/src/clients/modules/markets.d.ts +14 -0
- package/build/esm/src/clients/modules/markets.d.ts.map +1 -0
- package/build/esm/src/clients/modules/markets.js +48 -0
- package/build/esm/src/clients/modules/post.d.ts +133 -0
- package/build/esm/src/clients/modules/post.d.ts.map +1 -0
- package/build/esm/src/clients/modules/post.js +384 -0
- package/build/esm/src/clients/modules/proto-includes.d.ts +30 -0
- package/build/esm/src/clients/modules/proto-includes.d.ts.map +1 -0
- package/build/esm/src/clients/modules/proto-includes.js +32 -0
- package/build/esm/src/clients/modules/rest.d.ts +12 -0
- package/build/esm/src/clients/modules/rest.d.ts.map +1 -0
- package/build/esm/src/clients/modules/rest.js +27 -0
- package/build/esm/src/clients/modules/signer.d.ts +19 -0
- package/build/esm/src/clients/modules/signer.d.ts.map +1 -0
- package/build/esm/src/clients/modules/signer.js +86 -0
- package/build/esm/src/clients/modules/tendermintClient.d.ts +54 -0
- package/build/esm/src/clients/modules/tendermintClient.d.ts.map +1 -0
- package/build/esm/src/clients/modules/tendermintClient.js +133 -0
- package/build/esm/src/clients/modules/utility.d.ts +27 -0
- package/build/esm/src/clients/modules/utility.d.ts.map +1 -0
- package/build/esm/src/clients/modules/utility.js +38 -0
- package/build/esm/src/clients/modules/vault.d.ts +12 -0
- package/build/esm/src/clients/modules/vault.d.ts.map +1 -0
- package/build/esm/src/clients/modules/vault.js +19 -0
- package/build/esm/src/clients/native.d.ts +75 -0
- package/build/esm/src/clients/native.d.ts.map +1 -0
- package/build/esm/src/clients/native.js +1237 -0
- package/build/esm/src/clients/noble-client.d.ts +18 -0
- package/build/esm/src/clients/noble-client.d.ts.map +1 -0
- package/build/esm/src/clients/noble-client.js +71 -0
- package/build/esm/src/clients/socket-client.d.ts +146 -0
- package/build/esm/src/clients/socket-client.d.ts.map +1 -0
- package/build/esm/src/clients/socket-client.js +294 -0
- package/build/esm/src/clients/subaccount.d.ts +14 -0
- package/build/esm/src/clients/subaccount.d.ts.map +1 -0
- package/build/esm/src/clients/subaccount.js +29 -0
- package/build/esm/src/clients/types.d.ts +137 -0
- package/build/esm/src/clients/types.d.ts.map +1 -0
- package/build/esm/src/clients/types.js +26 -0
- package/build/esm/src/clients/validator-client.d.ts +35 -0
- package/build/esm/src/clients/validator-client.d.ts.map +1 -0
- package/build/esm/src/clients/validator-client.js +74 -0
- package/build/esm/src/index.d.ts +17 -0
- package/build/esm/src/index.d.ts.map +1 -0
- package/build/esm/src/index.js +19 -0
- package/build/esm/src/lib/constants.d.ts +13 -0
- package/build/esm/src/lib/constants.d.ts.map +1 -0
- package/build/esm/src/lib/constants.js +20 -0
- package/build/esm/src/lib/errors.d.ts +23 -0
- package/build/esm/src/lib/errors.d.ts.map +1 -0
- package/build/esm/src/lib/errors.js +31 -0
- package/build/esm/src/lib/helpers.d.ts +22 -0
- package/build/esm/src/lib/helpers.d.ts.map +1 -0
- package/build/esm/src/lib/helpers.js +88 -0
- package/build/esm/src/lib/onboarding.d.ts +46 -0
- package/build/esm/src/lib/onboarding.d.ts.map +1 -0
- package/build/esm/src/lib/onboarding.js +69 -0
- package/build/esm/src/lib/trading-key-utils.d.ts +22 -0
- package/build/esm/src/lib/trading-key-utils.d.ts.map +1 -0
- package/build/esm/src/lib/trading-key-utils.js +99 -0
- package/build/esm/src/lib/utils.d.ts +39 -0
- package/build/esm/src/lib/utils.d.ts.map +1 -0
- package/build/esm/src/lib/utils.js +69 -0
- package/build/esm/src/lib/validation.d.ts +26 -0
- package/build/esm/src/lib/validation.d.ts.map +1 -0
- package/build/esm/src/lib/validation.js +138 -0
- package/build/esm/src/network_optimizer.d.ts +8 -0
- package/build/esm/src/network_optimizer.d.ts.map +1 -0
- package/build/esm/src/network_optimizer.js +91 -0
- package/build/esm/src/types.d.ts +26 -0
- package/build/esm/src/types.d.ts.map +1 -0
- package/build/esm/src/types.js +8 -0
- package/build/esm/tsconfig.esm.tsbuildinfo +1 -0
- package/commitlint.config.js +8 -0
- package/examples/account_endpoints.ts +129 -0
- package/examples/batch_cancel_orders_example.ts +130 -0
- package/examples/composite_example.ts +65 -0
- package/examples/constants.ts +42 -0
- package/examples/faucet_endpoint.ts +24 -0
- package/examples/gov_add_new_market.json +64 -0
- package/examples/gov_add_new_market.ts +95 -0
- package/examples/human_readable_orders.json +86 -0
- package/examples/human_readable_short_term_orders.json +42 -0
- package/examples/json-encoding.ts +33 -0
- package/examples/long_term_order_cancel_example.ts +87 -0
- package/examples/markets_endpoints.ts +134 -0
- package/examples/native_examples.ts +151 -0
- package/examples/noble_example.ts +107 -0
- package/examples/optimal_node.ts +70 -0
- package/examples/permissioned_keys_example.ts +162 -0
- package/examples/raw_orders.json +130 -0
- package/examples/short_term_order_cancel_example.ts +68 -0
- package/examples/short_term_order_composite_example.ts +80 -0
- package/examples/test.ts +65 -0
- package/examples/transfer_example_deposit.ts +28 -0
- package/examples/transfer_example_send.ts +60 -0
- package/examples/transfer_example_subaccount_transfer.ts +29 -0
- package/examples/transfer_example_withdraw.ts +31 -0
- package/examples/transfer_example_withdraw_other.ts +60 -0
- package/examples/utility_endpoints.ts +42 -0
- package/examples/validator_get_example.ts +160 -0
- package/examples/validator_post_example.ts +81 -0
- package/examples/wallet_address.ts +18 -0
- package/examples/websocket_example.ts +44 -0
- package/examples/websocket_orderbook_example.ts +239 -0
- package/jest.config.js +12 -0
- package/jest.globalSetup.js +5 -0
- package/jest.setup.js +1 -0
- package/package.json +113 -0
- package/ritbit-v4-client-js-1.3.17.tgz +0 -0
- package/scripts/bump_version.sh +16 -0
- package/scripts/generate-cctp-protos.sh +41 -0
- package/scripts/mobile_build_pack.sh +5 -0
- package/scripts/publish-if-not-exists.sh +21 -0
- package/src/clients/composite-client.ts +1431 -0
- package/src/clients/constants.ts +358 -0
- package/src/clients/faucet-client.ts +48 -0
- package/src/clients/helpers/chain-helpers.ts +231 -0
- package/src/clients/helpers/request-helpers.ts +71 -0
- package/src/clients/indexer-client.ts +61 -0
- package/src/clients/lib/axios/axiosRequest.ts +41 -0
- package/src/clients/lib/axios/errors.ts +41 -0
- package/src/clients/lib/axios/index.ts +7 -0
- package/src/clients/lib/axios/types.ts +6 -0
- package/src/clients/lib/cctpProto.ts +4197 -0
- package/src/clients/lib/errors.ts +63 -0
- package/src/clients/lib/registry.ts +88 -0
- package/src/clients/modules/account.ts +388 -0
- package/src/clients/modules/composer.ts +645 -0
- package/src/clients/modules/get.ts +740 -0
- package/src/clients/modules/local-wallet.ts +79 -0
- package/src/clients/modules/markets.ts +71 -0
- package/src/clients/modules/post.ts +1016 -0
- package/src/clients/modules/proto-includes.ts +33 -0
- package/src/clients/modules/rest.ts +40 -0
- package/src/clients/modules/signer.ts +139 -0
- package/src/clients/modules/tendermintClient.ts +168 -0
- package/src/clients/modules/utility.ts +47 -0
- package/src/clients/modules/vault.ts +23 -0
- package/src/clients/native.ts +1508 -0
- package/src/clients/noble-client.ts +108 -0
- package/src/clients/socket-client.ts +331 -0
- package/src/clients/subaccount.ts +57 -0
- package/src/clients/types.ts +191 -0
- package/src/clients/validator-client.ts +103 -0
- package/src/index.ts +20 -0
- package/src/lib/constants.ts +28 -0
- package/src/lib/errors.ts +38 -0
- package/src/lib/helpers.ts +99 -0
- package/src/lib/onboarding.ts +96 -0
- package/src/lib/trading-key-utils.ts +136 -0
- package/src/lib/utils.ts +84 -0
- package/src/lib/validation.ts +197 -0
- package/src/network_optimizer.ts +132 -0
- package/src/types.ts +44 -0
- package/tasks.json +16 -0
- package/tsconfig.base.json +15 -0
- package/tsconfig.cjs.json +20 -0
- package/tsconfig.eslint.json +14 -0
- package/tsconfig.esm.json +11 -0
- package/webpack.config.js +56 -0
|
@@ -0,0 +1,429 @@
|
|
|
1
|
+
import { accountFromAny, } from '@cosmjs/stargate';
|
|
2
|
+
import { GetAuthenticatorsRequest, GetAuthenticatorsResponse, } from '@ritbit/v4-proto/src/codegen/ritbit/accountplus/query';
|
|
3
|
+
import * as AuthModule from 'cosmjs-types/cosmos/auth/v1beta1/query';
|
|
4
|
+
import * as BankModule from 'cosmjs-types/cosmos/bank/v1beta1/query';
|
|
5
|
+
import Long from 'long';
|
|
6
|
+
import protobuf from 'protobufjs';
|
|
7
|
+
import { bigIntToBytes } from '../../lib/helpers';
|
|
8
|
+
import { PAGE_REQUEST } from '../constants';
|
|
9
|
+
import { UnexpectedClientError } from '../lib/errors';
|
|
10
|
+
import { AffiliateModule, BridgeModule, ClobModule, DistributionModule, FeeTierModule, GovV1Module, PerpetualsModule, PricesModule, ProposalStatus, RateLimitModule, RewardsModule, StakingModule, StatsModule, SubaccountsModule, VaultModule, } from './proto-includes';
|
|
11
|
+
// Required for encoding and decoding queries that are of type Long.
|
|
12
|
+
// Must be done once but since the individal modules should be usable without
|
|
13
|
+
// dYdXClient - must be set in each module that encounters encoding/decoding Longs.
|
|
14
|
+
// Reference: https://github.com/protobufjs/protobuf.js/issues/921
|
|
15
|
+
protobuf.util.Long = Long;
|
|
16
|
+
protobuf.configure();
|
|
17
|
+
export class Get {
|
|
18
|
+
constructor(tendermintClient, stargateQueryClient) {
|
|
19
|
+
this.tendermintClient = tendermintClient;
|
|
20
|
+
this.stargateQueryClient = stargateQueryClient;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* @description Get latest block
|
|
24
|
+
*
|
|
25
|
+
* @returns last block structure
|
|
26
|
+
*/
|
|
27
|
+
async latestBlock() {
|
|
28
|
+
return this.tendermintClient.getBlock();
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* @description Get latest block height
|
|
32
|
+
*
|
|
33
|
+
* @returns last height
|
|
34
|
+
*/
|
|
35
|
+
async latestBlockHeight() {
|
|
36
|
+
const block = await this.latestBlock();
|
|
37
|
+
return block.header.height;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* @description Get all fee tier params.
|
|
41
|
+
*
|
|
42
|
+
* @returns All fee tier params.
|
|
43
|
+
*/
|
|
44
|
+
async getFeeTiers() {
|
|
45
|
+
const requestData = Uint8Array.from(FeeTierModule.QueryPerpetualFeeParamsRequest.encode({}).finish());
|
|
46
|
+
const data = await this.sendQuery('/ritbit.feetiers.Query/PerpetualFeeParams', requestData);
|
|
47
|
+
return FeeTierModule.QueryPerpetualFeeParamsResponse.decode(data);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* @description Get fee tier the user belongs to
|
|
51
|
+
*
|
|
52
|
+
* @returns the fee tier user belongs to.
|
|
53
|
+
*/
|
|
54
|
+
async getUserFeeTier(address) {
|
|
55
|
+
const requestData = Uint8Array.from(FeeTierModule.QueryUserFeeTierRequest.encode({ user: address }).finish());
|
|
56
|
+
const data = await this.sendQuery('/ritbit.feetiers.Query/UserFeeTier', requestData);
|
|
57
|
+
return FeeTierModule.QueryUserFeeTierResponse.decode(data);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* @description Get get trading stats
|
|
61
|
+
*
|
|
62
|
+
* @returns return the user's taker and maker volume
|
|
63
|
+
*/
|
|
64
|
+
async getUserStats(address) {
|
|
65
|
+
const requestData = Uint8Array.from(StatsModule.QueryUserStatsRequest.encode({ user: address }).finish());
|
|
66
|
+
const data = await this.sendQuery('/ritbit.stats.Query/UserStats', requestData);
|
|
67
|
+
return StatsModule.QueryUserStatsResponse.decode(data).stats;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* @description Get all balances for an account.
|
|
71
|
+
*
|
|
72
|
+
* @returns Array of Coin balances for all tokens held by an account.
|
|
73
|
+
*/
|
|
74
|
+
async getAccountBalances(address) {
|
|
75
|
+
const requestData = Uint8Array.from(BankModule.QueryAllBalancesRequest.encode({ address }).finish());
|
|
76
|
+
const data = await this.sendQuery('/cosmos.bank.v1beta1.Query/AllBalances', requestData);
|
|
77
|
+
return BankModule.QueryAllBalancesResponse.decode(data).balances;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* @description Get balances of one denom for an account.
|
|
81
|
+
*
|
|
82
|
+
* @returns Coin balance for denom tokens held by an account.
|
|
83
|
+
*/
|
|
84
|
+
async getAccountBalance(address, denom) {
|
|
85
|
+
const requestData = Uint8Array.from(BankModule.QueryBalanceRequest.encode({
|
|
86
|
+
address,
|
|
87
|
+
denom,
|
|
88
|
+
}).finish());
|
|
89
|
+
const data = await this.sendQuery('/cosmos.bank.v1beta1.Query/Balance', requestData);
|
|
90
|
+
const coin = BankModule.QueryBalanceResponse.decode(data).balance;
|
|
91
|
+
return coin;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* @description Get all subaccounts
|
|
95
|
+
*
|
|
96
|
+
* @returns All subaccounts
|
|
97
|
+
*/
|
|
98
|
+
async getSubaccounts() {
|
|
99
|
+
const requestData = Uint8Array.from(SubaccountsModule.QueryAllSubaccountRequest.encode({}).finish());
|
|
100
|
+
const data = await this.sendQuery('/ritbit.subaccounts.Query/SubaccountAll', requestData);
|
|
101
|
+
return SubaccountsModule.QuerySubaccountAllResponse.decode(data);
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* @description Get a specific subaccount for an account.
|
|
105
|
+
*
|
|
106
|
+
* @returns Subaccount for account with given accountNumber or default subaccount if none exists.
|
|
107
|
+
*/
|
|
108
|
+
async getSubaccount(address, accountNumber) {
|
|
109
|
+
const requestData = Uint8Array.from(SubaccountsModule.QueryGetSubaccountRequest.encode({
|
|
110
|
+
owner: address,
|
|
111
|
+
number: accountNumber,
|
|
112
|
+
}).finish());
|
|
113
|
+
const data = await this.sendQuery('/ritbit.subaccounts.Query/Subaccount', requestData);
|
|
114
|
+
return SubaccountsModule.QuerySubaccountResponse.decode(data);
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* @description Get the params for the rewards module.
|
|
118
|
+
*
|
|
119
|
+
* @returns Params for the rewards module.
|
|
120
|
+
*/
|
|
121
|
+
async getRewardsParams() {
|
|
122
|
+
const requestData = Uint8Array.from(RewardsModule.QueryParamsRequest.encode({}).finish());
|
|
123
|
+
const data = await this.sendQuery('/ritbit.rewards.Query/Params', requestData);
|
|
124
|
+
return RewardsModule.QueryParamsResponse.decode(data);
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* @description Get all Clob Pairs.
|
|
128
|
+
*
|
|
129
|
+
* @returns Information on all Clob Pairs.
|
|
130
|
+
*/
|
|
131
|
+
async getAllClobPairs() {
|
|
132
|
+
const requestData = Uint8Array.from(ClobModule.QueryAllClobPairRequest.encode({ pagination: PAGE_REQUEST }).finish());
|
|
133
|
+
const data = await this.sendQuery('/ritbit.clob.Query/ClobPairAll', requestData);
|
|
134
|
+
return ClobModule.QueryClobPairAllResponse.decode(data);
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* @description Get Clob Pair for an Id or the promise is rejected if no pair exists.
|
|
138
|
+
*
|
|
139
|
+
* @returns Clob Pair for a given Clob Pair Id.
|
|
140
|
+
*/
|
|
141
|
+
async getClobPair(pairId) {
|
|
142
|
+
const requestData = Uint8Array.from(ClobModule.QueryGetClobPairRequest.encode({ id: pairId }).finish());
|
|
143
|
+
const data = await this.sendQuery('/ritbit.clob.Query/ClobPair', requestData);
|
|
144
|
+
return ClobModule.QueryClobPairResponse.decode(data);
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* @description Get all Prices across markets.
|
|
148
|
+
*
|
|
149
|
+
* @returns Prices across all markets.
|
|
150
|
+
*/
|
|
151
|
+
async getAllPrices() {
|
|
152
|
+
const requestData = Uint8Array.from(PricesModule.QueryAllMarketPricesRequest.encode({ pagination: PAGE_REQUEST }).finish());
|
|
153
|
+
const data = await this.sendQuery('/ritbit.prices.Query/AllMarketPrices', requestData);
|
|
154
|
+
return PricesModule.QueryAllMarketPricesResponse.decode(data);
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* @description Get Price for a clob Id or the promise is rejected if none exists.
|
|
158
|
+
*
|
|
159
|
+
* @returns Price for a given Market Id.
|
|
160
|
+
*/
|
|
161
|
+
async getPrice(marketId) {
|
|
162
|
+
const requestData = Uint8Array.from(PricesModule.QueryMarketPriceRequest.encode({ id: marketId }).finish());
|
|
163
|
+
const data = await this.sendQuery('/ritbit.prices.Query/MarketPrice', requestData);
|
|
164
|
+
return PricesModule.QueryMarketPriceResponse.decode(data);
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* @description Get all Perpetuals.
|
|
168
|
+
*
|
|
169
|
+
* @returns Information on all Perpetual pairs.
|
|
170
|
+
*/
|
|
171
|
+
async getAllPerpetuals() {
|
|
172
|
+
const requestData = Uint8Array.from(PerpetualsModule.QueryAllPerpetualsRequest.encode({ pagination: PAGE_REQUEST }).finish());
|
|
173
|
+
const data = await this.sendQuery('/ritbit.perpetuals.Query/AllPerpetuals', requestData);
|
|
174
|
+
return PerpetualsModule.QueryAllPerpetualsResponse.decode(data);
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* @description Get Perpetual for an Id or the promise is rejected if none exists.
|
|
178
|
+
*
|
|
179
|
+
* @returns The Perpetual for a given Perpetual Id.
|
|
180
|
+
*/
|
|
181
|
+
async getPerpetual(perpetualId) {
|
|
182
|
+
const requestData = Uint8Array.from(PerpetualsModule.QueryPerpetualRequest.encode({ id: perpetualId }).finish());
|
|
183
|
+
const data = await this.sendQuery('/ritbit.perpetuals.Query/Perpetual', requestData);
|
|
184
|
+
return PerpetualsModule.QueryPerpetualResponse.decode(data);
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* @description Get Account for an address or the promise is rejected if the account
|
|
188
|
+
* does not exist on-chain.
|
|
189
|
+
*
|
|
190
|
+
* @throws UnexpectedClientError if a malformed response is returned with no GRPC error.
|
|
191
|
+
* @returns An account for a given address.
|
|
192
|
+
*/
|
|
193
|
+
async getAccount(address) {
|
|
194
|
+
const requestData = Uint8Array.from(AuthModule.QueryAccountRequest.encode({ address }).finish());
|
|
195
|
+
const data = await this.sendQuery('/cosmos.auth.v1beta1.Query/Account', requestData);
|
|
196
|
+
const rawAccount = AuthModule.QueryAccountResponse.decode(data).account;
|
|
197
|
+
// The promise should have been rejected if the rawAccount was undefined.
|
|
198
|
+
if (rawAccount === undefined) {
|
|
199
|
+
throw new UnexpectedClientError();
|
|
200
|
+
}
|
|
201
|
+
return accountFromAny(rawAccount);
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* @description Get equity tier limit configuration.
|
|
205
|
+
*
|
|
206
|
+
* @returns Information on all equity tiers that are configured.
|
|
207
|
+
*/
|
|
208
|
+
async getEquityTierLimitConfiguration() {
|
|
209
|
+
const requestData = Uint8Array.from(ClobModule.QueryEquityTierLimitConfigurationRequest.encode({}).finish());
|
|
210
|
+
const data = await this.sendQuery('/ritbit.clob.Query/EquityTierLimitConfiguration', requestData);
|
|
211
|
+
return ClobModule.QueryEquityTierLimitConfigurationResponse.decode(data);
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
*
|
|
215
|
+
* @description Get all delegations from a delegator.
|
|
216
|
+
*
|
|
217
|
+
* @returns All delegations from a delegator.
|
|
218
|
+
*/
|
|
219
|
+
async getDelegatorDelegations(delegatorAddr) {
|
|
220
|
+
const requestData = Uint8Array.from(StakingModule.QueryDelegatorDelegationsRequest.encode({
|
|
221
|
+
delegatorAddr,
|
|
222
|
+
pagination: {
|
|
223
|
+
key: PAGE_REQUEST.key,
|
|
224
|
+
offset: BigInt(PAGE_REQUEST.offset.toString()),
|
|
225
|
+
limit: BigInt(PAGE_REQUEST.limit.toString()),
|
|
226
|
+
countTotal: PAGE_REQUEST.countTotal,
|
|
227
|
+
reverse: PAGE_REQUEST.reverse,
|
|
228
|
+
},
|
|
229
|
+
}).finish());
|
|
230
|
+
const data = await this.sendQuery('/cosmos.staking.v1beta1.Query/DelegatorDelegations', requestData);
|
|
231
|
+
return StakingModule.QueryDelegatorDelegationsResponse.decode(data);
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
*
|
|
235
|
+
* @description Get all unbonding delegations from a delegator.
|
|
236
|
+
*
|
|
237
|
+
* @returns All unbonding delegations from a delegator.
|
|
238
|
+
*/
|
|
239
|
+
async getDelegatorUnbondingDelegations(delegatorAddr) {
|
|
240
|
+
const requestData = Uint8Array.from(StakingModule.QueryDelegatorUnbondingDelegationsRequest.encode({
|
|
241
|
+
delegatorAddr,
|
|
242
|
+
pagination: {
|
|
243
|
+
key: PAGE_REQUEST.key,
|
|
244
|
+
offset: BigInt(PAGE_REQUEST.offset.toString()),
|
|
245
|
+
limit: BigInt(PAGE_REQUEST.limit.toString()),
|
|
246
|
+
countTotal: PAGE_REQUEST.countTotal,
|
|
247
|
+
reverse: PAGE_REQUEST.reverse,
|
|
248
|
+
},
|
|
249
|
+
}).finish());
|
|
250
|
+
const data = await this.sendQuery('/cosmos.staking.v1beta1.Query/DelegatorUnbondingDelegations', requestData);
|
|
251
|
+
return StakingModule.QueryDelegatorUnbondingDelegationsResponse.decode(data);
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
*
|
|
255
|
+
* @description Get all unbonding delegations from a delegator.
|
|
256
|
+
*
|
|
257
|
+
* @returns All unbonding delegations from a delegator.
|
|
258
|
+
*/
|
|
259
|
+
async getDelegationTotalRewards(delegatorAddress) {
|
|
260
|
+
const requestData = Uint8Array.from(DistributionModule.QueryDelegationTotalRewardsRequest.encode({
|
|
261
|
+
delegatorAddress,
|
|
262
|
+
}).finish());
|
|
263
|
+
const data = await this.sendQuery('/cosmos.distribution.v1beta1.Query/DelegationTotalRewards', requestData);
|
|
264
|
+
return DistributionModule.QueryDelegationTotalRewardsResponse.decode(data);
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* @description Get all delayed complete bridge messages, optionally filtered by address.
|
|
268
|
+
*
|
|
269
|
+
* @returns Information on all delayed complete bridge messages.
|
|
270
|
+
*/
|
|
271
|
+
async getDelayedCompleteBridgeMessages(address = '') {
|
|
272
|
+
const requestData = Uint8Array.from(BridgeModule.QueryDelayedCompleteBridgeMessagesRequest.encode({ address }).finish());
|
|
273
|
+
const data = await this.sendQuery('/ritbit.bridge.Query/DelayedCompleteBridgeMessages', requestData);
|
|
274
|
+
return BridgeModule.QueryDelayedCompleteBridgeMessagesResponse.decode(data);
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* @description Get all validators of a status.
|
|
278
|
+
*
|
|
279
|
+
* @returns all validators of a status.
|
|
280
|
+
*/
|
|
281
|
+
async getAllValidators(status = '') {
|
|
282
|
+
const requestData = Uint8Array.from(StakingModule.QueryValidatorsRequest.encode({
|
|
283
|
+
status,
|
|
284
|
+
pagination: {
|
|
285
|
+
key: PAGE_REQUEST.key,
|
|
286
|
+
offset: BigInt(PAGE_REQUEST.offset.toString()),
|
|
287
|
+
limit: BigInt(PAGE_REQUEST.limit.toString()),
|
|
288
|
+
countTotal: PAGE_REQUEST.countTotal,
|
|
289
|
+
reverse: PAGE_REQUEST.reverse,
|
|
290
|
+
},
|
|
291
|
+
}).finish());
|
|
292
|
+
const data = await this.sendQuery('/cosmos.staking.v1beta1.Query/Validators', requestData);
|
|
293
|
+
return StakingModule.QueryValidatorsResponse.decode(data);
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* @description Get all gov proposals.
|
|
297
|
+
*
|
|
298
|
+
* @param proposalStatus Status of the proposal to filter by.
|
|
299
|
+
* @param voter Voter to filter by.
|
|
300
|
+
* @param depositor Depositor to filter by.
|
|
301
|
+
*
|
|
302
|
+
* @returns All gov proposals that match the filters above.
|
|
303
|
+
*/
|
|
304
|
+
async getAllGovProposals(proposalStatus = ProposalStatus.PROPOSAL_STATUS_VOTING_PERIOD, voter = '', depositor = '') {
|
|
305
|
+
const requestData = Uint8Array.from(GovV1Module.QueryProposalsRequest.encode({
|
|
306
|
+
proposalStatus,
|
|
307
|
+
voter,
|
|
308
|
+
depositor,
|
|
309
|
+
pagination: {
|
|
310
|
+
key: PAGE_REQUEST.key,
|
|
311
|
+
offset: BigInt(PAGE_REQUEST.offset.toString()),
|
|
312
|
+
limit: BigInt(PAGE_REQUEST.limit.toString()),
|
|
313
|
+
countTotal: PAGE_REQUEST.countTotal,
|
|
314
|
+
reverse: PAGE_REQUEST.reverse,
|
|
315
|
+
},
|
|
316
|
+
}).finish());
|
|
317
|
+
const data = await this.sendQuery('/cosmos.gov.v1.Query/Proposals', requestData);
|
|
318
|
+
return GovV1Module.QueryProposalsResponse.decode(data);
|
|
319
|
+
}
|
|
320
|
+
async getWithdrawalAndTransferGatingStatus(perpetualId) {
|
|
321
|
+
const requestData = Uint8Array.from(SubaccountsModule.QueryGetWithdrawalAndTransfersBlockedInfoRequest.encode({
|
|
322
|
+
perpetualId,
|
|
323
|
+
}).finish());
|
|
324
|
+
const data = await this.sendQuery('/ritbit.subaccounts.Query/GetWithdrawalAndTransfersBlockedInfo', requestData);
|
|
325
|
+
return SubaccountsModule.QueryGetWithdrawalAndTransfersBlockedInfoResponse.decode(data);
|
|
326
|
+
}
|
|
327
|
+
async getWithdrawalCapacityByDenom(denom) {
|
|
328
|
+
const requestData = Uint8Array.from(RateLimitModule.QueryCapacityByDenomRequest.encode({
|
|
329
|
+
denom,
|
|
330
|
+
}).finish());
|
|
331
|
+
const data = await this.sendQuery('/ritbit.ratelimit.Query/CapacityByDenom', requestData);
|
|
332
|
+
return RateLimitModule.QueryCapacityByDenomResponse.decode(data);
|
|
333
|
+
}
|
|
334
|
+
async getMegavaultOwnerShares(address) {
|
|
335
|
+
const requestData = Uint8Array.from(VaultModule.QueryMegavaultOwnerSharesRequest.encode({
|
|
336
|
+
address,
|
|
337
|
+
}).finish());
|
|
338
|
+
const data = await this.sendQuery('/ritbit.vault.Query/MegavaultOwnerShares', requestData);
|
|
339
|
+
return VaultModule.QueryMegavaultOwnerSharesResponse.decode(data);
|
|
340
|
+
}
|
|
341
|
+
async getMegavaultWithdrawalInfo(sharesToWithdraw) {
|
|
342
|
+
const requestData = Uint8Array.from(VaultModule.QueryMegavaultWithdrawalInfoRequest.encode({
|
|
343
|
+
sharesToWithdraw: {
|
|
344
|
+
numShares: bigIntToBytes(sharesToWithdraw),
|
|
345
|
+
},
|
|
346
|
+
}).finish());
|
|
347
|
+
const data = await this.sendQuery('/ritbit.vault.Query/MegavaultWithdrawalInfo', requestData);
|
|
348
|
+
return VaultModule.QueryMegavaultWithdrawalInfoResponse.decode(data);
|
|
349
|
+
}
|
|
350
|
+
async getMegavaultAllOwnerShares() {
|
|
351
|
+
const requestData = Uint8Array.from(VaultModule.QueryMegavaultAllOwnerSharesRequest.encode({
|
|
352
|
+
pagination: PAGE_REQUEST,
|
|
353
|
+
}).finish());
|
|
354
|
+
const data = await this.sendQuery('/ritbit.vault.Query/MegavaultAllOwnerShares', requestData);
|
|
355
|
+
return VaultModule.QueryMegavaultAllOwnerSharesResponse.decode(data);
|
|
356
|
+
}
|
|
357
|
+
async getMegavaultTotalShares() {
|
|
358
|
+
const requestData = Uint8Array.from(VaultModule.QueryMegavaultTotalSharesRequest.encode({}).finish());
|
|
359
|
+
const data = await this.sendQuery('/ritbit.vault.Query/MegavaultTotalShares', requestData);
|
|
360
|
+
return VaultModule.QueryMegavaultTotalSharesResponse.decode(data);
|
|
361
|
+
}
|
|
362
|
+
async getAffiliateInfo(address) {
|
|
363
|
+
const requestData = Uint8Array.from(AffiliateModule.AffiliateInfoRequest.encode({
|
|
364
|
+
address,
|
|
365
|
+
}).finish());
|
|
366
|
+
const data = await this.sendQuery('/ritbit.affiliates.Query/AffiliateInfo', requestData);
|
|
367
|
+
return AffiliateModule.AffiliateInfoResponse.decode(data);
|
|
368
|
+
}
|
|
369
|
+
async getReferredBy(address) {
|
|
370
|
+
const requestData = Uint8Array.from(AffiliateModule.ReferredByRequest.encode({
|
|
371
|
+
address,
|
|
372
|
+
}).finish());
|
|
373
|
+
const data = await this.sendQuery('/ritbit.affiliates.Query/ReferredBy', requestData);
|
|
374
|
+
return AffiliateModule.ReferredByResponse.decode(data);
|
|
375
|
+
}
|
|
376
|
+
async getAllAffiliateTiers() {
|
|
377
|
+
const requestData = Uint8Array.from(AffiliateModule.AllAffiliateTiersRequest.encode({}).finish());
|
|
378
|
+
const data = await this.sendQuery('/ritbit.affiliates.Query/AllAffiliateTiers', requestData);
|
|
379
|
+
return AffiliateModule.AllAffiliateTiersResponse.decode(data);
|
|
380
|
+
}
|
|
381
|
+
async getAffiliateWhitelist() {
|
|
382
|
+
const requestData = Uint8Array.from(AffiliateModule.AffiliateWhitelistRequest.encode({}).finish());
|
|
383
|
+
const data = await this.sendQuery('/ritbit.affiliates.Query/AffiliateWhitelist', requestData);
|
|
384
|
+
return AffiliateModule.AffiliateWhitelistResponse.decode(data);
|
|
385
|
+
}
|
|
386
|
+
async getAuthenticators(address) {
|
|
387
|
+
const requestData = Uint8Array.from(GetAuthenticatorsRequest.encode({
|
|
388
|
+
account: address,
|
|
389
|
+
}).finish());
|
|
390
|
+
const data = await this.sendQuery('/ritbit.accountplus.Query/GetAuthenticators', requestData);
|
|
391
|
+
return GetAuthenticatorsResponse.decode(data);
|
|
392
|
+
}
|
|
393
|
+
/**
|
|
394
|
+
* @description Get fee discounts for all perp markets.
|
|
395
|
+
* @returns All markets' fee discounts.
|
|
396
|
+
*/
|
|
397
|
+
async getAllPerpMarketFeeDiscounts() {
|
|
398
|
+
const requestData = Uint8Array.from(FeeTierModule.QueryAllMarketFeeDiscountParamsRequest.encode({}).finish());
|
|
399
|
+
const data = await this.sendQuery('/ritbit.feetiers.Query/AllMarketFeeDiscountParams', requestData);
|
|
400
|
+
return FeeTierModule.QueryAllMarketFeeDiscountParamsResponse.decode(data);
|
|
401
|
+
}
|
|
402
|
+
/**
|
|
403
|
+
*
|
|
404
|
+
* @param address The address of the user to get the staking tier for.
|
|
405
|
+
* @returns The staking tier for the user.
|
|
406
|
+
*/
|
|
407
|
+
async getUserStakingTier(address) {
|
|
408
|
+
const requestData = Uint8Array.from(FeeTierModule.QueryUserStakingTierRequest.encode({
|
|
409
|
+
address,
|
|
410
|
+
}).finish());
|
|
411
|
+
const data = await this.sendQuery('/ritbit.feetiers.Query/UserStakingTier', requestData);
|
|
412
|
+
return FeeTierModule.QueryUserStakingTierResponse.decode(data);
|
|
413
|
+
}
|
|
414
|
+
/**
|
|
415
|
+
* @description Get all staking tiers.
|
|
416
|
+
* @returns All staking tiers.
|
|
417
|
+
*/
|
|
418
|
+
async getAllStakingTiers() {
|
|
419
|
+
const requestData = Uint8Array.from(FeeTierModule.QueryStakingTiersRequest.encode({}).finish());
|
|
420
|
+
const data = await this.sendQuery('/ritbit.feetiers.Query/StakingTiers', requestData);
|
|
421
|
+
return FeeTierModule.QueryStakingTiersResponse.decode(data);
|
|
422
|
+
}
|
|
423
|
+
async sendQuery(requestUrl, requestData) {
|
|
424
|
+
// eslint-disable-next-line max-len
|
|
425
|
+
const resp = await this.stargateQueryClient.queryAbci(requestUrl, requestData);
|
|
426
|
+
return resp.value;
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudHMvbW9kdWxlcy9nZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUVMLGNBQWMsR0FLZixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFDTCx3QkFBd0IsRUFDeEIseUJBQXlCLEdBQzFCLE1BQU0sdURBQXVELENBQUM7QUFFL0QsT0FBTyxLQUFLLFVBQVUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNyRSxPQUFPLEtBQUssVUFBVSxNQUFNLHdDQUF3QyxDQUFDO0FBRXJFLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUN4QixPQUFPLFFBQVEsTUFBTSxZQUFZLENBQUM7QUFFbEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFDTCxlQUFlLEVBQ2YsWUFBWSxFQUNaLFVBQVUsRUFDVixrQkFBa0IsRUFDbEIsYUFBYSxFQUNiLFdBQVcsRUFDWCxnQkFBZ0IsRUFDaEIsWUFBWSxFQUNaLGNBQWMsRUFDZCxlQUFlLEVBQ2YsYUFBYSxFQUNiLGFBQWEsRUFDYixXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLFdBQVcsR0FDWixNQUFNLGtCQUFrQixDQUFDO0FBRzFCLG9FQUFvRTtBQUNwRSw2RUFBNkU7QUFDN0UsbUZBQW1GO0FBQ25GLGtFQUFrRTtBQUNsRSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7QUFDMUIsUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDO0FBRXJCLE1BQU0sT0FBTyxHQUFHO0lBSWQsWUFDRSxnQkFBa0MsRUFDbEMsbUJBQXNEO1FBRXRELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FB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
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Secp256k1Pubkey, StdFee } from '@cosmjs/amino';
|
|
2
|
+
import { AccountData, EncodeObject, OfflineSigner } from '@cosmjs/proto-signing';
|
|
3
|
+
import { TransactionOptions } from '../types';
|
|
4
|
+
import { TransactionSigner } from './signer';
|
|
5
|
+
export default class LocalWallet {
|
|
6
|
+
accounts?: AccountData[];
|
|
7
|
+
address?: string;
|
|
8
|
+
pubKey?: Secp256k1Pubkey;
|
|
9
|
+
signer?: TransactionSigner;
|
|
10
|
+
offlineSigner?: OfflineSigner;
|
|
11
|
+
static fromOfflineSigner(signer: OfflineSigner): Promise<LocalWallet>;
|
|
12
|
+
static fromMnemonic(mnemonic: string, prefix?: string): Promise<LocalWallet>;
|
|
13
|
+
static fromPrivateKey(pkHex: string, prefix?: string): Promise<LocalWallet>;
|
|
14
|
+
setSigner(signer: OfflineSigner): Promise<void>;
|
|
15
|
+
setMnemonic(mnemonic: string, prefix?: string): Promise<void>;
|
|
16
|
+
setPrivateKey(pkHex: string, prefix?: string): Promise<void>;
|
|
17
|
+
signTransaction(messages: EncodeObject[], transactionOptions: TransactionOptions, fee?: StdFee, memo?: string): Promise<Uint8Array>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=local-wallet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-wallet.d.ts","sourceRoot":"","sources":["../../../../../src/clients/modules/local-wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,EAAyB,MAAM,eAAe,CAAC;AAE/E,OAAO,EACL,WAAW,EAGX,YAAY,EACZ,aAAa,EACd,MAAM,uBAAuB,CAAC;AAO/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAM7C,MAAM,CAAC,OAAO,OAAO,WAAW;IAC9B,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,aAAa,CAAC,EAAE,aAAa,CAAC;WAEjB,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC;WAM9D,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;WAMrE,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAM3E,SAAS,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAa/C,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7D,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrD,eAAe,CAC1B,QAAQ,EAAE,YAAY,EAAE,EACxB,kBAAkB,EAAE,kBAAkB,EACtC,GAAG,CAAC,EAAE,MAAM,EACZ,IAAI,GAAE,MAAW,GAChB,OAAO,CAAC,UAAU,CAAC;CAGvB"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { encodeSecp256k1Pubkey } from '@cosmjs/amino';
|
|
2
|
+
import { fromHex } from '@cosmjs/encoding';
|
|
3
|
+
import { DirectSecp256k1HdWallet, DirectSecp256k1Wallet, } from '@cosmjs/proto-signing';
|
|
4
|
+
import { SigningStargateClient } from '@cosmjs/stargate';
|
|
5
|
+
import Long from 'long';
|
|
6
|
+
import protobuf from 'protobufjs';
|
|
7
|
+
import { stripHexPrefix } from '../../lib/helpers';
|
|
8
|
+
import { generateRegistry } from '../lib/registry';
|
|
9
|
+
import { TransactionSigner } from './signer';
|
|
10
|
+
// Required for encoding and decoding queries that are of type Long.
|
|
11
|
+
protobuf.util.Long = Long;
|
|
12
|
+
protobuf.configure();
|
|
13
|
+
export default class LocalWallet {
|
|
14
|
+
static async fromOfflineSigner(signer) {
|
|
15
|
+
const wallet = new LocalWallet();
|
|
16
|
+
await wallet.setSigner(signer);
|
|
17
|
+
return wallet;
|
|
18
|
+
}
|
|
19
|
+
static async fromMnemonic(mnemonic, prefix) {
|
|
20
|
+
const wallet = new LocalWallet();
|
|
21
|
+
await wallet.setMnemonic(mnemonic, prefix);
|
|
22
|
+
return wallet;
|
|
23
|
+
}
|
|
24
|
+
static async fromPrivateKey(pkHex, prefix) {
|
|
25
|
+
const wallet = new LocalWallet();
|
|
26
|
+
await wallet.setPrivateKey(pkHex, prefix);
|
|
27
|
+
return wallet;
|
|
28
|
+
}
|
|
29
|
+
async setSigner(signer) {
|
|
30
|
+
this.offlineSigner = signer;
|
|
31
|
+
const stargateClient = await SigningStargateClient.offline(signer, {
|
|
32
|
+
registry: generateRegistry(),
|
|
33
|
+
});
|
|
34
|
+
const accountData = await signer.getAccounts();
|
|
35
|
+
const firstAccount = accountData[0];
|
|
36
|
+
this.accounts = [...accountData];
|
|
37
|
+
this.address = firstAccount.address;
|
|
38
|
+
this.pubKey = encodeSecp256k1Pubkey(firstAccount.pubkey);
|
|
39
|
+
this.signer = new TransactionSigner(this.address, stargateClient, signer);
|
|
40
|
+
}
|
|
41
|
+
async setMnemonic(mnemonic, prefix) {
|
|
42
|
+
const signer = await DirectSecp256k1HdWallet.fromMnemonic(mnemonic, { prefix });
|
|
43
|
+
return this.setSigner(signer);
|
|
44
|
+
}
|
|
45
|
+
async setPrivateKey(pkHex, prefix) {
|
|
46
|
+
const signer = await DirectSecp256k1Wallet.fromKey(fromHex(stripHexPrefix(pkHex)), prefix);
|
|
47
|
+
return this.setSigner(signer);
|
|
48
|
+
}
|
|
49
|
+
async signTransaction(messages, transactionOptions, fee, memo = '') {
|
|
50
|
+
return this.signer.signTransaction(messages, transactionOptions, fee, memo, this.pubKey);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtd2FsbGV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudHMvbW9kdWxlcy9sb2NhbC13YWxsZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUEyQixxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0MsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixxQkFBcUIsR0FHdEIsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN6RCxPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFDeEIsT0FBTyxRQUFRLE1BQU0sWUFBWSxDQUFDO0FBRWxDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVuRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFN0Msb0VBQW9FO0FBQ3BFLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztBQUMxQixRQUFRLENBQUMsU0FBUyxFQUFFLENBQUM7QUFFckIsTUFBTSxDQUFDLE9BQU8sT0FBTyxXQUFXO0lBTzlCLE1BQU0sQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBcUI7UUFDbEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNqQyxNQUFNLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0IsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLFFBQWdCLEVBQUUsTUFBZTtRQUN6RCxNQUFNLE1BQU0sR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ2pDLE1BQU0sTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDM0MsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLEtBQWEsRUFBRSxNQUFlO1FBQ3hELE1BQU0sTUFBTSxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDakMsTUFBTSxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMxQyxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFxQjtRQUNuQyxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQztRQUM1QixNQUFNLGNBQWMsR0FBRyxNQUFNLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUU7WUFDakUsUUFBUSxFQUFFLGdCQUFnQixFQUFFO1NBQzdCLENBQUMsQ0FBQztRQUNILE1BQU0sV0FBVyxHQUFHLE1BQU0sTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQy9DLE1BQU0sWUFBWSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsT0FBTyxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUM7UUFDcEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxLQUFLLENBQUMsV0FBVyxDQUFDLFFBQWdCLEVBQUUsTUFBZTtRQUNqRCxNQUFNLE1BQU0sR0FBRyxNQUFNLHVCQUF1QixDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ2hGLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsS0FBSyxDQUFDLGFBQWEsQ0FBQyxLQUFhLEVBQUUsTUFBZTtRQUNoRCxNQUFNLE1BQU0sR0FBRyxNQUFNLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDM0YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFTSxLQUFLLENBQUMsZUFBZSxDQUMxQixRQUF3QixFQUN4QixrQkFBc0MsRUFDdEMsR0FBWSxFQUNaLE9BQWUsRUFBRTtRQUVqQixPQUFPLElBQUksQ0FBQyxNQUFPLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1RixDQUFDO0NBQ0YifQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Data } from '../types';
|
|
2
|
+
import RestClient from './rest';
|
|
3
|
+
/**
|
|
4
|
+
* @description REST endpoints for data unrelated to a particular address.
|
|
5
|
+
*/
|
|
6
|
+
export default class MarketsClient extends RestClient {
|
|
7
|
+
getPerpetualMarkets(market?: string): Promise<Data>;
|
|
8
|
+
getPerpetualMarketOrderbook(market: string): Promise<Data>;
|
|
9
|
+
getPerpetualMarketTrades(market: string, startingBeforeOrAtHeight?: number | null, startingBeforeOrAt?: string | null, limit?: number | null, page?: number | null): Promise<Data>;
|
|
10
|
+
getPerpetualMarketCandles(market: string, resolution: string, fromISO?: string | null, toISO?: string | null, limit?: number | null): Promise<Data>;
|
|
11
|
+
getPerpetualMarketHistoricalFunding(market: string, effectiveBeforeOrAt?: string | null, effectiveBeforeOrAtHeight?: number | null, limit?: number | null): Promise<Data>;
|
|
12
|
+
getPerpetualMarketSparklines(period?: string): Promise<Data>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=markets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markets.d.ts","sourceRoot":"","sources":["../../../../../src/clients/modules/markets.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAO,UAAU,MAAM,QAAQ,CAAC;AAEhC;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,UAAU;IAC7C,mBAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKnD,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK1D,wBAAwB,CAC5B,MAAM,EAAE,MAAM,EACd,wBAAwB,CAAC,EAAE,MAAM,GAAG,IAAI,EACxC,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,EAClC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,EACrB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GACnB,OAAO,CAAC,IAAI,CAAC;IAUV,yBAAyB,CAC7B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,EACvB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,EACrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GACpB,OAAO,CAAC,IAAI,CAAC;IAUV,mCAAmC,CACvC,MAAM,EAAE,MAAM,EACd,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,EACnC,yBAAyB,CAAC,EAAE,MAAM,GAAG,IAAI,EACzC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GACpB,OAAO,CAAC,IAAI,CAAC;IASV,4BAA4B,CAAC,MAAM,GAAE,MAA2B,GAAG,OAAO,CAAC,IAAI,CAAC;CAMvF"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { TimePeriod } from '../constants';
|
|
2
|
+
import RestClient from './rest';
|
|
3
|
+
/**
|
|
4
|
+
* @description REST endpoints for data unrelated to a particular address.
|
|
5
|
+
*/
|
|
6
|
+
export default class MarketsClient extends RestClient {
|
|
7
|
+
async getPerpetualMarkets(market) {
|
|
8
|
+
const uri = '/v4/perpetualMarkets';
|
|
9
|
+
return this.get(uri, { ticker: market });
|
|
10
|
+
}
|
|
11
|
+
async getPerpetualMarketOrderbook(market) {
|
|
12
|
+
const uri = `/v4/orderbooks/perpetualMarket/${market}`;
|
|
13
|
+
return this.get(uri);
|
|
14
|
+
}
|
|
15
|
+
async getPerpetualMarketTrades(market, startingBeforeOrAtHeight, startingBeforeOrAt, limit, page) {
|
|
16
|
+
const uri = `/v4/trades/perpetualMarket/${market}`;
|
|
17
|
+
return this.get(uri, {
|
|
18
|
+
createdBeforeOrAtHeight: startingBeforeOrAtHeight,
|
|
19
|
+
createdBeforeOrAt: startingBeforeOrAt,
|
|
20
|
+
limit,
|
|
21
|
+
page,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
async getPerpetualMarketCandles(market, resolution, fromISO, toISO, limit) {
|
|
25
|
+
const uri = `/v4/candles/perpetualMarkets/${market}`;
|
|
26
|
+
return this.get(uri, {
|
|
27
|
+
resolution,
|
|
28
|
+
fromISO,
|
|
29
|
+
toISO,
|
|
30
|
+
limit,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
async getPerpetualMarketHistoricalFunding(market, effectiveBeforeOrAt, effectiveBeforeOrAtHeight, limit) {
|
|
34
|
+
const uri = `/v4/historicalFunding/${market}`;
|
|
35
|
+
return this.get(uri, {
|
|
36
|
+
effectiveBeforeOrAt,
|
|
37
|
+
effectiveBeforeOrAtHeight,
|
|
38
|
+
limit,
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
async getPerpetualMarketSparklines(period = TimePeriod.ONE_DAY) {
|
|
42
|
+
const uri = '/v4/sparklines';
|
|
43
|
+
return this.get(uri, {
|
|
44
|
+
timePeriod: period,
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2V0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnRzL21vZHVsZXMvbWFya2V0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTFDLE9BQU8sVUFBVSxNQUFNLFFBQVEsQ0FBQztBQUVoQzs7R0FFRztBQUNILE1BQU0sQ0FBQyxPQUFPLE9BQU8sYUFBYyxTQUFRLFVBQVU7SUFDbkQsS0FBSyxDQUFDLG1CQUFtQixDQUFDLE1BQWU7UUFDdkMsTUFBTSxHQUFHLEdBQUcsc0JBQXNCLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxLQUFLLENBQUMsMkJBQTJCLENBQUMsTUFBYztRQUM5QyxNQUFNLEdBQUcsR0FBRyxrQ0FBa0MsTUFBTSxFQUFFLENBQUM7UUFDdkQsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxLQUFLLENBQUMsd0JBQXdCLENBQzVCLE1BQWMsRUFDZCx3QkFBd0MsRUFDeEMsa0JBQWtDLEVBQ2xDLEtBQXFCLEVBQ3JCLElBQW9CO1FBRXBCLE1BQU0sR0FBRyxHQUFHLDhCQUE4QixNQUFNLEVBQUUsQ0FBQztRQUNuRCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ25CLHVCQUF1QixFQUFFLHdCQUF3QjtZQUNqRCxpQkFBaUIsRUFBRSxrQkFBa0I7WUFDckMsS0FBSztZQUNMLElBQUk7U0FDTCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLHlCQUF5QixDQUM3QixNQUFjLEVBQ2QsVUFBa0IsRUFDbEIsT0FBdUIsRUFDdkIsS0FBcUIsRUFDckIsS0FBcUI7UUFFckIsTUFBTSxHQUFHLEdBQUcsZ0NBQWdDLE1BQU0sRUFBRSxDQUFDO1FBQ3JELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDbkIsVUFBVTtZQUNWLE9BQU87WUFDUCxLQUFLO1lBQ0wsS0FBSztTQUNOLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLLENBQUMsbUNBQW1DLENBQ3ZDLE1BQWMsRUFDZCxtQkFBbUMsRUFDbkMseUJBQXlDLEVBQ3pDLEtBQXFCO1FBRXJCLE1BQU0sR0FBRyxHQUFHLHlCQUF5QixNQUFNLEVBQUUsQ0FBQztRQUM5QyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ25CLG1CQUFtQjtZQUNuQix5QkFBeUI7WUFDekIsS0FBSztTQUNOLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLLENBQUMsNEJBQTRCLENBQUMsU0FBaUIsVUFBVSxDQUFDLE9BQU87UUFDcEUsTUFBTSxHQUFHLEdBQUcsZ0JBQWdCLENBQUM7UUFDN0IsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNuQixVQUFVLEVBQUUsTUFBTTtTQUNuQixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YifQ==
|