@injectivelabs/sdk-ts 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +199 -0
- package/dist/classes/Address.d.ts +68 -0
- package/dist/classes/Address.d.ts.map +1 -0
- package/dist/classes/Address.js +104 -0
- package/dist/classes/Address.js.map +1 -0
- package/dist/classes/InjectiveTx.d.ts +28 -0
- package/dist/classes/InjectiveTx.d.ts.map +1 -0
- package/dist/classes/InjectiveTx.js +92 -0
- package/dist/classes/InjectiveTx.js.map +1 -0
- package/dist/classes/Network.d.ts +35 -0
- package/dist/classes/Network.d.ts.map +1 -0
- package/dist/classes/Network.js +75 -0
- package/dist/classes/Network.js.map +1 -0
- package/dist/classes/PrivateKey.d.ts +52 -0
- package/dist/classes/PrivateKey.d.ts.map +1 -0
- package/dist/classes/PrivateKey.js +92 -0
- package/dist/classes/PrivateKey.js.map +1 -0
- package/dist/classes/TxService.d.ts +12 -0
- package/dist/classes/TxService.d.ts.map +1 -0
- package/dist/classes/TxService.js +66 -0
- package/dist/classes/TxService.js.map +1 -0
- package/dist/classes/index.d.ts +4 -0
- package/dist/classes/index.d.ts.map +1 -0
- package/dist/classes/index.js +16 -0
- package/dist/classes/index.js.map +1 -0
- package/dist/client/BaseGrpcConsumer.d.ts +7 -0
- package/dist/client/BaseGrpcConsumer.d.ts.map +1 -0
- package/dist/client/BaseGrpcConsumer.js +30 -0
- package/dist/client/BaseGrpcConsumer.js.map +1 -0
- package/dist/client/chain/GrpcClient.d.ts +28 -0
- package/dist/client/chain/GrpcClient.d.ts.map +1 -0
- package/dist/client/chain/GrpcClient.js +33 -0
- package/dist/client/chain/GrpcClient.js.map +1 -0
- package/dist/client/chain/grpc/AuctionApi.d.ts +8 -0
- package/dist/client/chain/grpc/AuctionApi.d.ts.map +1 -0
- package/dist/client/chain/grpc/AuctionApi.js +58 -0
- package/dist/client/chain/grpc/AuctionApi.js.map +1 -0
- package/dist/client/chain/grpc/AuthApi.d.ts +6 -0
- package/dist/client/chain/grpc/AuthApi.d.ts.map +1 -0
- package/dist/client/chain/grpc/AuthApi.js +35 -0
- package/dist/client/chain/grpc/AuthApi.js.map +1 -0
- package/dist/client/chain/grpc/BankApi.d.ts +13 -0
- package/dist/client/chain/grpc/BankApi.d.ts.map +1 -0
- package/dist/client/chain/grpc/BankApi.js +78 -0
- package/dist/client/chain/grpc/BankApi.js.map +1 -0
- package/dist/client/chain/grpc/DistributionApi.d.ts +11 -0
- package/dist/client/chain/grpc/DistributionApi.d.ts.map +1 -0
- package/dist/client/chain/grpc/DistributionApi.js +61 -0
- package/dist/client/chain/grpc/DistributionApi.js.map +1 -0
- package/dist/client/chain/grpc/ExchangeApi.d.ts +15 -0
- package/dist/client/chain/grpc/ExchangeApi.d.ts.map +1 -0
- package/dist/client/chain/grpc/ExchangeApi.js +104 -0
- package/dist/client/chain/grpc/ExchangeApi.js.map +1 -0
- package/dist/client/chain/grpc/GovApi.d.ts +22 -0
- package/dist/client/chain/grpc/GovApi.d.ts.map +1 -0
- package/dist/client/chain/grpc/GovApi.js +113 -0
- package/dist/client/chain/grpc/GovApi.js.map +1 -0
- package/dist/client/chain/grpc/IbcApi.d.ts +7 -0
- package/dist/client/chain/grpc/IbcApi.d.ts.map +1 -0
- package/dist/client/chain/grpc/IbcApi.js +47 -0
- package/dist/client/chain/grpc/IbcApi.js.map +1 -0
- package/dist/client/chain/grpc/InsuranceFundApi.d.ts +16 -0
- package/dist/client/chain/grpc/InsuranceFundApi.d.ts.map +1 -0
- package/dist/client/chain/grpc/InsuranceFundApi.js +87 -0
- package/dist/client/chain/grpc/InsuranceFundApi.js.map +1 -0
- package/dist/client/chain/grpc/MintApi.d.ts +8 -0
- package/dist/client/chain/grpc/MintApi.d.ts.map +1 -0
- package/dist/client/chain/grpc/MintApi.js +58 -0
- package/dist/client/chain/grpc/MintApi.js.map +1 -0
- package/dist/client/chain/grpc/OracleApi.d.ts +6 -0
- package/dist/client/chain/grpc/OracleApi.d.ts.map +1 -0
- package/dist/client/chain/grpc/OracleApi.js +34 -0
- package/dist/client/chain/grpc/OracleApi.js.map +1 -0
- package/dist/client/chain/grpc/PeggyApi.d.ts +6 -0
- package/dist/client/chain/grpc/PeggyApi.d.ts.map +1 -0
- package/dist/client/chain/grpc/PeggyApi.js +34 -0
- package/dist/client/chain/grpc/PeggyApi.js.map +1 -0
- package/dist/client/chain/grpc/StakingApi.d.ts +42 -0
- package/dist/client/chain/grpc/StakingApi.d.ts.map +1 -0
- package/dist/client/chain/grpc/StakingApi.js +202 -0
- package/dist/client/chain/grpc/StakingApi.js.map +1 -0
- package/dist/client/chain/grpc/index.d.ts +13 -0
- package/dist/client/chain/grpc/index.d.ts.map +1 -0
- package/dist/client/chain/grpc/index.js +28 -0
- package/dist/client/chain/grpc/index.js.map +1 -0
- package/dist/client/chain/index.d.ts +3 -0
- package/dist/client/chain/index.d.ts.map +1 -0
- package/dist/client/chain/index.js +16 -0
- package/dist/client/chain/index.js.map +1 -0
- package/dist/client/chain/rest/index.d.ts +2 -0
- package/dist/client/chain/rest/index.d.ts.map +1 -0
- package/dist/client/chain/rest/index.js +3 -0
- package/dist/client/chain/rest/index.js.map +1 -0
- package/dist/client/exchange/GrpcClient.d.ts +20 -0
- package/dist/client/exchange/GrpcClient.d.ts.map +1 -0
- package/dist/client/exchange/GrpcClient.js +25 -0
- package/dist/client/exchange/GrpcClient.js.map +1 -0
- package/dist/client/exchange/GrpcStreamClient.d.ts +16 -0
- package/dist/client/exchange/GrpcStreamClient.d.ts.map +1 -0
- package/dist/client/exchange/GrpcStreamClient.js +21 -0
- package/dist/client/exchange/GrpcStreamClient.js.map +1 -0
- package/dist/client/exchange/grpc/AccountApi.d.ts +24 -0
- package/dist/client/exchange/grpc/AccountApi.d.ts.map +1 -0
- package/dist/client/exchange/grpc/AccountApi.js +140 -0
- package/dist/client/exchange/grpc/AccountApi.js.map +1 -0
- package/dist/client/exchange/grpc/AuctionApi.d.ts +7 -0
- package/dist/client/exchange/grpc/AuctionApi.d.ts.map +1 -0
- package/dist/client/exchange/grpc/AuctionApi.js +50 -0
- package/dist/client/exchange/grpc/AuctionApi.js.map +1 -0
- package/dist/client/exchange/grpc/DerivativesApi.d.ts +35 -0
- package/dist/client/exchange/grpc/DerivativesApi.d.ts.map +1 -0
- package/dist/client/exchange/grpc/DerivativesApi.js +170 -0
- package/dist/client/exchange/grpc/DerivativesApi.js.map +1 -0
- package/dist/client/exchange/grpc/DmmApi.d.ts +14 -0
- package/dist/client/exchange/grpc/DmmApi.d.ts.map +1 -0
- package/dist/client/exchange/grpc/DmmApi.js +70 -0
- package/dist/client/exchange/grpc/DmmApi.js.map +1 -0
- package/dist/client/exchange/grpc/ExplorerApi.d.ts +35 -0
- package/dist/client/exchange/grpc/ExplorerApi.d.ts.map +1 -0
- package/dist/client/exchange/grpc/ExplorerApi.js +164 -0
- package/dist/client/exchange/grpc/ExplorerApi.js.map +1 -0
- package/dist/client/exchange/grpc/InsuranceFundApi.d.ts +11 -0
- package/dist/client/exchange/grpc/InsuranceFundApi.d.ts.map +1 -0
- package/dist/client/exchange/grpc/InsuranceFundApi.js +53 -0
- package/dist/client/exchange/grpc/InsuranceFundApi.js.map +1 -0
- package/dist/client/exchange/grpc/MetaApi.d.ts +8 -0
- package/dist/client/exchange/grpc/MetaApi.d.ts.map +1 -0
- package/dist/client/exchange/grpc/MetaApi.js +58 -0
- package/dist/client/exchange/grpc/MetaApi.js.map +1 -0
- package/dist/client/exchange/grpc/OracleApi.d.ts +12 -0
- package/dist/client/exchange/grpc/OracleApi.d.ts.map +1 -0
- package/dist/client/exchange/grpc/OracleApi.js +52 -0
- package/dist/client/exchange/grpc/OracleApi.js.map +1 -0
- package/dist/client/exchange/grpc/SpotApi.d.ts +21 -0
- package/dist/client/exchange/grpc/SpotApi.d.ts.map +1 -0
- package/dist/client/exchange/grpc/SpotApi.js +103 -0
- package/dist/client/exchange/grpc/SpotApi.js.map +1 -0
- package/dist/client/exchange/grpc/index.d.ts +10 -0
- package/dist/client/exchange/grpc/index.d.ts.map +1 -0
- package/dist/client/exchange/grpc/index.js +22 -0
- package/dist/client/exchange/grpc/index.js.map +1 -0
- package/dist/client/exchange/grpc_stream/AccountStream.d.ts +15 -0
- package/dist/client/exchange/grpc_stream/AccountStream.d.ts.map +1 -0
- package/dist/client/exchange/grpc_stream/AccountStream.js +27 -0
- package/dist/client/exchange/grpc_stream/AccountStream.js.map +1 -0
- package/dist/client/exchange/grpc_stream/AuctionStream.d.ts +14 -0
- package/dist/client/exchange/grpc_stream/AuctionStream.d.ts.map +1 -0
- package/dist/client/exchange/grpc_stream/AuctionStream.js +26 -0
- package/dist/client/exchange/grpc_stream/AuctionStream.js.map +1 -0
- package/dist/client/exchange/grpc_stream/DerivativesStream.d.ts +42 -0
- package/dist/client/exchange/grpc_stream/DerivativesStream.d.ts.map +1 -0
- package/dist/client/exchange/grpc_stream/DerivativesStream.js +93 -0
- package/dist/client/exchange/grpc_stream/DerivativesStream.js.map +1 -0
- package/dist/client/exchange/grpc_stream/ExplorerStream.d.ts +20 -0
- package/dist/client/exchange/grpc_stream/ExplorerStream.d.ts.map +1 -0
- package/dist/client/exchange/grpc_stream/ExplorerStream.js +40 -0
- package/dist/client/exchange/grpc_stream/ExplorerStream.js.map +1 -0
- package/dist/client/exchange/grpc_stream/OracleStream.d.ts +17 -0
- package/dist/client/exchange/grpc_stream/OracleStream.d.ts.map +1 -0
- package/dist/client/exchange/grpc_stream/OracleStream.js +29 -0
- package/dist/client/exchange/grpc_stream/OracleStream.js.map +1 -0
- package/dist/client/exchange/grpc_stream/SpotStream.d.ts +34 -0
- package/dist/client/exchange/grpc_stream/SpotStream.d.ts.map +1 -0
- package/dist/client/exchange/grpc_stream/SpotStream.js +73 -0
- package/dist/client/exchange/grpc_stream/SpotStream.js.map +1 -0
- package/dist/client/exchange/grpc_stream/index.d.ts +7 -0
- package/dist/client/exchange/grpc_stream/index.d.ts.map +1 -0
- package/dist/client/exchange/grpc_stream/index.js +19 -0
- package/dist/client/exchange/grpc_stream/index.js.map +1 -0
- package/dist/client/exchange/index.d.ts +5 -0
- package/dist/client/exchange/index.d.ts.map +1 -0
- package/dist/client/exchange/index.js +18 -0
- package/dist/client/exchange/index.js.map +1 -0
- package/dist/client/exchange/rest/index.d.ts +2 -0
- package/dist/client/exchange/rest/index.d.ts.map +1 -0
- package/dist/client/exchange/rest/index.js +3 -0
- package/dist/client/exchange/rest/index.js.map +1 -0
- package/dist/client/exchange/types.d.ts +6 -0
- package/dist/client/exchange/types.d.ts.map +1 -0
- package/dist/client/exchange/types.js +3 -0
- package/dist/client/exchange/types.js.map +1 -0
- package/dist/client/index.d.ts +3 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +25 -0
- package/dist/client/index.js.map +1 -0
- package/dist/core/MsgBase.d.ts +11 -0
- package/dist/core/MsgBase.d.ts.map +1 -0
- package/dist/core/MsgBase.js +17 -0
- package/dist/core/MsgBase.js.map +1 -0
- package/dist/core/auction/index.d.ts +2 -0
- package/dist/core/auction/index.d.ts.map +1 -0
- package/dist/core/auction/index.js +14 -0
- package/dist/core/auction/index.js.map +1 -0
- package/dist/core/auction/msgs/MsgBid.d.ts +31 -0
- package/dist/core/auction/msgs/MsgBid.d.ts.map +1 -0
- package/dist/core/auction/msgs/MsgBid.js +38 -0
- package/dist/core/auction/msgs/MsgBid.js.map +1 -0
- package/dist/core/authz/index.d.ts +3 -0
- package/dist/core/authz/index.d.ts.map +1 -0
- package/dist/core/authz/index.js +15 -0
- package/dist/core/authz/index.js.map +1 -0
- package/dist/core/authz/msgs/MsgGrant.d.ts +30 -0
- package/dist/core/authz/msgs/MsgGrant.d.ts.map +1 -0
- package/dist/core/authz/msgs/MsgGrant.js +64 -0
- package/dist/core/authz/msgs/MsgGrant.js.map +1 -0
- package/dist/core/authz/msgs/MsgRevoke.d.ts +28 -0
- package/dist/core/authz/msgs/MsgRevoke.d.ts.map +1 -0
- package/dist/core/authz/msgs/MsgRevoke.js +34 -0
- package/dist/core/authz/msgs/MsgRevoke.js.map +1 -0
- package/dist/core/bank/index.d.ts +2 -0
- package/dist/core/bank/index.d.ts.map +1 -0
- package/dist/core/bank/index.js +14 -0
- package/dist/core/bank/index.js.map +1 -0
- package/dist/core/bank/msgs/MsgSend.d.ts +31 -0
- package/dist/core/bank/msgs/MsgSend.d.ts.map +1 -0
- package/dist/core/bank/msgs/MsgSend.js +46 -0
- package/dist/core/bank/msgs/MsgSend.js.map +1 -0
- package/dist/core/distribution/index.d.ts +2 -0
- package/dist/core/distribution/index.d.ts.map +1 -0
- package/dist/core/distribution/index.js +14 -0
- package/dist/core/distribution/index.js.map +1 -0
- package/dist/core/distribution/msgs/MsgWithdrawDelegatorReward.d.ts +27 -0
- package/dist/core/distribution/msgs/MsgWithdrawDelegatorReward.d.ts.map +1 -0
- package/dist/core/distribution/msgs/MsgWithdrawDelegatorReward.js +33 -0
- package/dist/core/distribution/msgs/MsgWithdrawDelegatorReward.js.map +1 -0
- package/dist/core/exchange/index.d.ts +13 -0
- package/dist/core/exchange/index.d.ts.map +1 -0
- package/dist/core/exchange/index.js +25 -0
- package/dist/core/exchange/index.js.map +1 -0
- package/dist/core/exchange/msgs/MsgBatchCancelDerivativeOrders.d.ts +31 -0
- package/dist/core/exchange/msgs/MsgBatchCancelDerivativeOrders.d.ts.map +1 -0
- package/dist/core/exchange/msgs/MsgBatchCancelDerivativeOrders.js +50 -0
- package/dist/core/exchange/msgs/MsgBatchCancelDerivativeOrders.js.map +1 -0
- package/dist/core/exchange/msgs/MsgBatchCancelSpotOrders.d.ts +31 -0
- package/dist/core/exchange/msgs/MsgBatchCancelSpotOrders.d.ts.map +1 -0
- package/dist/core/exchange/msgs/MsgBatchCancelSpotOrders.js +50 -0
- package/dist/core/exchange/msgs/MsgBatchCancelSpotOrders.js.map +1 -0
- package/dist/core/exchange/msgs/MsgBatchUpdateOrders.d.ts +2 -0
- package/dist/core/exchange/msgs/MsgBatchUpdateOrders.d.ts.map +1 -0
- package/dist/core/exchange/msgs/MsgBatchUpdateOrders.js +3 -0
- package/dist/core/exchange/msgs/MsgBatchUpdateOrders.js.map +1 -0
- package/dist/core/exchange/msgs/MsgCancelDerivativeOrder.d.ts +29 -0
- package/dist/core/exchange/msgs/MsgCancelDerivativeOrder.d.ts.map +1 -0
- package/dist/core/exchange/msgs/MsgCancelDerivativeOrder.js +35 -0
- package/dist/core/exchange/msgs/MsgCancelDerivativeOrder.js.map +1 -0
- package/dist/core/exchange/msgs/MsgCancelSpotOrder.d.ts +29 -0
- package/dist/core/exchange/msgs/MsgCancelSpotOrder.d.ts.map +1 -0
- package/dist/core/exchange/msgs/MsgCancelSpotOrder.js +35 -0
- package/dist/core/exchange/msgs/MsgCancelSpotOrder.js.map +1 -0
- package/dist/core/exchange/msgs/MsgCreateDerivativeLimitOrder.d.ts +35 -0
- package/dist/core/exchange/msgs/MsgCreateDerivativeLimitOrder.d.ts.map +1 -0
- package/dist/core/exchange/msgs/MsgCreateDerivativeLimitOrder.js +53 -0
- package/dist/core/exchange/msgs/MsgCreateDerivativeLimitOrder.js.map +1 -0
- package/dist/core/exchange/msgs/MsgCreateDerivativeMarketOrder.d.ts +35 -0
- package/dist/core/exchange/msgs/MsgCreateDerivativeMarketOrder.d.ts.map +1 -0
- package/dist/core/exchange/msgs/MsgCreateDerivativeMarketOrder.js +53 -0
- package/dist/core/exchange/msgs/MsgCreateDerivativeMarketOrder.js.map +1 -0
- package/dist/core/exchange/msgs/MsgCreateSpotLimitOrder.d.ts +34 -0
- package/dist/core/exchange/msgs/MsgCreateSpotLimitOrder.d.ts.map +1 -0
- package/dist/core/exchange/msgs/MsgCreateSpotLimitOrder.js +52 -0
- package/dist/core/exchange/msgs/MsgCreateSpotLimitOrder.js.map +1 -0
- package/dist/core/exchange/msgs/MsgCreateSpotMarketOrder.d.ts +35 -0
- package/dist/core/exchange/msgs/MsgCreateSpotMarketOrder.d.ts.map +1 -0
- package/dist/core/exchange/msgs/MsgCreateSpotMarketOrder.js +52 -0
- package/dist/core/exchange/msgs/MsgCreateSpotMarketOrder.js.map +1 -0
- package/dist/core/exchange/msgs/MsgDeposit.d.ts +31 -0
- package/dist/core/exchange/msgs/MsgDeposit.d.ts.map +1 -0
- package/dist/core/exchange/msgs/MsgDeposit.js +38 -0
- package/dist/core/exchange/msgs/MsgDeposit.js.map +1 -0
- package/dist/core/exchange/msgs/MsgIncreasePositionMargin.d.ts +30 -0
- package/dist/core/exchange/msgs/MsgIncreasePositionMargin.d.ts.map +1 -0
- package/dist/core/exchange/msgs/MsgIncreasePositionMargin.js +42 -0
- package/dist/core/exchange/msgs/MsgIncreasePositionMargin.js.map +1 -0
- package/dist/core/exchange/msgs/MsgInstantSpotMarketLaunch.d.ts +34 -0
- package/dist/core/exchange/msgs/MsgInstantSpotMarketLaunch.d.ts.map +1 -0
- package/dist/core/exchange/msgs/MsgInstantSpotMarketLaunch.js +37 -0
- package/dist/core/exchange/msgs/MsgInstantSpotMarketLaunch.js.map +1 -0
- package/dist/core/exchange/msgs/MsgWithdraw.d.ts +31 -0
- package/dist/core/exchange/msgs/MsgWithdraw.d.ts.map +1 -0
- package/dist/core/exchange/msgs/MsgWithdraw.js +38 -0
- package/dist/core/exchange/msgs/MsgWithdraw.js.map +1 -0
- package/dist/core/gov/Proposal.d.ts +1 -0
- package/dist/core/gov/Proposal.d.ts.map +1 -0
- package/dist/core/gov/Proposal.js +2 -0
- package/dist/core/gov/Proposal.js.map +1 -0
- package/dist/core/gov/index.d.ts +8 -0
- package/dist/core/gov/index.d.ts.map +1 -0
- package/dist/core/gov/index.js +20 -0
- package/dist/core/gov/index.js.map +1 -0
- package/dist/core/gov/msgs/MsgDeposit.d.ts +31 -0
- package/dist/core/gov/msgs/MsgDeposit.d.ts.map +1 -0
- package/dist/core/gov/msgs/MsgDeposit.js +46 -0
- package/dist/core/gov/msgs/MsgDeposit.js.map +1 -0
- package/dist/core/gov/msgs/MsgSubmitProposalExpiryFuturesMarketLaunch.d.ts +49 -0
- package/dist/core/gov/msgs/MsgSubmitProposalExpiryFuturesMarketLaunch.d.ts.map +1 -0
- package/dist/core/gov/msgs/MsgSubmitProposalExpiryFuturesMarketLaunch.js +77 -0
- package/dist/core/gov/msgs/MsgSubmitProposalExpiryFuturesMarketLaunch.js.map +1 -0
- package/dist/core/gov/msgs/MsgSubmitProposalPerpetualMarketLaunch.d.ts +48 -0
- package/dist/core/gov/msgs/MsgSubmitProposalPerpetualMarketLaunch.d.ts.map +1 -0
- package/dist/core/gov/msgs/MsgSubmitProposalPerpetualMarketLaunch.js +76 -0
- package/dist/core/gov/msgs/MsgSubmitProposalPerpetualMarketLaunch.js.map +1 -0
- package/dist/core/gov/msgs/MsgSubmitProposalSpotMarketLaunch.d.ts +42 -0
- package/dist/core/gov/msgs/MsgSubmitProposalSpotMarketLaunch.d.ts.map +1 -0
- package/dist/core/gov/msgs/MsgSubmitProposalSpotMarketLaunch.js +71 -0
- package/dist/core/gov/msgs/MsgSubmitProposalSpotMarketLaunch.js.map +1 -0
- package/dist/core/gov/msgs/MsgSubmitProposalSpotMarketParamUpdate.d.ts +43 -0
- package/dist/core/gov/msgs/MsgSubmitProposalSpotMarketParamUpdate.d.ts.map +1 -0
- package/dist/core/gov/msgs/MsgSubmitProposalSpotMarketParamUpdate.js +71 -0
- package/dist/core/gov/msgs/MsgSubmitProposalSpotMarketParamUpdate.js.map +1 -0
- package/dist/core/gov/msgs/MsgSubmitTextProposal.d.ts +33 -0
- package/dist/core/gov/msgs/MsgSubmitTextProposal.d.ts.map +1 -0
- package/dist/core/gov/msgs/MsgSubmitTextProposal.js +64 -0
- package/dist/core/gov/msgs/MsgSubmitTextProposal.js.map +1 -0
- package/dist/core/gov/msgs/MsgVote.d.ts +29 -0
- package/dist/core/gov/msgs/MsgVote.d.ts.map +1 -0
- package/dist/core/gov/msgs/MsgVote.js +34 -0
- package/dist/core/gov/msgs/MsgVote.js.map +1 -0
- package/dist/core/ibc/index.d.ts +2 -0
- package/dist/core/ibc/index.d.ts.map +1 -0
- package/dist/core/ibc/index.js +14 -0
- package/dist/core/ibc/index.js.map +1 -0
- package/dist/core/ibc/msgs/MsgTransfer.d.ts +38 -0
- package/dist/core/ibc/msgs/MsgTransfer.d.ts.map +1 -0
- package/dist/core/ibc/msgs/MsgTransfer.js +54 -0
- package/dist/core/ibc/msgs/MsgTransfer.js.map +1 -0
- package/dist/core/index.d.ts +11 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +33 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/insurance/index.d.ts +4 -0
- package/dist/core/insurance/index.d.ts.map +1 -0
- package/dist/core/insurance/index.js +16 -0
- package/dist/core/insurance/index.js.map +1 -0
- package/dist/core/insurance/msgs/MsgCreateInsuranceFund.d.ts +39 -0
- package/dist/core/insurance/msgs/MsgCreateInsuranceFund.d.ts.map +1 -0
- package/dist/core/insurance/msgs/MsgCreateInsuranceFund.js +43 -0
- package/dist/core/insurance/msgs/MsgCreateInsuranceFund.js.map +1 -0
- package/dist/core/insurance/msgs/MsgRequestRedemption.d.ts +31 -0
- package/dist/core/insurance/msgs/MsgRequestRedemption.d.ts.map +1 -0
- package/dist/core/insurance/msgs/MsgRequestRedemption.js +38 -0
- package/dist/core/insurance/msgs/MsgRequestRedemption.js.map +1 -0
- package/dist/core/insurance/msgs/MsgUnderwrite.d.ts +31 -0
- package/dist/core/insurance/msgs/MsgUnderwrite.d.ts.map +1 -0
- package/dist/core/insurance/msgs/MsgUnderwrite.js +38 -0
- package/dist/core/insurance/msgs/MsgUnderwrite.js.map +1 -0
- package/dist/core/msgs.d.ts +35 -0
- package/dist/core/msgs.d.ts.map +1 -0
- package/dist/core/msgs.js +3 -0
- package/dist/core/msgs.js.map +1 -0
- package/dist/core/peggy/index.d.ts +2 -0
- package/dist/core/peggy/index.d.ts.map +1 -0
- package/dist/core/peggy/index.js +14 -0
- package/dist/core/peggy/index.js.map +1 -0
- package/dist/core/peggy/msgs/MsgSendToEth.d.ts +35 -0
- package/dist/core/peggy/msgs/MsgSendToEth.d.ts.map +1 -0
- package/dist/core/peggy/msgs/MsgSendToEth.js +43 -0
- package/dist/core/peggy/msgs/MsgSendToEth.js.map +1 -0
- package/dist/core/staking/index.d.ts +4 -0
- package/dist/core/staking/index.d.ts.map +1 -0
- package/dist/core/staking/index.js +16 -0
- package/dist/core/staking/index.js.map +1 -0
- package/dist/core/staking/msgs/MsgBeginRedelegate.d.ts +32 -0
- package/dist/core/staking/msgs/MsgBeginRedelegate.d.ts.map +1 -0
- package/dist/core/staking/msgs/MsgBeginRedelegate.js +39 -0
- package/dist/core/staking/msgs/MsgBeginRedelegate.js.map +1 -0
- package/dist/core/staking/msgs/MsgDelegate.d.ts +31 -0
- package/dist/core/staking/msgs/MsgDelegate.d.ts.map +1 -0
- package/dist/core/staking/msgs/MsgDelegate.js +38 -0
- package/dist/core/staking/msgs/MsgDelegate.js.map +1 -0
- package/dist/core/staking/msgs/MsgUndelegate.d.ts +31 -0
- package/dist/core/staking/msgs/MsgUndelegate.d.ts.map +1 -0
- package/dist/core/staking/msgs/MsgUndelegate.js +38 -0
- package/dist/core/staking/msgs/MsgUndelegate.js.map +1 -0
- package/dist/core/utils.d.ts +2 -0
- package/dist/core/utils.d.ts.map +1 -0
- package/dist/core/utils.js +23 -0
- package/dist/core/utils.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/types/auth.d.ts +10 -0
- package/dist/types/auth.d.ts.map +1 -0
- package/dist/types/auth.js +3 -0
- package/dist/types/auth.js.map +1 -0
- package/dist/types/derivatives.d.ts +34 -0
- package/dist/types/derivatives.d.ts.map +1 -0
- package/dist/types/derivatives.js +22 -0
- package/dist/types/derivatives.js.map +1 -0
- package/dist/types/exchange.d.ts +17 -0
- package/dist/types/exchange.d.ts.map +1 -0
- package/dist/types/exchange.js +23 -0
- package/dist/types/exchange.js.map +1 -0
- package/dist/types/index.d.ts +12 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +26 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/pagination.d.ts +9 -0
- package/dist/types/pagination.d.ts.map +1 -0
- package/dist/types/pagination.js +3 -0
- package/dist/types/pagination.js.map +1 -0
- package/dist/types/spot.d.ts +26 -0
- package/dist/types/spot.d.ts.map +1 -0
- package/dist/types/spot.js +14 -0
- package/dist/types/spot.js.map +1 -0
- package/dist/ui/chain/exchange/ExchangeTransformer.d.ts +17 -0
- package/dist/ui/chain/exchange/ExchangeTransformer.d.ts.map +1 -0
- package/dist/ui/chain/exchange/ExchangeTransformer.js +164 -0
- package/dist/ui/chain/exchange/ExchangeTransformer.js.map +1 -0
- package/dist/ui/chain/exchange/index.d.ts +3 -0
- package/dist/ui/chain/exchange/index.d.ts.map +1 -0
- package/dist/ui/chain/exchange/index.js +15 -0
- package/dist/ui/chain/exchange/index.js.map +1 -0
- package/dist/ui/chain/exchange/types.d.ts +109 -0
- package/dist/ui/chain/exchange/types.d.ts.map +1 -0
- package/dist/ui/chain/exchange/types.js +26 -0
- package/dist/ui/chain/exchange/types.js.map +1 -0
- package/dist/ui/chain/index.d.ts +2 -0
- package/dist/ui/chain/index.d.ts.map +1 -0
- package/dist/ui/chain/index.js +24 -0
- package/dist/ui/chain/index.js.map +1 -0
- package/dist/ui/exchange/account/AccountStreamTransformer.d.ts +10 -0
- package/dist/ui/exchange/account/AccountStreamTransformer.d.ts.map +1 -0
- package/dist/ui/exchange/account/AccountStreamTransformer.js +19 -0
- package/dist/ui/exchange/account/AccountStreamTransformer.js.map +1 -0
- package/dist/ui/exchange/account/AccountTransformer.d.ts +15 -0
- package/dist/ui/exchange/account/AccountTransformer.d.ts.map +1 -0
- package/dist/ui/exchange/account/AccountTransformer.js +81 -0
- package/dist/ui/exchange/account/AccountTransformer.js.map +1 -0
- package/dist/ui/exchange/account/index.d.ts +4 -0
- package/dist/ui/exchange/account/index.d.ts.map +1 -0
- package/dist/ui/exchange/account/index.js +16 -0
- package/dist/ui/exchange/account/index.js.map +1 -0
- package/dist/ui/exchange/account/types.d.ts +50 -0
- package/dist/ui/exchange/account/types.d.ts.map +1 -0
- package/dist/ui/exchange/account/types.js +20 -0
- package/dist/ui/exchange/account/types.js.map +1 -0
- package/dist/ui/exchange/auction/AuctionStreamTransformer.d.ts +9 -0
- package/dist/ui/exchange/auction/AuctionStreamTransformer.d.ts.map +1 -0
- package/dist/ui/exchange/auction/AuctionStreamTransformer.js +13 -0
- package/dist/ui/exchange/auction/AuctionStreamTransformer.js.map +1 -0
- package/dist/ui/exchange/auction/AuctionTransformer.d.ts +8 -0
- package/dist/ui/exchange/auction/AuctionTransformer.d.ts.map +1 -0
- package/dist/ui/exchange/auction/AuctionTransformer.js +39 -0
- package/dist/ui/exchange/auction/AuctionTransformer.js.map +1 -0
- package/dist/ui/exchange/auction/index.d.ts +4 -0
- package/dist/ui/exchange/auction/index.d.ts.map +1 -0
- package/dist/ui/exchange/auction/index.js +16 -0
- package/dist/ui/exchange/auction/index.js.map +1 -0
- package/dist/ui/exchange/auction/types.d.ts +20 -0
- package/dist/ui/exchange/auction/types.d.ts.map +1 -0
- package/dist/ui/exchange/auction/types.js +9 -0
- package/dist/ui/exchange/auction/types.js.map +1 -0
- package/dist/ui/exchange/derivatives/DerivativeStreamTransformer.d.ts +25 -0
- package/dist/ui/exchange/derivatives/DerivativeStreamTransformer.d.ts.map +1 -0
- package/dist/ui/exchange/derivatives/DerivativeStreamTransformer.js +47 -0
- package/dist/ui/exchange/derivatives/DerivativeStreamTransformer.js.map +1 -0
- package/dist/ui/exchange/derivatives/DerivativeTransformer.d.ts +27 -0
- package/dist/ui/exchange/derivatives/DerivativeTransformer.d.ts.map +1 -0
- package/dist/ui/exchange/derivatives/DerivativeTransformer.js +175 -0
- package/dist/ui/exchange/derivatives/DerivativeTransformer.js.map +1 -0
- package/dist/ui/exchange/derivatives/index.d.ts +4 -0
- package/dist/ui/exchange/derivatives/index.d.ts.map +1 -0
- package/dist/ui/exchange/derivatives/index.js +16 -0
- package/dist/ui/exchange/derivatives/index.js.map +1 -0
- package/dist/ui/exchange/derivatives/types.d.ts +146 -0
- package/dist/ui/exchange/derivatives/types.d.ts.map +1 -0
- package/dist/ui/exchange/derivatives/types.js +43 -0
- package/dist/ui/exchange/derivatives/types.js.map +1 -0
- package/dist/ui/exchange/dmm/DmmTransformer.d.ts +15 -0
- package/dist/ui/exchange/dmm/DmmTransformer.d.ts.map +1 -0
- package/dist/ui/exchange/dmm/DmmTransformer.js +154 -0
- package/dist/ui/exchange/dmm/DmmTransformer.js.map +1 -0
- package/dist/ui/exchange/dmm/index.d.ts +3 -0
- package/dist/ui/exchange/dmm/index.d.ts.map +1 -0
- package/dist/ui/exchange/dmm/index.js +15 -0
- package/dist/ui/exchange/dmm/index.js.map +1 -0
- package/dist/ui/exchange/dmm/types.d.ts +58 -0
- package/dist/ui/exchange/dmm/types.d.ts.map +1 -0
- package/dist/ui/exchange/dmm/types.js +17 -0
- package/dist/ui/exchange/dmm/types.js.map +1 -0
- package/dist/ui/exchange/explorer/ExplorerStreamTransformer.d.ts +17 -0
- package/dist/ui/exchange/explorer/ExplorerStreamTransformer.d.ts.map +1 -0
- package/dist/ui/exchange/explorer/ExplorerStreamTransformer.js +21 -0
- package/dist/ui/exchange/explorer/ExplorerStreamTransformer.js.map +1 -0
- package/dist/ui/exchange/explorer/ExplorerTransformer.d.ts +20 -0
- package/dist/ui/exchange/explorer/ExplorerTransformer.d.ts.map +1 -0
- package/dist/ui/exchange/explorer/ExplorerTransformer.js +205 -0
- package/dist/ui/exchange/explorer/ExplorerTransformer.js.map +1 -0
- package/dist/ui/exchange/explorer/index.d.ts +4 -0
- package/dist/ui/exchange/explorer/index.d.ts.map +1 -0
- package/dist/ui/exchange/explorer/index.js +16 -0
- package/dist/ui/exchange/explorer/index.js.map +1 -0
- package/dist/ui/exchange/explorer/types.d.ts +179 -0
- package/dist/ui/exchange/explorer/types.d.ts.map +1 -0
- package/dist/ui/exchange/explorer/types.js +15 -0
- package/dist/ui/exchange/explorer/types.js.map +1 -0
- package/dist/ui/exchange/index.d.ts +8 -0
- package/dist/ui/exchange/index.d.ts.map +1 -0
- package/dist/ui/exchange/index.js +30 -0
- package/dist/ui/exchange/index.js.map +1 -0
- package/dist/ui/exchange/oracle/OracleStreamTransformer.d.ts +10 -0
- package/dist/ui/exchange/oracle/OracleStreamTransformer.d.ts.map +1 -0
- package/dist/ui/exchange/oracle/OracleStreamTransformer.js +13 -0
- package/dist/ui/exchange/oracle/OracleStreamTransformer.js.map +1 -0
- package/dist/ui/exchange/oracle/OracleTransformer.d.ts +3 -0
- package/dist/ui/exchange/oracle/OracleTransformer.d.ts.map +1 -0
- package/dist/ui/exchange/oracle/OracleTransformer.js +7 -0
- package/dist/ui/exchange/oracle/OracleTransformer.js.map +1 -0
- package/dist/ui/exchange/oracle/index.d.ts +4 -0
- package/dist/ui/exchange/oracle/index.d.ts.map +1 -0
- package/dist/ui/exchange/oracle/index.js +16 -0
- package/dist/ui/exchange/oracle/index.js.map +1 -0
- package/dist/ui/exchange/oracle/types.d.ts +3 -0
- package/dist/ui/exchange/oracle/types.d.ts.map +1 -0
- package/dist/ui/exchange/oracle/types.js +6 -0
- package/dist/ui/exchange/oracle/types.js.map +1 -0
- package/dist/ui/exchange/spot/SpotStreamTransformer.d.ts +21 -0
- package/dist/ui/exchange/spot/SpotStreamTransformer.d.ts.map +1 -0
- package/dist/ui/exchange/spot/SpotStreamTransformer.js +38 -0
- package/dist/ui/exchange/spot/SpotStreamTransformer.js.map +1 -0
- package/dist/ui/exchange/spot/SpotTransformer.d.ts +17 -0
- package/dist/ui/exchange/spot/SpotTransformer.d.ts.map +1 -0
- package/dist/ui/exchange/spot/SpotTransformer.js +88 -0
- package/dist/ui/exchange/spot/SpotTransformer.js.map +1 -0
- package/dist/ui/exchange/spot/index.d.ts +4 -0
- package/dist/ui/exchange/spot/index.d.ts.map +1 -0
- package/dist/ui/exchange/spot/index.js +16 -0
- package/dist/ui/exchange/spot/index.js.map +1 -0
- package/dist/ui/exchange/spot/types.d.ts +89 -0
- package/dist/ui/exchange/spot/types.d.ts.map +1 -0
- package/dist/ui/exchange/spot/types.js +34 -0
- package/dist/ui/exchange/spot/types.js.map +1 -0
- package/dist/ui/index.d.ts +3 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +15 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/utils/constants.d.ts +16 -0
- package/dist/utils/constants.d.ts.map +1 -0
- package/dist/utils/constants.js +19 -0
- package/dist/utils/constants.js.map +1 -0
- package/dist/utils/helpers.d.ts +2 -0
- package/dist/utils/helpers.d.ts.map +1 -0
- package/dist/utils/helpers.js +6 -0
- package/dist/utils/helpers.js.map +1 -0
- package/dist/utils/index.d.ts +5 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +17 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/numbers.d.ts +242 -0
- package/dist/utils/numbers.d.ts.map +1 -0
- package/dist/utils/numbers.js +267 -0
- package/dist/utils/numbers.js.map +1 -0
- package/dist/utils/pagination.d.ts +4 -0
- package/dist/utils/pagination.d.ts.map +1 -0
- package/dist/utils/pagination.js +26 -0
- package/dist/utils/pagination.js.map +1 -0
- package/package.json +58 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2021 @InjectiveLabs
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
# 🌟 Injective Protocol - SDK TS
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/@injectivelabs/sdk-ts)
|
|
4
|
+
[](https://www.npmjs.com/package/@injectivelabs/sdk-ts)
|
|
5
|
+
[]()
|
|
6
|
+
|
|
7
|
+
_Accessing decentralized finance through TypeScript (for Web and Node environment)_
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## 📚 Installation
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
yarn add @injectivelabs/sdk-ts
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## 📖 Documentation
|
|
20
|
+
|
|
21
|
+
There are couple of components within this package. This package offers clients that can be easily instantiated so you can access all functionalities easily. Also, it offer decoupled exports so you can instantiate classes that you only need so you can utilize tree-shaking in the build process and reduce the file-size of the imports.
|
|
22
|
+
|
|
23
|
+
We are going to go through all of the components of the package and explain them in depth.
|
|
24
|
+
|
|
25
|
+
### Classes
|
|
26
|
+
|
|
27
|
+
This package contains some utility classes that can enhance the developer experience.
|
|
28
|
+
|
|
29
|
+
- Address class -> Can be used to get details about an injective address,
|
|
30
|
+
- Network class -> Can be used to get a pre-defined set of endpoints (sentry, api, etc) for easier usage,
|
|
31
|
+
- PrivateKey class -> Can be used to sign transactions, etc
|
|
32
|
+
- InjectiveTx class -> Can be used to prepare a transaction for signing/broadcasting on the client side,
|
|
33
|
+
- TxService class -> Can be used for simulating or broadcasting a transaction on the client side
|
|
34
|
+
|
|
35
|
+
### Client
|
|
36
|
+
|
|
37
|
+
This package contains utility classes which ease the way we consume data from data sources.
|
|
38
|
+
|
|
39
|
+
There are two data sources available:
|
|
40
|
+
- Chain -> Consuming data directly from the chain,
|
|
41
|
+
- Exchange -> Consuming data directly from the exchange (indexer) API,
|
|
42
|
+
|
|
43
|
+
At the moment, only the gRPC method of consuming the data is supported, we might introduce REST as well in the future.
|
|
44
|
+
|
|
45
|
+
### Core
|
|
46
|
+
|
|
47
|
+
This package contains utility message classes that can help generate messages which can be packed into a transaction and broadcasted to the chain. Messages are separated into folders that correspond to a module on the Injective chain.
|
|
48
|
+
|
|
49
|
+
Every message is represented as a `MsgBase` class, which has couple of mapping functionalities:
|
|
50
|
+
- toData -> Converts the Message to a simple Object representation,
|
|
51
|
+
- toProto -> Returns a proto representation of the message,
|
|
52
|
+
- toAmino -> Converts the Message to a proto representation + type (ready for client side usage),
|
|
53
|
+
- toWeb3 -> Converts the Message to a web3 representation + type (ready for web3-gateway usage i.e browser),
|
|
54
|
+
|
|
55
|
+
### UI
|
|
56
|
+
|
|
57
|
+
This package contains utility classes that can help transform (map) data from a gRPC (or REST) API to a human readable format that's easy to consume on the UI.
|
|
58
|
+
|
|
59
|
+
It has two parts:
|
|
60
|
+
|
|
61
|
+
- Chain -> Utility classes (and types) related to the chain modules,
|
|
62
|
+
- Exchange -> Utility classes (and types) related to the exchange (indexer) api,
|
|
63
|
+
|
|
64
|
+
### Utils
|
|
65
|
+
|
|
66
|
+
This package contains some utility functions and constants.
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## 🎒 Usage
|
|
71
|
+
|
|
72
|
+
Let's go through couple of use-cases of the `sdk-ts` so developers can have a reference codebase that they can look at.
|
|
73
|
+
|
|
74
|
+
### Consuming data
|
|
75
|
+
|
|
76
|
+
- Fetching user's balance from the chain
|
|
77
|
+
|
|
78
|
+
```ts
|
|
79
|
+
// Using the client
|
|
80
|
+
import { ChainClient, Network } from '@injectivelabs/sdk-ts'
|
|
81
|
+
|
|
82
|
+
const network = Network.testnet()
|
|
83
|
+
const injectiveAddress = 'inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r'
|
|
84
|
+
const denom = 'inj'
|
|
85
|
+
const chainGrpcClient = new ChainClient.GrpcClient(network.sentryGrpcApi)
|
|
86
|
+
console.log(await chainGrpcClient.bankApi.balance({ injectiveAddress, denom }))
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
```ts
|
|
90
|
+
// Importing only the needed API
|
|
91
|
+
import { ChainClient, Network } from '@injectivelabs/sdk-ts'
|
|
92
|
+
|
|
93
|
+
const network = Network.testnet()
|
|
94
|
+
const injectiveAddress = 'inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r'
|
|
95
|
+
const denom = 'inj'
|
|
96
|
+
const bankApi = new ChainClient.BankApi(network.sentryGrpcApi)
|
|
97
|
+
console.log(await bankApi.balance({ injectiveAddress, denom }))
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
- Fetching all derivative markets from the exchange (indexer) API
|
|
101
|
+
|
|
102
|
+
```ts
|
|
103
|
+
// Using the client
|
|
104
|
+
import { ExchangeClient, Network } from '@injectivelabs/sdk-ts'
|
|
105
|
+
|
|
106
|
+
const network = Network.testnet()
|
|
107
|
+
const exchangeGrpcClient = new ExchangeClient.GrpcClient(network.exchangeApi)
|
|
108
|
+
console.log(await exchangeGrpcClient.derivativesApi.markets())
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
```ts
|
|
112
|
+
// Importing only the needed API
|
|
113
|
+
import { ExchangeClient, Network } from '@injectivelabs/sdk-ts'
|
|
114
|
+
|
|
115
|
+
const network = Network.testnet()
|
|
116
|
+
const derivativesApi = new ExchangeClient.DerivativesApi(network.exchangeApi)
|
|
117
|
+
console.log(await derivativesApi.markets())
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### Broadcasting Transactions
|
|
121
|
+
|
|
122
|
+
- Creating a spot limit order transaction and broadcasting it to the chain
|
|
123
|
+
|
|
124
|
+
```ts
|
|
125
|
+
import { Network, ExchangeCore, ExchangeClient, PrivateKey, InjectiveTx, TxService } from '@injectivelabs/sdk-ts'
|
|
126
|
+
|
|
127
|
+
const network = Network.testnet()
|
|
128
|
+
const privateKey = PrivateKey.fromPrivateKey('f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3')
|
|
129
|
+
|
|
130
|
+
/** Account Details **/
|
|
131
|
+
const injectiveAddress = "inj1ql0alrq4e4ec6rv9svqjwer0k6ewfjkaay9lne";
|
|
132
|
+
const authApi = new ExchangeClient.AuthApi(network.sentryGrpcApi)
|
|
133
|
+
const accountDetails = await authApi.account(injectiveAddress)
|
|
134
|
+
|
|
135
|
+
/** Limit Order Details */
|
|
136
|
+
const price = 5;
|
|
137
|
+
const quantity = 10;
|
|
138
|
+
const baseDecimals = 18; // INJ has 18 decimals
|
|
139
|
+
const quoteDecimals = 6; // USDT has 6 decimals
|
|
140
|
+
const marketId =
|
|
141
|
+
"0xa508cb32923323679f29a032c70342c147c17d0145625922b0ef22e955c844c0"; // INJ/USDT on testnet;
|
|
142
|
+
const subaccountId =
|
|
143
|
+
"0x07dfdf8c15cd738d0d85830127646fb6b2e4cadd000000000000000000000000";
|
|
144
|
+
const orderType = 1; /* Buy, 2 for Sale */
|
|
145
|
+
|
|
146
|
+
/** Preparing the transaction */
|
|
147
|
+
const msg = new ExchangeCore.MsgCreateSpotLimitOrder({
|
|
148
|
+
marketId,
|
|
149
|
+
subaccountId,
|
|
150
|
+
injectiveAddress,
|
|
151
|
+
orderType,
|
|
152
|
+
price,
|
|
153
|
+
quantity,
|
|
154
|
+
triggerPrice: '0',
|
|
155
|
+
feeRecipient: injectiveAddress
|
|
156
|
+
})
|
|
157
|
+
const injectiveTx = new InjectiveTx({
|
|
158
|
+
accountDetails,
|
|
159
|
+
tx: {
|
|
160
|
+
msgs: [msg],
|
|
161
|
+
chainId: network.chainId,
|
|
162
|
+
address: injectiveAddress
|
|
163
|
+
}
|
|
164
|
+
})
|
|
165
|
+
const signature = privateKey.sign(injectiveTx.signDoc.serializeBinary())
|
|
166
|
+
const txRaw = injectiveTx.toTxRaw(signature)
|
|
167
|
+
console.log(`Transaction Hash: ${InjectiveTx.getTxHash(txRaw)}`);
|
|
168
|
+
|
|
169
|
+
/** Simulating and Broadcasting a transaction */
|
|
170
|
+
const txService = new TxService({ txRaw, endpoint: network.sentryGrpcApi })
|
|
171
|
+
const simulationResponse = await txService.simulate()
|
|
172
|
+
console.log(
|
|
173
|
+
`Transaction simulation response: ${JSON.stringify(simulationResponse.gasInfo)}`
|
|
174
|
+
);
|
|
175
|
+
|
|
176
|
+
const txResponse = await txService.broadcast()
|
|
177
|
+
console.log(
|
|
178
|
+
`Broadcasted transaction hash: ${JSON.stringify(txResponse.txhash)}`
|
|
179
|
+
);
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
### Streaming Data
|
|
183
|
+
|
|
184
|
+
---
|
|
185
|
+
|
|
186
|
+
## 🖱️ Examples
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
## ⛑ Support
|
|
191
|
+
|
|
192
|
+
Reach out to us at one of the following places!
|
|
193
|
+
|
|
194
|
+
- Website at <a href="https://injectiveprotocol.com" target="_blank">`injectiveprotocol.com`</a>
|
|
195
|
+
- Twitter at <a href="https://twitter.com/InjectiveLabs" target="_blank">`@InjectiveLabs`</a>
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
## 🔓 License
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
export declare class Address {
|
|
2
|
+
address: string;
|
|
3
|
+
number: number;
|
|
4
|
+
sequence: number;
|
|
5
|
+
private constructor();
|
|
6
|
+
compare(address: Address): boolean;
|
|
7
|
+
/**
|
|
8
|
+
* Create an address instance from a bech32-encoded address and a prefix
|
|
9
|
+
* @param {string} bech32 bech32-encoded address
|
|
10
|
+
* @param {string} prefix
|
|
11
|
+
* @return {Address}
|
|
12
|
+
* @throws {Error} if bech is not a valid bech32-encoded address
|
|
13
|
+
*/
|
|
14
|
+
static fromBech32(bech: string): Address;
|
|
15
|
+
/**
|
|
16
|
+
* Create an address instance from a bech32-encoded account address
|
|
17
|
+
* @param {string} bech32 bech32-encoded account address
|
|
18
|
+
* @return {Address}
|
|
19
|
+
* @throws {Error} if bech is not a valid bech32-encoded account address
|
|
20
|
+
*/
|
|
21
|
+
static fromAccountAddress(bech: string): Address;
|
|
22
|
+
static fromValidatorAddress(bech: string): Address;
|
|
23
|
+
static fromConsensusAddress(bech: string): Address;
|
|
24
|
+
/**
|
|
25
|
+
* Convert an address instance to a bech32-encoded account address
|
|
26
|
+
* @param {string} prefix
|
|
27
|
+
* @returns {string}
|
|
28
|
+
*/
|
|
29
|
+
toBech32(prefix?: string): string;
|
|
30
|
+
/**
|
|
31
|
+
* Return a bech32-encoded account address
|
|
32
|
+
* @return {string}
|
|
33
|
+
* @throws {Error} if this address is not a valid account address
|
|
34
|
+
* */
|
|
35
|
+
toAccountAddress(): string;
|
|
36
|
+
/**
|
|
37
|
+
* Return a bech32-encoded validator address
|
|
38
|
+
* @return {string}
|
|
39
|
+
* @throws {Error} if this address is not a valid validator address
|
|
40
|
+
* */
|
|
41
|
+
toValidatorAddress(): string;
|
|
42
|
+
/**
|
|
43
|
+
* Return a bech32-encoded consensus address
|
|
44
|
+
* @return {string}
|
|
45
|
+
* @throws {Error} if this address is not a valid consensus address
|
|
46
|
+
* */
|
|
47
|
+
toConsensusAddress(): string;
|
|
48
|
+
/**
|
|
49
|
+
* Return a hex representation of address
|
|
50
|
+
* @return {string}
|
|
51
|
+
* @throws {Error} if this address is not a valid account address
|
|
52
|
+
* */
|
|
53
|
+
toHex(): string;
|
|
54
|
+
/**
|
|
55
|
+
* Return a subaccount address from the given bech32 encoded address
|
|
56
|
+
* @param {number} index the subaccount index
|
|
57
|
+
* @return {string}
|
|
58
|
+
* @throws {Error} if this address is not a valid account address
|
|
59
|
+
* */
|
|
60
|
+
getSubaccountId(index?: number): string;
|
|
61
|
+
/**
|
|
62
|
+
* Return a ethereum address from the given bech32 encoded address
|
|
63
|
+
* @return {string}
|
|
64
|
+
* @throws {Error} if this address is not a valid account address
|
|
65
|
+
* */
|
|
66
|
+
getEthereumAddress(): string;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=Address.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Address.d.ts","sourceRoot":"","sources":["../../src/classes/Address.ts"],"names":[],"mappings":"AAQA,qBAAa,OAAO;IACX,OAAO,EAAE,MAAM,CAAA;IAEf,MAAM,EAAE,MAAM,CAAA;IAEd,QAAQ,EAAE,MAAM,CAAA;IAEvB,OAAO;IAMP,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAIlC;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IASxC;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIhD,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIlD,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIlD;;;;OAIG;IACH,QAAQ,CAAC,MAAM,GAAE,MAA+B,GAAG,MAAM;IAQzD;;;;SAIK;IACL,gBAAgB,IAAI,MAAM;IAI1B;;;;SAIK;IACL,kBAAkB,IAAI,MAAM;IAI5B;;;;SAIK;IACL,kBAAkB,IAAI,MAAM;IAI5B;;;;SAIK;IACL,KAAK,IAAI,MAAM;IAIf;;;;;SAKK;IACL,eAAe,CAAC,KAAK,GAAE,MAAU,GAAG,MAAM;IAM1C;;;;SAIK;IACL,kBAAkB,IAAI,MAAM;CAG7B"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Address = void 0;
|
|
4
|
+
const bech32_1 = require("bech32");
|
|
5
|
+
const ethereumjs_util_1 = require("ethereumjs-util");
|
|
6
|
+
const constants_1 = require("../utils/constants");
|
|
7
|
+
class Address {
|
|
8
|
+
constructor(address) {
|
|
9
|
+
this.address = address;
|
|
10
|
+
this.number = 0;
|
|
11
|
+
this.sequence = 0;
|
|
12
|
+
}
|
|
13
|
+
compare(address) {
|
|
14
|
+
return this.address.toLowerCase() === address.address.toLowerCase();
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Create an address instance from a bech32-encoded address and a prefix
|
|
18
|
+
* @param {string} bech32 bech32-encoded address
|
|
19
|
+
* @param {string} prefix
|
|
20
|
+
* @return {Address}
|
|
21
|
+
* @throws {Error} if bech is not a valid bech32-encoded address
|
|
22
|
+
*/
|
|
23
|
+
static fromBech32(bech) {
|
|
24
|
+
const address = Buffer.from(bech32_1.bech32.fromWords(bech32_1.bech32.decode(bech).words)).toString('hex');
|
|
25
|
+
const addressInHex = address.startsWith('0x') ? address : `0x${address}`;
|
|
26
|
+
return new Address(addressInHex);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Create an address instance from a bech32-encoded account address
|
|
30
|
+
* @param {string} bech32 bech32-encoded account address
|
|
31
|
+
* @return {Address}
|
|
32
|
+
* @throws {Error} if bech is not a valid bech32-encoded account address
|
|
33
|
+
*/
|
|
34
|
+
static fromAccountAddress(bech) {
|
|
35
|
+
return Address.fromBech32(bech);
|
|
36
|
+
}
|
|
37
|
+
static fromValidatorAddress(bech) {
|
|
38
|
+
return Address.fromBech32(bech);
|
|
39
|
+
}
|
|
40
|
+
static fromConsensusAddress(bech) {
|
|
41
|
+
return Address.fromBech32(bech);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Convert an address instance to a bech32-encoded account address
|
|
45
|
+
* @param {string} prefix
|
|
46
|
+
* @returns {string}
|
|
47
|
+
*/
|
|
48
|
+
toBech32(prefix = constants_1.BECH32_ADDR_ACC_PREFIX) {
|
|
49
|
+
const addressBuffer = ethereumjs_util_1.Address.fromString(this.address.toString()).toBuffer();
|
|
50
|
+
return bech32_1.bech32.encode(prefix, bech32_1.bech32.toWords(addressBuffer));
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Return a bech32-encoded account address
|
|
54
|
+
* @return {string}
|
|
55
|
+
* @throws {Error} if this address is not a valid account address
|
|
56
|
+
* */
|
|
57
|
+
toAccountAddress() {
|
|
58
|
+
return this.toBech32(constants_1.BECH32_ADDR_ACC_PREFIX);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Return a bech32-encoded validator address
|
|
62
|
+
* @return {string}
|
|
63
|
+
* @throws {Error} if this address is not a valid validator address
|
|
64
|
+
* */
|
|
65
|
+
toValidatorAddress() {
|
|
66
|
+
return this.toBech32(constants_1.BECH32_ADDR_VAL_PREFIX);
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Return a bech32-encoded consensus address
|
|
70
|
+
* @return {string}
|
|
71
|
+
* @throws {Error} if this address is not a valid consensus address
|
|
72
|
+
* */
|
|
73
|
+
toConsensusAddress() {
|
|
74
|
+
return this.toBech32(constants_1.BECH32_ADDR_CONS_PREFIX);
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Return a hex representation of address
|
|
78
|
+
* @return {string}
|
|
79
|
+
* @throws {Error} if this address is not a valid account address
|
|
80
|
+
* */
|
|
81
|
+
toHex() {
|
|
82
|
+
return this.address.startsWith('0x') ? this.address : `0x${this.address}`;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Return a subaccount address from the given bech32 encoded address
|
|
86
|
+
* @param {number} index the subaccount index
|
|
87
|
+
* @return {string}
|
|
88
|
+
* @throws {Error} if this address is not a valid account address
|
|
89
|
+
* */
|
|
90
|
+
getSubaccountId(index = 0) {
|
|
91
|
+
const suffix = '0'.repeat(23) + index; /* TODO for double digit numbers */
|
|
92
|
+
return `${this.toHex()}${suffix}`;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Return a ethereum address from the given bech32 encoded address
|
|
96
|
+
* @return {string}
|
|
97
|
+
* @throws {Error} if this address is not a valid account address
|
|
98
|
+
* */
|
|
99
|
+
getEthereumAddress() {
|
|
100
|
+
return this.toHex();
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
exports.Address = Address;
|
|
104
|
+
//# sourceMappingURL=Address.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Address.js","sourceRoot":"","sources":["../../src/classes/Address.ts"],"names":[],"mappings":";;;AAAA,mCAA+B;AAC/B,qDAAiE;AACjE,kDAI2B;AAE3B,MAAa,OAAO;IAOlB,YAAoB,OAAe;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;QACf,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAA;IACnB,CAAC;IAED,OAAO,CAAC,OAAgB;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAA;IACrE,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CAAC,IAAY;QAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CACzB,eAAM,CAAC,SAAS,CAAC,eAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAC5C,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QACjB,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAA;QAExE,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,CAAA;IAClC,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CAAC,IAAY;QACpC,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IACjC,CAAC;IAED,MAAM,CAAC,oBAAoB,CAAC,IAAY;QACtC,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IACjC,CAAC;IAED,MAAM,CAAC,oBAAoB,CAAC,IAAY;QACtC,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IACjC,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,SAAiB,kCAAsB;QAC9C,MAAM,aAAa,GAAG,yBAAoB,CAAC,UAAU,CACnD,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CACxB,CAAC,QAAQ,EAAE,CAAA;QAEZ,OAAO,eAAM,CAAC,MAAM,CAAC,MAAM,EAAE,eAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAA;IAC7D,CAAC;IAED;;;;SAIK;IACL,gBAAgB;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,kCAAsB,CAAC,CAAA;IAC9C,CAAC;IAED;;;;SAIK;IACL,kBAAkB;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC,kCAAsB,CAAC,CAAA;IAC9C,CAAC;IAED;;;;SAIK;IACL,kBAAkB;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC,mCAAuB,CAAC,CAAA;IAC/C,CAAC;IAED;;;;SAIK;IACL,KAAK;QACH,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE,CAAA;IAC3E,CAAC;IAED;;;;;SAKK;IACL,eAAe,CAAC,QAAgB,CAAC;QAC/B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,KAAK,CAAA,CAAC,mCAAmC;QAEzE,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,MAAM,EAAE,CAAA;IACnC,CAAC;IAED;;;;SAIK;IACL,kBAAkB;QAChB,OAAO,IAAI,CAAC,KAAK,EAAE,CAAA;IACrB,CAAC;CACF;AAxHD,0BAwHC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Any } from 'google-protobuf/google/protobuf/any_pb';
|
|
2
|
+
import { TxBody, AuthInfo, SignDoc, TxRaw } from '@injectivelabs/chain-api/cosmos/tx/v1beta1/tx_pb';
|
|
3
|
+
import { Msgs } from '../core/msgs';
|
|
4
|
+
import { AccountDetails } from '../types/auth';
|
|
5
|
+
export interface InjectiveTxParams {
|
|
6
|
+
msg: Msgs | Msgs[];
|
|
7
|
+
memo?: string;
|
|
8
|
+
address: string;
|
|
9
|
+
feePrice?: string;
|
|
10
|
+
feeDenom?: string;
|
|
11
|
+
gasLimit?: number;
|
|
12
|
+
chainId: string;
|
|
13
|
+
}
|
|
14
|
+
export declare class InjectiveTx {
|
|
15
|
+
private accountDetails;
|
|
16
|
+
private tx;
|
|
17
|
+
constructor({ tx, accountDetails, }: {
|
|
18
|
+
tx: InjectiveTxParams;
|
|
19
|
+
accountDetails: AccountDetails;
|
|
20
|
+
});
|
|
21
|
+
get packedMsgs(): Any[];
|
|
22
|
+
get txBody(): TxBody;
|
|
23
|
+
get authInfo(): AuthInfo;
|
|
24
|
+
get signDoc(): SignDoc;
|
|
25
|
+
toTxRaw(signature: string): TxRaw;
|
|
26
|
+
static getTxHash(txRaw: TxRaw): string;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=InjectiveTx.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InjectiveTx.d.ts","sourceRoot":"","sources":["../../src/classes/InjectiveTx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,wCAAwC,CAAA;AAC5D,OAAO,EACL,MAAM,EAIN,QAAQ,EACR,OAAO,EACP,KAAK,EACN,MAAM,kDAAkD,CAAA;AAKzD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAMnC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAE9C,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,IAAI,GAAG,IAAI,EAAE,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,cAAc,CAAgB;IAEtC,OAAO,CAAC,EAAE,CAAmB;gBAEjB,EACV,EAAE,EACF,cAAc,GACf,EAAE;QACD,EAAE,EAAE,iBAAiB,CAAA;QACrB,cAAc,EAAE,cAAc,CAAA;KAC/B;IAKD,IAAI,UAAU,UAcb;IAED,IAAI,MAAM,WAST;IAED,IAAI,QAAQ,aAoCX;IAED,IAAI,OAAO,YAUV;IAED,OAAO,CAAC,SAAS,EAAE,MAAM;IAWzB,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK;CAM9B"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.InjectiveTx = void 0;
|
|
7
|
+
const any_pb_1 = require("google-protobuf/google/protobuf/any_pb");
|
|
8
|
+
const tx_pb_1 = require("@injectivelabs/chain-api/cosmos/tx/v1beta1/tx_pb");
|
|
9
|
+
const signing_pb_1 = require("@injectivelabs/chain-api/cosmos/tx/signing/v1beta1/signing_pb");
|
|
10
|
+
const coin_pb_1 = require("@injectivelabs/chain-api/cosmos/base/v1beta1/coin_pb");
|
|
11
|
+
const utils_1 = require("@injectivelabs/utils");
|
|
12
|
+
const crypto_1 = __importDefault(require("crypto"));
|
|
13
|
+
const utils_2 = require("../utils");
|
|
14
|
+
class InjectiveTx {
|
|
15
|
+
constructor({ tx, accountDetails, }) {
|
|
16
|
+
this.accountDetails = accountDetails;
|
|
17
|
+
this.tx = tx;
|
|
18
|
+
}
|
|
19
|
+
get packedMsgs() {
|
|
20
|
+
const { tx } = this;
|
|
21
|
+
const msgs = Array.isArray(tx.msg) ? tx.msg : [tx.msg];
|
|
22
|
+
const packedMsgs = msgs.map((msg) => {
|
|
23
|
+
const amino = msg.toAmino();
|
|
24
|
+
const packedMessage = new any_pb_1.Any();
|
|
25
|
+
packedMessage.setTypeUrl(amino.type);
|
|
26
|
+
packedMessage.setValue(amino.message.serializeBinary());
|
|
27
|
+
return packedMessage;
|
|
28
|
+
});
|
|
29
|
+
return packedMsgs;
|
|
30
|
+
}
|
|
31
|
+
get txBody() {
|
|
32
|
+
const { tx, packedMsgs } = this;
|
|
33
|
+
const txBody = new tx_pb_1.TxBody();
|
|
34
|
+
txBody.setMessagesList(packedMsgs);
|
|
35
|
+
txBody.setMemo(tx.memo || '');
|
|
36
|
+
txBody.setTimeoutHeight(0);
|
|
37
|
+
return txBody;
|
|
38
|
+
}
|
|
39
|
+
get authInfo() {
|
|
40
|
+
const { tx, accountDetails } = this;
|
|
41
|
+
// TODO: gas limit based on the message type (lower limit for exchange messages)
|
|
42
|
+
const gasLimit = tx.gasLimit || utils_2.DEFAULT_GAS_LIMIT;
|
|
43
|
+
const feePrice = tx.feePrice || utils_2.DEFAULT_GAS_PRICE;
|
|
44
|
+
const feeDenom = tx.feeDenom || utils_2.DEFAULT_FEE_DENOM;
|
|
45
|
+
const feeAmount = new coin_pb_1.Coin();
|
|
46
|
+
feeAmount.setAmount(new utils_1.BigNumber(gasLimit).times(feePrice).toString());
|
|
47
|
+
feeAmount.setDenom(feeDenom);
|
|
48
|
+
const fee = new tx_pb_1.Fee();
|
|
49
|
+
fee.setGasLimit(gasLimit);
|
|
50
|
+
fee.setAmountList([feeAmount]);
|
|
51
|
+
const packedPublicKey = new any_pb_1.Any();
|
|
52
|
+
packedPublicKey.setTypeUrl(accountDetails.pubKey.type);
|
|
53
|
+
packedPublicKey.setValue(accountDetails.pubKey.key);
|
|
54
|
+
const modeSingleDirect = new tx_pb_1.ModeInfo.Single();
|
|
55
|
+
modeSingleDirect.setMode(signing_pb_1.SignMode.SIGN_MODE_DIRECT);
|
|
56
|
+
const modeInfo = new tx_pb_1.ModeInfo();
|
|
57
|
+
modeInfo.setSingle(modeSingleDirect);
|
|
58
|
+
const signerInfo = new tx_pb_1.SignerInfo();
|
|
59
|
+
signerInfo.setPublicKey(packedPublicKey);
|
|
60
|
+
signerInfo.setModeInfo(modeInfo);
|
|
61
|
+
signerInfo.setSequence(accountDetails.sequence);
|
|
62
|
+
const authInfo = new tx_pb_1.AuthInfo();
|
|
63
|
+
authInfo.setSignerInfosList([signerInfo]);
|
|
64
|
+
authInfo.setFee(fee);
|
|
65
|
+
return authInfo;
|
|
66
|
+
}
|
|
67
|
+
get signDoc() {
|
|
68
|
+
const { tx, txBody, authInfo, accountDetails } = this;
|
|
69
|
+
const signDoc = new tx_pb_1.SignDoc();
|
|
70
|
+
signDoc.setBodyBytes(txBody.serializeBinary());
|
|
71
|
+
signDoc.setAuthInfoBytes(authInfo.serializeBinary());
|
|
72
|
+
signDoc.setChainId(tx.chainId);
|
|
73
|
+
signDoc.setAccountNumber(accountDetails.accountNumber);
|
|
74
|
+
return signDoc;
|
|
75
|
+
}
|
|
76
|
+
toTxRaw(signature) {
|
|
77
|
+
const { txBody, authInfo } = this;
|
|
78
|
+
const txRaw = new tx_pb_1.TxRaw();
|
|
79
|
+
txRaw.setBodyBytes(txBody.serializeBinary());
|
|
80
|
+
txRaw.setAuthInfoBytes(authInfo.serializeBinary());
|
|
81
|
+
txRaw.setSignaturesList([signature]);
|
|
82
|
+
return txRaw;
|
|
83
|
+
}
|
|
84
|
+
static getTxHash(txRaw) {
|
|
85
|
+
return crypto_1.default
|
|
86
|
+
.createHash('sha256')
|
|
87
|
+
.update(txRaw.serializeBinary())
|
|
88
|
+
.digest('hex');
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
exports.InjectiveTx = InjectiveTx;
|
|
92
|
+
//# sourceMappingURL=InjectiveTx.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InjectiveTx.js","sourceRoot":"","sources":["../../src/classes/InjectiveTx.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export declare enum TestnetNodes {
|
|
2
|
+
sentry0 = "sentry-0",
|
|
3
|
+
sentry1 = "sentry-1",
|
|
4
|
+
k8s = "k8s"
|
|
5
|
+
}
|
|
6
|
+
export declare enum MainnetNodes {
|
|
7
|
+
sentry0 = "sentry-0",
|
|
8
|
+
sentry1 = "sentry-1",
|
|
9
|
+
sentry2 = "sentry-2",
|
|
10
|
+
sentry3 = "sentry-3",
|
|
11
|
+
sentryCd = "sentry.cd",
|
|
12
|
+
k8s = "k8s",
|
|
13
|
+
lb = "lb"
|
|
14
|
+
}
|
|
15
|
+
export declare class Network {
|
|
16
|
+
sentryHttpApi: string;
|
|
17
|
+
sentryGrpcApi: string;
|
|
18
|
+
exchangeApi: string;
|
|
19
|
+
feeDenom: string;
|
|
20
|
+
chainId: string;
|
|
21
|
+
env: string;
|
|
22
|
+
constructor({ sentryHttpApi, sentryGrpcApi, exchangeApi, feeDenom, chainId, env, }: {
|
|
23
|
+
sentryHttpApi: string;
|
|
24
|
+
sentryGrpcApi: string;
|
|
25
|
+
exchangeApi: string;
|
|
26
|
+
feeDenom: string;
|
|
27
|
+
chainId: string;
|
|
28
|
+
env: string;
|
|
29
|
+
});
|
|
30
|
+
static devnet(): Network;
|
|
31
|
+
static local(): Network;
|
|
32
|
+
static testnet(node?: TestnetNodes): Network;
|
|
33
|
+
static mainnet(node?: MainnetNodes): Network;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=Network.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Network.d.ts","sourceRoot":"","sources":["../../src/classes/Network.ts"],"names":[],"mappings":"AAAA,oBAAY,YAAY;IACtB,OAAO,aAAa;IACpB,OAAO,aAAa;IACpB,GAAG,QAAQ;CACZ;AAED,oBAAY,YAAY;IACtB,OAAO,aAAa;IACpB,OAAO,aAAa;IACpB,OAAO,aAAa;IACpB,OAAO,aAAa;IACpB,QAAQ,cAAc;IACtB,GAAG,QAAQ;IACX,EAAE,OAAO;CACV;AAED,qBAAa,OAAO;IACX,aAAa,SAAA;IAEb,aAAa,SAAA;IAEb,WAAW,SAAA;IAEX,QAAQ,SAAA;IAER,OAAO,SAAA;IAEP,GAAG,SAAA;gBAEE,EACV,aAAa,EACb,aAAa,EACb,WAAW,EACX,QAAQ,EACR,OAAO,EACP,GAAG,GACJ,EAAE;QACD,aAAa,EAAE,MAAM,CAAA;QACrB,aAAa,EAAE,MAAM,CAAA;QACrB,WAAW,EAAE,MAAM,CAAA;QACnB,QAAQ,EAAE,MAAM,CAAA;QAChB,OAAO,EAAE,MAAM,CAAA;QACf,GAAG,EAAE,MAAM,CAAA;KACZ;IASD,MAAM,CAAC,MAAM,IAAI,OAAO;IAexB,MAAM,CAAC,KAAK,IAAI,OAAO;IAevB,MAAM,CAAC,OAAO,CAAC,IAAI,GAAE,YAA+B,GAAG,OAAO;IA4B9D,MAAM,CAAC,OAAO,CAAC,IAAI,GAAE,YAA+B,GAAG,OAAO;CA2B/D"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Network = exports.MainnetNodes = exports.TestnetNodes = void 0;
|
|
4
|
+
var TestnetNodes;
|
|
5
|
+
(function (TestnetNodes) {
|
|
6
|
+
TestnetNodes["sentry0"] = "sentry-0";
|
|
7
|
+
TestnetNodes["sentry1"] = "sentry-1";
|
|
8
|
+
TestnetNodes["k8s"] = "k8s";
|
|
9
|
+
})(TestnetNodes = exports.TestnetNodes || (exports.TestnetNodes = {}));
|
|
10
|
+
var MainnetNodes;
|
|
11
|
+
(function (MainnetNodes) {
|
|
12
|
+
MainnetNodes["sentry0"] = "sentry-0";
|
|
13
|
+
MainnetNodes["sentry1"] = "sentry-1";
|
|
14
|
+
MainnetNodes["sentry2"] = "sentry-2";
|
|
15
|
+
MainnetNodes["sentry3"] = "sentry-3";
|
|
16
|
+
MainnetNodes["sentryCd"] = "sentry.cd";
|
|
17
|
+
MainnetNodes["k8s"] = "k8s";
|
|
18
|
+
MainnetNodes["lb"] = "lb";
|
|
19
|
+
})(MainnetNodes = exports.MainnetNodes || (exports.MainnetNodes = {}));
|
|
20
|
+
class Network {
|
|
21
|
+
constructor({ sentryHttpApi, sentryGrpcApi, exchangeApi, feeDenom, chainId, env, }) {
|
|
22
|
+
this.sentryHttpApi = sentryHttpApi;
|
|
23
|
+
this.sentryGrpcApi = sentryGrpcApi;
|
|
24
|
+
this.exchangeApi = exchangeApi;
|
|
25
|
+
this.feeDenom = feeDenom;
|
|
26
|
+
this.chainId = chainId;
|
|
27
|
+
this.env = env;
|
|
28
|
+
}
|
|
29
|
+
static devnet() {
|
|
30
|
+
const params = {
|
|
31
|
+
feeDenom: 'inj',
|
|
32
|
+
chainId: 'injective-777',
|
|
33
|
+
env: 'devnet',
|
|
34
|
+
};
|
|
35
|
+
return new Network(Object.assign(Object.assign({}, params), { sentryHttpApi: 'https://devnet.lcd.injective.dev', sentryGrpcApi: 'https://devnet.injective.dev:9900', exchangeApi: 'https://devnet.injective.dev:9910' }));
|
|
36
|
+
}
|
|
37
|
+
static local() {
|
|
38
|
+
const params = {
|
|
39
|
+
feeDenom: 'inj',
|
|
40
|
+
chainId: 'injective-1',
|
|
41
|
+
env: 'local',
|
|
42
|
+
};
|
|
43
|
+
return new Network(Object.assign(Object.assign({}, params), { sentryHttpApi: 'http://localhost:10337', sentryGrpcApi: 'http://localhost:9900', exchangeApi: 'http://localhost:9910' }));
|
|
44
|
+
}
|
|
45
|
+
static testnet(node = TestnetNodes.k8s) {
|
|
46
|
+
if (!Object.values(TestnetNodes).includes(node)) {
|
|
47
|
+
throw new Error('Invalid testnet node');
|
|
48
|
+
}
|
|
49
|
+
const params = {
|
|
50
|
+
feeDenom: 'inj',
|
|
51
|
+
chainId: 'injective-888',
|
|
52
|
+
env: 'testnet',
|
|
53
|
+
};
|
|
54
|
+
if (node === TestnetNodes.k8s) {
|
|
55
|
+
return new Network(Object.assign(Object.assign({}, params), { sentryHttpApi: `https://${node}.mainnet.lcd.injective.network`, sentryGrpcApi: `https://${node}.mainnet.chain.grpc.injective.network:443`, exchangeApi: `https://${node}.mainnet.exchange.grpc.injective.network:443` }));
|
|
56
|
+
}
|
|
57
|
+
return new Network(Object.assign(Object.assign({}, params), { sentryHttpApi: 'https://testnet.lcd.injective.dev', sentryGrpcApi: `https://${node}.injective.dev:9900`, exchangeApi: `https://${node}.injective.dev:9910` }));
|
|
58
|
+
}
|
|
59
|
+
static mainnet(node = MainnetNodes.k8s) {
|
|
60
|
+
if (!Object.values(MainnetNodes).includes(node)) {
|
|
61
|
+
throw new Error('Invalid testnet node');
|
|
62
|
+
}
|
|
63
|
+
const params = {
|
|
64
|
+
feeDenom: 'inj',
|
|
65
|
+
chainId: 'injective-1',
|
|
66
|
+
env: 'mainnet',
|
|
67
|
+
};
|
|
68
|
+
if (node === MainnetNodes.k8s || node === MainnetNodes.lb) {
|
|
69
|
+
return new Network(Object.assign(Object.assign({}, params), { sentryHttpApi: 'https://k8s.testnet.lcd.injective.network', sentryGrpcApi: 'https://k8s.testnet.chain.grpc.injective.network:443', exchangeApi: 'https://k8s.testnet.exchange.grpc.injective.network:443' }));
|
|
70
|
+
}
|
|
71
|
+
return new Network(Object.assign(Object.assign({}, params), { sentryHttpApi: 'https://lcd.injective.network', sentryGrpcApi: `https://${node}.injective.network:9900`, exchangeApi: `https://${node}.injective.network:9910` }));
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
exports.Network = Network;
|
|
75
|
+
//# sourceMappingURL=Network.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Network.js","sourceRoot":"","sources":["../../src/classes/Network.ts"],"names":[],"mappings":"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"}
|