@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,163 @@
|
|
|
1
|
+
import BigNumber from 'bignumber.js';
|
|
2
|
+
import Long from 'long';
|
|
3
|
+
import { OrderType, OrderSide, OrderTimeInForce, OrderExecution } from '../constants';
|
|
4
|
+
import { Order_ConditionType, Order_Side, Order_TimeInForce } from '../modules/proto-includes';
|
|
5
|
+
import { OrderFlags } from '../types';
|
|
6
|
+
export function round(input, base) {
|
|
7
|
+
return BigNumber(input)
|
|
8
|
+
.div(BigNumber(base))
|
|
9
|
+
.integerValue(BigNumber.ROUND_FLOOR)
|
|
10
|
+
.times(BigNumber(base))
|
|
11
|
+
.toNumber();
|
|
12
|
+
}
|
|
13
|
+
export function calculateQuantums(size, atomicResolution, stepBaseQuantums) {
|
|
14
|
+
const rawQuantums = BigNumber(size).times(BigNumber(10).pow(BigNumber(atomicResolution).negated()));
|
|
15
|
+
const quantums = round(rawQuantums.toNumber(), stepBaseQuantums);
|
|
16
|
+
// stepBaseQuantums functions as minimum order size
|
|
17
|
+
const result = Math.max(quantums, stepBaseQuantums);
|
|
18
|
+
return Long.fromNumber(result);
|
|
19
|
+
}
|
|
20
|
+
export function calculateVaultQuantums(size) {
|
|
21
|
+
return BigInt(BigNumber(size).times(1000000).toFixed(0, BigNumber.ROUND_FLOOR));
|
|
22
|
+
}
|
|
23
|
+
export function calculateSubticks(price, atomicResolution, quantumConversionExponent, subticksPerTick) {
|
|
24
|
+
const QUOTE_QUANTUMS_ATOMIC_RESOLUTION = -6;
|
|
25
|
+
const exponent = atomicResolution - quantumConversionExponent - QUOTE_QUANTUMS_ATOMIC_RESOLUTION;
|
|
26
|
+
const rawSubticks = BigNumber(price).times(BigNumber(10).pow(exponent));
|
|
27
|
+
const subticks = round(rawSubticks.toNumber(), subticksPerTick);
|
|
28
|
+
const result = Math.max(subticks, subticksPerTick);
|
|
29
|
+
return Long.fromNumber(result);
|
|
30
|
+
}
|
|
31
|
+
export function calculateSide(side) {
|
|
32
|
+
return side === OrderSide.BUY ? Order_Side.SIDE_BUY : Order_Side.SIDE_SELL;
|
|
33
|
+
}
|
|
34
|
+
export function calculateTimeInForce(type, timeInForce, execution, postOnly) {
|
|
35
|
+
switch (type) {
|
|
36
|
+
case OrderType.MARKET:
|
|
37
|
+
switch (timeInForce) {
|
|
38
|
+
case OrderTimeInForce.FOK:
|
|
39
|
+
return Order_TimeInForce.TIME_IN_FORCE_FILL_OR_KILL;
|
|
40
|
+
default:
|
|
41
|
+
return Order_TimeInForce.TIME_IN_FORCE_IOC;
|
|
42
|
+
}
|
|
43
|
+
case OrderType.LIMIT:
|
|
44
|
+
switch (timeInForce) {
|
|
45
|
+
case OrderTimeInForce.GTT:
|
|
46
|
+
if (postOnly == null) {
|
|
47
|
+
throw new Error('postOnly must be set if order type is LIMIT and timeInForce is GTT');
|
|
48
|
+
}
|
|
49
|
+
return postOnly
|
|
50
|
+
? Order_TimeInForce.TIME_IN_FORCE_POST_ONLY
|
|
51
|
+
: Order_TimeInForce.TIME_IN_FORCE_UNSPECIFIED;
|
|
52
|
+
case OrderTimeInForce.FOK:
|
|
53
|
+
return Order_TimeInForce.TIME_IN_FORCE_FILL_OR_KILL;
|
|
54
|
+
case OrderTimeInForce.IOC:
|
|
55
|
+
return Order_TimeInForce.TIME_IN_FORCE_IOC;
|
|
56
|
+
default:
|
|
57
|
+
throw new Error('Unexpected code path: timeInForce');
|
|
58
|
+
}
|
|
59
|
+
case OrderType.STOP_LIMIT:
|
|
60
|
+
case OrderType.TAKE_PROFIT_LIMIT:
|
|
61
|
+
if (execution == null) {
|
|
62
|
+
throw new Error('execution must be set if order type is STOP_LIMIT or TAKE_PROFIT_LIMIT');
|
|
63
|
+
}
|
|
64
|
+
switch (execution) {
|
|
65
|
+
case OrderExecution.DEFAULT:
|
|
66
|
+
return Order_TimeInForce.TIME_IN_FORCE_UNSPECIFIED;
|
|
67
|
+
case OrderExecution.POST_ONLY:
|
|
68
|
+
return Order_TimeInForce.TIME_IN_FORCE_POST_ONLY;
|
|
69
|
+
case OrderExecution.FOK:
|
|
70
|
+
return Order_TimeInForce.TIME_IN_FORCE_FILL_OR_KILL;
|
|
71
|
+
case OrderExecution.IOC:
|
|
72
|
+
return Order_TimeInForce.TIME_IN_FORCE_IOC;
|
|
73
|
+
default:
|
|
74
|
+
throw new Error('Unexpected code path: timeInForce');
|
|
75
|
+
}
|
|
76
|
+
case OrderType.STOP_MARKET:
|
|
77
|
+
case OrderType.TAKE_PROFIT_MARKET:
|
|
78
|
+
if (execution == null) {
|
|
79
|
+
throw new Error('execution must be set if order type is STOP_MARKET or TAKE_PROFIT_MARKET');
|
|
80
|
+
}
|
|
81
|
+
switch (execution) {
|
|
82
|
+
case OrderExecution.DEFAULT:
|
|
83
|
+
throw new Error('Execution value DEFAULT not supported for STOP_MARKET or TAKE_PROFIT_MARKET');
|
|
84
|
+
case OrderExecution.POST_ONLY:
|
|
85
|
+
throw new Error('Execution value POST_ONLY not supported for STOP_MARKET or TAKE_PROFIT_MARKET');
|
|
86
|
+
case OrderExecution.FOK:
|
|
87
|
+
return Order_TimeInForce.TIME_IN_FORCE_FILL_OR_KILL;
|
|
88
|
+
case OrderExecution.IOC:
|
|
89
|
+
return Order_TimeInForce.TIME_IN_FORCE_IOC;
|
|
90
|
+
default:
|
|
91
|
+
throw new Error('Unexpected code path: timeInForce');
|
|
92
|
+
}
|
|
93
|
+
default:
|
|
94
|
+
throw new Error('Unexpected code path: timeInForce');
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
export function calculateOrderFlags(type, timeInForce) {
|
|
98
|
+
switch (type) {
|
|
99
|
+
case OrderType.MARKET:
|
|
100
|
+
return OrderFlags.SHORT_TERM;
|
|
101
|
+
case OrderType.LIMIT:
|
|
102
|
+
if (timeInForce === undefined) {
|
|
103
|
+
throw new Error('timeInForce must be set if orderType is LIMIT');
|
|
104
|
+
}
|
|
105
|
+
if (timeInForce === OrderTimeInForce.GTT) {
|
|
106
|
+
return OrderFlags.LONG_TERM;
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
return OrderFlags.SHORT_TERM;
|
|
110
|
+
}
|
|
111
|
+
case OrderType.STOP_LIMIT:
|
|
112
|
+
case OrderType.TAKE_PROFIT_LIMIT:
|
|
113
|
+
case OrderType.STOP_MARKET:
|
|
114
|
+
case OrderType.TAKE_PROFIT_MARKET:
|
|
115
|
+
return OrderFlags.CONDITIONAL;
|
|
116
|
+
default:
|
|
117
|
+
throw new Error('Unexpected code path: orderFlags');
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
export function calculateClientMetadata(orderType) {
|
|
121
|
+
switch (orderType) {
|
|
122
|
+
case OrderType.MARKET:
|
|
123
|
+
case OrderType.STOP_MARKET:
|
|
124
|
+
case OrderType.TAKE_PROFIT_MARKET:
|
|
125
|
+
return 1;
|
|
126
|
+
default:
|
|
127
|
+
return 0;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
export function calculateConditionType(orderType) {
|
|
131
|
+
switch (orderType) {
|
|
132
|
+
case OrderType.LIMIT:
|
|
133
|
+
return Order_ConditionType.CONDITION_TYPE_UNSPECIFIED;
|
|
134
|
+
case OrderType.MARKET:
|
|
135
|
+
return Order_ConditionType.CONDITION_TYPE_UNSPECIFIED;
|
|
136
|
+
case OrderType.STOP_LIMIT:
|
|
137
|
+
case OrderType.STOP_MARKET:
|
|
138
|
+
return Order_ConditionType.CONDITION_TYPE_STOP_LOSS;
|
|
139
|
+
case OrderType.TAKE_PROFIT_LIMIT:
|
|
140
|
+
case OrderType.TAKE_PROFIT_MARKET:
|
|
141
|
+
return Order_ConditionType.CONDITION_TYPE_TAKE_PROFIT;
|
|
142
|
+
default:
|
|
143
|
+
return Order_ConditionType.CONDITION_TYPE_UNSPECIFIED;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
export function calculateConditionalOrderTriggerSubticks(orderType, atomicResolution, quantumConversionExponent, subticksPerTick, triggerPrice) {
|
|
147
|
+
switch (orderType) {
|
|
148
|
+
case OrderType.LIMIT:
|
|
149
|
+
case OrderType.MARKET:
|
|
150
|
+
return Long.fromNumber(0);
|
|
151
|
+
case OrderType.STOP_LIMIT:
|
|
152
|
+
case OrderType.STOP_MARKET:
|
|
153
|
+
case OrderType.TAKE_PROFIT_LIMIT:
|
|
154
|
+
case OrderType.TAKE_PROFIT_MARKET:
|
|
155
|
+
if (triggerPrice === undefined) {
|
|
156
|
+
throw new Error('triggerPrice must be set if orderType is STOP_LIMIT, STOP_MARKET, TAKE_PROFIT_LIMIT, or TAKE_PROFIT_MARKET');
|
|
157
|
+
}
|
|
158
|
+
return calculateSubticks(triggerPrice, atomicResolution, quantumConversionExponent, subticksPerTick);
|
|
159
|
+
default:
|
|
160
|
+
return Long.fromNumber(0);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhaW4taGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnRzL2hlbHBlcnMvY2hhaW4taGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFNBQVMsTUFBTSxjQUFjLENBQUM7QUFDckMsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBRXhCLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN0RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0YsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV0QyxNQUFNLFVBQVUsS0FBSyxDQUFDLEtBQWEsRUFBRSxJQUFZO0lBQy9DLE9BQU8sU0FBUyxDQUFDLEtBQUssQ0FBQztTQUNwQixHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3BCLFlBQVksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDO1NBQ25DLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdEIsUUFBUSxFQUFFLENBQUM7QUFDaEIsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FDL0IsSUFBWSxFQUNaLGdCQUF3QixFQUN4QixnQkFBd0I7SUFFeEIsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FDdkMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUN6RCxDQUFDO0lBQ0YsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2pFLG1EQUFtRDtJQUNu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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-helpers.d.ts","sourceRoot":"","sources":["../../../../../src/clients/helpers/request-helpers.ts"],"names":[],"mappings":"AAGA,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,CAajE;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAqC5C"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import Long from "long";
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
3
|
+
export function generateQueryPath(url, params) {
|
|
4
|
+
const definedEntries = Object.entries(params).filter(([_key, value]) => value !== undefined);
|
|
5
|
+
if (!definedEntries.length) {
|
|
6
|
+
return url;
|
|
7
|
+
}
|
|
8
|
+
const paramsString = definedEntries
|
|
9
|
+
.map(([key, value]) => `${key}=${value}`)
|
|
10
|
+
.join('&');
|
|
11
|
+
return `${url}?${paramsString}`;
|
|
12
|
+
}
|
|
13
|
+
export function parseToPrimitives(x) {
|
|
14
|
+
if (typeof x === 'number' || typeof x === 'string' || typeof x === 'boolean' || x === null) {
|
|
15
|
+
return x;
|
|
16
|
+
}
|
|
17
|
+
if (Array.isArray(x)) {
|
|
18
|
+
return x.map((item) => parseToPrimitives(item));
|
|
19
|
+
}
|
|
20
|
+
if (Long.isLong(x)) {
|
|
21
|
+
return x.toString();
|
|
22
|
+
}
|
|
23
|
+
if (x instanceof Uint8Array) {
|
|
24
|
+
return bytesToBigInt(x).toString();
|
|
25
|
+
}
|
|
26
|
+
if (x instanceof Date) {
|
|
27
|
+
return x.toString();
|
|
28
|
+
}
|
|
29
|
+
if (typeof x === 'object') {
|
|
30
|
+
const parsedObj = {};
|
|
31
|
+
// eslint-disable-next-line no-restricted-syntax
|
|
32
|
+
for (const key in x) {
|
|
33
|
+
if (Object.prototype.hasOwnProperty.call(x, key)) {
|
|
34
|
+
parsedObj[key] = parseToPrimitives(x[key]);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return parsedObj;
|
|
38
|
+
}
|
|
39
|
+
if (typeof x === 'bigint') {
|
|
40
|
+
return x.toString();
|
|
41
|
+
}
|
|
42
|
+
throw new Error(`Unsupported data type: ${typeof x}`);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Converts a byte array (representing an arbitrary-size signed integer) into a bigint.
|
|
46
|
+
* @param u Array of bytes represented as a Uint8Array.
|
|
47
|
+
*/
|
|
48
|
+
function bytesToBigInt(u) {
|
|
49
|
+
if (u.length <= 1) {
|
|
50
|
+
return BigInt(0);
|
|
51
|
+
}
|
|
52
|
+
// eslint-disable-next-line no-bitwise
|
|
53
|
+
const negated = (u[0] & 1) === 1;
|
|
54
|
+
const hex = Buffer.from(u.slice(1)).toString('hex');
|
|
55
|
+
const abs = BigInt(`0x${hex}`);
|
|
56
|
+
return negated ? -abs : abs;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudHMvaGVscGVycy9yZXF1ZXN0LWhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBRXhCLHVEQUF1RDtBQUN2RCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsR0FBVyxFQUFFLE1BQVU7SUFDdkQsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQ2xELENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUMxRCxDQUFDO0lBRUYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMzQixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxNQUFNLFlBQVksR0FBRyxjQUFjO1NBQ2hDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBb0IsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7U0FDM0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2IsT0FBTyxHQUFHLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztBQUNsQyxDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUFJLENBQUk7SUFDdkMsSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxJQUFJLE9BQU8sQ0FBQyxLQUFLLFNBQVMsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDM0YsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDckIsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBTSxDQUFDO0lBQ3ZELENBQUM7SUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNuQixPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQU8sQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxDQUFDLFlBQVksVUFBVSxFQUFFLENBQUM7UUFDNUIsT0FBTyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFPLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQUksQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDO1FBQ3RCLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBTyxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzFCLE1BQU0sU0FBUyxHQUEyQixFQUFFLENBQUM7UUFDN0MsZ0RBQWdEO1FBQ2hELEtBQUssTUFBTSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDcEIsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ2pELFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxpQkFBaUIsQ0FBRSxDQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUN0RCxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sU0FBYyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzFCLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBTyxDQUFDO0lBQzNCLENBQUM7SUFFRCxNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDeEQsQ0FBQztBQUVEOzs7R0FHRztBQUNILFNBQVMsYUFBYSxDQUFDLENBQWE7SUFDbEMsSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ2xCLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFDRCxzQ0FBc0M7SUFDdEMsTUFBTSxPQUFPLEdBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFDLE1BQU0sR0FBRyxHQUFXLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1RCxNQUFNLEdBQUcsR0FBVyxNQUFNLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZDLE9BQU8sT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQzlCLENBQUMifQ==
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { IndexerConfig } from './constants';
|
|
2
|
+
import AccountClient from './modules/account';
|
|
3
|
+
import MarketsClient from './modules/markets';
|
|
4
|
+
import UtilityClient from './modules/utility';
|
|
5
|
+
import VaultClient from './modules/vault';
|
|
6
|
+
/**
|
|
7
|
+
* @description Client for Indexer
|
|
8
|
+
*/
|
|
9
|
+
export declare class IndexerClient {
|
|
10
|
+
readonly config: IndexerConfig;
|
|
11
|
+
readonly apiTimeout: number;
|
|
12
|
+
readonly _markets: MarketsClient;
|
|
13
|
+
readonly _account: AccountClient;
|
|
14
|
+
readonly _utility: UtilityClient;
|
|
15
|
+
readonly _vault: VaultClient;
|
|
16
|
+
constructor(config: IndexerConfig, apiTimeout?: number);
|
|
17
|
+
/**
|
|
18
|
+
* @description Get the public module, used for interacting with public endpoints.
|
|
19
|
+
*
|
|
20
|
+
* @returns The public module
|
|
21
|
+
*/
|
|
22
|
+
get markets(): MarketsClient;
|
|
23
|
+
/**
|
|
24
|
+
* @description Get the private module, used for interacting with private endpoints.
|
|
25
|
+
*
|
|
26
|
+
* @returns The private module
|
|
27
|
+
*/
|
|
28
|
+
get account(): AccountClient;
|
|
29
|
+
/**
|
|
30
|
+
* @description Get the utility module, used for interacting with non-market public endpoints.
|
|
31
|
+
*/
|
|
32
|
+
get utility(): UtilityClient;
|
|
33
|
+
/**
|
|
34
|
+
* @description Get the vault module, used for interacting with vault endpoints.
|
|
35
|
+
*
|
|
36
|
+
* @returns The vault module
|
|
37
|
+
*/
|
|
38
|
+
get vault(): VaultClient;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=indexer-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"indexer-client.d.ts","sourceRoot":"","sources":["../../../../src/clients/indexer-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAuB,MAAM,aAAa,CAAC;AACjE,OAAO,aAAa,MAAM,mBAAmB,CAAC;AAC9C,OAAO,aAAa,MAAM,mBAAmB,CAAC;AAC9C,OAAO,aAAa,MAAM,mBAAmB,CAAC;AAC9C,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAE1C;;GAEG;AACH,qBAAa,aAAa;IACxB,SAAgB,MAAM,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;gBAEjB,MAAM,EAAE,aAAa,EAAE,UAAU,CAAC,EAAE,MAAM;IAUtD;;;;OAIG;IACH,IAAI,OAAO,IAAI,aAAa,CAE3B;IAED;;;;OAIG;IACH,IAAI,OAAO,IAAI,aAAa,CAE3B;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,aAAa,CAE3B;IAED;;;;OAIG;IACH,IAAI,KAAK,IAAI,WAAW,CAEvB;CACF"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { DEFAULT_API_TIMEOUT } from './constants';
|
|
2
|
+
import AccountClient from './modules/account';
|
|
3
|
+
import MarketsClient from './modules/markets';
|
|
4
|
+
import UtilityClient from './modules/utility';
|
|
5
|
+
import VaultClient from './modules/vault';
|
|
6
|
+
/**
|
|
7
|
+
* @description Client for Indexer
|
|
8
|
+
*/
|
|
9
|
+
export class IndexerClient {
|
|
10
|
+
constructor(config, apiTimeout) {
|
|
11
|
+
this.config = config;
|
|
12
|
+
this.apiTimeout = apiTimeout !== null && apiTimeout !== void 0 ? apiTimeout : DEFAULT_API_TIMEOUT;
|
|
13
|
+
this._markets = new MarketsClient(config.restEndpoint, apiTimeout, config.proxy);
|
|
14
|
+
this._account = new AccountClient(config.restEndpoint, apiTimeout, config.proxy);
|
|
15
|
+
this._utility = new UtilityClient(config.restEndpoint, apiTimeout, config.proxy);
|
|
16
|
+
this._vault = new VaultClient(config.restEndpoint, apiTimeout, config.proxy);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* @description Get the public module, used for interacting with public endpoints.
|
|
20
|
+
*
|
|
21
|
+
* @returns The public module
|
|
22
|
+
*/
|
|
23
|
+
get markets() {
|
|
24
|
+
return this._markets;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* @description Get the private module, used for interacting with private endpoints.
|
|
28
|
+
*
|
|
29
|
+
* @returns The private module
|
|
30
|
+
*/
|
|
31
|
+
get account() {
|
|
32
|
+
return this._account;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* @description Get the utility module, used for interacting with non-market public endpoints.
|
|
36
|
+
*/
|
|
37
|
+
get utility() {
|
|
38
|
+
return this._utility;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* @description Get the vault module, used for interacting with vault endpoints.
|
|
42
|
+
*
|
|
43
|
+
* @returns The vault module
|
|
44
|
+
*/
|
|
45
|
+
get vault() {
|
|
46
|
+
return this._vault;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXhlci1jbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2xpZW50cy9pbmRleGVyLWNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2pFLE9BQU8sYUFBYSxNQUFNLG1CQUFtQixDQUFDO0FBQzlDLE9BQU8sYUFBYSxNQUFNLG1CQUFtQixDQUFDO0FBQzlDLE9BQU8sYUFBYSxNQUFNLG1CQUFtQixDQUFDO0FBQzlDLE9BQU8sV0FBVyxNQUFNLGlCQUFpQixDQUFDO0FBRTFDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGFBQWE7SUFReEIsWUFBWSxNQUFxQixFQUFFLFVBQW1CO1FBQ3BELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxhQUFWLFVBQVUsY0FBVixVQUFVLEdBQUksbUJBQW1CLENBQUM7UUFFcEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLGFBQWEsQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakYsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLGFBQWEsQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakYsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLGFBQWEsQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakYsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7Q0FDRiJ9
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Data } from '../../types';
|
|
2
|
+
import { RequestMethod } from './types';
|
|
3
|
+
export interface Response {
|
|
4
|
+
status: number;
|
|
5
|
+
data: Data;
|
|
6
|
+
headers: {};
|
|
7
|
+
}
|
|
8
|
+
export declare function request(url: string, method?: RequestMethod, body?: unknown | null, headers?: {}): Promise<Response>;
|
|
9
|
+
//# sourceMappingURL=axiosRequest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"axiosRequest.d.ts","sourceRoot":"","sources":["../../../../../../src/clients/lib/axios/axiosRequest.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,EAAE,CAAC;CACb;AAkBD,wBAAgB,OAAO,CACrB,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,aAAiC,EACzC,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,EACrB,OAAO,GAAE,EAAO,GACf,OAAO,CAAC,QAAQ,CAAC,CAOnB"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import axios from 'axios';
|
|
2
|
+
import { AxiosServerError, AxiosError } from './errors';
|
|
3
|
+
import { RequestMethod } from './types';
|
|
4
|
+
async function axiosRequest(options) {
|
|
5
|
+
try {
|
|
6
|
+
return await axios(options);
|
|
7
|
+
}
|
|
8
|
+
catch (error) {
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/strict-boolean-expressions
|
|
10
|
+
if (error.isAxiosError) {
|
|
11
|
+
// eslint-disable-next-line @typescript-eslint/strict-boolean-expressions
|
|
12
|
+
if (error.response) {
|
|
13
|
+
throw new AxiosServerError(error.response, error);
|
|
14
|
+
}
|
|
15
|
+
throw new AxiosError(`Axios: ${error.message}`, error);
|
|
16
|
+
}
|
|
17
|
+
throw error;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
export function request(url, method = RequestMethod.GET, body, headers = {}) {
|
|
21
|
+
return axiosRequest({
|
|
22
|
+
url,
|
|
23
|
+
method,
|
|
24
|
+
data: body,
|
|
25
|
+
headers,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXhpb3NSZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudHMvbGliL2F4aW9zL2F4aW9zUmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQTZCLE1BQU0sT0FBTyxDQUFDO0FBR2xELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQVF4QyxLQUFLLFVBQVUsWUFBWSxDQUFDLE9BQTJCO0lBQ3JELElBQUksQ0FBQztRQUNILE9BQU8sTUFBTSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZix5RUFBeUU7UUFDekUsSUFBSSxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdkIseUVBQXlFO1lBQ3pFLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNuQixNQUFNLElBQUksZ0JBQWdCLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNwRCxDQUFDO1lBQ0QsTUFBTSxJQUFJLFVBQVUsQ0FBQyxVQUFVLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN6RCxDQUFDO1FBQ0QsTUFBTSxLQUFLLENBQUM7SUFDZCxDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxPQUFPLENBQ3JCLEdBQVcsRUFDWCxTQUF3QixhQUFhLENBQUMsR0FBRyxFQUN6QyxJQUFxQixFQUNyQixVQUFjLEVBQUU7SUFFaEIsT0FBTyxZQUFZLENBQUM7UUFDbEIsR0FBRztRQUNILE1BQU07UUFDTixJQUFJLEVBQUUsSUFBSTtRQUNWLE9BQU87S0FDUixDQUFDLENBQUM7QUFDTCxDQUFDIn0=
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { WrappedError } from '../errors';
|
|
2
|
+
interface AxiosOriginalError extends Error {
|
|
3
|
+
isAxiosError: true;
|
|
4
|
+
toJSON(): {};
|
|
5
|
+
}
|
|
6
|
+
interface AxiosErrorResponse {
|
|
7
|
+
status: number;
|
|
8
|
+
statusText: string;
|
|
9
|
+
data: {};
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* @description An error thrown by axios.
|
|
13
|
+
*
|
|
14
|
+
* Depending on your use case, if logging errors, you may want to catch axios errors and sanitize
|
|
15
|
+
* them to remove the request and response objects, or sensitive fields. For example:
|
|
16
|
+
*
|
|
17
|
+
* this.originalError = _.omit(originalError.toJSON(), 'config')
|
|
18
|
+
*/
|
|
19
|
+
export declare class AxiosError extends WrappedError {
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* @description Axios error with response error fields.
|
|
23
|
+
*/
|
|
24
|
+
export declare class AxiosServerError extends AxiosError {
|
|
25
|
+
readonly status: number;
|
|
26
|
+
readonly statusText: string;
|
|
27
|
+
readonly data: {};
|
|
28
|
+
constructor(response: AxiosErrorResponse, originalError: AxiosOriginalError);
|
|
29
|
+
}
|
|
30
|
+
export {};
|
|
31
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../../../src/clients/lib/axios/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,UAAU,kBAAmB,SAAQ,KAAK;IACxC,YAAY,EAAE,IAAI,CAAC;IACnB,MAAM,IAAI,EAAE,CAAC;CACd;AAED,UAAU,kBAAkB;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,EAAE,CAAC;CACV;AAED;;;;;;;GAOG;AACH,qBAAa,UAAW,SAAQ,YAAY;CAAG;AAE/C;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,UAAU;IAC9C,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,IAAI,EAAE,EAAE,CAAC;gBAEb,QAAQ,EAAE,kBAAkB,EAAE,aAAa,EAAE,kBAAkB;CAS5E"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { WrappedError } from '../errors';
|
|
2
|
+
/**
|
|
3
|
+
* @description An error thrown by axios.
|
|
4
|
+
*
|
|
5
|
+
* Depending on your use case, if logging errors, you may want to catch axios errors and sanitize
|
|
6
|
+
* them to remove the request and response objects, or sensitive fields. For example:
|
|
7
|
+
*
|
|
8
|
+
* this.originalError = _.omit(originalError.toJSON(), 'config')
|
|
9
|
+
*/
|
|
10
|
+
export class AxiosError extends WrappedError {
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* @description Axios error with response error fields.
|
|
14
|
+
*/
|
|
15
|
+
export class AxiosServerError extends AxiosError {
|
|
16
|
+
constructor(response, originalError) {
|
|
17
|
+
super(`${response.status}: ${response.statusText} - ${JSON.stringify(response.data, null, 2)}`, originalError);
|
|
18
|
+
this.status = response.status;
|
|
19
|
+
this.statusText = response.statusText;
|
|
20
|
+
this.data = response.data;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudHMvbGliL2F4aW9zL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBYXpDOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLE9BQU8sVUFBVyxTQUFRLFlBQVk7Q0FBRztBQUUvQzs7R0FFRztBQUNILE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxVQUFVO0lBSzlDLFlBQVksUUFBNEIsRUFBRSxhQUFpQztRQUN6RSxLQUFLLENBQ0gsR0FBRyxRQUFRLENBQUMsTUFBTSxLQUFLLFFBQVEsQ0FBQyxVQUFVLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxFQUN4RixhQUFhLENBQ2QsQ0FBQztRQUNGLElBQUksQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztRQUM5QixJQUFJLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUM7UUFDdEMsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO0lBQzVCLENBQUM7Q0FDRiJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/clients/lib/axios/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Simple handling of axios requests and errors.
|
|
3
|
+
*/
|
|
4
|
+
export * from './axiosRequest';
|
|
5
|
+
export * from './errors';
|
|
6
|
+
export * from './types';
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50cy9saWIvYXhpb3MvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsU0FBUyxDQUFDIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/clients/lib/axios/types.ts"],"names":[],"mappings":"AAAA,oBAAY,aAAa;IACvB,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,MAAM,WAAW;CAClB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export var RequestMethod;
|
|
2
|
+
(function (RequestMethod) {
|
|
3
|
+
RequestMethod["POST"] = "POST";
|
|
4
|
+
RequestMethod["PUT"] = "PUT";
|
|
5
|
+
RequestMethod["GET"] = "GET";
|
|
6
|
+
RequestMethod["DELETE"] = "DELETE";
|
|
7
|
+
})(RequestMethod || (RequestMethod = {}));
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50cy9saWIvYXhpb3MvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksYUFLWDtBQUxELFdBQVksYUFBYTtJQUN2Qiw4QkFBYSxDQUFBO0lBQ2IsNEJBQVcsQ0FBQTtJQUNYLDRCQUFXLENBQUE7SUFDWCxrQ0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBTFcsYUFBYSxLQUFiLGFBQWEsUUFLeEIifQ==
|